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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
   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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  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    '''
  596    AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
  597    '''
  598    __slots__ = [
  599        'bind_interface',
  600        'egress_filter',
  601        'healthcheck_namespace',
  602        'healthy',
  603        'hostname',
  604        'id',
  605        'name',
  606        'port',
  607        'port_override',
  608        'proxy_cluster_id',
  609        'secret_store_id',
  610        'subdomain',
  611        'tags',
  612        'token',
  613    ]
  614
  615    def __init__(
  616        self,
  617        bind_interface=None,
  618        egress_filter=None,
  619        healthcheck_namespace=None,
  620        healthy=None,
  621        hostname=None,
  622        id=None,
  623        name=None,
  624        port=None,
  625        port_override=None,
  626        proxy_cluster_id=None,
  627        secret_store_id=None,
  628        subdomain=None,
  629        tags=None,
  630        token=None,
  631    ):
  632        self.bind_interface = bind_interface if bind_interface is not None else ''
  633        '''
  634         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  635        '''
  636        self.egress_filter = egress_filter if egress_filter is not None else ''
  637        '''
  638         A filter applied to the routing logic to pin datasource to nodes.
  639        '''
  640        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  641        '''
  642         The path used to check the health of your connection.  Defaults to `default`.
  643        '''
  644        self.healthy = healthy if healthy is not None else False
  645        '''
  646         True if the datasource is reachable and the credentials are valid.
  647        '''
  648        self.hostname = hostname if hostname is not None else ''
  649        '''
  650         The host to dial to initiate a connection from the egress node to this resource.
  651        '''
  652        self.id = id if id is not None else ''
  653        '''
  654         Unique identifier of the Resource.
  655        '''
  656        self.name = name if name is not None else ''
  657        '''
  658         Unique human-readable name of the Resource.
  659        '''
  660        self.port = port if port is not None else 0
  661        '''
  662         The port to dial to initiate a connection from the egress node to this resource.
  663        '''
  664        self.port_override = port_override if port_override is not None else 0
  665        '''
  666         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  667        '''
  668        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  669        '''
  670         ID of the proxy cluster for this resource, if any.
  671        '''
  672        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  673        '''
  674         ID of the secret store containing credentials for this resource, if any.
  675        '''
  676        self.subdomain = subdomain if subdomain is not None else ''
  677        '''
  678         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  679        '''
  680        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  681        '''
  682         Tags is a map of key, value pairs.
  683        '''
  684        self.token = token if token is not None else ''
  685        '''
  686         The API token to authenticate with.
  687        '''
  688
  689    def __repr__(self):
  690        return '<sdm.AKSServiceAccountUserImpersonation ' + \
  691            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  692            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  693            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  694            'healthy: ' + repr(self.healthy) + ' ' +\
  695            'hostname: ' + repr(self.hostname) + ' ' +\
  696            'id: ' + repr(self.id) + ' ' +\
  697            'name: ' + repr(self.name) + ' ' +\
  698            'port: ' + repr(self.port) + ' ' +\
  699            'port_override: ' + repr(self.port_override) + ' ' +\
  700            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  701            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  702            'subdomain: ' + repr(self.subdomain) + ' ' +\
  703            'tags: ' + repr(self.tags) + ' ' +\
  704            'token: ' + repr(self.token) + ' ' +\
  705            '>'
  706
  707    def to_dict(self):
  708        return {
  709            'bind_interface': self.bind_interface,
  710            'egress_filter': self.egress_filter,
  711            'healthcheck_namespace': self.healthcheck_namespace,
  712            'healthy': self.healthy,
  713            'hostname': self.hostname,
  714            'id': self.id,
  715            'name': self.name,
  716            'port': self.port,
  717            'port_override': self.port_override,
  718            'proxy_cluster_id': self.proxy_cluster_id,
  719            'secret_store_id': self.secret_store_id,
  720            'subdomain': self.subdomain,
  721            'tags': self.tags,
  722            'token': self.token,
  723        }
  724
  725    @classmethod
  726    def from_dict(cls, d):
  727        return cls(
  728            bind_interface=d.get('bind_interface'),
  729            egress_filter=d.get('egress_filter'),
  730            healthcheck_namespace=d.get('healthcheck_namespace'),
  731            healthy=d.get('healthy'),
  732            hostname=d.get('hostname'),
  733            id=d.get('id'),
  734            name=d.get('name'),
  735            port=d.get('port'),
  736            port_override=d.get('port_override'),
  737            proxy_cluster_id=d.get('proxy_cluster_id'),
  738            secret_store_id=d.get('secret_store_id'),
  739            subdomain=d.get('subdomain'),
  740            tags=d.get('tags'),
  741            token=d.get('token'),
  742        )
  743
  744
  745class AKSUserImpersonation:
  746    '''
  747    AKSUserImpersonation is deprecated, see docs for more info.
  748    '''
  749    __slots__ = [
  750        'bind_interface',
  751        'certificate_authority',
  752        'client_certificate',
  753        'client_key',
  754        'egress_filter',
  755        'healthcheck_namespace',
  756        'healthy',
  757        'hostname',
  758        'id',
  759        'name',
  760        'port',
  761        'port_override',
  762        'proxy_cluster_id',
  763        'secret_store_id',
  764        'subdomain',
  765        'tags',
  766    ]
  767
  768    def __init__(
  769        self,
  770        bind_interface=None,
  771        certificate_authority=None,
  772        client_certificate=None,
  773        client_key=None,
  774        egress_filter=None,
  775        healthcheck_namespace=None,
  776        healthy=None,
  777        hostname=None,
  778        id=None,
  779        name=None,
  780        port=None,
  781        port_override=None,
  782        proxy_cluster_id=None,
  783        secret_store_id=None,
  784        subdomain=None,
  785        tags=None,
  786    ):
  787        self.bind_interface = bind_interface if bind_interface is not None else ''
  788        '''
  789         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  790        '''
  791        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
  792        '''
  793         The CA to authenticate TLS connections with.
  794        '''
  795        self.client_certificate = client_certificate if client_certificate is not None else ''
  796        '''
  797         The certificate to authenticate TLS connections with.
  798        '''
  799        self.client_key = client_key if client_key is not None else ''
  800        '''
  801         The key to authenticate TLS connections with.
  802        '''
  803        self.egress_filter = egress_filter if egress_filter is not None else ''
  804        '''
  805         A filter applied to the routing logic to pin datasource to nodes.
  806        '''
  807        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
  808        '''
  809         The path used to check the health of your connection.  Defaults to `default`.
  810        '''
  811        self.healthy = healthy if healthy is not None else False
  812        '''
  813         True if the datasource is reachable and the credentials are valid.
  814        '''
  815        self.hostname = hostname if hostname is not None else ''
  816        '''
  817         The host to dial to initiate a connection from the egress node to this resource.
  818        '''
  819        self.id = id if id is not None else ''
  820        '''
  821         Unique identifier of the Resource.
  822        '''
  823        self.name = name if name is not None else ''
  824        '''
  825         Unique human-readable name of the Resource.
  826        '''
  827        self.port = port if port is not None else 0
  828        '''
  829         The port to dial to initiate a connection from the egress node to this resource.
  830        '''
  831        self.port_override = port_override if port_override is not None else 0
  832        '''
  833         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  834        '''
  835        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  836        '''
  837         ID of the proxy cluster for this resource, if any.
  838        '''
  839        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  840        '''
  841         ID of the secret store containing credentials for this resource, if any.
  842        '''
  843        self.subdomain = subdomain if subdomain is not None else ''
  844        '''
  845         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
  846        '''
  847        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
  848        '''
  849         Tags is a map of key, value pairs.
  850        '''
  851
  852    def __repr__(self):
  853        return '<sdm.AKSUserImpersonation ' + \
  854            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
  855            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
  856            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
  857            'client_key: ' + repr(self.client_key) + ' ' +\
  858            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
  859            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
  860            'healthy: ' + repr(self.healthy) + ' ' +\
  861            'hostname: ' + repr(self.hostname) + ' ' +\
  862            'id: ' + repr(self.id) + ' ' +\
  863            'name: ' + repr(self.name) + ' ' +\
  864            'port: ' + repr(self.port) + ' ' +\
  865            'port_override: ' + repr(self.port_override) + ' ' +\
  866            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
  867            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
  868            'subdomain: ' + repr(self.subdomain) + ' ' +\
  869            'tags: ' + repr(self.tags) + ' ' +\
  870            '>'
  871
  872    def to_dict(self):
  873        return {
  874            'bind_interface': self.bind_interface,
  875            'certificate_authority': self.certificate_authority,
  876            'client_certificate': self.client_certificate,
  877            'client_key': self.client_key,
  878            'egress_filter': self.egress_filter,
  879            'healthcheck_namespace': self.healthcheck_namespace,
  880            'healthy': self.healthy,
  881            'hostname': self.hostname,
  882            'id': self.id,
  883            'name': self.name,
  884            'port': self.port,
  885            'port_override': self.port_override,
  886            'proxy_cluster_id': self.proxy_cluster_id,
  887            'secret_store_id': self.secret_store_id,
  888            'subdomain': self.subdomain,
  889            'tags': self.tags,
  890        }
  891
  892    @classmethod
  893    def from_dict(cls, d):
  894        return cls(
  895            bind_interface=d.get('bind_interface'),
  896            certificate_authority=d.get('certificate_authority'),
  897            client_certificate=d.get('client_certificate'),
  898            client_key=d.get('client_key'),
  899            egress_filter=d.get('egress_filter'),
  900            healthcheck_namespace=d.get('healthcheck_namespace'),
  901            healthy=d.get('healthy'),
  902            hostname=d.get('hostname'),
  903            id=d.get('id'),
  904            name=d.get('name'),
  905            port=d.get('port'),
  906            port_override=d.get('port_override'),
  907            proxy_cluster_id=d.get('proxy_cluster_id'),
  908            secret_store_id=d.get('secret_store_id'),
  909            subdomain=d.get('subdomain'),
  910            tags=d.get('tags'),
  911        )
  912
  913
  914class AMQP:
  915    '''
  916    AMQP is currently unstable, and its API may change, or it may be removed,
  917    without a major version bump.
  918    '''
  919    __slots__ = [
  920        'bind_interface',
  921        'egress_filter',
  922        'healthy',
  923        'hostname',
  924        'id',
  925        'name',
  926        'password',
  927        'port',
  928        'port_override',
  929        'proxy_cluster_id',
  930        'secret_store_id',
  931        'subdomain',
  932        'tags',
  933        'tls_required',
  934        'username',
  935    ]
  936
  937    def __init__(
  938        self,
  939        bind_interface=None,
  940        egress_filter=None,
  941        healthy=None,
  942        hostname=None,
  943        id=None,
  944        name=None,
  945        password=None,
  946        port=None,
  947        port_override=None,
  948        proxy_cluster_id=None,
  949        secret_store_id=None,
  950        subdomain=None,
  951        tags=None,
  952        tls_required=None,
  953        username=None,
  954    ):
  955        self.bind_interface = bind_interface if bind_interface is not None else ''
  956        '''
  957         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
  958        '''
  959        self.egress_filter = egress_filter if egress_filter is not None else ''
  960        '''
  961         A filter applied to the routing logic to pin datasource to nodes.
  962        '''
  963        self.healthy = healthy if healthy is not None else False
  964        '''
  965         True if the datasource is reachable and the credentials are valid.
  966        '''
  967        self.hostname = hostname if hostname is not None else ''
  968        '''
  969         The host to dial to initiate a connection from the egress node to this resource.
  970        '''
  971        self.id = id if id is not None else ''
  972        '''
  973         Unique identifier of the Resource.
  974        '''
  975        self.name = name if name is not None else ''
  976        '''
  977         Unique human-readable name of the Resource.
  978        '''
  979        self.password = password if password is not None else ''
  980        '''
  981         The password to authenticate with.
  982        '''
  983        self.port = port if port is not None else 0
  984        '''
  985         The port to dial to initiate a connection from the egress node to this resource.
  986        '''
  987        self.port_override = port_override if port_override is not None else 0
  988        '''
  989         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
  990        '''
  991        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
  992        '''
  993         ID of the proxy cluster for this resource, if any.
  994        '''
  995        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
  996        '''
  997         ID of the secret store containing credentials for this resource, if any.
  998        '''
  999        self.subdomain = subdomain if subdomain is not None else ''
 1000        '''
 1001         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 1002        '''
 1003        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1004        '''
 1005         Tags is a map of key, value pairs.
 1006        '''
 1007        self.tls_required = tls_required if tls_required is not None else False
 1008        '''
 1009         If set, TLS must be used to connect to this resource.
 1010        '''
 1011        self.username = username if username is not None else ''
 1012        '''
 1013         The username to authenticate with.
 1014        '''
 1015
 1016    def __repr__(self):
 1017        return '<sdm.AMQP ' + \
 1018            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1019            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1020            'healthy: ' + repr(self.healthy) + ' ' +\
 1021            'hostname: ' + repr(self.hostname) + ' ' +\
 1022            'id: ' + repr(self.id) + ' ' +\
 1023            'name: ' + repr(self.name) + ' ' +\
 1024            'password: ' + repr(self.password) + ' ' +\
 1025            'port: ' + repr(self.port) + ' ' +\
 1026            'port_override: ' + repr(self.port_override) + ' ' +\
 1027            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1028            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1029            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1030            'tags: ' + repr(self.tags) + ' ' +\
 1031            'tls_required: ' + repr(self.tls_required) + ' ' +\
 1032            'username: ' + repr(self.username) + ' ' +\
 1033            '>'
 1034
 1035    def to_dict(self):
 1036        return {
 1037            'bind_interface': self.bind_interface,
 1038            'egress_filter': self.egress_filter,
 1039            'healthy': self.healthy,
 1040            'hostname': self.hostname,
 1041            'id': self.id,
 1042            'name': self.name,
 1043            'password': self.password,
 1044            'port': self.port,
 1045            'port_override': self.port_override,
 1046            'proxy_cluster_id': self.proxy_cluster_id,
 1047            'secret_store_id': self.secret_store_id,
 1048            'subdomain': self.subdomain,
 1049            'tags': self.tags,
 1050            'tls_required': self.tls_required,
 1051            'username': self.username,
 1052        }
 1053
 1054    @classmethod
 1055    def from_dict(cls, d):
 1056        return cls(
 1057            bind_interface=d.get('bind_interface'),
 1058            egress_filter=d.get('egress_filter'),
 1059            healthy=d.get('healthy'),
 1060            hostname=d.get('hostname'),
 1061            id=d.get('id'),
 1062            name=d.get('name'),
 1063            password=d.get('password'),
 1064            port=d.get('port'),
 1065            port_override=d.get('port_override'),
 1066            proxy_cluster_id=d.get('proxy_cluster_id'),
 1067            secret_store_id=d.get('secret_store_id'),
 1068            subdomain=d.get('subdomain'),
 1069            tags=d.get('tags'),
 1070            tls_required=d.get('tls_required'),
 1071            username=d.get('username'),
 1072        )
 1073
 1074
 1075class AWS:
 1076    __slots__ = [
 1077        'access_key',
 1078        'bind_interface',
 1079        'egress_filter',
 1080        'healthcheck_region',
 1081        'healthy',
 1082        'id',
 1083        'name',
 1084        'port_override',
 1085        'proxy_cluster_id',
 1086        'role_arn',
 1087        'role_external_id',
 1088        'secret_access_key',
 1089        'secret_store_id',
 1090        'subdomain',
 1091        'tags',
 1092    ]
 1093
 1094    def __init__(
 1095        self,
 1096        access_key=None,
 1097        bind_interface=None,
 1098        egress_filter=None,
 1099        healthcheck_region=None,
 1100        healthy=None,
 1101        id=None,
 1102        name=None,
 1103        port_override=None,
 1104        proxy_cluster_id=None,
 1105        role_arn=None,
 1106        role_external_id=None,
 1107        secret_access_key=None,
 1108        secret_store_id=None,
 1109        subdomain=None,
 1110        tags=None,
 1111    ):
 1112        self.access_key = access_key if access_key is not None else ''
 1113        '''
 1114         The Access Key ID to use to authenticate.
 1115        '''
 1116        self.bind_interface = bind_interface if bind_interface is not None else ''
 1117        '''
 1118         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1119        '''
 1120        self.egress_filter = egress_filter if egress_filter is not None else ''
 1121        '''
 1122         A filter applied to the routing logic to pin datasource to nodes.
 1123        '''
 1124        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
 1125        '''
 1126         The AWS region healthcheck requests should attempt to connect to.
 1127        '''
 1128        self.healthy = healthy if healthy is not None else False
 1129        '''
 1130         True if the datasource is reachable and the credentials are valid.
 1131        '''
 1132        self.id = id if id is not None else ''
 1133        '''
 1134         Unique identifier of the Resource.
 1135        '''
 1136        self.name = name if name is not None else ''
 1137        '''
 1138         Unique human-readable name of the Resource.
 1139        '''
 1140        self.port_override = port_override if port_override is not None else 0
 1141        '''
 1142         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1143        '''
 1144        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1145        '''
 1146         ID of the proxy cluster for this resource, if any.
 1147        '''
 1148        self.role_arn = role_arn if role_arn is not None else ''
 1149        '''
 1150         The role to assume after logging in.
 1151        '''
 1152        self.role_external_id = role_external_id if role_external_id is not None else ''
 1153        '''
 1154         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1155        '''
 1156        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1157        '''
 1158         The Secret Access Key to use to authenticate.
 1159        '''
 1160        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1161        '''
 1162         ID of the secret store containing credentials for this resource, if any.
 1163        '''
 1164        self.subdomain = subdomain if subdomain is not None else ''
 1165        '''
 1166         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 1167        '''
 1168        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1169        '''
 1170         Tags is a map of key, value pairs.
 1171        '''
 1172
 1173    def __repr__(self):
 1174        return '<sdm.AWS ' + \
 1175            'access_key: ' + repr(self.access_key) + ' ' +\
 1176            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1177            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1178            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
 1179            'healthy: ' + repr(self.healthy) + ' ' +\
 1180            'id: ' + repr(self.id) + ' ' +\
 1181            'name: ' + repr(self.name) + ' ' +\
 1182            'port_override: ' + repr(self.port_override) + ' ' +\
 1183            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1184            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1185            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1186            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1187            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1188            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1189            'tags: ' + repr(self.tags) + ' ' +\
 1190            '>'
 1191
 1192    def to_dict(self):
 1193        return {
 1194            'access_key': self.access_key,
 1195            'bind_interface': self.bind_interface,
 1196            'egress_filter': self.egress_filter,
 1197            'healthcheck_region': self.healthcheck_region,
 1198            'healthy': self.healthy,
 1199            'id': self.id,
 1200            'name': self.name,
 1201            'port_override': self.port_override,
 1202            'proxy_cluster_id': self.proxy_cluster_id,
 1203            'role_arn': self.role_arn,
 1204            'role_external_id': self.role_external_id,
 1205            'secret_access_key': self.secret_access_key,
 1206            'secret_store_id': self.secret_store_id,
 1207            'subdomain': self.subdomain,
 1208            'tags': self.tags,
 1209        }
 1210
 1211    @classmethod
 1212    def from_dict(cls, d):
 1213        return cls(
 1214            access_key=d.get('access_key'),
 1215            bind_interface=d.get('bind_interface'),
 1216            egress_filter=d.get('egress_filter'),
 1217            healthcheck_region=d.get('healthcheck_region'),
 1218            healthy=d.get('healthy'),
 1219            id=d.get('id'),
 1220            name=d.get('name'),
 1221            port_override=d.get('port_override'),
 1222            proxy_cluster_id=d.get('proxy_cluster_id'),
 1223            role_arn=d.get('role_arn'),
 1224            role_external_id=d.get('role_external_id'),
 1225            secret_access_key=d.get('secret_access_key'),
 1226            secret_store_id=d.get('secret_store_id'),
 1227            subdomain=d.get('subdomain'),
 1228            tags=d.get('tags'),
 1229        )
 1230
 1231
 1232class AWSCertX509Store:
 1233    __slots__ = [
 1234        'caarn',
 1235        'certificatetemplatearn',
 1236        'id',
 1237        'issuedcertttlminutes',
 1238        'name',
 1239        'region',
 1240        'signingalgo',
 1241        'tags',
 1242    ]
 1243
 1244    def __init__(
 1245        self,
 1246        caarn=None,
 1247        certificatetemplatearn=None,
 1248        id=None,
 1249        issuedcertttlminutes=None,
 1250        name=None,
 1251        region=None,
 1252        signingalgo=None,
 1253        tags=None,
 1254    ):
 1255        self.caarn = caarn if caarn is not None else ''
 1256        '''
 1257         The ARN of the CA in AWS Private CA
 1258        '''
 1259        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
 1260        '''
 1261         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
 1262        '''
 1263        self.id = id if id is not None else ''
 1264        '''
 1265         Unique identifier of the SecretStore.
 1266        '''
 1267        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
 1268        '''
 1269         The lifetime of certificates issued by this CA represented in minutes.
 1270        '''
 1271        self.name = name if name is not None else ''
 1272        '''
 1273         Unique human-readable name of the SecretStore.
 1274        '''
 1275        self.region = region if region is not None else ''
 1276        '''
 1277         The AWS region to target e.g. us-east-1
 1278        '''
 1279        self.signingalgo = signingalgo if signingalgo is not None else ''
 1280        '''
 1281         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
 1282        '''
 1283        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1284        '''
 1285         Tags is a map of key, value pairs.
 1286        '''
 1287
 1288    def __repr__(self):
 1289        return '<sdm.AWSCertX509Store ' + \
 1290            'caarn: ' + repr(self.caarn) + ' ' +\
 1291            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
 1292            'id: ' + repr(self.id) + ' ' +\
 1293            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
 1294            'name: ' + repr(self.name) + ' ' +\
 1295            'region: ' + repr(self.region) + ' ' +\
 1296            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
 1297            'tags: ' + repr(self.tags) + ' ' +\
 1298            '>'
 1299
 1300    def to_dict(self):
 1301        return {
 1302            'caarn': self.caarn,
 1303            'certificatetemplatearn': self.certificatetemplatearn,
 1304            'id': self.id,
 1305            'issuedcertttlminutes': self.issuedcertttlminutes,
 1306            'name': self.name,
 1307            'region': self.region,
 1308            'signingalgo': self.signingalgo,
 1309            'tags': self.tags,
 1310        }
 1311
 1312    @classmethod
 1313    def from_dict(cls, d):
 1314        return cls(
 1315            caarn=d.get('caarn'),
 1316            certificatetemplatearn=d.get('certificatetemplatearn'),
 1317            id=d.get('id'),
 1318            issuedcertttlminutes=d.get('issuedcertttlminutes'),
 1319            name=d.get('name'),
 1320            region=d.get('region'),
 1321            signingalgo=d.get('signingalgo'),
 1322            tags=d.get('tags'),
 1323        )
 1324
 1325
 1326class AWSConsole:
 1327    __slots__ = [
 1328        'bind_interface',
 1329        'egress_filter',
 1330        'enable_env_variables',
 1331        'healthy',
 1332        'id',
 1333        'identity_alias_healthcheck_username',
 1334        'identity_set_id',
 1335        'name',
 1336        'port_override',
 1337        'proxy_cluster_id',
 1338        'region',
 1339        'role_arn',
 1340        'role_external_id',
 1341        'secret_store_id',
 1342        'session_expiry',
 1343        'subdomain',
 1344        'tags',
 1345    ]
 1346
 1347    def __init__(
 1348        self,
 1349        bind_interface=None,
 1350        egress_filter=None,
 1351        enable_env_variables=None,
 1352        healthy=None,
 1353        id=None,
 1354        identity_alias_healthcheck_username=None,
 1355        identity_set_id=None,
 1356        name=None,
 1357        port_override=None,
 1358        proxy_cluster_id=None,
 1359        region=None,
 1360        role_arn=None,
 1361        role_external_id=None,
 1362        secret_store_id=None,
 1363        session_expiry=None,
 1364        subdomain=None,
 1365        tags=None,
 1366    ):
 1367        self.bind_interface = bind_interface if bind_interface is not None else ''
 1368        '''
 1369         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1370        '''
 1371        self.egress_filter = egress_filter if egress_filter is not None else ''
 1372        '''
 1373         A filter applied to the routing logic to pin datasource to nodes.
 1374        '''
 1375        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1376        '''
 1377         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1378        '''
 1379        self.healthy = healthy if healthy is not None else False
 1380        '''
 1381         True if the datasource is reachable and the credentials are valid.
 1382        '''
 1383        self.id = id if id is not None else ''
 1384        '''
 1385         Unique identifier of the Resource.
 1386        '''
 1387        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1388        '''
 1389         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1390        '''
 1391        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1392        '''
 1393         The ID of the identity set to use for identity connections.
 1394        '''
 1395        self.name = name if name is not None else ''
 1396        '''
 1397         Unique human-readable name of the Resource.
 1398        '''
 1399        self.port_override = port_override if port_override is not None else 0
 1400        '''
 1401         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1402        '''
 1403        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1404        '''
 1405         ID of the proxy cluster for this resource, if any.
 1406        '''
 1407        self.region = region if region is not None else ''
 1408        '''
 1409         The AWS region to connect to.
 1410        '''
 1411        self.role_arn = role_arn if role_arn is not None else ''
 1412        '''
 1413         The role to assume after logging in.
 1414        '''
 1415        self.role_external_id = role_external_id if role_external_id is not None else ''
 1416        '''
 1417         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1418        '''
 1419        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1420        '''
 1421         ID of the secret store containing credentials for this resource, if any.
 1422        '''
 1423        self.session_expiry = session_expiry if session_expiry is not None else 0
 1424        '''
 1425         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1426        '''
 1427        self.subdomain = subdomain if subdomain is not None else ''
 1428        '''
 1429         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1430        '''
 1431        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1432        '''
 1433         Tags is a map of key, value pairs.
 1434        '''
 1435
 1436    def __repr__(self):
 1437        return '<sdm.AWSConsole ' + \
 1438            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1439            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1440            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1441            'healthy: ' + repr(self.healthy) + ' ' +\
 1442            'id: ' + repr(self.id) + ' ' +\
 1443            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1444            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1445            'name: ' + repr(self.name) + ' ' +\
 1446            'port_override: ' + repr(self.port_override) + ' ' +\
 1447            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1448            'region: ' + repr(self.region) + ' ' +\
 1449            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1450            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1451            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1452            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1453            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1454            'tags: ' + repr(self.tags) + ' ' +\
 1455            '>'
 1456
 1457    def to_dict(self):
 1458        return {
 1459            'bind_interface': self.bind_interface,
 1460            'egress_filter': self.egress_filter,
 1461            'enable_env_variables': self.enable_env_variables,
 1462            'healthy': self.healthy,
 1463            'id': self.id,
 1464            'identity_alias_healthcheck_username':
 1465            self.identity_alias_healthcheck_username,
 1466            'identity_set_id': self.identity_set_id,
 1467            'name': self.name,
 1468            'port_override': self.port_override,
 1469            'proxy_cluster_id': self.proxy_cluster_id,
 1470            'region': self.region,
 1471            'role_arn': self.role_arn,
 1472            'role_external_id': self.role_external_id,
 1473            'secret_store_id': self.secret_store_id,
 1474            'session_expiry': self.session_expiry,
 1475            'subdomain': self.subdomain,
 1476            'tags': self.tags,
 1477        }
 1478
 1479    @classmethod
 1480    def from_dict(cls, d):
 1481        return cls(
 1482            bind_interface=d.get('bind_interface'),
 1483            egress_filter=d.get('egress_filter'),
 1484            enable_env_variables=d.get('enable_env_variables'),
 1485            healthy=d.get('healthy'),
 1486            id=d.get('id'),
 1487            identity_alias_healthcheck_username=d.get(
 1488                'identity_alias_healthcheck_username'),
 1489            identity_set_id=d.get('identity_set_id'),
 1490            name=d.get('name'),
 1491            port_override=d.get('port_override'),
 1492            proxy_cluster_id=d.get('proxy_cluster_id'),
 1493            region=d.get('region'),
 1494            role_arn=d.get('role_arn'),
 1495            role_external_id=d.get('role_external_id'),
 1496            secret_store_id=d.get('secret_store_id'),
 1497            session_expiry=d.get('session_expiry'),
 1498            subdomain=d.get('subdomain'),
 1499            tags=d.get('tags'),
 1500        )
 1501
 1502
 1503class AWSConsoleStaticKeyPair:
 1504    __slots__ = [
 1505        'access_key',
 1506        'bind_interface',
 1507        'egress_filter',
 1508        'healthy',
 1509        'id',
 1510        'identity_alias_healthcheck_username',
 1511        'identity_set_id',
 1512        'name',
 1513        'port_override',
 1514        'proxy_cluster_id',
 1515        'region',
 1516        'role_arn',
 1517        'role_external_id',
 1518        'secret_access_key',
 1519        'secret_store_id',
 1520        'session_expiry',
 1521        'subdomain',
 1522        'tags',
 1523    ]
 1524
 1525    def __init__(
 1526        self,
 1527        access_key=None,
 1528        bind_interface=None,
 1529        egress_filter=None,
 1530        healthy=None,
 1531        id=None,
 1532        identity_alias_healthcheck_username=None,
 1533        identity_set_id=None,
 1534        name=None,
 1535        port_override=None,
 1536        proxy_cluster_id=None,
 1537        region=None,
 1538        role_arn=None,
 1539        role_external_id=None,
 1540        secret_access_key=None,
 1541        secret_store_id=None,
 1542        session_expiry=None,
 1543        subdomain=None,
 1544        tags=None,
 1545    ):
 1546        self.access_key = access_key if access_key is not None else ''
 1547        '''
 1548         The Access Key ID to authenticate with.
 1549        '''
 1550        self.bind_interface = bind_interface if bind_interface is not None else ''
 1551        '''
 1552         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1553        '''
 1554        self.egress_filter = egress_filter if egress_filter is not None else ''
 1555        '''
 1556         A filter applied to the routing logic to pin datasource to nodes.
 1557        '''
 1558        self.healthy = healthy if healthy is not None else False
 1559        '''
 1560         True if the datasource is reachable and the credentials are valid.
 1561        '''
 1562        self.id = id if id is not None else ''
 1563        '''
 1564         Unique identifier of the Resource.
 1565        '''
 1566        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 1567        '''
 1568         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 1569        '''
 1570        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 1571        '''
 1572         The ID of the identity set to use for identity connections.
 1573        '''
 1574        self.name = name if name is not None else ''
 1575        '''
 1576         Unique human-readable name of the Resource.
 1577        '''
 1578        self.port_override = port_override if port_override is not None else 0
 1579        '''
 1580         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1581        '''
 1582        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1583        '''
 1584         ID of the proxy cluster for this resource, if any.
 1585        '''
 1586        self.region = region if region is not None else ''
 1587        '''
 1588         The AWS region to connect to.
 1589        '''
 1590        self.role_arn = role_arn if role_arn is not None else ''
 1591        '''
 1592         The role to assume after logging in.
 1593        '''
 1594        self.role_external_id = role_external_id if role_external_id is not None else ''
 1595        '''
 1596         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1597        '''
 1598        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 1599        '''
 1600         The Secret Access Key to authenticate with.
 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.session_expiry = session_expiry if session_expiry is not None else 0
 1607        '''
 1608         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
 1609        '''
 1610        self.subdomain = subdomain if subdomain is not None else ''
 1611        '''
 1612         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
 1613        '''
 1614        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1615        '''
 1616         Tags is a map of key, value pairs.
 1617        '''
 1618
 1619    def __repr__(self):
 1620        return '<sdm.AWSConsoleStaticKeyPair ' + \
 1621            'access_key: ' + repr(self.access_key) + ' ' +\
 1622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1624            'healthy: ' + repr(self.healthy) + ' ' +\
 1625            'id: ' + repr(self.id) + ' ' +\
 1626            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 1627            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 1628            'name: ' + repr(self.name) + ' ' +\
 1629            'port_override: ' + repr(self.port_override) + ' ' +\
 1630            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1631            'region: ' + repr(self.region) + ' ' +\
 1632            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1633            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1634            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 1635            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1636            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
 1637            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1638            'tags: ' + repr(self.tags) + ' ' +\
 1639            '>'
 1640
 1641    def to_dict(self):
 1642        return {
 1643            'access_key': self.access_key,
 1644            'bind_interface': self.bind_interface,
 1645            'egress_filter': self.egress_filter,
 1646            'healthy': self.healthy,
 1647            'id': self.id,
 1648            'identity_alias_healthcheck_username':
 1649            self.identity_alias_healthcheck_username,
 1650            'identity_set_id': self.identity_set_id,
 1651            'name': self.name,
 1652            'port_override': self.port_override,
 1653            'proxy_cluster_id': self.proxy_cluster_id,
 1654            'region': self.region,
 1655            'role_arn': self.role_arn,
 1656            'role_external_id': self.role_external_id,
 1657            'secret_access_key': self.secret_access_key,
 1658            'secret_store_id': self.secret_store_id,
 1659            'session_expiry': self.session_expiry,
 1660            'subdomain': self.subdomain,
 1661            'tags': self.tags,
 1662        }
 1663
 1664    @classmethod
 1665    def from_dict(cls, d):
 1666        return cls(
 1667            access_key=d.get('access_key'),
 1668            bind_interface=d.get('bind_interface'),
 1669            egress_filter=d.get('egress_filter'),
 1670            healthy=d.get('healthy'),
 1671            id=d.get('id'),
 1672            identity_alias_healthcheck_username=d.get(
 1673                'identity_alias_healthcheck_username'),
 1674            identity_set_id=d.get('identity_set_id'),
 1675            name=d.get('name'),
 1676            port_override=d.get('port_override'),
 1677            proxy_cluster_id=d.get('proxy_cluster_id'),
 1678            region=d.get('region'),
 1679            role_arn=d.get('role_arn'),
 1680            role_external_id=d.get('role_external_id'),
 1681            secret_access_key=d.get('secret_access_key'),
 1682            secret_store_id=d.get('secret_store_id'),
 1683            session_expiry=d.get('session_expiry'),
 1684            subdomain=d.get('subdomain'),
 1685            tags=d.get('tags'),
 1686        )
 1687
 1688
 1689class AWSInstanceProfile:
 1690    __slots__ = [
 1691        'bind_interface',
 1692        'egress_filter',
 1693        'enable_env_variables',
 1694        'healthy',
 1695        'id',
 1696        'name',
 1697        'port_override',
 1698        'proxy_cluster_id',
 1699        'region',
 1700        'role_arn',
 1701        'role_external_id',
 1702        'secret_store_id',
 1703        'subdomain',
 1704        'tags',
 1705    ]
 1706
 1707    def __init__(
 1708        self,
 1709        bind_interface=None,
 1710        egress_filter=None,
 1711        enable_env_variables=None,
 1712        healthy=None,
 1713        id=None,
 1714        name=None,
 1715        port_override=None,
 1716        proxy_cluster_id=None,
 1717        region=None,
 1718        role_arn=None,
 1719        role_external_id=None,
 1720        secret_store_id=None,
 1721        subdomain=None,
 1722        tags=None,
 1723    ):
 1724        self.bind_interface = bind_interface if bind_interface is not None else ''
 1725        '''
 1726         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 1727        '''
 1728        self.egress_filter = egress_filter if egress_filter is not None else ''
 1729        '''
 1730         A filter applied to the routing logic to pin datasource to nodes.
 1731        '''
 1732        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
 1733        '''
 1734         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
 1735        '''
 1736        self.healthy = healthy if healthy is not None else False
 1737        '''
 1738         True if the datasource is reachable and the credentials are valid.
 1739        '''
 1740        self.id = id if id is not None else ''
 1741        '''
 1742         Unique identifier of the Resource.
 1743        '''
 1744        self.name = name if name is not None else ''
 1745        '''
 1746         Unique human-readable name of the Resource.
 1747        '''
 1748        self.port_override = port_override if port_override is not None else 0
 1749        '''
 1750         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 1751        '''
 1752        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 1753        '''
 1754         ID of the proxy cluster for this resource, if any.
 1755        '''
 1756        self.region = region if region is not None else ''
 1757        '''
 1758         The AWS region to connect to.
 1759        '''
 1760        self.role_arn = role_arn if role_arn is not None else ''
 1761        '''
 1762         The role to assume after logging in.
 1763        '''
 1764        self.role_external_id = role_external_id if role_external_id is not None else ''
 1765        '''
 1766         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1767        '''
 1768        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 1769        '''
 1770         ID of the secret store containing credentials for this resource, if any.
 1771        '''
 1772        self.subdomain = subdomain if subdomain is not None else ''
 1773        '''
 1774         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 1775        '''
 1776        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1777        '''
 1778         Tags is a map of key, value pairs.
 1779        '''
 1780
 1781    def __repr__(self):
 1782        return '<sdm.AWSInstanceProfile ' + \
 1783            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 1784            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 1785            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
 1786            'healthy: ' + repr(self.healthy) + ' ' +\
 1787            'id: ' + repr(self.id) + ' ' +\
 1788            'name: ' + repr(self.name) + ' ' +\
 1789            'port_override: ' + repr(self.port_override) + ' ' +\
 1790            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 1791            'region: ' + repr(self.region) + ' ' +\
 1792            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1793            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1794            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 1795            'subdomain: ' + repr(self.subdomain) + ' ' +\
 1796            'tags: ' + repr(self.tags) + ' ' +\
 1797            '>'
 1798
 1799    def to_dict(self):
 1800        return {
 1801            'bind_interface': self.bind_interface,
 1802            'egress_filter': self.egress_filter,
 1803            'enable_env_variables': self.enable_env_variables,
 1804            'healthy': self.healthy,
 1805            'id': self.id,
 1806            'name': self.name,
 1807            'port_override': self.port_override,
 1808            'proxy_cluster_id': self.proxy_cluster_id,
 1809            'region': self.region,
 1810            'role_arn': self.role_arn,
 1811            'role_external_id': self.role_external_id,
 1812            'secret_store_id': self.secret_store_id,
 1813            'subdomain': self.subdomain,
 1814            'tags': self.tags,
 1815        }
 1816
 1817    @classmethod
 1818    def from_dict(cls, d):
 1819        return cls(
 1820            bind_interface=d.get('bind_interface'),
 1821            egress_filter=d.get('egress_filter'),
 1822            enable_env_variables=d.get('enable_env_variables'),
 1823            healthy=d.get('healthy'),
 1824            id=d.get('id'),
 1825            name=d.get('name'),
 1826            port_override=d.get('port_override'),
 1827            proxy_cluster_id=d.get('proxy_cluster_id'),
 1828            region=d.get('region'),
 1829            role_arn=d.get('role_arn'),
 1830            role_external_id=d.get('role_external_id'),
 1831            secret_store_id=d.get('secret_store_id'),
 1832            subdomain=d.get('subdomain'),
 1833            tags=d.get('tags'),
 1834        )
 1835
 1836
 1837class AWSStore:
 1838    __slots__ = [
 1839        'id',
 1840        'name',
 1841        'region',
 1842        'role_arn',
 1843        'role_external_id',
 1844        'tags',
 1845    ]
 1846
 1847    def __init__(
 1848        self,
 1849        id=None,
 1850        name=None,
 1851        region=None,
 1852        role_arn=None,
 1853        role_external_id=None,
 1854        tags=None,
 1855    ):
 1856        self.id = id if id is not None else ''
 1857        '''
 1858         Unique identifier of the SecretStore.
 1859        '''
 1860        self.name = name if name is not None else ''
 1861        '''
 1862         Unique human-readable name of the SecretStore.
 1863        '''
 1864        self.region = region if region is not None else ''
 1865        '''
 1866         The AWS region to target e.g. us-east-1
 1867        '''
 1868        self.role_arn = role_arn if role_arn is not None else ''
 1869        '''
 1870         The role to assume after logging in.
 1871        '''
 1872        self.role_external_id = role_external_id if role_external_id is not None else ''
 1873        '''
 1874         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 1875        '''
 1876        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 1877        '''
 1878         Tags is a map of key, value pairs.
 1879        '''
 1880
 1881    def __repr__(self):
 1882        return '<sdm.AWSStore ' + \
 1883            'id: ' + repr(self.id) + ' ' +\
 1884            'name: ' + repr(self.name) + ' ' +\
 1885            'region: ' + repr(self.region) + ' ' +\
 1886            'role_arn: ' + repr(self.role_arn) + ' ' +\
 1887            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 1888            'tags: ' + repr(self.tags) + ' ' +\
 1889            '>'
 1890
 1891    def to_dict(self):
 1892        return {
 1893            'id': self.id,
 1894            'name': self.name,
 1895            'region': self.region,
 1896            'role_arn': self.role_arn,
 1897            'role_external_id': self.role_external_id,
 1898            'tags': self.tags,
 1899        }
 1900
 1901    @classmethod
 1902    def from_dict(cls, d):
 1903        return cls(
 1904            id=d.get('id'),
 1905            name=d.get('name'),
 1906            region=d.get('region'),
 1907            role_arn=d.get('role_arn'),
 1908            role_external_id=d.get('role_external_id'),
 1909            tags=d.get('tags'),
 1910        )
 1911
 1912
 1913class AccessRequest:
 1914    '''
 1915         AccessRequests are requests for access to a resource that may match a Workflow.
 1916    '''
 1917    __slots__ = [
 1918        'account_id',
 1919        'duration',
 1920        'grant_id',
 1921        'id',
 1922        'reason',
 1923        'requestedduration',
 1924        'resource_id',
 1925        'resultduration',
 1926        'start_from',
 1927        'status',
 1928        'status_at',
 1929        'valid_until',
 1930        'workflow_id',
 1931    ]
 1932
 1933    def __init__(
 1934        self,
 1935        account_id=None,
 1936        duration=None,
 1937        grant_id=None,
 1938        id=None,
 1939        reason=None,
 1940        requestedduration=None,
 1941        resource_id=None,
 1942        resultduration=None,
 1943        start_from=None,
 1944        status=None,
 1945        status_at=None,
 1946        valid_until=None,
 1947        workflow_id=None,
 1948    ):
 1949        self.account_id = account_id if account_id is not None else ''
 1950        '''
 1951         The account that initiated the request.
 1952        '''
 1953        self.duration = duration if duration is not None else 0
 1954        '''
 1955         Duration of the access request.
 1956         Deprecated: use requested/result duration instead
 1957        '''
 1958        self.grant_id = grant_id if grant_id is not None else ''
 1959        '''
 1960         The account grant created, if it exists.
 1961        '''
 1962        self.id = id if id is not None else ''
 1963        '''
 1964         The access request id.
 1965        '''
 1966        self.reason = reason if reason is not None else ''
 1967        '''
 1968         The reason the access was requested.
 1969        '''
 1970        self.requestedduration = requestedduration if requestedduration is not None else None
 1971        '''
 1972         The duration that access was requested for, if any.
 1973        '''
 1974        self.resource_id = resource_id if resource_id is not None else ''
 1975        '''
 1976         The resource id.
 1977        '''
 1978        self.resultduration = resultduration if resultduration is not None else None
 1979        '''
 1980         The duration that results from an approved request.
 1981        '''
 1982        self.start_from = start_from if start_from is not None else None
 1983        '''
 1984         The timestamp when the requested access will be granted.
 1985         If this field is not specified it will default to the current time.
 1986        '''
 1987        self.status = status if status is not None else ''
 1988        '''
 1989         The status of the access request.
 1990        '''
 1991        self.status_at = status_at if status_at is not None else None
 1992        '''
 1993         The timestamp when the status changed.
 1994        '''
 1995        self.valid_until = valid_until if valid_until is not None else None
 1996        '''
 1997         The timestamp when the requested access will expire.
 1998        '''
 1999        self.workflow_id = workflow_id if workflow_id is not None else ''
 2000        '''
 2001         The workflow the request bound to.
 2002        '''
 2003
 2004    def __repr__(self):
 2005        return '<sdm.AccessRequest ' + \
 2006            'account_id: ' + repr(self.account_id) + ' ' +\
 2007            'duration: ' + repr(self.duration) + ' ' +\
 2008            'grant_id: ' + repr(self.grant_id) + ' ' +\
 2009            'id: ' + repr(self.id) + ' ' +\
 2010            'reason: ' + repr(self.reason) + ' ' +\
 2011            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
 2012            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2013            'resultduration: ' + repr(self.resultduration) + ' ' +\
 2014            'start_from: ' + repr(self.start_from) + ' ' +\
 2015            'status: ' + repr(self.status) + ' ' +\
 2016            'status_at: ' + repr(self.status_at) + ' ' +\
 2017            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2018            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
 2019            '>'
 2020
 2021    def to_dict(self):
 2022        return {
 2023            'account_id': self.account_id,
 2024            'duration': self.duration,
 2025            'grant_id': self.grant_id,
 2026            'id': self.id,
 2027            'reason': self.reason,
 2028            'requestedduration': self.requestedduration,
 2029            'resource_id': self.resource_id,
 2030            'resultduration': self.resultduration,
 2031            'start_from': self.start_from,
 2032            'status': self.status,
 2033            'status_at': self.status_at,
 2034            'valid_until': self.valid_until,
 2035            'workflow_id': self.workflow_id,
 2036        }
 2037
 2038    @classmethod
 2039    def from_dict(cls, d):
 2040        return cls(
 2041            account_id=d.get('account_id'),
 2042            duration=d.get('duration'),
 2043            grant_id=d.get('grant_id'),
 2044            id=d.get('id'),
 2045            reason=d.get('reason'),
 2046            requestedduration=d.get('requestedduration'),
 2047            resource_id=d.get('resource_id'),
 2048            resultduration=d.get('resultduration'),
 2049            start_from=d.get('start_from'),
 2050            status=d.get('status'),
 2051            status_at=d.get('status_at'),
 2052            valid_until=d.get('valid_until'),
 2053            workflow_id=d.get('workflow_id'),
 2054        )
 2055
 2056
 2057class AccessRequestConfig:
 2058    '''
 2059         AccessRequestConfig holds the information required to request access to a resource
 2060    '''
 2061    __slots__ = [
 2062        'duration',
 2063        'reason',
 2064        'resource_id',
 2065        'start_from',
 2066    ]
 2067
 2068    def __init__(
 2069        self,
 2070        duration=None,
 2071        reason=None,
 2072        resource_id=None,
 2073        start_from=None,
 2074    ):
 2075        self.duration = duration if duration is not None else ''
 2076        '''
 2077         The time access should end, defaults to the next occurance of 5 pm
 2078        '''
 2079        self.reason = reason if reason is not None else ''
 2080        '''
 2081         The reason for access
 2082        '''
 2083        self.resource_id = resource_id if resource_id is not None else ''
 2084        '''
 2085         The resource for which access is being requested
 2086        '''
 2087        self.start_from = start_from if start_from is not None else None
 2088        '''
 2089         The time access should start, defaults to now
 2090        '''
 2091
 2092    def __repr__(self):
 2093        return '<sdm.AccessRequestConfig ' + \
 2094            'duration: ' + repr(self.duration) + ' ' +\
 2095            'reason: ' + repr(self.reason) + ' ' +\
 2096            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2097            'start_from: ' + repr(self.start_from) + ' ' +\
 2098            '>'
 2099
 2100    def to_dict(self):
 2101        return {
 2102            'duration': self.duration,
 2103            'reason': self.reason,
 2104            'resource_id': self.resource_id,
 2105            'start_from': self.start_from,
 2106        }
 2107
 2108    @classmethod
 2109    def from_dict(cls, d):
 2110        return cls(
 2111            duration=d.get('duration'),
 2112            reason=d.get('reason'),
 2113            resource_id=d.get('resource_id'),
 2114            start_from=d.get('start_from'),
 2115        )
 2116
 2117
 2118class AccessRequestEvent:
 2119    '''
 2120         AccessRequestEvents hold information about events related to an access
 2121     request such as creation, approval and denial.
 2122    '''
 2123    __slots__ = [
 2124        'actor_id',
 2125        'id',
 2126        'metadata',
 2127        'request_id',
 2128        'type',
 2129    ]
 2130
 2131    def __init__(
 2132        self,
 2133        actor_id=None,
 2134        id=None,
 2135        metadata=None,
 2136        request_id=None,
 2137        type=None,
 2138    ):
 2139        self.actor_id = actor_id if actor_id is not None else ''
 2140        '''
 2141         The account responsible for the event.
 2142        '''
 2143        self.id = id if id is not None else ''
 2144        '''
 2145         The access request event id.
 2146        '''
 2147        self.metadata = metadata if metadata is not None else ''
 2148        '''
 2149         The metadata about the event
 2150        '''
 2151        self.request_id = request_id if request_id is not None else ''
 2152        '''
 2153         The request that the event is bound to.
 2154        '''
 2155        self.type = type if type is not None else ''
 2156        '''
 2157         The type of event.
 2158        '''
 2159
 2160    def __repr__(self):
 2161        return '<sdm.AccessRequestEvent ' + \
 2162            'actor_id: ' + repr(self.actor_id) + ' ' +\
 2163            'id: ' + repr(self.id) + ' ' +\
 2164            'metadata: ' + repr(self.metadata) + ' ' +\
 2165            'request_id: ' + repr(self.request_id) + ' ' +\
 2166            'type: ' + repr(self.type) + ' ' +\
 2167            '>'
 2168
 2169    def to_dict(self):
 2170        return {
 2171            'actor_id': self.actor_id,
 2172            'id': self.id,
 2173            'metadata': self.metadata,
 2174            'request_id': self.request_id,
 2175            'type': self.type,
 2176        }
 2177
 2178    @classmethod
 2179    def from_dict(cls, d):
 2180        return cls(
 2181            actor_id=d.get('actor_id'),
 2182            id=d.get('id'),
 2183            metadata=d.get('metadata'),
 2184            request_id=d.get('request_id'),
 2185            type=d.get('type'),
 2186        )
 2187
 2188
 2189class AccessRequestEventHistory:
 2190    '''
 2191         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
 2192     where every change (create, update and delete) to a AccessRequest produces an
 2193     AccessRequestEventHistory record.
 2194    '''
 2195    __slots__ = [
 2196        'access_request_event',
 2197        'activity_id',
 2198        'deleted_at',
 2199        'timestamp',
 2200    ]
 2201
 2202    def __init__(
 2203        self,
 2204        access_request_event=None,
 2205        activity_id=None,
 2206        deleted_at=None,
 2207        timestamp=None,
 2208    ):
 2209        self.access_request_event = access_request_event if access_request_event is not None else None
 2210        '''
 2211         The complete AccessRequestEvent state at this time.
 2212        '''
 2213        self.activity_id = activity_id if activity_id is not None else ''
 2214        '''
 2215         The unique identifier of the Activity that produced this change to the AccessRequest.
 2216         May be empty for some system-initiated updates.
 2217        '''
 2218        self.deleted_at = deleted_at if deleted_at is not None else None
 2219        '''
 2220         If this Workflow was deleted, the time it was deleted.
 2221        '''
 2222        self.timestamp = timestamp if timestamp is not None else None
 2223        '''
 2224         The time at which the AccessRequest state was recorded.
 2225        '''
 2226
 2227    def __repr__(self):
 2228        return '<sdm.AccessRequestEventHistory ' + \
 2229            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
 2230            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2231            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2232            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2233            '>'
 2234
 2235    def to_dict(self):
 2236        return {
 2237            'access_request_event': self.access_request_event,
 2238            'activity_id': self.activity_id,
 2239            'deleted_at': self.deleted_at,
 2240            'timestamp': self.timestamp,
 2241        }
 2242
 2243    @classmethod
 2244    def from_dict(cls, d):
 2245        return cls(
 2246            access_request_event=d.get('access_request_event'),
 2247            activity_id=d.get('activity_id'),
 2248            deleted_at=d.get('deleted_at'),
 2249            timestamp=d.get('timestamp'),
 2250        )
 2251
 2252
 2253class AccessRequestHistory:
 2254    '''
 2255         AccessRequestHistory records the state of a AccessRequest at a given point in time,
 2256     where every change (create, update and delete) to a AccessRequest produces an
 2257     AccessRequestHistory record.
 2258    '''
 2259    __slots__ = [
 2260        'access_request',
 2261        'activity_id',
 2262        'deleted_at',
 2263        'timestamp',
 2264    ]
 2265
 2266    def __init__(
 2267        self,
 2268        access_request=None,
 2269        activity_id=None,
 2270        deleted_at=None,
 2271        timestamp=None,
 2272    ):
 2273        self.access_request = access_request if access_request is not None else None
 2274        '''
 2275         The complete AccessRequest state at this time.
 2276        '''
 2277        self.activity_id = activity_id if activity_id is not None else ''
 2278        '''
 2279         The unique identifier of the Activity that produced this change to the AccessRequest.
 2280         May be empty for some system-initiated updates.
 2281        '''
 2282        self.deleted_at = deleted_at if deleted_at is not None else None
 2283        '''
 2284         If this Workflow was deleted, the time it was deleted.
 2285        '''
 2286        self.timestamp = timestamp if timestamp is not None else None
 2287        '''
 2288         The time at which the AccessRequest state was recorded.
 2289        '''
 2290
 2291    def __repr__(self):
 2292        return '<sdm.AccessRequestHistory ' + \
 2293            'access_request: ' + repr(self.access_request) + ' ' +\
 2294            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2295            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2296            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2297            '>'
 2298
 2299    def to_dict(self):
 2300        return {
 2301            'access_request': self.access_request,
 2302            'activity_id': self.activity_id,
 2303            'deleted_at': self.deleted_at,
 2304            'timestamp': self.timestamp,
 2305        }
 2306
 2307    @classmethod
 2308    def from_dict(cls, d):
 2309        return cls(
 2310            access_request=d.get('access_request'),
 2311            activity_id=d.get('activity_id'),
 2312            deleted_at=d.get('deleted_at'),
 2313            timestamp=d.get('timestamp'),
 2314        )
 2315
 2316
 2317class AccessRequestListRequest:
 2318    '''
 2319         AccessRequestListRequest specifies criteria for retrieving a list of
 2320     AccessRequest records
 2321    '''
 2322    __slots__ = [
 2323        'filter',
 2324    ]
 2325
 2326    def __init__(
 2327        self,
 2328        filter=None,
 2329    ):
 2330        self.filter = filter if filter is not None else ''
 2331        '''
 2332         A human-readable filter query string.
 2333        '''
 2334
 2335    def __repr__(self):
 2336        return '<sdm.AccessRequestListRequest ' + \
 2337            'filter: ' + repr(self.filter) + ' ' +\
 2338            '>'
 2339
 2340    def to_dict(self):
 2341        return {
 2342            'filter': self.filter,
 2343        }
 2344
 2345    @classmethod
 2346    def from_dict(cls, d):
 2347        return cls(filter=d.get('filter'), )
 2348
 2349
 2350class AccessRequestListResponse:
 2351    '''
 2352         AccessRequestListResponse returns a list of access requests records that meet
 2353     the criteria of a AccessRequestListRequest.
 2354    '''
 2355    __slots__ = [
 2356        'rate_limit',
 2357    ]
 2358
 2359    def __init__(
 2360        self,
 2361        rate_limit=None,
 2362    ):
 2363        self.rate_limit = rate_limit if rate_limit is not None else None
 2364        '''
 2365         Rate limit information.
 2366        '''
 2367
 2368    def __repr__(self):
 2369        return '<sdm.AccessRequestListResponse ' + \
 2370            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2371            '>'
 2372
 2373    def to_dict(self):
 2374        return {
 2375            'rate_limit': self.rate_limit,
 2376        }
 2377
 2378    @classmethod
 2379    def from_dict(cls, d):
 2380        return cls(rate_limit=d.get('rate_limit'), )
 2381
 2382
 2383class AccountAttachment:
 2384    '''
 2385         AccountAttachments assign an account to a role.
 2386    '''
 2387    __slots__ = [
 2388        'account_id',
 2389        'id',
 2390        'role_id',
 2391    ]
 2392
 2393    def __init__(
 2394        self,
 2395        account_id=None,
 2396        id=None,
 2397        role_id=None,
 2398    ):
 2399        self.account_id = account_id if account_id is not None else ''
 2400        '''
 2401         The id of the account of this AccountAttachment.
 2402        '''
 2403        self.id = id if id is not None else ''
 2404        '''
 2405         Unique identifier of the AccountAttachment.
 2406        '''
 2407        self.role_id = role_id if role_id is not None else ''
 2408        '''
 2409         The id of the attached role of this AccountAttachment.
 2410        '''
 2411
 2412    def __repr__(self):
 2413        return '<sdm.AccountAttachment ' + \
 2414            'account_id: ' + repr(self.account_id) + ' ' +\
 2415            'id: ' + repr(self.id) + ' ' +\
 2416            'role_id: ' + repr(self.role_id) + ' ' +\
 2417            '>'
 2418
 2419    def to_dict(self):
 2420        return {
 2421            'account_id': self.account_id,
 2422            'id': self.id,
 2423            'role_id': self.role_id,
 2424        }
 2425
 2426    @classmethod
 2427    def from_dict(cls, d):
 2428        return cls(
 2429            account_id=d.get('account_id'),
 2430            id=d.get('id'),
 2431            role_id=d.get('role_id'),
 2432        )
 2433
 2434
 2435class AccountAttachmentCreateResponse:
 2436    '''
 2437         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
 2438    '''
 2439    __slots__ = [
 2440        'account_attachment',
 2441        'meta',
 2442        'rate_limit',
 2443    ]
 2444
 2445    def __init__(
 2446        self,
 2447        account_attachment=None,
 2448        meta=None,
 2449        rate_limit=None,
 2450    ):
 2451        self.account_attachment = account_attachment if account_attachment is not None else None
 2452        '''
 2453         The created AccountAttachment.
 2454        '''
 2455        self.meta = meta if meta is not None else None
 2456        '''
 2457         Reserved for future use.
 2458        '''
 2459        self.rate_limit = rate_limit if rate_limit is not None else None
 2460        '''
 2461         Rate limit information.
 2462        '''
 2463
 2464    def __repr__(self):
 2465        return '<sdm.AccountAttachmentCreateResponse ' + \
 2466            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2467            'meta: ' + repr(self.meta) + ' ' +\
 2468            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2469            '>'
 2470
 2471    def to_dict(self):
 2472        return {
 2473            'account_attachment': self.account_attachment,
 2474            'meta': self.meta,
 2475            'rate_limit': self.rate_limit,
 2476        }
 2477
 2478    @classmethod
 2479    def from_dict(cls, d):
 2480        return cls(
 2481            account_attachment=d.get('account_attachment'),
 2482            meta=d.get('meta'),
 2483            rate_limit=d.get('rate_limit'),
 2484        )
 2485
 2486
 2487class AccountAttachmentDeleteResponse:
 2488    '''
 2489         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
 2490    '''
 2491    __slots__ = [
 2492        'meta',
 2493        'rate_limit',
 2494    ]
 2495
 2496    def __init__(
 2497        self,
 2498        meta=None,
 2499        rate_limit=None,
 2500    ):
 2501        self.meta = meta if meta is not None else None
 2502        '''
 2503         Reserved for future use.
 2504        '''
 2505        self.rate_limit = rate_limit if rate_limit is not None else None
 2506        '''
 2507         Rate limit information.
 2508        '''
 2509
 2510    def __repr__(self):
 2511        return '<sdm.AccountAttachmentDeleteResponse ' + \
 2512            'meta: ' + repr(self.meta) + ' ' +\
 2513            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2514            '>'
 2515
 2516    def to_dict(self):
 2517        return {
 2518            'meta': self.meta,
 2519            'rate_limit': self.rate_limit,
 2520        }
 2521
 2522    @classmethod
 2523    def from_dict(cls, d):
 2524        return cls(
 2525            meta=d.get('meta'),
 2526            rate_limit=d.get('rate_limit'),
 2527        )
 2528
 2529
 2530class AccountAttachmentGetResponse:
 2531    '''
 2532         AccountAttachmentGetResponse returns a requested AccountAttachment.
 2533    '''
 2534    __slots__ = [
 2535        'account_attachment',
 2536        'meta',
 2537        'rate_limit',
 2538    ]
 2539
 2540    def __init__(
 2541        self,
 2542        account_attachment=None,
 2543        meta=None,
 2544        rate_limit=None,
 2545    ):
 2546        self.account_attachment = account_attachment if account_attachment is not None else None
 2547        '''
 2548         The requested AccountAttachment.
 2549        '''
 2550        self.meta = meta if meta is not None else None
 2551        '''
 2552         Reserved for future use.
 2553        '''
 2554        self.rate_limit = rate_limit if rate_limit is not None else None
 2555        '''
 2556         Rate limit information.
 2557        '''
 2558
 2559    def __repr__(self):
 2560        return '<sdm.AccountAttachmentGetResponse ' + \
 2561            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2562            'meta: ' + repr(self.meta) + ' ' +\
 2563            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2564            '>'
 2565
 2566    def to_dict(self):
 2567        return {
 2568            'account_attachment': self.account_attachment,
 2569            'meta': self.meta,
 2570            'rate_limit': self.rate_limit,
 2571        }
 2572
 2573    @classmethod
 2574    def from_dict(cls, d):
 2575        return cls(
 2576            account_attachment=d.get('account_attachment'),
 2577            meta=d.get('meta'),
 2578            rate_limit=d.get('rate_limit'),
 2579        )
 2580
 2581
 2582class AccountAttachmentHistory:
 2583    '''
 2584         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
 2585     where every change (create or delete) to an AccountAttachment produces an
 2586     AccountAttachmentHistory record.
 2587    '''
 2588    __slots__ = [
 2589        'account_attachment',
 2590        'activity_id',
 2591        'deleted_at',
 2592        'timestamp',
 2593    ]
 2594
 2595    def __init__(
 2596        self,
 2597        account_attachment=None,
 2598        activity_id=None,
 2599        deleted_at=None,
 2600        timestamp=None,
 2601    ):
 2602        self.account_attachment = account_attachment if account_attachment is not None else None
 2603        '''
 2604         The complete AccountAttachment state at this time.
 2605        '''
 2606        self.activity_id = activity_id if activity_id is not None else ''
 2607        '''
 2608         The unique identifier of the Activity that produced this change to the AccountAttachment.
 2609         May be empty for some system-initiated updates.
 2610        '''
 2611        self.deleted_at = deleted_at if deleted_at is not None else None
 2612        '''
 2613         If this AccountAttachment was deleted, the time it was deleted.
 2614        '''
 2615        self.timestamp = timestamp if timestamp is not None else None
 2616        '''
 2617         The time at which the AccountAttachment state was recorded.
 2618        '''
 2619
 2620    def __repr__(self):
 2621        return '<sdm.AccountAttachmentHistory ' + \
 2622            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
 2623            'activity_id: ' + repr(self.activity_id) + ' ' +\
 2624            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 2625            'timestamp: ' + repr(self.timestamp) + ' ' +\
 2626            '>'
 2627
 2628    def to_dict(self):
 2629        return {
 2630            'account_attachment': self.account_attachment,
 2631            'activity_id': self.activity_id,
 2632            'deleted_at': self.deleted_at,
 2633            'timestamp': self.timestamp,
 2634        }
 2635
 2636    @classmethod
 2637    def from_dict(cls, d):
 2638        return cls(
 2639            account_attachment=d.get('account_attachment'),
 2640            activity_id=d.get('activity_id'),
 2641            deleted_at=d.get('deleted_at'),
 2642            timestamp=d.get('timestamp'),
 2643        )
 2644
 2645
 2646class AccountCreateResponse:
 2647    '''
 2648         AccountCreateResponse reports how the Accounts were created in the system.
 2649    '''
 2650    __slots__ = [
 2651        'access_key',
 2652        'account',
 2653        'meta',
 2654        'rate_limit',
 2655        'secret_key',
 2656        'token',
 2657    ]
 2658
 2659    def __init__(
 2660        self,
 2661        access_key=None,
 2662        account=None,
 2663        meta=None,
 2664        rate_limit=None,
 2665        secret_key=None,
 2666        token=None,
 2667    ):
 2668        self.access_key = access_key if access_key is not None else ''
 2669        '''
 2670         ID part of the API key.
 2671        '''
 2672        self.account = account if account is not None else None
 2673        '''
 2674         The created Account.
 2675        '''
 2676        self.meta = meta if meta is not None else None
 2677        '''
 2678         Reserved for future use.
 2679        '''
 2680        self.rate_limit = rate_limit if rate_limit is not None else None
 2681        '''
 2682         Rate limit information.
 2683        '''
 2684        self.secret_key = secret_key if secret_key is not None else ''
 2685        '''
 2686         Secret part of the API key.
 2687        '''
 2688        self.token = token if token is not None else ''
 2689        '''
 2690         The auth token generated for the Account. The Account will use this token to
 2691         authenticate with the strongDM API.
 2692        '''
 2693
 2694    def __repr__(self):
 2695        return '<sdm.AccountCreateResponse ' + \
 2696            'access_key: ' + repr(self.access_key) + ' ' +\
 2697            'account: ' + repr(self.account) + ' ' +\
 2698            'meta: ' + repr(self.meta) + ' ' +\
 2699            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2700            'secret_key: ' + repr(self.secret_key) + ' ' +\
 2701            'token: ' + repr(self.token) + ' ' +\
 2702            '>'
 2703
 2704    def to_dict(self):
 2705        return {
 2706            'access_key': self.access_key,
 2707            'account': self.account,
 2708            'meta': self.meta,
 2709            'rate_limit': self.rate_limit,
 2710            'secret_key': self.secret_key,
 2711            'token': self.token,
 2712        }
 2713
 2714    @classmethod
 2715    def from_dict(cls, d):
 2716        return cls(
 2717            access_key=d.get('access_key'),
 2718            account=d.get('account'),
 2719            meta=d.get('meta'),
 2720            rate_limit=d.get('rate_limit'),
 2721            secret_key=d.get('secret_key'),
 2722            token=d.get('token'),
 2723        )
 2724
 2725
 2726class AccountDeleteResponse:
 2727    '''
 2728         AccountDeleteResponse returns information about a Account that was deleted.
 2729    '''
 2730    __slots__ = [
 2731        'meta',
 2732        'rate_limit',
 2733    ]
 2734
 2735    def __init__(
 2736        self,
 2737        meta=None,
 2738        rate_limit=None,
 2739    ):
 2740        self.meta = meta if meta is not None else None
 2741        '''
 2742         Reserved for future use.
 2743        '''
 2744        self.rate_limit = rate_limit if rate_limit is not None else None
 2745        '''
 2746         Rate limit information.
 2747        '''
 2748
 2749    def __repr__(self):
 2750        return '<sdm.AccountDeleteResponse ' + \
 2751            'meta: ' + repr(self.meta) + ' ' +\
 2752            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2753            '>'
 2754
 2755    def to_dict(self):
 2756        return {
 2757            'meta': self.meta,
 2758            'rate_limit': self.rate_limit,
 2759        }
 2760
 2761    @classmethod
 2762    def from_dict(cls, d):
 2763        return cls(
 2764            meta=d.get('meta'),
 2765            rate_limit=d.get('rate_limit'),
 2766        )
 2767
 2768
 2769class AccountGetResponse:
 2770    '''
 2771         AccountGetResponse returns a requested Account.
 2772    '''
 2773    __slots__ = [
 2774        'account',
 2775        'meta',
 2776        'rate_limit',
 2777    ]
 2778
 2779    def __init__(
 2780        self,
 2781        account=None,
 2782        meta=None,
 2783        rate_limit=None,
 2784    ):
 2785        self.account = account if account is not None else None
 2786        '''
 2787         The requested Account.
 2788        '''
 2789        self.meta = meta if meta is not None else None
 2790        '''
 2791         Reserved for future use.
 2792        '''
 2793        self.rate_limit = rate_limit if rate_limit is not None else None
 2794        '''
 2795         Rate limit information.
 2796        '''
 2797
 2798    def __repr__(self):
 2799        return '<sdm.AccountGetResponse ' + \
 2800            'account: ' + repr(self.account) + ' ' +\
 2801            'meta: ' + repr(self.meta) + ' ' +\
 2802            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2803            '>'
 2804
 2805    def to_dict(self):
 2806        return {
 2807            'account': self.account,
 2808            'meta': self.meta,
 2809            'rate_limit': self.rate_limit,
 2810        }
 2811
 2812    @classmethod
 2813    def from_dict(cls, d):
 2814        return cls(
 2815            account=d.get('account'),
 2816            meta=d.get('meta'),
 2817            rate_limit=d.get('rate_limit'),
 2818        )
 2819
 2820
 2821class AccountGrant:
 2822    '''
 2823         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
 2824    '''
 2825    __slots__ = [
 2826        'access_rule',
 2827        'account_id',
 2828        'id',
 2829        'resource_id',
 2830        'start_from',
 2831        'valid_until',
 2832    ]
 2833
 2834    def __init__(
 2835        self,
 2836        access_rule=None,
 2837        account_id=None,
 2838        id=None,
 2839        resource_id=None,
 2840        start_from=None,
 2841        valid_until=None,
 2842    ):
 2843        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
 2844        )
 2845        '''
 2846         The access rule associated with this AccountGrant.
 2847        '''
 2848        self.account_id = account_id if account_id is not None else ''
 2849        '''
 2850         The account ID of this AccountGrant.
 2851        '''
 2852        self.id = id if id is not None else ''
 2853        '''
 2854         Unique identifier of the AccountGrant.
 2855        '''
 2856        self.resource_id = resource_id if resource_id is not None else ''
 2857        '''
 2858         The resource ID of this AccountGrant.
 2859        '''
 2860        self.start_from = start_from if start_from is not None else None
 2861        '''
 2862         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.
 2863        '''
 2864        self.valid_until = valid_until if valid_until is not None else None
 2865        '''
 2866         The timestamp when the resource grant will expire.
 2867        '''
 2868
 2869    def __repr__(self):
 2870        return '<sdm.AccountGrant ' + \
 2871            'access_rule: ' + repr(self.access_rule) + ' ' +\
 2872            'account_id: ' + repr(self.account_id) + ' ' +\
 2873            'id: ' + repr(self.id) + ' ' +\
 2874            'resource_id: ' + repr(self.resource_id) + ' ' +\
 2875            'start_from: ' + repr(self.start_from) + ' ' +\
 2876            'valid_until: ' + repr(self.valid_until) + ' ' +\
 2877            '>'
 2878
 2879    def to_dict(self):
 2880        return {
 2881            'access_rule': self.access_rule,
 2882            'account_id': self.account_id,
 2883            'id': self.id,
 2884            'resource_id': self.resource_id,
 2885            'start_from': self.start_from,
 2886            'valid_until': self.valid_until,
 2887        }
 2888
 2889    @classmethod
 2890    def from_dict(cls, d):
 2891        return cls(
 2892            access_rule=d.get('access_rule'),
 2893            account_id=d.get('account_id'),
 2894            id=d.get('id'),
 2895            resource_id=d.get('resource_id'),
 2896            start_from=d.get('start_from'),
 2897            valid_until=d.get('valid_until'),
 2898        )
 2899
 2900
 2901class AccountGrantCreateResponse:
 2902    '''
 2903         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
 2904    '''
 2905    __slots__ = [
 2906        'account_grant',
 2907        'meta',
 2908        'rate_limit',
 2909    ]
 2910
 2911    def __init__(
 2912        self,
 2913        account_grant=None,
 2914        meta=None,
 2915        rate_limit=None,
 2916    ):
 2917        self.account_grant = account_grant if account_grant is not None else None
 2918        '''
 2919         The created AccountGrant.
 2920        '''
 2921        self.meta = meta if meta is not None else None
 2922        '''
 2923         Reserved for future use.
 2924        '''
 2925        self.rate_limit = rate_limit if rate_limit is not None else None
 2926        '''
 2927         Rate limit information.
 2928        '''
 2929
 2930    def __repr__(self):
 2931        return '<sdm.AccountGrantCreateResponse ' + \
 2932            'account_grant: ' + repr(self.account_grant) + ' ' +\
 2933            'meta: ' + repr(self.meta) + ' ' +\
 2934            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2935            '>'
 2936
 2937    def to_dict(self):
 2938        return {
 2939            'account_grant': self.account_grant,
 2940            'meta': self.meta,
 2941            'rate_limit': self.rate_limit,
 2942        }
 2943
 2944    @classmethod
 2945    def from_dict(cls, d):
 2946        return cls(
 2947            account_grant=d.get('account_grant'),
 2948            meta=d.get('meta'),
 2949            rate_limit=d.get('rate_limit'),
 2950        )
 2951
 2952
 2953class AccountGrantDeleteResponse:
 2954    '''
 2955         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
 2956    '''
 2957    __slots__ = [
 2958        'meta',
 2959        'rate_limit',
 2960    ]
 2961
 2962    def __init__(
 2963        self,
 2964        meta=None,
 2965        rate_limit=None,
 2966    ):
 2967        self.meta = meta if meta is not None else None
 2968        '''
 2969         Reserved for future use.
 2970        '''
 2971        self.rate_limit = rate_limit if rate_limit is not None else None
 2972        '''
 2973         Rate limit information.
 2974        '''
 2975
 2976    def __repr__(self):
 2977        return '<sdm.AccountGrantDeleteResponse ' + \
 2978            'meta: ' + repr(self.meta) + ' ' +\
 2979            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 2980            '>'
 2981
 2982    def to_dict(self):
 2983        return {
 2984            'meta': self.meta,
 2985            'rate_limit': self.rate_limit,
 2986        }
 2987
 2988    @classmethod
 2989    def from_dict(cls, d):
 2990        return cls(
 2991            meta=d.get('meta'),
 2992            rate_limit=d.get('rate_limit'),
 2993        )
 2994
 2995
 2996class AccountGrantGetResponse:
 2997    '''
 2998         AccountGrantGetResponse returns a requested AccountGrant.
 2999    '''
 3000    __slots__ = [
 3001        'account_grant',
 3002        'meta',
 3003        'rate_limit',
 3004    ]
 3005
 3006    def __init__(
 3007        self,
 3008        account_grant=None,
 3009        meta=None,
 3010        rate_limit=None,
 3011    ):
 3012        self.account_grant = account_grant if account_grant is not None else None
 3013        '''
 3014         The requested AccountGrant.
 3015        '''
 3016        self.meta = meta if meta is not None else None
 3017        '''
 3018         Reserved for future use.
 3019        '''
 3020        self.rate_limit = rate_limit if rate_limit is not None else None
 3021        '''
 3022         Rate limit information.
 3023        '''
 3024
 3025    def __repr__(self):
 3026        return '<sdm.AccountGrantGetResponse ' + \
 3027            'account_grant: ' + repr(self.account_grant) + ' ' +\
 3028            'meta: ' + repr(self.meta) + ' ' +\
 3029            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3030            '>'
 3031
 3032    def to_dict(self):
 3033        return {
 3034            'account_grant': self.account_grant,
 3035            'meta': self.meta,
 3036            'rate_limit': self.rate_limit,
 3037        }
 3038
 3039    @classmethod
 3040    def from_dict(cls, d):
 3041        return cls(
 3042            account_grant=d.get('account_grant'),
 3043            meta=d.get('meta'),
 3044            rate_limit=d.get('rate_limit'),
 3045        )
 3046
 3047
 3048class AccountGrantHistory:
 3049    '''
 3050         AccountGrantHistory records the state of an AccountGrant at a given point in time,
 3051     where every change (create or delete) to an AccountGrant produces an
 3052     AccountGrantHistory record.
 3053    '''
 3054    __slots__ = [
 3055        'account_grant',
 3056        'activity_id',
 3057        'deleted_at',
 3058        'timestamp',
 3059    ]
 3060
 3061    def __init__(
 3062        self,
 3063        account_grant=None,
 3064        activity_id=None,
 3065        deleted_at=None,
 3066        timestamp=None,
 3067    ):
 3068        self.account_grant = account_grant if account_grant is not None else None
 3069        '''
 3070         The complete AccountGrant state at this time.
 3071        '''
 3072        self.activity_id = activity_id if activity_id is not None else ''
 3073        '''
 3074         The unique identifier of the Activity that produced this change to the AccountGrant.
 3075         May be empty for some system-initiated updates.
 3076        '''
 3077        self.deleted_at = deleted_at if deleted_at is not None else None
 3078        '''
 3079         If this AccountGrant was deleted, the time it was deleted.
 3080        '''
 3081        self.timestamp = timestamp if timestamp is not None else None
 3082        '''
 3083         The time at which the AccountGrant state was recorded.
 3084        '''
 3085
 3086    def __repr__(self):
 3087        return '<sdm.AccountGrantHistory ' + \
 3088            'account_grant: ' + repr(self.account_grant) + ' ' +\
 3089            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3090            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3091            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3092            '>'
 3093
 3094    def to_dict(self):
 3095        return {
 3096            'account_grant': self.account_grant,
 3097            'activity_id': self.activity_id,
 3098            'deleted_at': self.deleted_at,
 3099            'timestamp': self.timestamp,
 3100        }
 3101
 3102    @classmethod
 3103    def from_dict(cls, d):
 3104        return cls(
 3105            account_grant=d.get('account_grant'),
 3106            activity_id=d.get('activity_id'),
 3107            deleted_at=d.get('deleted_at'),
 3108            timestamp=d.get('timestamp'),
 3109        )
 3110
 3111
 3112class AccountGroup:
 3113    '''
 3114         An AccountGroup is a link between an Account and a Group.
 3115    '''
 3116    __slots__ = [
 3117        'account_id',
 3118        'group_id',
 3119        'id',
 3120    ]
 3121
 3122    def __init__(
 3123        self,
 3124        account_id=None,
 3125        group_id=None,
 3126        id=None,
 3127    ):
 3128        self.account_id = account_id if account_id is not None else ''
 3129        '''
 3130         Unique identifier of the Account.
 3131        '''
 3132        self.group_id = group_id if group_id is not None else ''
 3133        '''
 3134         Unique identifier of the Group.
 3135        '''
 3136        self.id = id if id is not None else ''
 3137        '''
 3138         Unique identifier of the AccountGroup.
 3139        '''
 3140
 3141    def __repr__(self):
 3142        return '<sdm.AccountGroup ' + \
 3143            'account_id: ' + repr(self.account_id) + ' ' +\
 3144            'group_id: ' + repr(self.group_id) + ' ' +\
 3145            'id: ' + repr(self.id) + ' ' +\
 3146            '>'
 3147
 3148    def to_dict(self):
 3149        return {
 3150            'account_id': self.account_id,
 3151            'group_id': self.group_id,
 3152            'id': self.id,
 3153        }
 3154
 3155    @classmethod
 3156    def from_dict(cls, d):
 3157        return cls(
 3158            account_id=d.get('account_id'),
 3159            group_id=d.get('group_id'),
 3160            id=d.get('id'),
 3161        )
 3162
 3163
 3164class AccountGroupCreateRequest:
 3165    '''
 3166         AccountGroupCreateRequest specifies an AccountGroup to create.
 3167    '''
 3168    __slots__ = [
 3169        'account_group',
 3170    ]
 3171
 3172    def __init__(
 3173        self,
 3174        account_group=None,
 3175    ):
 3176        self.account_group = account_group if account_group is not None else None
 3177        '''
 3178         Parameters to define the new AccountGroup.
 3179        '''
 3180
 3181    def __repr__(self):
 3182        return '<sdm.AccountGroupCreateRequest ' + \
 3183            'account_group: ' + repr(self.account_group) + ' ' +\
 3184            '>'
 3185
 3186    def to_dict(self):
 3187        return {
 3188            'account_group': self.account_group,
 3189        }
 3190
 3191    @classmethod
 3192    def from_dict(cls, d):
 3193        return cls(account_group=d.get('account_group'), )
 3194
 3195
 3196class AccountGroupCreateResponse:
 3197    '''
 3198         AccountGroupCreateResponse reports the result of a create.
 3199    '''
 3200    __slots__ = [
 3201        'account_group',
 3202        'rate_limit',
 3203    ]
 3204
 3205    def __init__(
 3206        self,
 3207        account_group=None,
 3208        rate_limit=None,
 3209    ):
 3210        self.account_group = account_group if account_group is not None else None
 3211        '''
 3212         The created AccountGroup.
 3213        '''
 3214        self.rate_limit = rate_limit if rate_limit is not None else None
 3215        '''
 3216         Rate limit information.
 3217        '''
 3218
 3219    def __repr__(self):
 3220        return '<sdm.AccountGroupCreateResponse ' + \
 3221            'account_group: ' + repr(self.account_group) + ' ' +\
 3222            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3223            '>'
 3224
 3225    def to_dict(self):
 3226        return {
 3227            'account_group': self.account_group,
 3228            'rate_limit': self.rate_limit,
 3229        }
 3230
 3231    @classmethod
 3232    def from_dict(cls, d):
 3233        return cls(
 3234            account_group=d.get('account_group'),
 3235            rate_limit=d.get('rate_limit'),
 3236        )
 3237
 3238
 3239class AccountGroupDeleteRequest:
 3240    '''
 3241         GroupDeleteRequest identifies an AccountGroup by ID to delete.
 3242    '''
 3243    __slots__ = [
 3244        'id',
 3245    ]
 3246
 3247    def __init__(
 3248        self,
 3249        id=None,
 3250    ):
 3251        self.id = id if id is not None else ''
 3252        '''
 3253         The unique identifier of the group to delete.
 3254        '''
 3255
 3256    def __repr__(self):
 3257        return '<sdm.AccountGroupDeleteRequest ' + \
 3258            'id: ' + repr(self.id) + ' ' +\
 3259            '>'
 3260
 3261    def to_dict(self):
 3262        return {
 3263            'id': self.id,
 3264        }
 3265
 3266    @classmethod
 3267    def from_dict(cls, d):
 3268        return cls(id=d.get('id'), )
 3269
 3270
 3271class AccountGroupDeleteResponse:
 3272    '''
 3273         GroupDeleteResponse returns information about an AccountGroup that was deleted.
 3274    '''
 3275    __slots__ = [
 3276        'meta',
 3277        'rate_limit',
 3278    ]
 3279
 3280    def __init__(
 3281        self,
 3282        meta=None,
 3283        rate_limit=None,
 3284    ):
 3285        self.meta = meta if meta is not None else None
 3286        '''
 3287         Reserved for future use.
 3288        '''
 3289        self.rate_limit = rate_limit if rate_limit is not None else None
 3290        '''
 3291         Rate limit information.
 3292        '''
 3293
 3294    def __repr__(self):
 3295        return '<sdm.AccountGroupDeleteResponse ' + \
 3296            'meta: ' + repr(self.meta) + ' ' +\
 3297            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3298            '>'
 3299
 3300    def to_dict(self):
 3301        return {
 3302            'meta': self.meta,
 3303            'rate_limit': self.rate_limit,
 3304        }
 3305
 3306    @classmethod
 3307    def from_dict(cls, d):
 3308        return cls(
 3309            meta=d.get('meta'),
 3310            rate_limit=d.get('rate_limit'),
 3311        )
 3312
 3313
 3314class AccountGroupGetRequest:
 3315    '''
 3316         AccountGroupGetRequest specifies which AccountGroup to retrieve.
 3317    '''
 3318    __slots__ = [
 3319        'id',
 3320    ]
 3321
 3322    def __init__(
 3323        self,
 3324        id=None,
 3325    ):
 3326        self.id = id if id is not None else ''
 3327        '''
 3328         The unique identifier of the AccountGroup to retrieve.
 3329        '''
 3330
 3331    def __repr__(self):
 3332        return '<sdm.AccountGroupGetRequest ' + \
 3333            'id: ' + repr(self.id) + ' ' +\
 3334            '>'
 3335
 3336    def to_dict(self):
 3337        return {
 3338            'id': self.id,
 3339        }
 3340
 3341    @classmethod
 3342    def from_dict(cls, d):
 3343        return cls(id=d.get('id'), )
 3344
 3345
 3346class AccountGroupGetResponse:
 3347    '''
 3348         AccountGroupGetResponse returns a requested AccountGroup.
 3349    '''
 3350    __slots__ = [
 3351        'account_group',
 3352        'meta',
 3353        'rate_limit',
 3354    ]
 3355
 3356    def __init__(
 3357        self,
 3358        account_group=None,
 3359        meta=None,
 3360        rate_limit=None,
 3361    ):
 3362        self.account_group = account_group if account_group is not None else None
 3363        '''
 3364         The requested AccountGroup.
 3365        '''
 3366        self.meta = meta if meta is not None else None
 3367        '''
 3368         Reserved for future use.
 3369        '''
 3370        self.rate_limit = rate_limit if rate_limit is not None else None
 3371        '''
 3372         Rate limit information.
 3373        '''
 3374
 3375    def __repr__(self):
 3376        return '<sdm.AccountGroupGetResponse ' + \
 3377            'account_group: ' + repr(self.account_group) + ' ' +\
 3378            'meta: ' + repr(self.meta) + ' ' +\
 3379            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3380            '>'
 3381
 3382    def to_dict(self):
 3383        return {
 3384            'account_group': self.account_group,
 3385            'meta': self.meta,
 3386            'rate_limit': self.rate_limit,
 3387        }
 3388
 3389    @classmethod
 3390    def from_dict(cls, d):
 3391        return cls(
 3392            account_group=d.get('account_group'),
 3393            meta=d.get('meta'),
 3394            rate_limit=d.get('rate_limit'),
 3395        )
 3396
 3397
 3398class AccountGroupHistory:
 3399    '''
 3400         AccountGroupHistory records the state of an AccountGroup at a given point in time,
 3401     where every change (create, update and delete) to an AccountGroup produces an
 3402     AccountGroupHistory record.
 3403    '''
 3404    __slots__ = [
 3405        'account_group',
 3406        'activity_id',
 3407        'deleted_at',
 3408        'timestamp',
 3409    ]
 3410
 3411    def __init__(
 3412        self,
 3413        account_group=None,
 3414        activity_id=None,
 3415        deleted_at=None,
 3416        timestamp=None,
 3417    ):
 3418        self.account_group = account_group if account_group is not None else None
 3419        '''
 3420         The complete AccountGroup state at this time.
 3421        '''
 3422        self.activity_id = activity_id if activity_id is not None else ''
 3423        '''
 3424         The unique identifier of the Activity that produced this change to the AccountGroup.
 3425         May be empty for some system-initiated updates.
 3426        '''
 3427        self.deleted_at = deleted_at if deleted_at is not None else None
 3428        '''
 3429         If this AccountGroup was deleted, the time it was deleted.
 3430        '''
 3431        self.timestamp = timestamp if timestamp is not None else None
 3432        '''
 3433         The time at which the AccountGroup state was recorded.
 3434        '''
 3435
 3436    def __repr__(self):
 3437        return '<sdm.AccountGroupHistory ' + \
 3438            'account_group: ' + repr(self.account_group) + ' ' +\
 3439            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3440            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3441            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3442            '>'
 3443
 3444    def to_dict(self):
 3445        return {
 3446            'account_group': self.account_group,
 3447            'activity_id': self.activity_id,
 3448            'deleted_at': self.deleted_at,
 3449            'timestamp': self.timestamp,
 3450        }
 3451
 3452    @classmethod
 3453    def from_dict(cls, d):
 3454        return cls(
 3455            account_group=d.get('account_group'),
 3456            activity_id=d.get('activity_id'),
 3457            deleted_at=d.get('deleted_at'),
 3458            timestamp=d.get('timestamp'),
 3459        )
 3460
 3461
 3462class AccountGroupListRequest:
 3463    '''
 3464         GroupListRequest specifies criteria for retrieving a list of groups.
 3465    '''
 3466    __slots__ = [
 3467        'filter',
 3468    ]
 3469
 3470    def __init__(
 3471        self,
 3472        filter=None,
 3473    ):
 3474        self.filter = filter if filter is not None else ''
 3475        '''
 3476         A human-readable filter query string.
 3477        '''
 3478
 3479    def __repr__(self):
 3480        return '<sdm.AccountGroupListRequest ' + \
 3481            'filter: ' + repr(self.filter) + ' ' +\
 3482            '>'
 3483
 3484    def to_dict(self):
 3485        return {
 3486            'filter': self.filter,
 3487        }
 3488
 3489    @classmethod
 3490    def from_dict(cls, d):
 3491        return cls(filter=d.get('filter'), )
 3492
 3493
 3494class AccountGroupListResponse:
 3495    '''
 3496         GroupListResponse returns a list of groups that meet the criteria of a
 3497     GroupListRequest.
 3498    '''
 3499    __slots__ = [
 3500        'rate_limit',
 3501    ]
 3502
 3503    def __init__(
 3504        self,
 3505        rate_limit=None,
 3506    ):
 3507        self.rate_limit = rate_limit if rate_limit is not None else None
 3508        '''
 3509         Rate limit information.
 3510        '''
 3511
 3512    def __repr__(self):
 3513        return '<sdm.AccountGroupListResponse ' + \
 3514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3515            '>'
 3516
 3517    def to_dict(self):
 3518        return {
 3519            'rate_limit': self.rate_limit,
 3520        }
 3521
 3522    @classmethod
 3523    def from_dict(cls, d):
 3524        return cls(rate_limit=d.get('rate_limit'), )
 3525
 3526
 3527class AccountHistory:
 3528    '''
 3529         AccountHistory records the state of an Account at a given point in time,
 3530     where every change (create, update and delete) to an Account produces an
 3531     AccountHistory record.
 3532    '''
 3533    __slots__ = [
 3534        'account',
 3535        'activity_id',
 3536        'deleted_at',
 3537        'timestamp',
 3538    ]
 3539
 3540    def __init__(
 3541        self,
 3542        account=None,
 3543        activity_id=None,
 3544        deleted_at=None,
 3545        timestamp=None,
 3546    ):
 3547        self.account = account if account is not None else None
 3548        '''
 3549         The complete Account state at this time.
 3550        '''
 3551        self.activity_id = activity_id if activity_id is not None else ''
 3552        '''
 3553         The unique identifier of the Activity that produced this change to the Account.
 3554         May be empty for some system-initiated updates.
 3555        '''
 3556        self.deleted_at = deleted_at if deleted_at is not None else None
 3557        '''
 3558         If this Account was deleted, the time it was deleted.
 3559        '''
 3560        self.timestamp = timestamp if timestamp is not None else None
 3561        '''
 3562         The time at which the Account state was recorded.
 3563        '''
 3564
 3565    def __repr__(self):
 3566        return '<sdm.AccountHistory ' + \
 3567            'account: ' + repr(self.account) + ' ' +\
 3568            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3569            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3570            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3571            '>'
 3572
 3573    def to_dict(self):
 3574        return {
 3575            'account': self.account,
 3576            'activity_id': self.activity_id,
 3577            'deleted_at': self.deleted_at,
 3578            'timestamp': self.timestamp,
 3579        }
 3580
 3581    @classmethod
 3582    def from_dict(cls, d):
 3583        return cls(
 3584            account=d.get('account'),
 3585            activity_id=d.get('activity_id'),
 3586            deleted_at=d.get('deleted_at'),
 3587            timestamp=d.get('timestamp'),
 3588        )
 3589
 3590
 3591class AccountPermission:
 3592    '''
 3593         AccountPermission represents an individual API action available to an account.
 3594    '''
 3595    __slots__ = [
 3596        'account_id',
 3597        'granted_at',
 3598        'permission',
 3599        'scope',
 3600        'scoped_id',
 3601    ]
 3602
 3603    def __init__(
 3604        self,
 3605        account_id=None,
 3606        granted_at=None,
 3607        permission=None,
 3608        scope=None,
 3609        scoped_id=None,
 3610    ):
 3611        self.account_id = account_id if account_id is not None else ''
 3612        '''
 3613         The unique identifier of the Account this permission belongs to.
 3614        '''
 3615        self.granted_at = granted_at if granted_at is not None else None
 3616        '''
 3617         The most recent time at which the permission was granted. If a permission was
 3618         granted, revoked, and granted again, this will reflect the later time.
 3619        '''
 3620        self.permission = permission if permission is not None else ''
 3621        '''
 3622         The value of this permission, split into vertical and action, one of the Permission constants.
 3623        '''
 3624        self.scope = scope if scope is not None else ''
 3625        '''
 3626         The scope of this permission. A global scope means this action can be taken
 3627         on any entity; otherwise the action can only be taken on or in the scope of
 3628         the scoped id.
 3629        '''
 3630        self.scoped_id = scoped_id if scoped_id is not None else ''
 3631        '''
 3632         The ID to which or in whose context this operation is permitted. e.g. The ID of a
 3633         role that a team leader has the abillity to remove and add accounts to, or the
 3634         ID of a resource that a user has the permission to connect to. If Scope is global,
 3635         scoped id is not populated.
 3636        '''
 3637
 3638    def __repr__(self):
 3639        return '<sdm.AccountPermission ' + \
 3640            'account_id: ' + repr(self.account_id) + ' ' +\
 3641            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3642            'permission: ' + repr(self.permission) + ' ' +\
 3643            'scope: ' + repr(self.scope) + ' ' +\
 3644            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
 3645            '>'
 3646
 3647    def to_dict(self):
 3648        return {
 3649            'account_id': self.account_id,
 3650            'granted_at': self.granted_at,
 3651            'permission': self.permission,
 3652            'scope': self.scope,
 3653            'scoped_id': self.scoped_id,
 3654        }
 3655
 3656    @classmethod
 3657    def from_dict(cls, d):
 3658        return cls(
 3659            account_id=d.get('account_id'),
 3660            granted_at=d.get('granted_at'),
 3661            permission=d.get('permission'),
 3662            scope=d.get('scope'),
 3663            scoped_id=d.get('scoped_id'),
 3664        )
 3665
 3666
 3667class AccountResource:
 3668    '''
 3669         AccountResource represents an individual access grant of a Account to a Resource.
 3670    '''
 3671    __slots__ = [
 3672        'account_grant_id',
 3673        'account_id',
 3674        'created_at',
 3675        'expires_at',
 3676        'granted_at',
 3677        'resource_id',
 3678        'role_id',
 3679    ]
 3680
 3681    def __init__(
 3682        self,
 3683        account_grant_id=None,
 3684        account_id=None,
 3685        created_at=None,
 3686        expires_at=None,
 3687        granted_at=None,
 3688        resource_id=None,
 3689        role_id=None,
 3690    ):
 3691        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
 3692        '''
 3693         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
 3694         If empty, access was not granted through an AccountGrant.
 3695        '''
 3696        self.account_id = account_id if account_id is not None else ''
 3697        '''
 3698         The unique identifier of the Account to which access is granted.
 3699        '''
 3700        self.created_at = created_at if created_at is not None else None
 3701        '''
 3702         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
 3703         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
 3704        '''
 3705        self.expires_at = expires_at if expires_at is not None else None
 3706        '''
 3707         The time at which access will expire. If empty, this access has no expiration.
 3708        '''
 3709        self.granted_at = granted_at if granted_at is not None else None
 3710        '''
 3711         The most recent time at which access was granted. If access was granted,
 3712         revoked, and granted again, this will reflect the later time.
 3713        '''
 3714        self.resource_id = resource_id if resource_id is not None else ''
 3715        '''
 3716         The unique identifier of the Resource to which access is granted.
 3717        '''
 3718        self.role_id = role_id if role_id is not None else ''
 3719        '''
 3720         The unique identifier of the Role through which the Account was granted access to the Resource.
 3721         If empty, access was not granted through an AccountAttachment to a Role.
 3722        '''
 3723
 3724    def __repr__(self):
 3725        return '<sdm.AccountResource ' + \
 3726            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
 3727            'account_id: ' + repr(self.account_id) + ' ' +\
 3728            'created_at: ' + repr(self.created_at) + ' ' +\
 3729            'expires_at: ' + repr(self.expires_at) + ' ' +\
 3730            'granted_at: ' + repr(self.granted_at) + ' ' +\
 3731            'resource_id: ' + repr(self.resource_id) + ' ' +\
 3732            'role_id: ' + repr(self.role_id) + ' ' +\
 3733            '>'
 3734
 3735    def to_dict(self):
 3736        return {
 3737            'account_grant_id': self.account_grant_id,
 3738            'account_id': self.account_id,
 3739            'created_at': self.created_at,
 3740            'expires_at': self.expires_at,
 3741            'granted_at': self.granted_at,
 3742            'resource_id': self.resource_id,
 3743            'role_id': self.role_id,
 3744        }
 3745
 3746    @classmethod
 3747    def from_dict(cls, d):
 3748        return cls(
 3749            account_grant_id=d.get('account_grant_id'),
 3750            account_id=d.get('account_id'),
 3751            created_at=d.get('created_at'),
 3752            expires_at=d.get('expires_at'),
 3753            granted_at=d.get('granted_at'),
 3754            resource_id=d.get('resource_id'),
 3755            role_id=d.get('role_id'),
 3756        )
 3757
 3758
 3759class AccountResourceHistory:
 3760    '''
 3761         AccountResourceHistory records the state of a AccountResource at a given point in time,
 3762     where every change (create or delete) to a AccountResource produces an
 3763     AccountResourceHistory record.
 3764    '''
 3765    __slots__ = [
 3766        'account_resource',
 3767        'activity_id',
 3768        'deleted_at',
 3769        'timestamp',
 3770    ]
 3771
 3772    def __init__(
 3773        self,
 3774        account_resource=None,
 3775        activity_id=None,
 3776        deleted_at=None,
 3777        timestamp=None,
 3778    ):
 3779        self.account_resource = account_resource if account_resource is not None else None
 3780        '''
 3781         The complete AccountResource state at this time.
 3782        '''
 3783        self.activity_id = activity_id if activity_id is not None else ''
 3784        '''
 3785         The unique identifier of the Activity that produced this change to the AccountResource.
 3786         May be empty for some system-initiated updates.
 3787        '''
 3788        self.deleted_at = deleted_at if deleted_at is not None else None
 3789        '''
 3790         If this AccountResource was deleted, the time it was deleted.
 3791        '''
 3792        self.timestamp = timestamp if timestamp is not None else None
 3793        '''
 3794         The time at which the AccountResource state was recorded.
 3795        '''
 3796
 3797    def __repr__(self):
 3798        return '<sdm.AccountResourceHistory ' + \
 3799            'account_resource: ' + repr(self.account_resource) + ' ' +\
 3800            'activity_id: ' + repr(self.activity_id) + ' ' +\
 3801            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 3802            'timestamp: ' + repr(self.timestamp) + ' ' +\
 3803            '>'
 3804
 3805    def to_dict(self):
 3806        return {
 3807            'account_resource': self.account_resource,
 3808            'activity_id': self.activity_id,
 3809            'deleted_at': self.deleted_at,
 3810            'timestamp': self.timestamp,
 3811        }
 3812
 3813    @classmethod
 3814    def from_dict(cls, d):
 3815        return cls(
 3816            account_resource=d.get('account_resource'),
 3817            activity_id=d.get('activity_id'),
 3818            deleted_at=d.get('deleted_at'),
 3819            timestamp=d.get('timestamp'),
 3820        )
 3821
 3822
 3823class AccountUpdateResponse:
 3824    '''
 3825         AccountUpdateResponse returns the fields of a Account after it has been updated by
 3826     a AccountUpdateRequest.
 3827    '''
 3828    __slots__ = [
 3829        'account',
 3830        'meta',
 3831        'rate_limit',
 3832    ]
 3833
 3834    def __init__(
 3835        self,
 3836        account=None,
 3837        meta=None,
 3838        rate_limit=None,
 3839    ):
 3840        self.account = account if account is not None else None
 3841        '''
 3842         The updated Account.
 3843        '''
 3844        self.meta = meta if meta is not None else None
 3845        '''
 3846         Reserved for future use.
 3847        '''
 3848        self.rate_limit = rate_limit if rate_limit is not None else None
 3849        '''
 3850         Rate limit information.
 3851        '''
 3852
 3853    def __repr__(self):
 3854        return '<sdm.AccountUpdateResponse ' + \
 3855            'account: ' + repr(self.account) + ' ' +\
 3856            'meta: ' + repr(self.meta) + ' ' +\
 3857            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 3858            '>'
 3859
 3860    def to_dict(self):
 3861        return {
 3862            'account': self.account,
 3863            'meta': self.meta,
 3864            'rate_limit': self.rate_limit,
 3865        }
 3866
 3867    @classmethod
 3868    def from_dict(cls, d):
 3869        return cls(
 3870            account=d.get('account'),
 3871            meta=d.get('meta'),
 3872            rate_limit=d.get('rate_limit'),
 3873        )
 3874
 3875
 3876class ActiveDirectoryEngine:
 3877    __slots__ = [
 3878        'after_read_ttl',
 3879        'binddn',
 3880        'bindpass',
 3881        'certificate',
 3882        'connection_timeout',
 3883        'do_not_validate_timestamps',
 3884        'id',
 3885        'insecure_tls',
 3886        'key_rotation_interval_days',
 3887        'max_backoff_duration',
 3888        'name',
 3889        'policy',
 3890        'public_key',
 3891        'request_timeout',
 3892        'secret_store_id',
 3893        'secret_store_root_path',
 3894        'start_tls',
 3895        'tags',
 3896        'ttl',
 3897        'upndomain',
 3898        'url',
 3899        'userdn',
 3900    ]
 3901
 3902    def __init__(
 3903        self,
 3904        after_read_ttl=None,
 3905        binddn=None,
 3906        bindpass=None,
 3907        certificate=None,
 3908        connection_timeout=None,
 3909        do_not_validate_timestamps=None,
 3910        id=None,
 3911        insecure_tls=None,
 3912        key_rotation_interval_days=None,
 3913        max_backoff_duration=None,
 3914        name=None,
 3915        policy=None,
 3916        public_key=None,
 3917        request_timeout=None,
 3918        secret_store_id=None,
 3919        secret_store_root_path=None,
 3920        start_tls=None,
 3921        tags=None,
 3922        ttl=None,
 3923        upndomain=None,
 3924        url=None,
 3925        userdn=None,
 3926    ):
 3927        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
 3928        '''
 3929         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
 3930        '''
 3931        self.binddn = binddn if binddn is not None else ''
 3932        '''
 3933         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
 3934        '''
 3935        self.bindpass = bindpass if bindpass is not None else ''
 3936        '''
 3937         Password to use along with binddn when performing user search.
 3938        '''
 3939        self.certificate = certificate if certificate is not None else ''
 3940        '''
 3941         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
 3942        '''
 3943        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
 3944        '''
 3945         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
 3946        '''
 3947        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
 3948        '''
 3949         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
 3950        '''
 3951        self.id = id if id is not None else ''
 3952        '''
 3953         Unique identifier of the Secret Engine.
 3954        '''
 3955        self.insecure_tls = insecure_tls if insecure_tls is not None else False
 3956        '''
 3957         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
 3958        '''
 3959        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
 3960        '''
 3961         An interval of public/private key rotation for secret engine in days
 3962        '''
 3963        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
 3964        '''
 3965         The maximum retry duration in case of automatic failure.
 3966         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
 3967        '''
 3968        self.name = name if name is not None else ''
 3969        '''
 3970         Unique human-readable name of the Secret Engine.
 3971        '''
 3972        self.policy = policy if policy is not None else None
 3973        '''
 3974         Policy for password creation
 3975        '''
 3976        self.public_key = public_key if public_key is not None else b''
 3977        '''
 3978         Public key linked with a secret engine
 3979        '''
 3980        self.request_timeout = request_timeout if request_timeout is not None else 0
 3981        '''
 3982         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
 3983        '''
 3984        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 3985        '''
 3986         Backing secret store identifier
 3987        '''
 3988        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
 3989        '''
 3990         Backing Secret Store root path where managed secrets are going to be stored
 3991        '''
 3992        self.start_tls = start_tls if start_tls is not None else False
 3993        '''
 3994         If true, issues a StartTLS command after establishing an unencrypted connection.
 3995        '''
 3996        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 3997        '''
 3998         Tags is a map of key, value pairs.
 3999        '''
 4000        self.ttl = ttl if ttl is not None else None
 4001        '''
 4002         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
 4003        '''
 4004        self.upndomain = upndomain if upndomain is not None else ''
 4005        '''
 4006         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
 4007        '''
 4008        self.url = url if url is not None else ''
 4009        '''
 4010         The LDAP server to connect to.
 4011        '''
 4012        self.userdn = userdn if userdn is not None else ''
 4013        '''
 4014         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
 4015        '''
 4016
 4017    def __repr__(self):
 4018        return '<sdm.ActiveDirectoryEngine ' + \
 4019            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
 4020            'binddn: ' + repr(self.binddn) + ' ' +\
 4021            'bindpass: ' + repr(self.bindpass) + ' ' +\
 4022            'certificate: ' + repr(self.certificate) + ' ' +\
 4023            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
 4024            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
 4025            'id: ' + repr(self.id) + ' ' +\
 4026            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
 4027            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
 4028            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
 4029            'name: ' + repr(self.name) + ' ' +\
 4030            'policy: ' + repr(self.policy) + ' ' +\
 4031            'public_key: ' + repr(self.public_key) + ' ' +\
 4032            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
 4033            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4034            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
 4035            'start_tls: ' + repr(self.start_tls) + ' ' +\
 4036            'tags: ' + repr(self.tags) + ' ' +\
 4037            'ttl: ' + repr(self.ttl) + ' ' +\
 4038            'upndomain: ' + repr(self.upndomain) + ' ' +\
 4039            'url: ' + repr(self.url) + ' ' +\
 4040            'userdn: ' + repr(self.userdn) + ' ' +\
 4041            '>'
 4042
 4043    def to_dict(self):
 4044        return {
 4045            'after_read_ttl': self.after_read_ttl,
 4046            'binddn': self.binddn,
 4047            'bindpass': self.bindpass,
 4048            'certificate': self.certificate,
 4049            'connection_timeout': self.connection_timeout,
 4050            'do_not_validate_timestamps': self.do_not_validate_timestamps,
 4051            'id': self.id,
 4052            'insecure_tls': self.insecure_tls,
 4053            'key_rotation_interval_days': self.key_rotation_interval_days,
 4054            'max_backoff_duration': self.max_backoff_duration,
 4055            'name': self.name,
 4056            'policy': self.policy,
 4057            'public_key': self.public_key,
 4058            'request_timeout': self.request_timeout,
 4059            'secret_store_id': self.secret_store_id,
 4060            'secret_store_root_path': self.secret_store_root_path,
 4061            'start_tls': self.start_tls,
 4062            'tags': self.tags,
 4063            'ttl': self.ttl,
 4064            'upndomain': self.upndomain,
 4065            'url': self.url,
 4066            'userdn': self.userdn,
 4067        }
 4068
 4069    @classmethod
 4070    def from_dict(cls, d):
 4071        return cls(
 4072            after_read_ttl=d.get('after_read_ttl'),
 4073            binddn=d.get('binddn'),
 4074            bindpass=d.get('bindpass'),
 4075            certificate=d.get('certificate'),
 4076            connection_timeout=d.get('connection_timeout'),
 4077            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
 4078            id=d.get('id'),
 4079            insecure_tls=d.get('insecure_tls'),
 4080            key_rotation_interval_days=d.get('key_rotation_interval_days'),
 4081            max_backoff_duration=d.get('max_backoff_duration'),
 4082            name=d.get('name'),
 4083            policy=d.get('policy'),
 4084            public_key=d.get('public_key'),
 4085            request_timeout=d.get('request_timeout'),
 4086            secret_store_id=d.get('secret_store_id'),
 4087            secret_store_root_path=d.get('secret_store_root_path'),
 4088            start_tls=d.get('start_tls'),
 4089            tags=d.get('tags'),
 4090            ttl=d.get('ttl'),
 4091            upndomain=d.get('upndomain'),
 4092            url=d.get('url'),
 4093            userdn=d.get('userdn'),
 4094        )
 4095
 4096
 4097class ActiveDirectoryStore:
 4098    __slots__ = [
 4099        'id',
 4100        'name',
 4101        'server_address',
 4102        'tags',
 4103    ]
 4104
 4105    def __init__(
 4106        self,
 4107        id=None,
 4108        name=None,
 4109        server_address=None,
 4110        tags=None,
 4111    ):
 4112        self.id = id if id is not None else ''
 4113        '''
 4114         Unique identifier of the SecretStore.
 4115        '''
 4116        self.name = name if name is not None else ''
 4117        '''
 4118         Unique human-readable name of the SecretStore.
 4119        '''
 4120        self.server_address = server_address if server_address is not None else ''
 4121        '''
 4122         Hostname of server that is hosting NDES (Network Device Enrollment Services).
 4123         Often this is the same host as Active Directory Certificate Services
 4124        '''
 4125        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4126        '''
 4127         Tags is a map of key, value pairs.
 4128        '''
 4129
 4130    def __repr__(self):
 4131        return '<sdm.ActiveDirectoryStore ' + \
 4132            'id: ' + repr(self.id) + ' ' +\
 4133            'name: ' + repr(self.name) + ' ' +\
 4134            'server_address: ' + repr(self.server_address) + ' ' +\
 4135            'tags: ' + repr(self.tags) + ' ' +\
 4136            '>'
 4137
 4138    def to_dict(self):
 4139        return {
 4140            'id': self.id,
 4141            'name': self.name,
 4142            'server_address': self.server_address,
 4143            'tags': self.tags,
 4144        }
 4145
 4146    @classmethod
 4147    def from_dict(cls, d):
 4148        return cls(
 4149            id=d.get('id'),
 4150            name=d.get('name'),
 4151            server_address=d.get('server_address'),
 4152            tags=d.get('tags'),
 4153        )
 4154
 4155
 4156class Activity:
 4157    '''
 4158         An Activity is a record of an action taken against a strongDM deployment, e.g.
 4159     a user creation, resource deletion, sso configuration change, etc.
 4160    '''
 4161    __slots__ = [
 4162        'actor',
 4163        'completed_at',
 4164        'description',
 4165        'entities',
 4166        'id',
 4167        'ip_address',
 4168        'user_agent',
 4169        'verb',
 4170    ]
 4171
 4172    def __init__(
 4173        self,
 4174        actor=None,
 4175        completed_at=None,
 4176        description=None,
 4177        entities=None,
 4178        id=None,
 4179        ip_address=None,
 4180        user_agent=None,
 4181        verb=None,
 4182    ):
 4183        self.actor = actor if actor is not None else None
 4184        '''
 4185         The account who executed this activity. If the actor later has a name or email change,
 4186         that change is not reflected here. Actor is a snapshot of the executing account at
 4187         the time an activity took place.
 4188        '''
 4189        self.completed_at = completed_at if completed_at is not None else None
 4190        '''
 4191         The time this activity took effect.
 4192        '''
 4193        self.description = description if description is not None else ''
 4194        '''
 4195         A humanized description of the activity.
 4196        '''
 4197        self.entities = entities if entities is not None else []
 4198        '''
 4199         The entities involved in this activity. These entities can be any first class
 4200         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
 4201         every activity affects explicit entities.
 4202        '''
 4203        self.id = id if id is not None else ''
 4204        '''
 4205         Unique identifier of the Activity.
 4206        '''
 4207        self.ip_address = ip_address if ip_address is not None else ''
 4208        '''
 4209         The IP from which this action was taken.
 4210        '''
 4211        self.user_agent = user_agent if user_agent is not None else ''
 4212        '''
 4213         The User Agent present when this request was executed. Generally a client type and version
 4214         like strongdm-cli/55.66.77
 4215        '''
 4216        self.verb = verb if verb is not None else ''
 4217        '''
 4218         The kind of activity which has taken place, one of the ActivityVerb constants.
 4219        '''
 4220
 4221    def __repr__(self):
 4222        return '<sdm.Activity ' + \
 4223            'actor: ' + repr(self.actor) + ' ' +\
 4224            'completed_at: ' + repr(self.completed_at) + ' ' +\
 4225            'description: ' + repr(self.description) + ' ' +\
 4226            'entities: ' + repr(self.entities) + ' ' +\
 4227            'id: ' + repr(self.id) + ' ' +\
 4228            'ip_address: ' + repr(self.ip_address) + ' ' +\
 4229            'user_agent: ' + repr(self.user_agent) + ' ' +\
 4230            'verb: ' + repr(self.verb) + ' ' +\
 4231            '>'
 4232
 4233    def to_dict(self):
 4234        return {
 4235            'actor': self.actor,
 4236            'completed_at': self.completed_at,
 4237            'description': self.description,
 4238            'entities': self.entities,
 4239            'id': self.id,
 4240            'ip_address': self.ip_address,
 4241            'user_agent': self.user_agent,
 4242            'verb': self.verb,
 4243        }
 4244
 4245    @classmethod
 4246    def from_dict(cls, d):
 4247        return cls(
 4248            actor=d.get('actor'),
 4249            completed_at=d.get('completed_at'),
 4250            description=d.get('description'),
 4251            entities=d.get('entities'),
 4252            id=d.get('id'),
 4253            ip_address=d.get('ip_address'),
 4254            user_agent=d.get('user_agent'),
 4255            verb=d.get('verb'),
 4256        )
 4257
 4258
 4259class ActivityActor:
 4260    __slots__ = [
 4261        'activity_external_id',
 4262        'email',
 4263        'first_name',
 4264        'id',
 4265        'last_name',
 4266    ]
 4267
 4268    def __init__(
 4269        self,
 4270        activity_external_id=None,
 4271        email=None,
 4272        first_name=None,
 4273        id=None,
 4274        last_name=None,
 4275    ):
 4276        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
 4277        '''
 4278         The external ID of the actor at the time this activity occurred.
 4279        '''
 4280        self.email = email if email is not None else ''
 4281        '''
 4282         The email of the actor at the time this activity occurred.
 4283        '''
 4284        self.first_name = first_name if first_name is not None else ''
 4285        '''
 4286         The first name of the actor at the time this activity occurred.
 4287        '''
 4288        self.id = id if id is not None else ''
 4289        '''
 4290         Unique identifier of the actor. Immutable.
 4291        '''
 4292        self.last_name = last_name if last_name is not None else ''
 4293        '''
 4294         The last name of the actor at the time this activity occurred.
 4295        '''
 4296
 4297    def __repr__(self):
 4298        return '<sdm.ActivityActor ' + \
 4299            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
 4300            'email: ' + repr(self.email) + ' ' +\
 4301            'first_name: ' + repr(self.first_name) + ' ' +\
 4302            'id: ' + repr(self.id) + ' ' +\
 4303            'last_name: ' + repr(self.last_name) + ' ' +\
 4304            '>'
 4305
 4306    def to_dict(self):
 4307        return {
 4308            'activity_external_id': self.activity_external_id,
 4309            'email': self.email,
 4310            'first_name': self.first_name,
 4311            'id': self.id,
 4312            'last_name': self.last_name,
 4313        }
 4314
 4315    @classmethod
 4316    def from_dict(cls, d):
 4317        return cls(
 4318            activity_external_id=d.get('activity_external_id'),
 4319            email=d.get('email'),
 4320            first_name=d.get('first_name'),
 4321            id=d.get('id'),
 4322            last_name=d.get('last_name'),
 4323        )
 4324
 4325
 4326class ActivityEntity:
 4327    __slots__ = [
 4328        'email',
 4329        'external_id',
 4330        'id',
 4331        'name',
 4332        'type',
 4333    ]
 4334
 4335    def __init__(
 4336        self,
 4337        email=None,
 4338        external_id=None,
 4339        id=None,
 4340        name=None,
 4341        type=None,
 4342    ):
 4343        self.email = email if email is not None else ''
 4344        '''
 4345         The email of the affected entity, if it has one (for example, if it is an account).
 4346        '''
 4347        self.external_id = external_id if external_id is not None else ''
 4348        '''
 4349         The external ID of the affected entity, if it has one (for example, if it is an account).
 4350        '''
 4351        self.id = id if id is not None else ''
 4352        '''
 4353         The unique identifier of the entity this activity affected.
 4354        '''
 4355        self.name = name if name is not None else ''
 4356        '''
 4357         A display name representing the affected entity.
 4358        '''
 4359        self.type = type if type is not None else ''
 4360        '''
 4361         The type of entity affected, one of the ActivityEntityType constants.
 4362        '''
 4363
 4364    def __repr__(self):
 4365        return '<sdm.ActivityEntity ' + \
 4366            'email: ' + repr(self.email) + ' ' +\
 4367            'external_id: ' + repr(self.external_id) + ' ' +\
 4368            'id: ' + repr(self.id) + ' ' +\
 4369            'name: ' + repr(self.name) + ' ' +\
 4370            'type: ' + repr(self.type) + ' ' +\
 4371            '>'
 4372
 4373    def to_dict(self):
 4374        return {
 4375            'email': self.email,
 4376            'external_id': self.external_id,
 4377            'id': self.id,
 4378            'name': self.name,
 4379            'type': self.type,
 4380        }
 4381
 4382    @classmethod
 4383    def from_dict(cls, d):
 4384        return cls(
 4385            email=d.get('email'),
 4386            external_id=d.get('external_id'),
 4387            id=d.get('id'),
 4388            name=d.get('name'),
 4389            type=d.get('type'),
 4390        )
 4391
 4392
 4393class ActivityGetResponse:
 4394    '''
 4395         ActivityGetResponse returns a requested Activity.
 4396    '''
 4397    __slots__ = [
 4398        'activity',
 4399        'meta',
 4400        'rate_limit',
 4401    ]
 4402
 4403    def __init__(
 4404        self,
 4405        activity=None,
 4406        meta=None,
 4407        rate_limit=None,
 4408    ):
 4409        self.activity = activity if activity is not None else None
 4410        '''
 4411         The requested Activity.
 4412        '''
 4413        self.meta = meta if meta is not None else None
 4414        '''
 4415         Reserved for future use.
 4416        '''
 4417        self.rate_limit = rate_limit if rate_limit is not None else None
 4418        '''
 4419         Rate limit information.
 4420        '''
 4421
 4422    def __repr__(self):
 4423        return '<sdm.ActivityGetResponse ' + \
 4424            'activity: ' + repr(self.activity) + ' ' +\
 4425            'meta: ' + repr(self.meta) + ' ' +\
 4426            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 4427            '>'
 4428
 4429    def to_dict(self):
 4430        return {
 4431            'activity': self.activity,
 4432            'meta': self.meta,
 4433            'rate_limit': self.rate_limit,
 4434        }
 4435
 4436    @classmethod
 4437    def from_dict(cls, d):
 4438        return cls(
 4439            activity=d.get('activity'),
 4440            meta=d.get('meta'),
 4441            rate_limit=d.get('rate_limit'),
 4442        )
 4443
 4444
 4445class Aerospike:
 4446    __slots__ = [
 4447        'bind_interface',
 4448        'egress_filter',
 4449        'healthy',
 4450        'hostname',
 4451        'id',
 4452        'name',
 4453        'password',
 4454        'port',
 4455        'port_override',
 4456        'proxy_cluster_id',
 4457        'secret_store_id',
 4458        'subdomain',
 4459        'tags',
 4460        'use_services_alternate',
 4461        'username',
 4462    ]
 4463
 4464    def __init__(
 4465        self,
 4466        bind_interface=None,
 4467        egress_filter=None,
 4468        healthy=None,
 4469        hostname=None,
 4470        id=None,
 4471        name=None,
 4472        password=None,
 4473        port=None,
 4474        port_override=None,
 4475        proxy_cluster_id=None,
 4476        secret_store_id=None,
 4477        subdomain=None,
 4478        tags=None,
 4479        use_services_alternate=None,
 4480        username=None,
 4481    ):
 4482        self.bind_interface = bind_interface if bind_interface is not None else ''
 4483        '''
 4484         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 4485        '''
 4486        self.egress_filter = egress_filter if egress_filter is not None else ''
 4487        '''
 4488         A filter applied to the routing logic to pin datasource to nodes.
 4489        '''
 4490        self.healthy = healthy if healthy is not None else False
 4491        '''
 4492         True if the datasource is reachable and the credentials are valid.
 4493        '''
 4494        self.hostname = hostname if hostname is not None else ''
 4495        '''
 4496         The host to dial to initiate a connection from the egress node to this resource.
 4497        '''
 4498        self.id = id if id is not None else ''
 4499        '''
 4500         Unique identifier of the Resource.
 4501        '''
 4502        self.name = name if name is not None else ''
 4503        '''
 4504         Unique human-readable name of the Resource.
 4505        '''
 4506        self.password = password if password is not None else ''
 4507        '''
 4508         The password to authenticate with.
 4509        '''
 4510        self.port = port if port is not None else 0
 4511        '''
 4512         The port to dial to initiate a connection from the egress node to this resource.
 4513        '''
 4514        self.port_override = port_override if port_override is not None else 0
 4515        '''
 4516         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 4517        '''
 4518        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4519        '''
 4520         ID of the proxy cluster for this resource, if any.
 4521        '''
 4522        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4523        '''
 4524         ID of the secret store containing credentials for this resource, if any.
 4525        '''
 4526        self.subdomain = subdomain if subdomain is not None else ''
 4527        '''
 4528         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 4529        '''
 4530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4531        '''
 4532         Tags is a map of key, value pairs.
 4533        '''
 4534        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
 4535        '''
 4536         If true, uses UseServicesAlternates directive for Aerospike connection
 4537        '''
 4538        self.username = username if username is not None else ''
 4539        '''
 4540         The username to authenticate with.
 4541        '''
 4542
 4543    def __repr__(self):
 4544        return '<sdm.Aerospike ' + \
 4545            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4546            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4547            'healthy: ' + repr(self.healthy) + ' ' +\
 4548            'hostname: ' + repr(self.hostname) + ' ' +\
 4549            'id: ' + repr(self.id) + ' ' +\
 4550            'name: ' + repr(self.name) + ' ' +\
 4551            'password: ' + repr(self.password) + ' ' +\
 4552            'port: ' + repr(self.port) + ' ' +\
 4553            'port_override: ' + repr(self.port_override) + ' ' +\
 4554            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4555            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4556            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4557            'tags: ' + repr(self.tags) + ' ' +\
 4558            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
 4559            'username: ' + repr(self.username) + ' ' +\
 4560            '>'
 4561
 4562    def to_dict(self):
 4563        return {
 4564            'bind_interface': self.bind_interface,
 4565            'egress_filter': self.egress_filter,
 4566            'healthy': self.healthy,
 4567            'hostname': self.hostname,
 4568            'id': self.id,
 4569            'name': self.name,
 4570            'password': self.password,
 4571            'port': self.port,
 4572            'port_override': self.port_override,
 4573            'proxy_cluster_id': self.proxy_cluster_id,
 4574            'secret_store_id': self.secret_store_id,
 4575            'subdomain': self.subdomain,
 4576            'tags': self.tags,
 4577            'use_services_alternate': self.use_services_alternate,
 4578            'username': self.username,
 4579        }
 4580
 4581    @classmethod
 4582    def from_dict(cls, d):
 4583        return cls(
 4584            bind_interface=d.get('bind_interface'),
 4585            egress_filter=d.get('egress_filter'),
 4586            healthy=d.get('healthy'),
 4587            hostname=d.get('hostname'),
 4588            id=d.get('id'),
 4589            name=d.get('name'),
 4590            password=d.get('password'),
 4591            port=d.get('port'),
 4592            port_override=d.get('port_override'),
 4593            proxy_cluster_id=d.get('proxy_cluster_id'),
 4594            secret_store_id=d.get('secret_store_id'),
 4595            subdomain=d.get('subdomain'),
 4596            tags=d.get('tags'),
 4597            use_services_alternate=d.get('use_services_alternate'),
 4598            username=d.get('username'),
 4599        )
 4600
 4601
 4602class AmazonEKS:
 4603    __slots__ = [
 4604        'access_key',
 4605        'allow_resource_role_bypass',
 4606        'bind_interface',
 4607        'certificate_authority',
 4608        'cluster_name',
 4609        'discovery_enabled',
 4610        'discovery_username',
 4611        'egress_filter',
 4612        'endpoint',
 4613        'healthcheck_namespace',
 4614        'healthy',
 4615        'id',
 4616        'identity_alias_healthcheck_username',
 4617        'identity_set_id',
 4618        'name',
 4619        'port_override',
 4620        'proxy_cluster_id',
 4621        'region',
 4622        'role_arn',
 4623        'role_external_id',
 4624        'secret_access_key',
 4625        'secret_store_id',
 4626        'subdomain',
 4627        'tags',
 4628    ]
 4629
 4630    def __init__(
 4631        self,
 4632        access_key=None,
 4633        allow_resource_role_bypass=None,
 4634        bind_interface=None,
 4635        certificate_authority=None,
 4636        cluster_name=None,
 4637        discovery_enabled=None,
 4638        discovery_username=None,
 4639        egress_filter=None,
 4640        endpoint=None,
 4641        healthcheck_namespace=None,
 4642        healthy=None,
 4643        id=None,
 4644        identity_alias_healthcheck_username=None,
 4645        identity_set_id=None,
 4646        name=None,
 4647        port_override=None,
 4648        proxy_cluster_id=None,
 4649        region=None,
 4650        role_arn=None,
 4651        role_external_id=None,
 4652        secret_access_key=None,
 4653        secret_store_id=None,
 4654        subdomain=None,
 4655        tags=None,
 4656    ):
 4657        self.access_key = access_key if access_key is not None else ''
 4658        '''
 4659         The Access Key ID to use to authenticate.
 4660        '''
 4661        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4662        '''
 4663         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4664         when a resource role is not provided.
 4665        '''
 4666        self.bind_interface = bind_interface if bind_interface is not None else ''
 4667        '''
 4668         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 4669        '''
 4670        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4671        '''
 4672         The CA to authenticate TLS connections with.
 4673        '''
 4674        self.cluster_name = cluster_name if cluster_name is not None else ''
 4675        '''
 4676         The name of the cluster to connect to.
 4677        '''
 4678        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4679        '''
 4680         If true, configures discovery of a cluster to be run from a node.
 4681        '''
 4682        self.discovery_username = discovery_username if discovery_username is not None else ''
 4683        '''
 4684         If a cluster is configured for user impersonation, this is the user to impersonate when
 4685         running discovery.
 4686        '''
 4687        self.egress_filter = egress_filter if egress_filter is not None else ''
 4688        '''
 4689         A filter applied to the routing logic to pin datasource to nodes.
 4690        '''
 4691        self.endpoint = endpoint if endpoint is not None else ''
 4692        '''
 4693         The endpoint to dial.
 4694        '''
 4695        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4696        '''
 4697         The path used to check the health of your connection.  Defaults to `default`.
 4698        '''
 4699        self.healthy = healthy if healthy is not None else False
 4700        '''
 4701         True if the datasource is reachable and the credentials are valid.
 4702        '''
 4703        self.id = id if id is not None else ''
 4704        '''
 4705         Unique identifier of the Resource.
 4706        '''
 4707        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4708        '''
 4709         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4710        '''
 4711        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4712        '''
 4713         The ID of the identity set to use for identity connections.
 4714        '''
 4715        self.name = name if name is not None else ''
 4716        '''
 4717         Unique human-readable name of the Resource.
 4718        '''
 4719        self.port_override = port_override if port_override is not None else 0
 4720        '''
 4721         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 4722        '''
 4723        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4724        '''
 4725         ID of the proxy cluster for this resource, if any.
 4726        '''
 4727        self.region = region if region is not None else ''
 4728        '''
 4729         The AWS region to connect to e.g. us-east-1.
 4730        '''
 4731        self.role_arn = role_arn if role_arn is not None else ''
 4732        '''
 4733         The role to assume after logging in.
 4734        '''
 4735        self.role_external_id = role_external_id if role_external_id is not None else ''
 4736        '''
 4737         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4738        '''
 4739        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 4740        '''
 4741         The Secret Access Key to use to authenticate.
 4742        '''
 4743        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4744        '''
 4745         ID of the secret store containing credentials for this resource, if any.
 4746        '''
 4747        self.subdomain = subdomain if subdomain is not None else ''
 4748        '''
 4749         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 4750        '''
 4751        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4752        '''
 4753         Tags is a map of key, value pairs.
 4754        '''
 4755
 4756    def __repr__(self):
 4757        return '<sdm.AmazonEKS ' + \
 4758            'access_key: ' + repr(self.access_key) + ' ' +\
 4759            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4760            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4761            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4762            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4763            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4764            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4765            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4766            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4767            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4768            'healthy: ' + repr(self.healthy) + ' ' +\
 4769            'id: ' + repr(self.id) + ' ' +\
 4770            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 4771            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 4772            'name: ' + repr(self.name) + ' ' +\
 4773            'port_override: ' + repr(self.port_override) + ' ' +\
 4774            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 4775            'region: ' + repr(self.region) + ' ' +\
 4776            'role_arn: ' + repr(self.role_arn) + ' ' +\
 4777            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 4778            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 4779            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 4780            'subdomain: ' + repr(self.subdomain) + ' ' +\
 4781            'tags: ' + repr(self.tags) + ' ' +\
 4782            '>'
 4783
 4784    def to_dict(self):
 4785        return {
 4786            'access_key': self.access_key,
 4787            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 4788            'bind_interface': self.bind_interface,
 4789            'certificate_authority': self.certificate_authority,
 4790            'cluster_name': self.cluster_name,
 4791            'discovery_enabled': self.discovery_enabled,
 4792            'discovery_username': self.discovery_username,
 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            'identity_alias_healthcheck_username':
 4799            self.identity_alias_healthcheck_username,
 4800            'identity_set_id': self.identity_set_id,
 4801            'name': self.name,
 4802            'port_override': self.port_override,
 4803            'proxy_cluster_id': self.proxy_cluster_id,
 4804            'region': self.region,
 4805            'role_arn': self.role_arn,
 4806            'role_external_id': self.role_external_id,
 4807            'secret_access_key': self.secret_access_key,
 4808            'secret_store_id': self.secret_store_id,
 4809            'subdomain': self.subdomain,
 4810            'tags': self.tags,
 4811        }
 4812
 4813    @classmethod
 4814    def from_dict(cls, d):
 4815        return cls(
 4816            access_key=d.get('access_key'),
 4817            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 4818            bind_interface=d.get('bind_interface'),
 4819            certificate_authority=d.get('certificate_authority'),
 4820            cluster_name=d.get('cluster_name'),
 4821            discovery_enabled=d.get('discovery_enabled'),
 4822            discovery_username=d.get('discovery_username'),
 4823            egress_filter=d.get('egress_filter'),
 4824            endpoint=d.get('endpoint'),
 4825            healthcheck_namespace=d.get('healthcheck_namespace'),
 4826            healthy=d.get('healthy'),
 4827            id=d.get('id'),
 4828            identity_alias_healthcheck_username=d.get(
 4829                'identity_alias_healthcheck_username'),
 4830            identity_set_id=d.get('identity_set_id'),
 4831            name=d.get('name'),
 4832            port_override=d.get('port_override'),
 4833            proxy_cluster_id=d.get('proxy_cluster_id'),
 4834            region=d.get('region'),
 4835            role_arn=d.get('role_arn'),
 4836            role_external_id=d.get('role_external_id'),
 4837            secret_access_key=d.get('secret_access_key'),
 4838            secret_store_id=d.get('secret_store_id'),
 4839            subdomain=d.get('subdomain'),
 4840            tags=d.get('tags'),
 4841        )
 4842
 4843
 4844class AmazonEKSInstanceProfile:
 4845    __slots__ = [
 4846        'allow_resource_role_bypass',
 4847        'bind_interface',
 4848        'certificate_authority',
 4849        'cluster_name',
 4850        'discovery_enabled',
 4851        'discovery_username',
 4852        'egress_filter',
 4853        'endpoint',
 4854        'healthcheck_namespace',
 4855        'healthy',
 4856        'id',
 4857        'identity_alias_healthcheck_username',
 4858        'identity_set_id',
 4859        'name',
 4860        'port_override',
 4861        'proxy_cluster_id',
 4862        'region',
 4863        'role_arn',
 4864        'role_external_id',
 4865        'secret_store_id',
 4866        'subdomain',
 4867        'tags',
 4868    ]
 4869
 4870    def __init__(
 4871        self,
 4872        allow_resource_role_bypass=None,
 4873        bind_interface=None,
 4874        certificate_authority=None,
 4875        cluster_name=None,
 4876        discovery_enabled=None,
 4877        discovery_username=None,
 4878        egress_filter=None,
 4879        endpoint=None,
 4880        healthcheck_namespace=None,
 4881        healthy=None,
 4882        id=None,
 4883        identity_alias_healthcheck_username=None,
 4884        identity_set_id=None,
 4885        name=None,
 4886        port_override=None,
 4887        proxy_cluster_id=None,
 4888        region=None,
 4889        role_arn=None,
 4890        role_external_id=None,
 4891        secret_store_id=None,
 4892        subdomain=None,
 4893        tags=None,
 4894    ):
 4895        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
 4896        '''
 4897         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
 4898         when a resource role is not provided.
 4899        '''
 4900        self.bind_interface = bind_interface if bind_interface is not None else ''
 4901        '''
 4902         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 4903        '''
 4904        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 4905        '''
 4906         The CA to authenticate TLS connections with.
 4907        '''
 4908        self.cluster_name = cluster_name if cluster_name is not None else ''
 4909        '''
 4910         The name of the cluster to connect to.
 4911        '''
 4912        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
 4913        '''
 4914         If true, configures discovery of a cluster to be run from a node.
 4915        '''
 4916        self.discovery_username = discovery_username if discovery_username is not None else ''
 4917        '''
 4918         If a cluster is configured for user impersonation, this is the user to impersonate when
 4919         running discovery.
 4920        '''
 4921        self.egress_filter = egress_filter if egress_filter is not None else ''
 4922        '''
 4923         A filter applied to the routing logic to pin datasource to nodes.
 4924        '''
 4925        self.endpoint = endpoint if endpoint is not None else ''
 4926        '''
 4927         The endpoint to dial.
 4928        '''
 4929        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 4930        '''
 4931         The path used to check the health of your connection.  Defaults to `default`.
 4932        '''
 4933        self.healthy = healthy if healthy is not None else False
 4934        '''
 4935         True if the datasource is reachable and the credentials are valid.
 4936        '''
 4937        self.id = id if id is not None else ''
 4938        '''
 4939         Unique identifier of the Resource.
 4940        '''
 4941        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
 4942        '''
 4943         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
 4944        '''
 4945        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
 4946        '''
 4947         The ID of the identity set to use for identity connections.
 4948        '''
 4949        self.name = name if name is not None else ''
 4950        '''
 4951         Unique human-readable name of the Resource.
 4952        '''
 4953        self.port_override = port_override if port_override is not None else 0
 4954        '''
 4955         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 4956        '''
 4957        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 4958        '''
 4959         ID of the proxy cluster for this resource, if any.
 4960        '''
 4961        self.region = region if region is not None else ''
 4962        '''
 4963         The AWS region to connect to e.g. us-east-1.
 4964        '''
 4965        self.role_arn = role_arn if role_arn is not None else ''
 4966        '''
 4967         The role to assume after logging in.
 4968        '''
 4969        self.role_external_id = role_external_id if role_external_id is not None else ''
 4970        '''
 4971         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 4972        '''
 4973        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 4974        '''
 4975         ID of the secret store containing credentials for this resource, if any.
 4976        '''
 4977        self.subdomain = subdomain if subdomain is not None else ''
 4978        '''
 4979         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 4980        '''
 4981        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 4982        '''
 4983         Tags is a map of key, value pairs.
 4984        '''
 4985
 4986    def __repr__(self):
 4987        return '<sdm.AmazonEKSInstanceProfile ' + \
 4988            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
 4989            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 4990            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 4991            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 4992            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
 4993            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
 4994            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 4995            'endpoint: ' + repr(self.endpoint) + ' ' +\
 4996            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 4997            'healthy: ' + repr(self.healthy) + ' ' +\
 4998            'id: ' + repr(self.id) + ' ' +\
 4999            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
 5000            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
 5001            'name: ' + repr(self.name) + ' ' +\
 5002            'port_override: ' + repr(self.port_override) + ' ' +\
 5003            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5004            'region: ' + repr(self.region) + ' ' +\
 5005            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5006            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5007            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5008            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5009            'tags: ' + repr(self.tags) + ' ' +\
 5010            '>'
 5011
 5012    def to_dict(self):
 5013        return {
 5014            'allow_resource_role_bypass': self.allow_resource_role_bypass,
 5015            'bind_interface': self.bind_interface,
 5016            'certificate_authority': self.certificate_authority,
 5017            'cluster_name': self.cluster_name,
 5018            'discovery_enabled': self.discovery_enabled,
 5019            'discovery_username': self.discovery_username,
 5020            'egress_filter': self.egress_filter,
 5021            'endpoint': self.endpoint,
 5022            'healthcheck_namespace': self.healthcheck_namespace,
 5023            'healthy': self.healthy,
 5024            'id': self.id,
 5025            'identity_alias_healthcheck_username':
 5026            self.identity_alias_healthcheck_username,
 5027            'identity_set_id': self.identity_set_id,
 5028            'name': self.name,
 5029            'port_override': self.port_override,
 5030            'proxy_cluster_id': self.proxy_cluster_id,
 5031            'region': self.region,
 5032            'role_arn': self.role_arn,
 5033            'role_external_id': self.role_external_id,
 5034            'secret_store_id': self.secret_store_id,
 5035            'subdomain': self.subdomain,
 5036            'tags': self.tags,
 5037        }
 5038
 5039    @classmethod
 5040    def from_dict(cls, d):
 5041        return cls(
 5042            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
 5043            bind_interface=d.get('bind_interface'),
 5044            certificate_authority=d.get('certificate_authority'),
 5045            cluster_name=d.get('cluster_name'),
 5046            discovery_enabled=d.get('discovery_enabled'),
 5047            discovery_username=d.get('discovery_username'),
 5048            egress_filter=d.get('egress_filter'),
 5049            endpoint=d.get('endpoint'),
 5050            healthcheck_namespace=d.get('healthcheck_namespace'),
 5051            healthy=d.get('healthy'),
 5052            id=d.get('id'),
 5053            identity_alias_healthcheck_username=d.get(
 5054                'identity_alias_healthcheck_username'),
 5055            identity_set_id=d.get('identity_set_id'),
 5056            name=d.get('name'),
 5057            port_override=d.get('port_override'),
 5058            proxy_cluster_id=d.get('proxy_cluster_id'),
 5059            region=d.get('region'),
 5060            role_arn=d.get('role_arn'),
 5061            role_external_id=d.get('role_external_id'),
 5062            secret_store_id=d.get('secret_store_id'),
 5063            subdomain=d.get('subdomain'),
 5064            tags=d.get('tags'),
 5065        )
 5066
 5067
 5068class AmazonEKSInstanceProfileUserImpersonation:
 5069    '''
 5070    AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
 5071    '''
 5072    __slots__ = [
 5073        'bind_interface',
 5074        'certificate_authority',
 5075        'cluster_name',
 5076        'egress_filter',
 5077        'endpoint',
 5078        'healthcheck_namespace',
 5079        'healthy',
 5080        'id',
 5081        'name',
 5082        'port_override',
 5083        'proxy_cluster_id',
 5084        'region',
 5085        'role_arn',
 5086        'role_external_id',
 5087        'secret_store_id',
 5088        'subdomain',
 5089        'tags',
 5090    ]
 5091
 5092    def __init__(
 5093        self,
 5094        bind_interface=None,
 5095        certificate_authority=None,
 5096        cluster_name=None,
 5097        egress_filter=None,
 5098        endpoint=None,
 5099        healthcheck_namespace=None,
 5100        healthy=None,
 5101        id=None,
 5102        name=None,
 5103        port_override=None,
 5104        proxy_cluster_id=None,
 5105        region=None,
 5106        role_arn=None,
 5107        role_external_id=None,
 5108        secret_store_id=None,
 5109        subdomain=None,
 5110        tags=None,
 5111    ):
 5112        self.bind_interface = bind_interface if bind_interface is not None else ''
 5113        '''
 5114         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5115        '''
 5116        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 5117        '''
 5118         The CA to authenticate TLS connections with.
 5119        '''
 5120        self.cluster_name = cluster_name if cluster_name is not None else ''
 5121        '''
 5122         The name of the cluster to connect to.
 5123        '''
 5124        self.egress_filter = egress_filter if egress_filter is not None else ''
 5125        '''
 5126         A filter applied to the routing logic to pin datasource to nodes.
 5127        '''
 5128        self.endpoint = endpoint if endpoint is not None else ''
 5129        '''
 5130         The endpoint to dial.
 5131        '''
 5132        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 5133        '''
 5134         The path used to check the health of your connection.  Defaults to `default`.
 5135        '''
 5136        self.healthy = healthy if healthy is not None else False
 5137        '''
 5138         True if the datasource is reachable and the credentials are valid.
 5139        '''
 5140        self.id = id if id is not None else ''
 5141        '''
 5142         Unique identifier of the Resource.
 5143        '''
 5144        self.name = name if name is not None else ''
 5145        '''
 5146         Unique human-readable name of the Resource.
 5147        '''
 5148        self.port_override = port_override if port_override is not None else 0
 5149        '''
 5150         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5151        '''
 5152        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5153        '''
 5154         ID of the proxy cluster for this resource, if any.
 5155        '''
 5156        self.region = region if region is not None else ''
 5157        '''
 5158         The AWS region to connect to e.g. us-east-1.
 5159        '''
 5160        self.role_arn = role_arn if role_arn is not None else ''
 5161        '''
 5162         The role to assume after logging in.
 5163        '''
 5164        self.role_external_id = role_external_id if role_external_id is not None else ''
 5165        '''
 5166         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5167        '''
 5168        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5169        '''
 5170         ID of the secret store containing credentials for this resource, if any.
 5171        '''
 5172        self.subdomain = subdomain if subdomain is not None else ''
 5173        '''
 5174         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5175        '''
 5176        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5177        '''
 5178         Tags is a map of key, value pairs.
 5179        '''
 5180
 5181    def __repr__(self):
 5182        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
 5183            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5184            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 5185            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 5186            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5187            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5188            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 5189            'healthy: ' + repr(self.healthy) + ' ' +\
 5190            'id: ' + repr(self.id) + ' ' +\
 5191            'name: ' + repr(self.name) + ' ' +\
 5192            'port_override: ' + repr(self.port_override) + ' ' +\
 5193            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5194            'region: ' + repr(self.region) + ' ' +\
 5195            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5196            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5197            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5198            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5199            'tags: ' + repr(self.tags) + ' ' +\
 5200            '>'
 5201
 5202    def to_dict(self):
 5203        return {
 5204            'bind_interface': self.bind_interface,
 5205            'certificate_authority': self.certificate_authority,
 5206            'cluster_name': self.cluster_name,
 5207            'egress_filter': self.egress_filter,
 5208            'endpoint': self.endpoint,
 5209            'healthcheck_namespace': self.healthcheck_namespace,
 5210            'healthy': self.healthy,
 5211            'id': self.id,
 5212            'name': self.name,
 5213            'port_override': self.port_override,
 5214            'proxy_cluster_id': self.proxy_cluster_id,
 5215            'region': self.region,
 5216            'role_arn': self.role_arn,
 5217            'role_external_id': self.role_external_id,
 5218            'secret_store_id': self.secret_store_id,
 5219            'subdomain': self.subdomain,
 5220            'tags': self.tags,
 5221        }
 5222
 5223    @classmethod
 5224    def from_dict(cls, d):
 5225        return cls(
 5226            bind_interface=d.get('bind_interface'),
 5227            certificate_authority=d.get('certificate_authority'),
 5228            cluster_name=d.get('cluster_name'),
 5229            egress_filter=d.get('egress_filter'),
 5230            endpoint=d.get('endpoint'),
 5231            healthcheck_namespace=d.get('healthcheck_namespace'),
 5232            healthy=d.get('healthy'),
 5233            id=d.get('id'),
 5234            name=d.get('name'),
 5235            port_override=d.get('port_override'),
 5236            proxy_cluster_id=d.get('proxy_cluster_id'),
 5237            region=d.get('region'),
 5238            role_arn=d.get('role_arn'),
 5239            role_external_id=d.get('role_external_id'),
 5240            secret_store_id=d.get('secret_store_id'),
 5241            subdomain=d.get('subdomain'),
 5242            tags=d.get('tags'),
 5243        )
 5244
 5245
 5246class AmazonEKSUserImpersonation:
 5247    '''
 5248    AmazonEKSUserImpersonation is deprecated, see docs for more info.
 5249    '''
 5250    __slots__ = [
 5251        'access_key',
 5252        'bind_interface',
 5253        'certificate_authority',
 5254        'cluster_name',
 5255        'egress_filter',
 5256        'endpoint',
 5257        'healthcheck_namespace',
 5258        'healthy',
 5259        'id',
 5260        'name',
 5261        'port_override',
 5262        'proxy_cluster_id',
 5263        'region',
 5264        'role_arn',
 5265        'role_external_id',
 5266        'secret_access_key',
 5267        'secret_store_id',
 5268        'subdomain',
 5269        'tags',
 5270    ]
 5271
 5272    def __init__(
 5273        self,
 5274        access_key=None,
 5275        bind_interface=None,
 5276        certificate_authority=None,
 5277        cluster_name=None,
 5278        egress_filter=None,
 5279        endpoint=None,
 5280        healthcheck_namespace=None,
 5281        healthy=None,
 5282        id=None,
 5283        name=None,
 5284        port_override=None,
 5285        proxy_cluster_id=None,
 5286        region=None,
 5287        role_arn=None,
 5288        role_external_id=None,
 5289        secret_access_key=None,
 5290        secret_store_id=None,
 5291        subdomain=None,
 5292        tags=None,
 5293    ):
 5294        self.access_key = access_key if access_key is not None else ''
 5295        '''
 5296         The Access Key ID to use to authenticate.
 5297        '''
 5298        self.bind_interface = bind_interface if bind_interface is not None else ''
 5299        '''
 5300         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5301        '''
 5302        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
 5303        '''
 5304         The CA to authenticate TLS connections with.
 5305        '''
 5306        self.cluster_name = cluster_name if cluster_name is not None else ''
 5307        '''
 5308         The name of the cluster to connect to.
 5309        '''
 5310        self.egress_filter = egress_filter if egress_filter is not None else ''
 5311        '''
 5312         A filter applied to the routing logic to pin datasource to nodes.
 5313        '''
 5314        self.endpoint = endpoint if endpoint is not None else ''
 5315        '''
 5316         The endpoint to dial.
 5317        '''
 5318        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
 5319        '''
 5320         The path used to check the health of your connection.  Defaults to `default`.
 5321        '''
 5322        self.healthy = healthy if healthy is not None else False
 5323        '''
 5324         True if the datasource is reachable and the credentials are valid.
 5325        '''
 5326        self.id = id if id is not None else ''
 5327        '''
 5328         Unique identifier of the Resource.
 5329        '''
 5330        self.name = name if name is not None else ''
 5331        '''
 5332         Unique human-readable name of the Resource.
 5333        '''
 5334        self.port_override = port_override if port_override is not None else 0
 5335        '''
 5336         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5337        '''
 5338        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5339        '''
 5340         ID of the proxy cluster for this resource, if any.
 5341        '''
 5342        self.region = region if region is not None else ''
 5343        '''
 5344         The AWS region to connect to e.g. us-east-1.
 5345        '''
 5346        self.role_arn = role_arn if role_arn is not None else ''
 5347        '''
 5348         The role to assume after logging in.
 5349        '''
 5350        self.role_external_id = role_external_id if role_external_id is not None else ''
 5351        '''
 5352         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5353        '''
 5354        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5355        '''
 5356         The Secret Access Key to use to authenticate.
 5357        '''
 5358        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5359        '''
 5360         ID of the secret store containing credentials for this resource, if any.
 5361        '''
 5362        self.subdomain = subdomain if subdomain is not None else ''
 5363        '''
 5364         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5365        '''
 5366        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5367        '''
 5368         Tags is a map of key, value pairs.
 5369        '''
 5370
 5371    def __repr__(self):
 5372        return '<sdm.AmazonEKSUserImpersonation ' + \
 5373            'access_key: ' + repr(self.access_key) + ' ' +\
 5374            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5375            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
 5376            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
 5377            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5378            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5379            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
 5380            'healthy: ' + repr(self.healthy) + ' ' +\
 5381            'id: ' + repr(self.id) + ' ' +\
 5382            'name: ' + repr(self.name) + ' ' +\
 5383            'port_override: ' + repr(self.port_override) + ' ' +\
 5384            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5385            'region: ' + repr(self.region) + ' ' +\
 5386            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5387            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5388            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5389            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5390            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5391            'tags: ' + repr(self.tags) + ' ' +\
 5392            '>'
 5393
 5394    def to_dict(self):
 5395        return {
 5396            'access_key': self.access_key,
 5397            'bind_interface': self.bind_interface,
 5398            'certificate_authority': self.certificate_authority,
 5399            'cluster_name': self.cluster_name,
 5400            'egress_filter': self.egress_filter,
 5401            'endpoint': self.endpoint,
 5402            'healthcheck_namespace': self.healthcheck_namespace,
 5403            'healthy': self.healthy,
 5404            'id': self.id,
 5405            'name': self.name,
 5406            'port_override': self.port_override,
 5407            'proxy_cluster_id': self.proxy_cluster_id,
 5408            'region': self.region,
 5409            'role_arn': self.role_arn,
 5410            'role_external_id': self.role_external_id,
 5411            'secret_access_key': self.secret_access_key,
 5412            'secret_store_id': self.secret_store_id,
 5413            'subdomain': self.subdomain,
 5414            'tags': self.tags,
 5415        }
 5416
 5417    @classmethod
 5418    def from_dict(cls, d):
 5419        return cls(
 5420            access_key=d.get('access_key'),
 5421            bind_interface=d.get('bind_interface'),
 5422            certificate_authority=d.get('certificate_authority'),
 5423            cluster_name=d.get('cluster_name'),
 5424            egress_filter=d.get('egress_filter'),
 5425            endpoint=d.get('endpoint'),
 5426            healthcheck_namespace=d.get('healthcheck_namespace'),
 5427            healthy=d.get('healthy'),
 5428            id=d.get('id'),
 5429            name=d.get('name'),
 5430            port_override=d.get('port_override'),
 5431            proxy_cluster_id=d.get('proxy_cluster_id'),
 5432            region=d.get('region'),
 5433            role_arn=d.get('role_arn'),
 5434            role_external_id=d.get('role_external_id'),
 5435            secret_access_key=d.get('secret_access_key'),
 5436            secret_store_id=d.get('secret_store_id'),
 5437            subdomain=d.get('subdomain'),
 5438            tags=d.get('tags'),
 5439        )
 5440
 5441
 5442class AmazonES:
 5443    __slots__ = [
 5444        'access_key',
 5445        'bind_interface',
 5446        'egress_filter',
 5447        'endpoint',
 5448        'healthy',
 5449        'id',
 5450        'name',
 5451        'port_override',
 5452        'proxy_cluster_id',
 5453        'region',
 5454        'role_arn',
 5455        'role_external_id',
 5456        'secret_access_key',
 5457        'secret_store_id',
 5458        'subdomain',
 5459        'tags',
 5460    ]
 5461
 5462    def __init__(
 5463        self,
 5464        access_key=None,
 5465        bind_interface=None,
 5466        egress_filter=None,
 5467        endpoint=None,
 5468        healthy=None,
 5469        id=None,
 5470        name=None,
 5471        port_override=None,
 5472        proxy_cluster_id=None,
 5473        region=None,
 5474        role_arn=None,
 5475        role_external_id=None,
 5476        secret_access_key=None,
 5477        secret_store_id=None,
 5478        subdomain=None,
 5479        tags=None,
 5480    ):
 5481        self.access_key = access_key if access_key is not None else ''
 5482        '''
 5483         The Access Key ID to use to authenticate.
 5484        '''
 5485        self.bind_interface = bind_interface if bind_interface is not None else ''
 5486        '''
 5487         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5488        '''
 5489        self.egress_filter = egress_filter if egress_filter is not None else ''
 5490        '''
 5491         A filter applied to the routing logic to pin datasource to nodes.
 5492        '''
 5493        self.endpoint = endpoint if endpoint is not None else ''
 5494        '''
 5495         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5496        '''
 5497        self.healthy = healthy if healthy is not None else False
 5498        '''
 5499         True if the datasource is reachable and the credentials are valid.
 5500        '''
 5501        self.id = id if id is not None else ''
 5502        '''
 5503         Unique identifier of the Resource.
 5504        '''
 5505        self.name = name if name is not None else ''
 5506        '''
 5507         Unique human-readable name of the Resource.
 5508        '''
 5509        self.port_override = port_override if port_override is not None else 0
 5510        '''
 5511         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5512        '''
 5513        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5514        '''
 5515         ID of the proxy cluster for this resource, if any.
 5516        '''
 5517        self.region = region if region is not None else ''
 5518        '''
 5519         The AWS region to connect to e.g. us-east-1.
 5520        '''
 5521        self.role_arn = role_arn if role_arn is not None else ''
 5522        '''
 5523         The role to assume after logging in.
 5524        '''
 5525        self.role_external_id = role_external_id if role_external_id is not None else ''
 5526        '''
 5527         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5528        '''
 5529        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 5530        '''
 5531         The Secret Access Key to use to authenticate.
 5532        '''
 5533        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5534        '''
 5535         ID of the secret store containing credentials for this resource, if any.
 5536        '''
 5537        self.subdomain = subdomain if subdomain is not None else ''
 5538        '''
 5539         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5540        '''
 5541        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5542        '''
 5543         Tags is a map of key, value pairs.
 5544        '''
 5545
 5546    def __repr__(self):
 5547        return '<sdm.AmazonES ' + \
 5548            'access_key: ' + repr(self.access_key) + ' ' +\
 5549            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5550            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5551            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5552            'healthy: ' + repr(self.healthy) + ' ' +\
 5553            'id: ' + repr(self.id) + ' ' +\
 5554            'name: ' + repr(self.name) + ' ' +\
 5555            'port_override: ' + repr(self.port_override) + ' ' +\
 5556            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5557            'region: ' + repr(self.region) + ' ' +\
 5558            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5559            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5560            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 5561            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5562            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5563            'tags: ' + repr(self.tags) + ' ' +\
 5564            '>'
 5565
 5566    def to_dict(self):
 5567        return {
 5568            'access_key': self.access_key,
 5569            'bind_interface': self.bind_interface,
 5570            'egress_filter': self.egress_filter,
 5571            'endpoint': self.endpoint,
 5572            'healthy': self.healthy,
 5573            'id': self.id,
 5574            'name': self.name,
 5575            'port_override': self.port_override,
 5576            'proxy_cluster_id': self.proxy_cluster_id,
 5577            'region': self.region,
 5578            'role_arn': self.role_arn,
 5579            'role_external_id': self.role_external_id,
 5580            'secret_access_key': self.secret_access_key,
 5581            'secret_store_id': self.secret_store_id,
 5582            'subdomain': self.subdomain,
 5583            'tags': self.tags,
 5584        }
 5585
 5586    @classmethod
 5587    def from_dict(cls, d):
 5588        return cls(
 5589            access_key=d.get('access_key'),
 5590            bind_interface=d.get('bind_interface'),
 5591            egress_filter=d.get('egress_filter'),
 5592            endpoint=d.get('endpoint'),
 5593            healthy=d.get('healthy'),
 5594            id=d.get('id'),
 5595            name=d.get('name'),
 5596            port_override=d.get('port_override'),
 5597            proxy_cluster_id=d.get('proxy_cluster_id'),
 5598            region=d.get('region'),
 5599            role_arn=d.get('role_arn'),
 5600            role_external_id=d.get('role_external_id'),
 5601            secret_access_key=d.get('secret_access_key'),
 5602            secret_store_id=d.get('secret_store_id'),
 5603            subdomain=d.get('subdomain'),
 5604            tags=d.get('tags'),
 5605        )
 5606
 5607
 5608class AmazonESIAM:
 5609    __slots__ = [
 5610        'bind_interface',
 5611        'egress_filter',
 5612        'endpoint',
 5613        'healthy',
 5614        'id',
 5615        'name',
 5616        'port_override',
 5617        'proxy_cluster_id',
 5618        'region',
 5619        'role_arn',
 5620        'role_external_id',
 5621        'secret_store_id',
 5622        'subdomain',
 5623        'tags',
 5624        'tlsrequired',
 5625    ]
 5626
 5627    def __init__(
 5628        self,
 5629        bind_interface=None,
 5630        egress_filter=None,
 5631        endpoint=None,
 5632        healthy=None,
 5633        id=None,
 5634        name=None,
 5635        port_override=None,
 5636        proxy_cluster_id=None,
 5637        region=None,
 5638        role_arn=None,
 5639        role_external_id=None,
 5640        secret_store_id=None,
 5641        subdomain=None,
 5642        tags=None,
 5643        tlsrequired=None,
 5644    ):
 5645        self.bind_interface = bind_interface if bind_interface is not None else ''
 5646        '''
 5647         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5648        '''
 5649        self.egress_filter = egress_filter if egress_filter is not None else ''
 5650        '''
 5651         A filter applied to the routing logic to pin datasource to nodes.
 5652        '''
 5653        self.endpoint = endpoint if endpoint is not None else ''
 5654        '''
 5655         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
 5656        '''
 5657        self.healthy = healthy if healthy is not None else False
 5658        '''
 5659         True if the datasource is reachable and the credentials are valid.
 5660        '''
 5661        self.id = id if id is not None else ''
 5662        '''
 5663         Unique identifier of the Resource.
 5664        '''
 5665        self.name = name if name is not None else ''
 5666        '''
 5667         Unique human-readable name of the Resource.
 5668        '''
 5669        self.port_override = port_override if port_override is not None else 0
 5670        '''
 5671         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5672        '''
 5673        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5674        '''
 5675         ID of the proxy cluster for this resource, if any.
 5676        '''
 5677        self.region = region if region is not None else ''
 5678        '''
 5679         The AWS region to connect to.
 5680        '''
 5681        self.role_arn = role_arn if role_arn is not None else ''
 5682        '''
 5683         The role to assume after logging in.
 5684        '''
 5685        self.role_external_id = role_external_id if role_external_id is not None else ''
 5686        '''
 5687         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 5688        '''
 5689        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5690        '''
 5691         ID of the secret store containing credentials for this resource, if any.
 5692        '''
 5693        self.subdomain = subdomain if subdomain is not None else ''
 5694        '''
 5695         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5696        '''
 5697        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5698        '''
 5699         Tags is a map of key, value pairs.
 5700        '''
 5701        self.tlsrequired = tlsrequired if tlsrequired is not None else False
 5702        '''
 5703         Use TLS to connect to the OpenSearch server
 5704        '''
 5705
 5706    def __repr__(self):
 5707        return '<sdm.AmazonESIAM ' + \
 5708            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5709            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5710            'endpoint: ' + repr(self.endpoint) + ' ' +\
 5711            'healthy: ' + repr(self.healthy) + ' ' +\
 5712            'id: ' + repr(self.id) + ' ' +\
 5713            'name: ' + repr(self.name) + ' ' +\
 5714            'port_override: ' + repr(self.port_override) + ' ' +\
 5715            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5716            'region: ' + repr(self.region) + ' ' +\
 5717            'role_arn: ' + repr(self.role_arn) + ' ' +\
 5718            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 5719            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5720            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5721            'tags: ' + repr(self.tags) + ' ' +\
 5722            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
 5723            '>'
 5724
 5725    def to_dict(self):
 5726        return {
 5727            'bind_interface': self.bind_interface,
 5728            'egress_filter': self.egress_filter,
 5729            'endpoint': self.endpoint,
 5730            'healthy': self.healthy,
 5731            'id': self.id,
 5732            'name': self.name,
 5733            'port_override': self.port_override,
 5734            'proxy_cluster_id': self.proxy_cluster_id,
 5735            'region': self.region,
 5736            'role_arn': self.role_arn,
 5737            'role_external_id': self.role_external_id,
 5738            'secret_store_id': self.secret_store_id,
 5739            'subdomain': self.subdomain,
 5740            'tags': self.tags,
 5741            'tlsrequired': self.tlsrequired,
 5742        }
 5743
 5744    @classmethod
 5745    def from_dict(cls, d):
 5746        return cls(
 5747            bind_interface=d.get('bind_interface'),
 5748            egress_filter=d.get('egress_filter'),
 5749            endpoint=d.get('endpoint'),
 5750            healthy=d.get('healthy'),
 5751            id=d.get('id'),
 5752            name=d.get('name'),
 5753            port_override=d.get('port_override'),
 5754            proxy_cluster_id=d.get('proxy_cluster_id'),
 5755            region=d.get('region'),
 5756            role_arn=d.get('role_arn'),
 5757            role_external_id=d.get('role_external_id'),
 5758            secret_store_id=d.get('secret_store_id'),
 5759            subdomain=d.get('subdomain'),
 5760            tags=d.get('tags'),
 5761            tlsrequired=d.get('tlsrequired'),
 5762        )
 5763
 5764
 5765class AmazonMQAMQP091:
 5766    __slots__ = [
 5767        'bind_interface',
 5768        'egress_filter',
 5769        'healthy',
 5770        'hostname',
 5771        'id',
 5772        'name',
 5773        'password',
 5774        'port',
 5775        'port_override',
 5776        'proxy_cluster_id',
 5777        'secret_store_id',
 5778        'subdomain',
 5779        'tags',
 5780        'tls_required',
 5781        'username',
 5782    ]
 5783
 5784    def __init__(
 5785        self,
 5786        bind_interface=None,
 5787        egress_filter=None,
 5788        healthy=None,
 5789        hostname=None,
 5790        id=None,
 5791        name=None,
 5792        password=None,
 5793        port=None,
 5794        port_override=None,
 5795        proxy_cluster_id=None,
 5796        secret_store_id=None,
 5797        subdomain=None,
 5798        tags=None,
 5799        tls_required=None,
 5800        username=None,
 5801    ):
 5802        self.bind_interface = bind_interface if bind_interface is not None else ''
 5803        '''
 5804         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 5805        '''
 5806        self.egress_filter = egress_filter if egress_filter is not None else ''
 5807        '''
 5808         A filter applied to the routing logic to pin datasource to nodes.
 5809        '''
 5810        self.healthy = healthy if healthy is not None else False
 5811        '''
 5812         True if the datasource is reachable and the credentials are valid.
 5813        '''
 5814        self.hostname = hostname if hostname is not None else ''
 5815        '''
 5816         The host to dial to initiate a connection from the egress node to this resource.
 5817        '''
 5818        self.id = id if id is not None else ''
 5819        '''
 5820         Unique identifier of the Resource.
 5821        '''
 5822        self.name = name if name is not None else ''
 5823        '''
 5824         Unique human-readable name of the Resource.
 5825        '''
 5826        self.password = password if password is not None else ''
 5827        '''
 5828         The password to authenticate with.
 5829        '''
 5830        self.port = port if port is not None else 0
 5831        '''
 5832         The port to dial to initiate a connection from the egress node to this resource.
 5833        '''
 5834        self.port_override = port_override if port_override is not None else 0
 5835        '''
 5836         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 5837        '''
 5838        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 5839        '''
 5840         ID of the proxy cluster for this resource, if any.
 5841        '''
 5842        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 5843        '''
 5844         ID of the secret store containing credentials for this resource, if any.
 5845        '''
 5846        self.subdomain = subdomain if subdomain is not None else ''
 5847        '''
 5848         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 5849        '''
 5850        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 5851        '''
 5852         Tags is a map of key, value pairs.
 5853        '''
 5854        self.tls_required = tls_required if tls_required is not None else False
 5855        '''
 5856         If set, TLS must be used to connect to this resource.
 5857        '''
 5858        self.username = username if username is not None else ''
 5859        '''
 5860         The username to authenticate with.
 5861        '''
 5862
 5863    def __repr__(self):
 5864        return '<sdm.AmazonMQAMQP091 ' + \
 5865            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 5866            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 5867            'healthy: ' + repr(self.healthy) + ' ' +\
 5868            'hostname: ' + repr(self.hostname) + ' ' +\
 5869            'id: ' + repr(self.id) + ' ' +\
 5870            'name: ' + repr(self.name) + ' ' +\
 5871            'password: ' + repr(self.password) + ' ' +\
 5872            'port: ' + repr(self.port) + ' ' +\
 5873            'port_override: ' + repr(self.port_override) + ' ' +\
 5874            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 5875            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 5876            'subdomain: ' + repr(self.subdomain) + ' ' +\
 5877            'tags: ' + repr(self.tags) + ' ' +\
 5878            'tls_required: ' + repr(self.tls_required) + ' ' +\
 5879            'username: ' + repr(self.username) + ' ' +\
 5880            '>'
 5881
 5882    def to_dict(self):
 5883        return {
 5884            'bind_interface': self.bind_interface,
 5885            'egress_filter': self.egress_filter,
 5886            'healthy': self.healthy,
 5887            'hostname': self.hostname,
 5888            'id': self.id,
 5889            'name': self.name,
 5890            'password': self.password,
 5891            'port': self.port,
 5892            'port_override': self.port_override,
 5893            'proxy_cluster_id': self.proxy_cluster_id,
 5894            'secret_store_id': self.secret_store_id,
 5895            'subdomain': self.subdomain,
 5896            'tags': self.tags,
 5897            'tls_required': self.tls_required,
 5898            'username': self.username,
 5899        }
 5900
 5901    @classmethod
 5902    def from_dict(cls, d):
 5903        return cls(
 5904            bind_interface=d.get('bind_interface'),
 5905            egress_filter=d.get('egress_filter'),
 5906            healthy=d.get('healthy'),
 5907            hostname=d.get('hostname'),
 5908            id=d.get('id'),
 5909            name=d.get('name'),
 5910            password=d.get('password'),
 5911            port=d.get('port'),
 5912            port_override=d.get('port_override'),
 5913            proxy_cluster_id=d.get('proxy_cluster_id'),
 5914            secret_store_id=d.get('secret_store_id'),
 5915            subdomain=d.get('subdomain'),
 5916            tags=d.get('tags'),
 5917            tls_required=d.get('tls_required'),
 5918            username=d.get('username'),
 5919        )
 5920
 5921
 5922class ApprovalFlowApprover:
 5923    '''
 5924         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
 5925    '''
 5926    __slots__ = [
 5927        'account_id',
 5928        'group_id',
 5929        'reference',
 5930        'role_id',
 5931    ]
 5932
 5933    def __init__(
 5934        self,
 5935        account_id=None,
 5936        group_id=None,
 5937        reference=None,
 5938        role_id=None,
 5939    ):
 5940        self.account_id = account_id if account_id is not None else ''
 5941        '''
 5942         The approver account id.
 5943        '''
 5944        self.group_id = group_id if group_id is not None else ''
 5945        '''
 5946         The approver group id
 5947        '''
 5948        self.reference = reference if reference is not None else ''
 5949        '''
 5950         A reference to an approver. Must be one of ApproverReference constants.
 5951         If set, the account_id and role_id must be empty.
 5952        '''
 5953        self.role_id = role_id if role_id is not None else ''
 5954        '''
 5955         The approver role id
 5956        '''
 5957
 5958    def __repr__(self):
 5959        return '<sdm.ApprovalFlowApprover ' + \
 5960            'account_id: ' + repr(self.account_id) + ' ' +\
 5961            'group_id: ' + repr(self.group_id) + ' ' +\
 5962            'reference: ' + repr(self.reference) + ' ' +\
 5963            'role_id: ' + repr(self.role_id) + ' ' +\
 5964            '>'
 5965
 5966    def to_dict(self):
 5967        return {
 5968            'account_id': self.account_id,
 5969            'group_id': self.group_id,
 5970            'reference': self.reference,
 5971            'role_id': self.role_id,
 5972        }
 5973
 5974    @classmethod
 5975    def from_dict(cls, d):
 5976        return cls(
 5977            account_id=d.get('account_id'),
 5978            group_id=d.get('group_id'),
 5979            reference=d.get('reference'),
 5980            role_id=d.get('role_id'),
 5981        )
 5982
 5983
 5984class ApprovalFlowStep:
 5985    '''
 5986         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
 5987    '''
 5988    __slots__ = [
 5989        'approvers',
 5990        'quantifier',
 5991        'skip_after',
 5992    ]
 5993
 5994    def __init__(
 5995        self,
 5996        approvers=None,
 5997        quantifier=None,
 5998        skip_after=None,
 5999    ):
 6000        self.approvers = approvers if approvers is not None else []
 6001        '''
 6002         The approvers for this approval step
 6003        '''
 6004        self.quantifier = quantifier if quantifier is not None else ''
 6005        '''
 6006         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
 6007        '''
 6008        self.skip_after = skip_after if skip_after is not None else None
 6009        '''
 6010         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.
 6011        '''
 6012
 6013    def __repr__(self):
 6014        return '<sdm.ApprovalFlowStep ' + \
 6015            'approvers: ' + repr(self.approvers) + ' ' +\
 6016            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6017            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6018            '>'
 6019
 6020    def to_dict(self):
 6021        return {
 6022            'approvers': self.approvers,
 6023            'quantifier': self.quantifier,
 6024            'skip_after': self.skip_after,
 6025        }
 6026
 6027    @classmethod
 6028    def from_dict(cls, d):
 6029        return cls(
 6030            approvers=d.get('approvers'),
 6031            quantifier=d.get('quantifier'),
 6032            skip_after=d.get('skip_after'),
 6033        )
 6034
 6035
 6036class ApprovalWorkflow:
 6037    '''
 6038         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
 6039     approvers and be approved or denied.
 6040    '''
 6041    __slots__ = [
 6042        'approval_mode',
 6043        'approval_workflow_steps',
 6044        'description',
 6045        'id',
 6046        'name',
 6047    ]
 6048
 6049    def __init__(
 6050        self,
 6051        approval_mode=None,
 6052        approval_workflow_steps=None,
 6053        description=None,
 6054        id=None,
 6055        name=None,
 6056    ):
 6057        self.approval_mode = approval_mode if approval_mode is not None else ''
 6058        '''
 6059         Approval mode of the ApprovalWorkflow
 6060        '''
 6061        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
 6062        '''
 6063         The approval steps of this approval workflow
 6064        '''
 6065        self.description = description if description is not None else ''
 6066        '''
 6067         Optional description of the ApprovalWorkflow.
 6068        '''
 6069        self.id = id if id is not None else ''
 6070        '''
 6071         Unique identifier of the ApprovalWorkflow.
 6072        '''
 6073        self.name = name if name is not None else ''
 6074        '''
 6075         Unique human-readable name of the ApprovalWorkflow.
 6076        '''
 6077
 6078    def __repr__(self):
 6079        return '<sdm.ApprovalWorkflow ' + \
 6080            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
 6081            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
 6082            'description: ' + repr(self.description) + ' ' +\
 6083            'id: ' + repr(self.id) + ' ' +\
 6084            'name: ' + repr(self.name) + ' ' +\
 6085            '>'
 6086
 6087    def to_dict(self):
 6088        return {
 6089            'approval_mode': self.approval_mode,
 6090            'approval_workflow_steps': self.approval_workflow_steps,
 6091            'description': self.description,
 6092            'id': self.id,
 6093            'name': self.name,
 6094        }
 6095
 6096    @classmethod
 6097    def from_dict(cls, d):
 6098        return cls(
 6099            approval_mode=d.get('approval_mode'),
 6100            approval_workflow_steps=d.get('approval_workflow_steps'),
 6101            description=d.get('description'),
 6102            id=d.get('id'),
 6103            name=d.get('name'),
 6104        )
 6105
 6106
 6107class ApprovalWorkflowApprover:
 6108    '''
 6109         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
 6110    ApprovalWorkflowApprover is deprecated, see docs for more info.
 6111    '''
 6112    __slots__ = [
 6113        'account_id',
 6114        'approval_flow_id',
 6115        'approval_step_id',
 6116        'id',
 6117        'reference',
 6118        'role_id',
 6119    ]
 6120
 6121    def __init__(
 6122        self,
 6123        account_id=None,
 6124        approval_flow_id=None,
 6125        approval_step_id=None,
 6126        id=None,
 6127        reference=None,
 6128        role_id=None,
 6129    ):
 6130        self.account_id = account_id if account_id is not None else ''
 6131        '''
 6132         The approver account id.
 6133        '''
 6134        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6135        '''
 6136         The approval flow id specified the approval workflow that this approver belongs to
 6137        '''
 6138        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
 6139        '''
 6140         The approval step id specified the approval flow step that this approver belongs to
 6141        '''
 6142        self.id = id if id is not None else ''
 6143        '''
 6144         Unique identifier of the ApprovalWorkflowApprover.
 6145        '''
 6146        self.reference = reference if reference is not None else ''
 6147        '''
 6148         A reference to an approver. Will be one of ApproverReference constants.
 6149         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
 6150         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
 6151        '''
 6152        self.role_id = role_id if role_id is not None else ''
 6153        '''
 6154         The approver role id
 6155        '''
 6156
 6157    def __repr__(self):
 6158        return '<sdm.ApprovalWorkflowApprover ' + \
 6159            'account_id: ' + repr(self.account_id) + ' ' +\
 6160            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6161            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
 6162            'id: ' + repr(self.id) + ' ' +\
 6163            'reference: ' + repr(self.reference) + ' ' +\
 6164            'role_id: ' + repr(self.role_id) + ' ' +\
 6165            '>'
 6166
 6167    def to_dict(self):
 6168        return {
 6169            'account_id': self.account_id,
 6170            'approval_flow_id': self.approval_flow_id,
 6171            'approval_step_id': self.approval_step_id,
 6172            'id': self.id,
 6173            'reference': self.reference,
 6174            'role_id': self.role_id,
 6175        }
 6176
 6177    @classmethod
 6178    def from_dict(cls, d):
 6179        return cls(
 6180            account_id=d.get('account_id'),
 6181            approval_flow_id=d.get('approval_flow_id'),
 6182            approval_step_id=d.get('approval_step_id'),
 6183            id=d.get('id'),
 6184            reference=d.get('reference'),
 6185            role_id=d.get('role_id'),
 6186        )
 6187
 6188
 6189class ApprovalWorkflowApproverCreateResponse:
 6190    '''
 6191         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
 6192    '''
 6193    __slots__ = [
 6194        'approval_workflow_approver',
 6195        'rate_limit',
 6196    ]
 6197
 6198    def __init__(
 6199        self,
 6200        approval_workflow_approver=None,
 6201        rate_limit=None,
 6202    ):
 6203        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 6204        '''
 6205         The created approval workflow approver.
 6206        '''
 6207        self.rate_limit = rate_limit if rate_limit is not None else None
 6208        '''
 6209         Rate limit information.
 6210        '''
 6211
 6212    def __repr__(self):
 6213        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
 6214            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 6215            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6216            '>'
 6217
 6218    def to_dict(self):
 6219        return {
 6220            'approval_workflow_approver': self.approval_workflow_approver,
 6221            'rate_limit': self.rate_limit,
 6222        }
 6223
 6224    @classmethod
 6225    def from_dict(cls, d):
 6226        return cls(
 6227            approval_workflow_approver=d.get('approval_workflow_approver'),
 6228            rate_limit=d.get('rate_limit'),
 6229        )
 6230
 6231
 6232class ApprovalWorkflowApproverDeleteResponse:
 6233    '''
 6234         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
 6235    '''
 6236    __slots__ = [
 6237        'id',
 6238        'rate_limit',
 6239    ]
 6240
 6241    def __init__(
 6242        self,
 6243        id=None,
 6244        rate_limit=None,
 6245    ):
 6246        self.id = id if id is not None else ''
 6247        '''
 6248         The deleted approval workflow approver id.
 6249        '''
 6250        self.rate_limit = rate_limit if rate_limit is not None else None
 6251        '''
 6252         Rate limit information.
 6253        '''
 6254
 6255    def __repr__(self):
 6256        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
 6257            'id: ' + repr(self.id) + ' ' +\
 6258            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6259            '>'
 6260
 6261    def to_dict(self):
 6262        return {
 6263            'id': self.id,
 6264            'rate_limit': self.rate_limit,
 6265        }
 6266
 6267    @classmethod
 6268    def from_dict(cls, d):
 6269        return cls(
 6270            id=d.get('id'),
 6271            rate_limit=d.get('rate_limit'),
 6272        )
 6273
 6274
 6275class ApprovalWorkflowApproverGetResponse:
 6276    '''
 6277         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
 6278    '''
 6279    __slots__ = [
 6280        'approval_workflow_approver',
 6281        'meta',
 6282        'rate_limit',
 6283    ]
 6284
 6285    def __init__(
 6286        self,
 6287        approval_workflow_approver=None,
 6288        meta=None,
 6289        rate_limit=None,
 6290    ):
 6291        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 6292        '''
 6293         The requested ApprovalWorkflowApprover.
 6294        '''
 6295        self.meta = meta if meta is not None else None
 6296        '''
 6297         Reserved for future use.
 6298        '''
 6299        self.rate_limit = rate_limit if rate_limit is not None else None
 6300        '''
 6301         Rate limit information.
 6302        '''
 6303
 6304    def __repr__(self):
 6305        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
 6306            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 6307            'meta: ' + repr(self.meta) + ' ' +\
 6308            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6309            '>'
 6310
 6311    def to_dict(self):
 6312        return {
 6313            'approval_workflow_approver': self.approval_workflow_approver,
 6314            'meta': self.meta,
 6315            'rate_limit': self.rate_limit,
 6316        }
 6317
 6318    @classmethod
 6319    def from_dict(cls, d):
 6320        return cls(
 6321            approval_workflow_approver=d.get('approval_workflow_approver'),
 6322            meta=d.get('meta'),
 6323            rate_limit=d.get('rate_limit'),
 6324        )
 6325
 6326
 6327class ApprovalWorkflowApproverHistory:
 6328    '''
 6329         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
 6330     where every change (create or delete) to an ApprovalWorkflowApprover produces an
 6331     ApprovalWorkflowApproverHistory record.
 6332    '''
 6333    __slots__ = [
 6334        'activity_id',
 6335        'approval_workflow_approver',
 6336        'deleted_at',
 6337        'timestamp',
 6338    ]
 6339
 6340    def __init__(
 6341        self,
 6342        activity_id=None,
 6343        approval_workflow_approver=None,
 6344        deleted_at=None,
 6345        timestamp=None,
 6346    ):
 6347        self.activity_id = activity_id if activity_id is not None else ''
 6348        '''
 6349         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
 6350         May be empty for some system-initiated updates.
 6351        '''
 6352        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
 6353        '''
 6354         The complete ApprovalWorkflowApprover state at this time.
 6355        '''
 6356        self.deleted_at = deleted_at if deleted_at is not None else None
 6357        '''
 6358         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
 6359        '''
 6360        self.timestamp = timestamp if timestamp is not None else None
 6361        '''
 6362         The time at which the ApprovalWorkflowApprover state was recorded.
 6363        '''
 6364
 6365    def __repr__(self):
 6366        return '<sdm.ApprovalWorkflowApproverHistory ' + \
 6367            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6368            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
 6369            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6370            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6371            '>'
 6372
 6373    def to_dict(self):
 6374        return {
 6375            'activity_id': self.activity_id,
 6376            'approval_workflow_approver': self.approval_workflow_approver,
 6377            'deleted_at': self.deleted_at,
 6378            'timestamp': self.timestamp,
 6379        }
 6380
 6381    @classmethod
 6382    def from_dict(cls, d):
 6383        return cls(
 6384            activity_id=d.get('activity_id'),
 6385            approval_workflow_approver=d.get('approval_workflow_approver'),
 6386            deleted_at=d.get('deleted_at'),
 6387            timestamp=d.get('timestamp'),
 6388        )
 6389
 6390
 6391class ApprovalWorkflowApproverListResponse:
 6392    '''
 6393         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
 6394     the criteria of an ApprovalWorkflowApproverListRequest.
 6395    '''
 6396    __slots__ = [
 6397        'rate_limit',
 6398    ]
 6399
 6400    def __init__(
 6401        self,
 6402        rate_limit=None,
 6403    ):
 6404        self.rate_limit = rate_limit if rate_limit is not None else None
 6405        '''
 6406         Rate limit information.
 6407        '''
 6408
 6409    def __repr__(self):
 6410        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
 6411            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6412            '>'
 6413
 6414    def to_dict(self):
 6415        return {
 6416            'rate_limit': self.rate_limit,
 6417        }
 6418
 6419    @classmethod
 6420    def from_dict(cls, d):
 6421        return cls(rate_limit=d.get('rate_limit'), )
 6422
 6423
 6424class ApprovalWorkflowCreateResponse:
 6425    '''
 6426         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
 6427    '''
 6428    __slots__ = [
 6429        'approval_workflow',
 6430        'rate_limit',
 6431    ]
 6432
 6433    def __init__(
 6434        self,
 6435        approval_workflow=None,
 6436        rate_limit=None,
 6437    ):
 6438        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6439        '''
 6440         The created approval workflow.
 6441        '''
 6442        self.rate_limit = rate_limit if rate_limit is not None else None
 6443        '''
 6444         Rate limit information.
 6445        '''
 6446
 6447    def __repr__(self):
 6448        return '<sdm.ApprovalWorkflowCreateResponse ' + \
 6449            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6450            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6451            '>'
 6452
 6453    def to_dict(self):
 6454        return {
 6455            'approval_workflow': self.approval_workflow,
 6456            'rate_limit': self.rate_limit,
 6457        }
 6458
 6459    @classmethod
 6460    def from_dict(cls, d):
 6461        return cls(
 6462            approval_workflow=d.get('approval_workflow'),
 6463            rate_limit=d.get('rate_limit'),
 6464        )
 6465
 6466
 6467class ApprovalWorkflowDeleteResponse:
 6468    '''
 6469         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
 6470    '''
 6471    __slots__ = [
 6472        'id',
 6473        'rate_limit',
 6474    ]
 6475
 6476    def __init__(
 6477        self,
 6478        id=None,
 6479        rate_limit=None,
 6480    ):
 6481        self.id = id if id is not None else ''
 6482        '''
 6483         The deleted approval workflow id.
 6484        '''
 6485        self.rate_limit = rate_limit if rate_limit is not None else None
 6486        '''
 6487         Rate limit information.
 6488        '''
 6489
 6490    def __repr__(self):
 6491        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
 6492            'id: ' + repr(self.id) + ' ' +\
 6493            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6494            '>'
 6495
 6496    def to_dict(self):
 6497        return {
 6498            'id': self.id,
 6499            'rate_limit': self.rate_limit,
 6500        }
 6501
 6502    @classmethod
 6503    def from_dict(cls, d):
 6504        return cls(
 6505            id=d.get('id'),
 6506            rate_limit=d.get('rate_limit'),
 6507        )
 6508
 6509
 6510class ApprovalWorkflowGetResponse:
 6511    '''
 6512         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
 6513    '''
 6514    __slots__ = [
 6515        'approval_workflow',
 6516        'meta',
 6517        'rate_limit',
 6518    ]
 6519
 6520    def __init__(
 6521        self,
 6522        approval_workflow=None,
 6523        meta=None,
 6524        rate_limit=None,
 6525    ):
 6526        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6527        '''
 6528         The requested ApprovalWorkflow.
 6529        '''
 6530        self.meta = meta if meta is not None else None
 6531        '''
 6532         Reserved for future use.
 6533        '''
 6534        self.rate_limit = rate_limit if rate_limit is not None else None
 6535        '''
 6536         Rate limit information.
 6537        '''
 6538
 6539    def __repr__(self):
 6540        return '<sdm.ApprovalWorkflowGetResponse ' + \
 6541            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6542            'meta: ' + repr(self.meta) + ' ' +\
 6543            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6544            '>'
 6545
 6546    def to_dict(self):
 6547        return {
 6548            'approval_workflow': self.approval_workflow,
 6549            'meta': self.meta,
 6550            'rate_limit': self.rate_limit,
 6551        }
 6552
 6553    @classmethod
 6554    def from_dict(cls, d):
 6555        return cls(
 6556            approval_workflow=d.get('approval_workflow'),
 6557            meta=d.get('meta'),
 6558            rate_limit=d.get('rate_limit'),
 6559        )
 6560
 6561
 6562class ApprovalWorkflowHistory:
 6563    '''
 6564         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
 6565     where every change (create, update and delete) to an ApprovalWorkflow produces an
 6566     ApprovalWorkflowHistory record.
 6567    '''
 6568    __slots__ = [
 6569        'activity_id',
 6570        'approval_workflow',
 6571        'deleted_at',
 6572        'timestamp',
 6573    ]
 6574
 6575    def __init__(
 6576        self,
 6577        activity_id=None,
 6578        approval_workflow=None,
 6579        deleted_at=None,
 6580        timestamp=None,
 6581    ):
 6582        self.activity_id = activity_id if activity_id is not None else ''
 6583        '''
 6584         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
 6585         May be empty for some system-initiated updates.
 6586        '''
 6587        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6588        '''
 6589         The complete ApprovalWorkflow state at this time.
 6590        '''
 6591        self.deleted_at = deleted_at if deleted_at is not None else None
 6592        '''
 6593         If this ApprovalWorkflow was deleted, the time it was deleted.
 6594        '''
 6595        self.timestamp = timestamp if timestamp is not None else None
 6596        '''
 6597         The time at which the ApprovalWorkflow state was recorded.
 6598        '''
 6599
 6600    def __repr__(self):
 6601        return '<sdm.ApprovalWorkflowHistory ' + \
 6602            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6603            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6604            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6605            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6606            '>'
 6607
 6608    def to_dict(self):
 6609        return {
 6610            'activity_id': self.activity_id,
 6611            'approval_workflow': self.approval_workflow,
 6612            'deleted_at': self.deleted_at,
 6613            'timestamp': self.timestamp,
 6614        }
 6615
 6616    @classmethod
 6617    def from_dict(cls, d):
 6618        return cls(
 6619            activity_id=d.get('activity_id'),
 6620            approval_workflow=d.get('approval_workflow'),
 6621            deleted_at=d.get('deleted_at'),
 6622            timestamp=d.get('timestamp'),
 6623        )
 6624
 6625
 6626class ApprovalWorkflowListResponse:
 6627    '''
 6628         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
 6629     the criteria of an ApprovalWorkflowListRequest.
 6630    '''
 6631    __slots__ = [
 6632        'rate_limit',
 6633    ]
 6634
 6635    def __init__(
 6636        self,
 6637        rate_limit=None,
 6638    ):
 6639        self.rate_limit = rate_limit if rate_limit is not None else None
 6640        '''
 6641         Rate limit information.
 6642        '''
 6643
 6644    def __repr__(self):
 6645        return '<sdm.ApprovalWorkflowListResponse ' + \
 6646            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6647            '>'
 6648
 6649    def to_dict(self):
 6650        return {
 6651            'rate_limit': self.rate_limit,
 6652        }
 6653
 6654    @classmethod
 6655    def from_dict(cls, d):
 6656        return cls(rate_limit=d.get('rate_limit'), )
 6657
 6658
 6659class ApprovalWorkflowStep:
 6660    '''
 6661         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
 6662    ApprovalWorkflowStep is deprecated, see docs for more info.
 6663    '''
 6664    __slots__ = [
 6665        'approval_flow_id',
 6666        'id',
 6667        'quantifier',
 6668        'skip_after',
 6669        'step_order',
 6670    ]
 6671
 6672    def __init__(
 6673        self,
 6674        approval_flow_id=None,
 6675        id=None,
 6676        quantifier=None,
 6677        skip_after=None,
 6678        step_order=None,
 6679    ):
 6680        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
 6681        '''
 6682         The approval flow id specified the approval workflow that this step belongs to
 6683        '''
 6684        self.id = id if id is not None else ''
 6685        '''
 6686         Unique identifier of the ApprovalWorkflowStep.
 6687        '''
 6688        self.quantifier = quantifier if quantifier is not None else ''
 6689        '''
 6690         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
 6691        '''
 6692        self.skip_after = skip_after if skip_after is not None else None
 6693        '''
 6694         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
 6695        '''
 6696        self.step_order = step_order if step_order is not None else 0
 6697        '''
 6698         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
 6699        '''
 6700
 6701    def __repr__(self):
 6702        return '<sdm.ApprovalWorkflowStep ' + \
 6703            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
 6704            'id: ' + repr(self.id) + ' ' +\
 6705            'quantifier: ' + repr(self.quantifier) + ' ' +\
 6706            'skip_after: ' + repr(self.skip_after) + ' ' +\
 6707            'step_order: ' + repr(self.step_order) + ' ' +\
 6708            '>'
 6709
 6710    def to_dict(self):
 6711        return {
 6712            'approval_flow_id': self.approval_flow_id,
 6713            'id': self.id,
 6714            'quantifier': self.quantifier,
 6715            'skip_after': self.skip_after,
 6716            'step_order': self.step_order,
 6717        }
 6718
 6719    @classmethod
 6720    def from_dict(cls, d):
 6721        return cls(
 6722            approval_flow_id=d.get('approval_flow_id'),
 6723            id=d.get('id'),
 6724            quantifier=d.get('quantifier'),
 6725            skip_after=d.get('skip_after'),
 6726            step_order=d.get('step_order'),
 6727        )
 6728
 6729
 6730class ApprovalWorkflowStepCreateResponse:
 6731    '''
 6732         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
 6733    '''
 6734    __slots__ = [
 6735        'approval_workflow_step',
 6736        'rate_limit',
 6737    ]
 6738
 6739    def __init__(
 6740        self,
 6741        approval_workflow_step=None,
 6742        rate_limit=None,
 6743    ):
 6744        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6745        '''
 6746         The created approval workflow step.
 6747        '''
 6748        self.rate_limit = rate_limit if rate_limit is not None else None
 6749        '''
 6750         Rate limit information.
 6751        '''
 6752
 6753    def __repr__(self):
 6754        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
 6755            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6756            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6757            '>'
 6758
 6759    def to_dict(self):
 6760        return {
 6761            'approval_workflow_step': self.approval_workflow_step,
 6762            'rate_limit': self.rate_limit,
 6763        }
 6764
 6765    @classmethod
 6766    def from_dict(cls, d):
 6767        return cls(
 6768            approval_workflow_step=d.get('approval_workflow_step'),
 6769            rate_limit=d.get('rate_limit'),
 6770        )
 6771
 6772
 6773class ApprovalWorkflowStepDeleteResponse:
 6774    '''
 6775         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
 6776    '''
 6777    __slots__ = [
 6778        'id',
 6779        'rate_limit',
 6780    ]
 6781
 6782    def __init__(
 6783        self,
 6784        id=None,
 6785        rate_limit=None,
 6786    ):
 6787        self.id = id if id is not None else ''
 6788        '''
 6789         The deleted approval workflow step id.
 6790        '''
 6791        self.rate_limit = rate_limit if rate_limit is not None else None
 6792        '''
 6793         Rate limit information.
 6794        '''
 6795
 6796    def __repr__(self):
 6797        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
 6798            'id: ' + repr(self.id) + ' ' +\
 6799            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6800            '>'
 6801
 6802    def to_dict(self):
 6803        return {
 6804            'id': self.id,
 6805            'rate_limit': self.rate_limit,
 6806        }
 6807
 6808    @classmethod
 6809    def from_dict(cls, d):
 6810        return cls(
 6811            id=d.get('id'),
 6812            rate_limit=d.get('rate_limit'),
 6813        )
 6814
 6815
 6816class ApprovalWorkflowStepGetResponse:
 6817    '''
 6818         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
 6819    '''
 6820    __slots__ = [
 6821        'approval_workflow_step',
 6822        'meta',
 6823        'rate_limit',
 6824    ]
 6825
 6826    def __init__(
 6827        self,
 6828        approval_workflow_step=None,
 6829        meta=None,
 6830        rate_limit=None,
 6831    ):
 6832        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6833        '''
 6834         The requested ApprovalWorkflowStep.
 6835        '''
 6836        self.meta = meta if meta is not None else None
 6837        '''
 6838         Reserved for future use.
 6839        '''
 6840        self.rate_limit = rate_limit if rate_limit is not None else None
 6841        '''
 6842         Rate limit information.
 6843        '''
 6844
 6845    def __repr__(self):
 6846        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
 6847            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6848            'meta: ' + repr(self.meta) + ' ' +\
 6849            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6850            '>'
 6851
 6852    def to_dict(self):
 6853        return {
 6854            'approval_workflow_step': self.approval_workflow_step,
 6855            'meta': self.meta,
 6856            'rate_limit': self.rate_limit,
 6857        }
 6858
 6859    @classmethod
 6860    def from_dict(cls, d):
 6861        return cls(
 6862            approval_workflow_step=d.get('approval_workflow_step'),
 6863            meta=d.get('meta'),
 6864            rate_limit=d.get('rate_limit'),
 6865        )
 6866
 6867
 6868class ApprovalWorkflowStepHistory:
 6869    '''
 6870         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
 6871     where every change (create or delete) to an ApprovalWorkflowStep produces an
 6872     ApprovalWorkflowStepHistory record.
 6873    '''
 6874    __slots__ = [
 6875        'activity_id',
 6876        'approval_workflow_step',
 6877        'deleted_at',
 6878        'timestamp',
 6879    ]
 6880
 6881    def __init__(
 6882        self,
 6883        activity_id=None,
 6884        approval_workflow_step=None,
 6885        deleted_at=None,
 6886        timestamp=None,
 6887    ):
 6888        self.activity_id = activity_id if activity_id is not None else ''
 6889        '''
 6890         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
 6891         May be empty for some system-initiated updates.
 6892        '''
 6893        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
 6894        '''
 6895         The complete ApprovalWorkflowStep state at this time.
 6896        '''
 6897        self.deleted_at = deleted_at if deleted_at is not None else None
 6898        '''
 6899         If this ApprovalWorkflowStep was deleted, the time it was deleted.
 6900        '''
 6901        self.timestamp = timestamp if timestamp is not None else None
 6902        '''
 6903         The time at which the ApprovalWorkflowStep state was recorded.
 6904        '''
 6905
 6906    def __repr__(self):
 6907        return '<sdm.ApprovalWorkflowStepHistory ' + \
 6908            'activity_id: ' + repr(self.activity_id) + ' ' +\
 6909            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
 6910            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
 6911            'timestamp: ' + repr(self.timestamp) + ' ' +\
 6912            '>'
 6913
 6914    def to_dict(self):
 6915        return {
 6916            'activity_id': self.activity_id,
 6917            'approval_workflow_step': self.approval_workflow_step,
 6918            'deleted_at': self.deleted_at,
 6919            'timestamp': self.timestamp,
 6920        }
 6921
 6922    @classmethod
 6923    def from_dict(cls, d):
 6924        return cls(
 6925            activity_id=d.get('activity_id'),
 6926            approval_workflow_step=d.get('approval_workflow_step'),
 6927            deleted_at=d.get('deleted_at'),
 6928            timestamp=d.get('timestamp'),
 6929        )
 6930
 6931
 6932class ApprovalWorkflowStepListResponse:
 6933    '''
 6934         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
 6935     the criteria of an ApprovalWorkflowStepListRequest.
 6936    '''
 6937    __slots__ = [
 6938        'rate_limit',
 6939    ]
 6940
 6941    def __init__(
 6942        self,
 6943        rate_limit=None,
 6944    ):
 6945        self.rate_limit = rate_limit if rate_limit is not None else None
 6946        '''
 6947         Rate limit information.
 6948        '''
 6949
 6950    def __repr__(self):
 6951        return '<sdm.ApprovalWorkflowStepListResponse ' + \
 6952            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6953            '>'
 6954
 6955    def to_dict(self):
 6956        return {
 6957            'rate_limit': self.rate_limit,
 6958        }
 6959
 6960    @classmethod
 6961    def from_dict(cls, d):
 6962        return cls(rate_limit=d.get('rate_limit'), )
 6963
 6964
 6965class ApprovalWorkflowUpdateResponse:
 6966    '''
 6967         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
 6968     an ApprovalWorkflowUpdateRequest.
 6969    '''
 6970    __slots__ = [
 6971        'approval_workflow',
 6972        'rate_limit',
 6973    ]
 6974
 6975    def __init__(
 6976        self,
 6977        approval_workflow=None,
 6978        rate_limit=None,
 6979    ):
 6980        self.approval_workflow = approval_workflow if approval_workflow is not None else None
 6981        '''
 6982         The updated approval workflow.
 6983        '''
 6984        self.rate_limit = rate_limit if rate_limit is not None else None
 6985        '''
 6986         Rate limit information.
 6987        '''
 6988
 6989    def __repr__(self):
 6990        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
 6991            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
 6992            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
 6993            '>'
 6994
 6995    def to_dict(self):
 6996        return {
 6997            'approval_workflow': self.approval_workflow,
 6998            'rate_limit': self.rate_limit,
 6999        }
 7000
 7001    @classmethod
 7002    def from_dict(cls, d):
 7003        return cls(
 7004            approval_workflow=d.get('approval_workflow'),
 7005            rate_limit=d.get('rate_limit'),
 7006        )
 7007
 7008
 7009class Athena:
 7010    __slots__ = [
 7011        'access_key',
 7012        'bind_interface',
 7013        'egress_filter',
 7014        'healthy',
 7015        'id',
 7016        'name',
 7017        'output',
 7018        'port_override',
 7019        'proxy_cluster_id',
 7020        'region',
 7021        'role_arn',
 7022        'role_external_id',
 7023        'secret_access_key',
 7024        'secret_store_id',
 7025        'subdomain',
 7026        'tags',
 7027    ]
 7028
 7029    def __init__(
 7030        self,
 7031        access_key=None,
 7032        bind_interface=None,
 7033        egress_filter=None,
 7034        healthy=None,
 7035        id=None,
 7036        name=None,
 7037        output=None,
 7038        port_override=None,
 7039        proxy_cluster_id=None,
 7040        region=None,
 7041        role_arn=None,
 7042        role_external_id=None,
 7043        secret_access_key=None,
 7044        secret_store_id=None,
 7045        subdomain=None,
 7046        tags=None,
 7047    ):
 7048        self.access_key = access_key if access_key is not None else ''
 7049        '''
 7050         The Access Key ID to use to authenticate.
 7051        '''
 7052        self.bind_interface = bind_interface if bind_interface is not None else ''
 7053        '''
 7054         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7055        '''
 7056        self.egress_filter = egress_filter if egress_filter is not None else ''
 7057        '''
 7058         A filter applied to the routing logic to pin datasource to nodes.
 7059        '''
 7060        self.healthy = healthy if healthy is not None else False
 7061        '''
 7062         True if the datasource is reachable and the credentials are valid.
 7063        '''
 7064        self.id = id if id is not None else ''
 7065        '''
 7066         Unique identifier of the Resource.
 7067        '''
 7068        self.name = name if name is not None else ''
 7069        '''
 7070         Unique human-readable name of the Resource.
 7071        '''
 7072        self.output = output if output is not None else ''
 7073        '''
 7074         The AWS S3 output location.
 7075        '''
 7076        self.port_override = port_override if port_override is not None else 0
 7077        '''
 7078         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7079        '''
 7080        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7081        '''
 7082         ID of the proxy cluster for this resource, if any.
 7083        '''
 7084        self.region = region if region is not None else ''
 7085        '''
 7086         The AWS region to connect to e.g. us-east-1.
 7087        '''
 7088        self.role_arn = role_arn if role_arn is not None else ''
 7089        '''
 7090         The role to assume after logging in.
 7091        '''
 7092        self.role_external_id = role_external_id if role_external_id is not None else ''
 7093        '''
 7094         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 7095        '''
 7096        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
 7097        '''
 7098         The Secret Access Key to use to authenticate.
 7099        '''
 7100        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7101        '''
 7102         ID of the secret store containing credentials for this resource, if any.
 7103        '''
 7104        self.subdomain = subdomain if subdomain is not None else ''
 7105        '''
 7106         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7107        '''
 7108        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7109        '''
 7110         Tags is a map of key, value pairs.
 7111        '''
 7112
 7113    def __repr__(self):
 7114        return '<sdm.Athena ' + \
 7115            'access_key: ' + repr(self.access_key) + ' ' +\
 7116            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7117            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7118            'healthy: ' + repr(self.healthy) + ' ' +\
 7119            'id: ' + repr(self.id) + ' ' +\
 7120            'name: ' + repr(self.name) + ' ' +\
 7121            'output: ' + repr(self.output) + ' ' +\
 7122            'port_override: ' + repr(self.port_override) + ' ' +\
 7123            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7124            'region: ' + repr(self.region) + ' ' +\
 7125            'role_arn: ' + repr(self.role_arn) + ' ' +\
 7126            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 7127            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
 7128            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7129            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7130            'tags: ' + repr(self.tags) + ' ' +\
 7131            '>'
 7132
 7133    def to_dict(self):
 7134        return {
 7135            'access_key': self.access_key,
 7136            'bind_interface': self.bind_interface,
 7137            'egress_filter': self.egress_filter,
 7138            'healthy': self.healthy,
 7139            'id': self.id,
 7140            'name': self.name,
 7141            'output': self.output,
 7142            'port_override': self.port_override,
 7143            'proxy_cluster_id': self.proxy_cluster_id,
 7144            'region': self.region,
 7145            'role_arn': self.role_arn,
 7146            'role_external_id': self.role_external_id,
 7147            'secret_access_key': self.secret_access_key,
 7148            'secret_store_id': self.secret_store_id,
 7149            'subdomain': self.subdomain,
 7150            'tags': self.tags,
 7151        }
 7152
 7153    @classmethod
 7154    def from_dict(cls, d):
 7155        return cls(
 7156            access_key=d.get('access_key'),
 7157            bind_interface=d.get('bind_interface'),
 7158            egress_filter=d.get('egress_filter'),
 7159            healthy=d.get('healthy'),
 7160            id=d.get('id'),
 7161            name=d.get('name'),
 7162            output=d.get('output'),
 7163            port_override=d.get('port_override'),
 7164            proxy_cluster_id=d.get('proxy_cluster_id'),
 7165            region=d.get('region'),
 7166            role_arn=d.get('role_arn'),
 7167            role_external_id=d.get('role_external_id'),
 7168            secret_access_key=d.get('secret_access_key'),
 7169            secret_store_id=d.get('secret_store_id'),
 7170            subdomain=d.get('subdomain'),
 7171            tags=d.get('tags'),
 7172        )
 7173
 7174
 7175class AthenaIAM:
 7176    __slots__ = [
 7177        'bind_interface',
 7178        'egress_filter',
 7179        'healthy',
 7180        'id',
 7181        'name',
 7182        'output',
 7183        'port_override',
 7184        'proxy_cluster_id',
 7185        'region',
 7186        'role_arn',
 7187        'role_external_id',
 7188        'secret_store_id',
 7189        'subdomain',
 7190        'tags',
 7191    ]
 7192
 7193    def __init__(
 7194        self,
 7195        bind_interface=None,
 7196        egress_filter=None,
 7197        healthy=None,
 7198        id=None,
 7199        name=None,
 7200        output=None,
 7201        port_override=None,
 7202        proxy_cluster_id=None,
 7203        region=None,
 7204        role_arn=None,
 7205        role_external_id=None,
 7206        secret_store_id=None,
 7207        subdomain=None,
 7208        tags=None,
 7209    ):
 7210        self.bind_interface = bind_interface if bind_interface is not None else ''
 7211        '''
 7212         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7213        '''
 7214        self.egress_filter = egress_filter if egress_filter is not None else ''
 7215        '''
 7216         A filter applied to the routing logic to pin datasource to nodes.
 7217        '''
 7218        self.healthy = healthy if healthy is not None else False
 7219        '''
 7220         True if the datasource is reachable and the credentials are valid.
 7221        '''
 7222        self.id = id if id is not None else ''
 7223        '''
 7224         Unique identifier of the Resource.
 7225        '''
 7226        self.name = name if name is not None else ''
 7227        '''
 7228         Unique human-readable name of the Resource.
 7229        '''
 7230        self.output = output if output is not None else ''
 7231        '''
 7232         The AWS S3 output location.
 7233        '''
 7234        self.port_override = port_override if port_override is not None else 0
 7235        '''
 7236         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7237        '''
 7238        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7239        '''
 7240         ID of the proxy cluster for this resource, if any.
 7241        '''
 7242        self.region = region if region is not None else ''
 7243        '''
 7244         The AWS region to connect to e.g. us-east-1.
 7245        '''
 7246        self.role_arn = role_arn if role_arn is not None else ''
 7247        '''
 7248         The role to assume after logging in.
 7249        '''
 7250        self.role_external_id = role_external_id if role_external_id is not None else ''
 7251        '''
 7252         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
 7253        '''
 7254        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7255        '''
 7256         ID of the secret store containing credentials for this resource, if any.
 7257        '''
 7258        self.subdomain = subdomain if subdomain is not None else ''
 7259        '''
 7260         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7261        '''
 7262        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7263        '''
 7264         Tags is a map of key, value pairs.
 7265        '''
 7266
 7267    def __repr__(self):
 7268        return '<sdm.AthenaIAM ' + \
 7269            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7270            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7271            'healthy: ' + repr(self.healthy) + ' ' +\
 7272            'id: ' + repr(self.id) + ' ' +\
 7273            'name: ' + repr(self.name) + ' ' +\
 7274            'output: ' + repr(self.output) + ' ' +\
 7275            'port_override: ' + repr(self.port_override) + ' ' +\
 7276            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7277            'region: ' + repr(self.region) + ' ' +\
 7278            'role_arn: ' + repr(self.role_arn) + ' ' +\
 7279            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
 7280            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7281            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7282            'tags: ' + repr(self.tags) + ' ' +\
 7283            '>'
 7284
 7285    def to_dict(self):
 7286        return {
 7287            'bind_interface': self.bind_interface,
 7288            'egress_filter': self.egress_filter,
 7289            'healthy': self.healthy,
 7290            'id': self.id,
 7291            'name': self.name,
 7292            'output': self.output,
 7293            'port_override': self.port_override,
 7294            'proxy_cluster_id': self.proxy_cluster_id,
 7295            'region': self.region,
 7296            'role_arn': self.role_arn,
 7297            'role_external_id': self.role_external_id,
 7298            'secret_store_id': self.secret_store_id,
 7299            'subdomain': self.subdomain,
 7300            'tags': self.tags,
 7301        }
 7302
 7303    @classmethod
 7304    def from_dict(cls, d):
 7305        return cls(
 7306            bind_interface=d.get('bind_interface'),
 7307            egress_filter=d.get('egress_filter'),
 7308            healthy=d.get('healthy'),
 7309            id=d.get('id'),
 7310            name=d.get('name'),
 7311            output=d.get('output'),
 7312            port_override=d.get('port_override'),
 7313            proxy_cluster_id=d.get('proxy_cluster_id'),
 7314            region=d.get('region'),
 7315            role_arn=d.get('role_arn'),
 7316            role_external_id=d.get('role_external_id'),
 7317            secret_store_id=d.get('secret_store_id'),
 7318            subdomain=d.get('subdomain'),
 7319            tags=d.get('tags'),
 7320        )
 7321
 7322
 7323class AuroraMysql:
 7324    __slots__ = [
 7325        'bind_interface',
 7326        'database',
 7327        'egress_filter',
 7328        'healthy',
 7329        'hostname',
 7330        'id',
 7331        'name',
 7332        'password',
 7333        'port',
 7334        'port_override',
 7335        'proxy_cluster_id',
 7336        'require_native_auth',
 7337        'secret_store_id',
 7338        'subdomain',
 7339        'tags',
 7340        'use_azure_single_server_usernames',
 7341        'username',
 7342    ]
 7343
 7344    def __init__(
 7345        self,
 7346        bind_interface=None,
 7347        database=None,
 7348        egress_filter=None,
 7349        healthy=None,
 7350        hostname=None,
 7351        id=None,
 7352        name=None,
 7353        password=None,
 7354        port=None,
 7355        port_override=None,
 7356        proxy_cluster_id=None,
 7357        require_native_auth=None,
 7358        secret_store_id=None,
 7359        subdomain=None,
 7360        tags=None,
 7361        use_azure_single_server_usernames=None,
 7362        username=None,
 7363    ):
 7364        self.bind_interface = bind_interface if bind_interface is not None else ''
 7365        '''
 7366         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7367        '''
 7368        self.database = database if database is not None else ''
 7369        '''
 7370         The database for healthchecks. Does not affect client requests
 7371        '''
 7372        self.egress_filter = egress_filter if egress_filter is not None else ''
 7373        '''
 7374         A filter applied to the routing logic to pin datasource to nodes.
 7375        '''
 7376        self.healthy = healthy if healthy is not None else False
 7377        '''
 7378         True if the datasource is reachable and the credentials are valid.
 7379        '''
 7380        self.hostname = hostname if hostname is not None else ''
 7381        '''
 7382         The host to dial to initiate a connection from the egress node to this resource.
 7383        '''
 7384        self.id = id if id is not None else ''
 7385        '''
 7386         Unique identifier of the Resource.
 7387        '''
 7388        self.name = name if name is not None else ''
 7389        '''
 7390         Unique human-readable name of the Resource.
 7391        '''
 7392        self.password = password if password is not None else ''
 7393        '''
 7394         The password to authenticate with.
 7395        '''
 7396        self.port = port if port is not None else 0
 7397        '''
 7398         The port to dial to initiate a connection from the egress node to this resource.
 7399        '''
 7400        self.port_override = port_override if port_override is not None else 0
 7401        '''
 7402         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7403        '''
 7404        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7405        '''
 7406         ID of the proxy cluster for this resource, if any.
 7407        '''
 7408        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 7409        '''
 7410         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 7411        '''
 7412        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7413        '''
 7414         ID of the secret store containing credentials for this resource, if any.
 7415        '''
 7416        self.subdomain = subdomain if subdomain is not None else ''
 7417        '''
 7418         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7419        '''
 7420        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7421        '''
 7422         Tags is a map of key, value pairs.
 7423        '''
 7424        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 7425        '''
 7426         If true, appends the hostname to the username when hitting a database.azure.com address
 7427        '''
 7428        self.username = username if username is not None else ''
 7429        '''
 7430         The username to authenticate with.
 7431        '''
 7432
 7433    def __repr__(self):
 7434        return '<sdm.AuroraMysql ' + \
 7435            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7436            'database: ' + repr(self.database) + ' ' +\
 7437            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7438            'healthy: ' + repr(self.healthy) + ' ' +\
 7439            'hostname: ' + repr(self.hostname) + ' ' +\
 7440            'id: ' + repr(self.id) + ' ' +\
 7441            'name: ' + repr(self.name) + ' ' +\
 7442            'password: ' + repr(self.password) + ' ' +\
 7443            'port: ' + repr(self.port) + ' ' +\
 7444            'port_override: ' + repr(self.port_override) + ' ' +\
 7445            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7446            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 7447            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7448            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7449            'tags: ' + repr(self.tags) + ' ' +\
 7450            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 7451            'username: ' + repr(self.username) + ' ' +\
 7452            '>'
 7453
 7454    def to_dict(self):
 7455        return {
 7456            'bind_interface': self.bind_interface,
 7457            'database': self.database,
 7458            'egress_filter': self.egress_filter,
 7459            'healthy': self.healthy,
 7460            'hostname': self.hostname,
 7461            'id': self.id,
 7462            'name': self.name,
 7463            'password': self.password,
 7464            'port': self.port,
 7465            'port_override': self.port_override,
 7466            'proxy_cluster_id': self.proxy_cluster_id,
 7467            'require_native_auth': self.require_native_auth,
 7468            'secret_store_id': self.secret_store_id,
 7469            'subdomain': self.subdomain,
 7470            'tags': self.tags,
 7471            'use_azure_single_server_usernames':
 7472            self.use_azure_single_server_usernames,
 7473            'username': self.username,
 7474        }
 7475
 7476    @classmethod
 7477    def from_dict(cls, d):
 7478        return cls(
 7479            bind_interface=d.get('bind_interface'),
 7480            database=d.get('database'),
 7481            egress_filter=d.get('egress_filter'),
 7482            healthy=d.get('healthy'),
 7483            hostname=d.get('hostname'),
 7484            id=d.get('id'),
 7485            name=d.get('name'),
 7486            password=d.get('password'),
 7487            port=d.get('port'),
 7488            port_override=d.get('port_override'),
 7489            proxy_cluster_id=d.get('proxy_cluster_id'),
 7490            require_native_auth=d.get('require_native_auth'),
 7491            secret_store_id=d.get('secret_store_id'),
 7492            subdomain=d.get('subdomain'),
 7493            tags=d.get('tags'),
 7494            use_azure_single_server_usernames=d.get(
 7495                'use_azure_single_server_usernames'),
 7496            username=d.get('username'),
 7497        )
 7498
 7499
 7500class AuroraMysqlIAM:
 7501    __slots__ = [
 7502        'bind_interface',
 7503        'database',
 7504        'egress_filter',
 7505        'healthy',
 7506        'hostname',
 7507        'id',
 7508        'name',
 7509        'port',
 7510        'port_override',
 7511        'proxy_cluster_id',
 7512        'region',
 7513        'role_assumption_arn',
 7514        'secret_store_id',
 7515        'subdomain',
 7516        'tags',
 7517        'username',
 7518    ]
 7519
 7520    def __init__(
 7521        self,
 7522        bind_interface=None,
 7523        database=None,
 7524        egress_filter=None,
 7525        healthy=None,
 7526        hostname=None,
 7527        id=None,
 7528        name=None,
 7529        port=None,
 7530        port_override=None,
 7531        proxy_cluster_id=None,
 7532        region=None,
 7533        role_assumption_arn=None,
 7534        secret_store_id=None,
 7535        subdomain=None,
 7536        tags=None,
 7537        username=None,
 7538    ):
 7539        self.bind_interface = bind_interface if bind_interface is not None else ''
 7540        '''
 7541         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7542        '''
 7543        self.database = database if database is not None else ''
 7544        '''
 7545         The database for healthchecks. Does not affect client requests
 7546        '''
 7547        self.egress_filter = egress_filter if egress_filter is not None else ''
 7548        '''
 7549         A filter applied to the routing logic to pin datasource to nodes.
 7550        '''
 7551        self.healthy = healthy if healthy is not None else False
 7552        '''
 7553         True if the datasource is reachable and the credentials are valid.
 7554        '''
 7555        self.hostname = hostname if hostname is not None else ''
 7556        '''
 7557         The host to dial to initiate a connection from the egress node to this resource.
 7558        '''
 7559        self.id = id if id is not None else ''
 7560        '''
 7561         Unique identifier of the Resource.
 7562        '''
 7563        self.name = name if name is not None else ''
 7564        '''
 7565         Unique human-readable name of the Resource.
 7566        '''
 7567        self.port = port if port is not None else 0
 7568        '''
 7569         The port to dial to initiate a connection from the egress node to this resource.
 7570        '''
 7571        self.port_override = port_override if port_override is not None else 0
 7572        '''
 7573         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7574        '''
 7575        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7576        '''
 7577         ID of the proxy cluster for this resource, if any.
 7578        '''
 7579        self.region = region if region is not None else ''
 7580        '''
 7581         The AWS region to connect to.
 7582        '''
 7583        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7584        '''
 7585         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7586        '''
 7587        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7588        '''
 7589         ID of the secret store containing credentials for this resource, if any.
 7590        '''
 7591        self.subdomain = subdomain if subdomain is not None else ''
 7592        '''
 7593         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7594        '''
 7595        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7596        '''
 7597         Tags is a map of key, value pairs.
 7598        '''
 7599        self.username = username if username is not None else ''
 7600        '''
 7601         The username to authenticate with.
 7602        '''
 7603
 7604    def __repr__(self):
 7605        return '<sdm.AuroraMysqlIAM ' + \
 7606            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7607            'database: ' + repr(self.database) + ' ' +\
 7608            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7609            'healthy: ' + repr(self.healthy) + ' ' +\
 7610            'hostname: ' + repr(self.hostname) + ' ' +\
 7611            'id: ' + repr(self.id) + ' ' +\
 7612            'name: ' + repr(self.name) + ' ' +\
 7613            'port: ' + repr(self.port) + ' ' +\
 7614            'port_override: ' + repr(self.port_override) + ' ' +\
 7615            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7616            'region: ' + repr(self.region) + ' ' +\
 7617            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7618            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7619            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7620            'tags: ' + repr(self.tags) + ' ' +\
 7621            'username: ' + repr(self.username) + ' ' +\
 7622            '>'
 7623
 7624    def to_dict(self):
 7625        return {
 7626            'bind_interface': self.bind_interface,
 7627            'database': self.database,
 7628            'egress_filter': self.egress_filter,
 7629            'healthy': self.healthy,
 7630            'hostname': self.hostname,
 7631            'id': self.id,
 7632            'name': self.name,
 7633            'port': self.port,
 7634            'port_override': self.port_override,
 7635            'proxy_cluster_id': self.proxy_cluster_id,
 7636            'region': self.region,
 7637            'role_assumption_arn': self.role_assumption_arn,
 7638            'secret_store_id': self.secret_store_id,
 7639            'subdomain': self.subdomain,
 7640            'tags': self.tags,
 7641            'username': self.username,
 7642        }
 7643
 7644    @classmethod
 7645    def from_dict(cls, d):
 7646        return cls(
 7647            bind_interface=d.get('bind_interface'),
 7648            database=d.get('database'),
 7649            egress_filter=d.get('egress_filter'),
 7650            healthy=d.get('healthy'),
 7651            hostname=d.get('hostname'),
 7652            id=d.get('id'),
 7653            name=d.get('name'),
 7654            port=d.get('port'),
 7655            port_override=d.get('port_override'),
 7656            proxy_cluster_id=d.get('proxy_cluster_id'),
 7657            region=d.get('region'),
 7658            role_assumption_arn=d.get('role_assumption_arn'),
 7659            secret_store_id=d.get('secret_store_id'),
 7660            subdomain=d.get('subdomain'),
 7661            tags=d.get('tags'),
 7662            username=d.get('username'),
 7663        )
 7664
 7665
 7666class AuroraPostgres:
 7667    __slots__ = [
 7668        'bind_interface',
 7669        'database',
 7670        'egress_filter',
 7671        'healthy',
 7672        'hostname',
 7673        'id',
 7674        'name',
 7675        'override_database',
 7676        'password',
 7677        'port',
 7678        'port_override',
 7679        'proxy_cluster_id',
 7680        'secret_store_id',
 7681        'subdomain',
 7682        'tags',
 7683        'username',
 7684    ]
 7685
 7686    def __init__(
 7687        self,
 7688        bind_interface=None,
 7689        database=None,
 7690        egress_filter=None,
 7691        healthy=None,
 7692        hostname=None,
 7693        id=None,
 7694        name=None,
 7695        override_database=None,
 7696        password=None,
 7697        port=None,
 7698        port_override=None,
 7699        proxy_cluster_id=None,
 7700        secret_store_id=None,
 7701        subdomain=None,
 7702        tags=None,
 7703        username=None,
 7704    ):
 7705        self.bind_interface = bind_interface if bind_interface is not None else ''
 7706        '''
 7707         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7708        '''
 7709        self.database = database if database is not None else ''
 7710        '''
 7711         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7712        '''
 7713        self.egress_filter = egress_filter if egress_filter is not None else ''
 7714        '''
 7715         A filter applied to the routing logic to pin datasource to nodes.
 7716        '''
 7717        self.healthy = healthy if healthy is not None else False
 7718        '''
 7719         True if the datasource is reachable and the credentials are valid.
 7720        '''
 7721        self.hostname = hostname if hostname is not None else ''
 7722        '''
 7723         The host to dial to initiate a connection from the egress node to this resource.
 7724        '''
 7725        self.id = id if id is not None else ''
 7726        '''
 7727         Unique identifier of the Resource.
 7728        '''
 7729        self.name = name if name is not None else ''
 7730        '''
 7731         Unique human-readable name of the Resource.
 7732        '''
 7733        self.override_database = override_database if override_database is not None else False
 7734        '''
 7735         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 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.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7754        '''
 7755         ID of the secret store containing credentials for this resource, if any.
 7756        '''
 7757        self.subdomain = subdomain if subdomain is not None else ''
 7758        '''
 7759         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7760        '''
 7761        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7762        '''
 7763         Tags is a map of key, value pairs.
 7764        '''
 7765        self.username = username if username is not None else ''
 7766        '''
 7767         The username to authenticate with.
 7768        '''
 7769
 7770    def __repr__(self):
 7771        return '<sdm.AuroraPostgres ' + \
 7772            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7773            'database: ' + repr(self.database) + ' ' +\
 7774            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7775            'healthy: ' + repr(self.healthy) + ' ' +\
 7776            'hostname: ' + repr(self.hostname) + ' ' +\
 7777            'id: ' + repr(self.id) + ' ' +\
 7778            'name: ' + repr(self.name) + ' ' +\
 7779            'override_database: ' + repr(self.override_database) + ' ' +\
 7780            'password: ' + repr(self.password) + ' ' +\
 7781            'port: ' + repr(self.port) + ' ' +\
 7782            'port_override: ' + repr(self.port_override) + ' ' +\
 7783            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7784            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7785            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7786            'tags: ' + repr(self.tags) + ' ' +\
 7787            'username: ' + repr(self.username) + ' ' +\
 7788            '>'
 7789
 7790    def to_dict(self):
 7791        return {
 7792            'bind_interface': self.bind_interface,
 7793            'database': self.database,
 7794            'egress_filter': self.egress_filter,
 7795            'healthy': self.healthy,
 7796            'hostname': self.hostname,
 7797            'id': self.id,
 7798            'name': self.name,
 7799            'override_database': self.override_database,
 7800            'password': self.password,
 7801            'port': self.port,
 7802            'port_override': self.port_override,
 7803            'proxy_cluster_id': self.proxy_cluster_id,
 7804            'secret_store_id': self.secret_store_id,
 7805            'subdomain': self.subdomain,
 7806            'tags': self.tags,
 7807            'username': self.username,
 7808        }
 7809
 7810    @classmethod
 7811    def from_dict(cls, d):
 7812        return cls(
 7813            bind_interface=d.get('bind_interface'),
 7814            database=d.get('database'),
 7815            egress_filter=d.get('egress_filter'),
 7816            healthy=d.get('healthy'),
 7817            hostname=d.get('hostname'),
 7818            id=d.get('id'),
 7819            name=d.get('name'),
 7820            override_database=d.get('override_database'),
 7821            password=d.get('password'),
 7822            port=d.get('port'),
 7823            port_override=d.get('port_override'),
 7824            proxy_cluster_id=d.get('proxy_cluster_id'),
 7825            secret_store_id=d.get('secret_store_id'),
 7826            subdomain=d.get('subdomain'),
 7827            tags=d.get('tags'),
 7828            username=d.get('username'),
 7829        )
 7830
 7831
 7832class AuroraPostgresIAM:
 7833    __slots__ = [
 7834        'bind_interface',
 7835        'database',
 7836        'egress_filter',
 7837        'healthy',
 7838        'hostname',
 7839        'id',
 7840        'name',
 7841        'override_database',
 7842        'port',
 7843        'port_override',
 7844        'proxy_cluster_id',
 7845        'region',
 7846        'role_assumption_arn',
 7847        'secret_store_id',
 7848        'subdomain',
 7849        'tags',
 7850        'username',
 7851    ]
 7852
 7853    def __init__(
 7854        self,
 7855        bind_interface=None,
 7856        database=None,
 7857        egress_filter=None,
 7858        healthy=None,
 7859        hostname=None,
 7860        id=None,
 7861        name=None,
 7862        override_database=None,
 7863        port=None,
 7864        port_override=None,
 7865        proxy_cluster_id=None,
 7866        region=None,
 7867        role_assumption_arn=None,
 7868        secret_store_id=None,
 7869        subdomain=None,
 7870        tags=None,
 7871        username=None,
 7872    ):
 7873        self.bind_interface = bind_interface if bind_interface is not None else ''
 7874        '''
 7875         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 7876        '''
 7877        self.database = database if database is not None else ''
 7878        '''
 7879         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 7880        '''
 7881        self.egress_filter = egress_filter if egress_filter is not None else ''
 7882        '''
 7883         A filter applied to the routing logic to pin datasource to nodes.
 7884        '''
 7885        self.healthy = healthy if healthy is not None else False
 7886        '''
 7887         True if the datasource is reachable and the credentials are valid.
 7888        '''
 7889        self.hostname = hostname if hostname is not None else ''
 7890        '''
 7891         The host to dial to initiate a connection from the egress node to this resource.
 7892        '''
 7893        self.id = id if id is not None else ''
 7894        '''
 7895         Unique identifier of the Resource.
 7896        '''
 7897        self.name = name if name is not None else ''
 7898        '''
 7899         Unique human-readable name of the Resource.
 7900        '''
 7901        self.override_database = override_database if override_database is not None else False
 7902        '''
 7903         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 7904        '''
 7905        self.port = port if port is not None else 0
 7906        '''
 7907         The port to dial to initiate a connection from the egress node to this resource.
 7908        '''
 7909        self.port_override = port_override if port_override is not None else 0
 7910        '''
 7911         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 7912        '''
 7913        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 7914        '''
 7915         ID of the proxy cluster for this resource, if any.
 7916        '''
 7917        self.region = region if region is not None else ''
 7918        '''
 7919         The AWS region to connect to.
 7920        '''
 7921        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
 7922        '''
 7923         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
 7924        '''
 7925        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 7926        '''
 7927         ID of the secret store containing credentials for this resource, if any.
 7928        '''
 7929        self.subdomain = subdomain if subdomain is not None else ''
 7930        '''
 7931         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 7932        '''
 7933        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 7934        '''
 7935         Tags is a map of key, value pairs.
 7936        '''
 7937        self.username = username if username is not None else ''
 7938        '''
 7939         The username to authenticate with.
 7940        '''
 7941
 7942    def __repr__(self):
 7943        return '<sdm.AuroraPostgresIAM ' + \
 7944            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 7945            'database: ' + repr(self.database) + ' ' +\
 7946            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 7947            'healthy: ' + repr(self.healthy) + ' ' +\
 7948            'hostname: ' + repr(self.hostname) + ' ' +\
 7949            'id: ' + repr(self.id) + ' ' +\
 7950            'name: ' + repr(self.name) + ' ' +\
 7951            'override_database: ' + repr(self.override_database) + ' ' +\
 7952            'port: ' + repr(self.port) + ' ' +\
 7953            'port_override: ' + repr(self.port_override) + ' ' +\
 7954            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 7955            'region: ' + repr(self.region) + ' ' +\
 7956            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
 7957            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 7958            'subdomain: ' + repr(self.subdomain) + ' ' +\
 7959            'tags: ' + repr(self.tags) + ' ' +\
 7960            'username: ' + repr(self.username) + ' ' +\
 7961            '>'
 7962
 7963    def to_dict(self):
 7964        return {
 7965            'bind_interface': self.bind_interface,
 7966            'database': self.database,
 7967            'egress_filter': self.egress_filter,
 7968            'healthy': self.healthy,
 7969            'hostname': self.hostname,
 7970            'id': self.id,
 7971            'name': self.name,
 7972            'override_database': self.override_database,
 7973            'port': self.port,
 7974            'port_override': self.port_override,
 7975            'proxy_cluster_id': self.proxy_cluster_id,
 7976            'region': self.region,
 7977            'role_assumption_arn': self.role_assumption_arn,
 7978            'secret_store_id': self.secret_store_id,
 7979            'subdomain': self.subdomain,
 7980            'tags': self.tags,
 7981            'username': self.username,
 7982        }
 7983
 7984    @classmethod
 7985    def from_dict(cls, d):
 7986        return cls(
 7987            bind_interface=d.get('bind_interface'),
 7988            database=d.get('database'),
 7989            egress_filter=d.get('egress_filter'),
 7990            healthy=d.get('healthy'),
 7991            hostname=d.get('hostname'),
 7992            id=d.get('id'),
 7993            name=d.get('name'),
 7994            override_database=d.get('override_database'),
 7995            port=d.get('port'),
 7996            port_override=d.get('port_override'),
 7997            proxy_cluster_id=d.get('proxy_cluster_id'),
 7998            region=d.get('region'),
 7999            role_assumption_arn=d.get('role_assumption_arn'),
 8000            secret_store_id=d.get('secret_store_id'),
 8001            subdomain=d.get('subdomain'),
 8002            tags=d.get('tags'),
 8003            username=d.get('username'),
 8004        )
 8005
 8006
 8007class Azure:
 8008    __slots__ = [
 8009        'app_id',
 8010        'bind_interface',
 8011        'egress_filter',
 8012        'healthy',
 8013        'id',
 8014        'name',
 8015        'password',
 8016        'port_override',
 8017        'proxy_cluster_id',
 8018        'secret_store_id',
 8019        'subdomain',
 8020        'tags',
 8021        'tenant_id',
 8022    ]
 8023
 8024    def __init__(
 8025        self,
 8026        app_id=None,
 8027        bind_interface=None,
 8028        egress_filter=None,
 8029        healthy=None,
 8030        id=None,
 8031        name=None,
 8032        password=None,
 8033        port_override=None,
 8034        proxy_cluster_id=None,
 8035        secret_store_id=None,
 8036        subdomain=None,
 8037        tags=None,
 8038        tenant_id=None,
 8039    ):
 8040        self.app_id = app_id if app_id is not None else ''
 8041        '''
 8042         The application ID to authenticate with.
 8043        '''
 8044        self.bind_interface = bind_interface if bind_interface is not None else ''
 8045        '''
 8046         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8047        '''
 8048        self.egress_filter = egress_filter if egress_filter is not None else ''
 8049        '''
 8050         A filter applied to the routing logic to pin datasource to nodes.
 8051        '''
 8052        self.healthy = healthy if healthy is not None else False
 8053        '''
 8054         True if the datasource is reachable and the credentials are valid.
 8055        '''
 8056        self.id = id if id is not None else ''
 8057        '''
 8058         Unique identifier of the Resource.
 8059        '''
 8060        self.name = name if name is not None else ''
 8061        '''
 8062         Unique human-readable name of the Resource.
 8063        '''
 8064        self.password = password if password is not None else ''
 8065        '''
 8066         The password to authenticate with.
 8067        '''
 8068        self.port_override = port_override if port_override is not None else 0
 8069        '''
 8070         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8071        '''
 8072        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8073        '''
 8074         ID of the proxy cluster for this resource, if any.
 8075        '''
 8076        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8077        '''
 8078         ID of the secret store containing credentials for this resource, if any.
 8079        '''
 8080        self.subdomain = subdomain if subdomain is not None else ''
 8081        '''
 8082         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8083        '''
 8084        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8085        '''
 8086         Tags is a map of key, value pairs.
 8087        '''
 8088        self.tenant_id = tenant_id if tenant_id is not None else ''
 8089        '''
 8090         The tenant ID to authenticate to.
 8091        '''
 8092
 8093    def __repr__(self):
 8094        return '<sdm.Azure ' + \
 8095            'app_id: ' + repr(self.app_id) + ' ' +\
 8096            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8097            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8098            'healthy: ' + repr(self.healthy) + ' ' +\
 8099            'id: ' + repr(self.id) + ' ' +\
 8100            'name: ' + repr(self.name) + ' ' +\
 8101            'password: ' + repr(self.password) + ' ' +\
 8102            'port_override: ' + repr(self.port_override) + ' ' +\
 8103            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8104            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8105            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8106            'tags: ' + repr(self.tags) + ' ' +\
 8107            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 8108            '>'
 8109
 8110    def to_dict(self):
 8111        return {
 8112            'app_id': self.app_id,
 8113            'bind_interface': self.bind_interface,
 8114            'egress_filter': self.egress_filter,
 8115            'healthy': self.healthy,
 8116            'id': self.id,
 8117            'name': self.name,
 8118            'password': self.password,
 8119            'port_override': self.port_override,
 8120            'proxy_cluster_id': self.proxy_cluster_id,
 8121            'secret_store_id': self.secret_store_id,
 8122            'subdomain': self.subdomain,
 8123            'tags': self.tags,
 8124            'tenant_id': self.tenant_id,
 8125        }
 8126
 8127    @classmethod
 8128    def from_dict(cls, d):
 8129        return cls(
 8130            app_id=d.get('app_id'),
 8131            bind_interface=d.get('bind_interface'),
 8132            egress_filter=d.get('egress_filter'),
 8133            healthy=d.get('healthy'),
 8134            id=d.get('id'),
 8135            name=d.get('name'),
 8136            password=d.get('password'),
 8137            port_override=d.get('port_override'),
 8138            proxy_cluster_id=d.get('proxy_cluster_id'),
 8139            secret_store_id=d.get('secret_store_id'),
 8140            subdomain=d.get('subdomain'),
 8141            tags=d.get('tags'),
 8142            tenant_id=d.get('tenant_id'),
 8143        )
 8144
 8145
 8146class AzureCertificate:
 8147    __slots__ = [
 8148        'app_id',
 8149        'bind_interface',
 8150        'client_certificate',
 8151        'egress_filter',
 8152        'healthy',
 8153        'id',
 8154        'name',
 8155        'port_override',
 8156        'proxy_cluster_id',
 8157        'secret_store_id',
 8158        'subdomain',
 8159        'tags',
 8160        'tenant_id',
 8161    ]
 8162
 8163    def __init__(
 8164        self,
 8165        app_id=None,
 8166        bind_interface=None,
 8167        client_certificate=None,
 8168        egress_filter=None,
 8169        healthy=None,
 8170        id=None,
 8171        name=None,
 8172        port_override=None,
 8173        proxy_cluster_id=None,
 8174        secret_store_id=None,
 8175        subdomain=None,
 8176        tags=None,
 8177        tenant_id=None,
 8178    ):
 8179        self.app_id = app_id if app_id is not None else ''
 8180        '''
 8181         The application ID to authenticate with.
 8182        '''
 8183        self.bind_interface = bind_interface if bind_interface is not None else ''
 8184        '''
 8185         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8186        '''
 8187        self.client_certificate = client_certificate if client_certificate is not None else ''
 8188        '''
 8189         The service Principal certificate file, both private and public key included.
 8190        '''
 8191        self.egress_filter = egress_filter if egress_filter is not None else ''
 8192        '''
 8193         A filter applied to the routing logic to pin datasource to nodes.
 8194        '''
 8195        self.healthy = healthy if healthy is not None else False
 8196        '''
 8197         True if the datasource is reachable and the credentials are valid.
 8198        '''
 8199        self.id = id if id is not None else ''
 8200        '''
 8201         Unique identifier of the Resource.
 8202        '''
 8203        self.name = name if name is not None else ''
 8204        '''
 8205         Unique human-readable name of the Resource.
 8206        '''
 8207        self.port_override = port_override if port_override is not None else 0
 8208        '''
 8209         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8210        '''
 8211        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8212        '''
 8213         ID of the proxy cluster for this resource, if any.
 8214        '''
 8215        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8216        '''
 8217         ID of the secret store containing credentials for this resource, if any.
 8218        '''
 8219        self.subdomain = subdomain if subdomain is not None else ''
 8220        '''
 8221         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8222        '''
 8223        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8224        '''
 8225         Tags is a map of key, value pairs.
 8226        '''
 8227        self.tenant_id = tenant_id if tenant_id is not None else ''
 8228        '''
 8229         The tenant ID to authenticate to.
 8230        '''
 8231
 8232    def __repr__(self):
 8233        return '<sdm.AzureCertificate ' + \
 8234            'app_id: ' + repr(self.app_id) + ' ' +\
 8235            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8236            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
 8237            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8238            'healthy: ' + repr(self.healthy) + ' ' +\
 8239            'id: ' + repr(self.id) + ' ' +\
 8240            'name: ' + repr(self.name) + ' ' +\
 8241            'port_override: ' + repr(self.port_override) + ' ' +\
 8242            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8243            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8244            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8245            'tags: ' + repr(self.tags) + ' ' +\
 8246            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
 8247            '>'
 8248
 8249    def to_dict(self):
 8250        return {
 8251            'app_id': self.app_id,
 8252            'bind_interface': self.bind_interface,
 8253            'client_certificate': self.client_certificate,
 8254            'egress_filter': self.egress_filter,
 8255            'healthy': self.healthy,
 8256            'id': self.id,
 8257            'name': self.name,
 8258            'port_override': self.port_override,
 8259            'proxy_cluster_id': self.proxy_cluster_id,
 8260            'secret_store_id': self.secret_store_id,
 8261            'subdomain': self.subdomain,
 8262            'tags': self.tags,
 8263            'tenant_id': self.tenant_id,
 8264        }
 8265
 8266    @classmethod
 8267    def from_dict(cls, d):
 8268        return cls(
 8269            app_id=d.get('app_id'),
 8270            bind_interface=d.get('bind_interface'),
 8271            client_certificate=d.get('client_certificate'),
 8272            egress_filter=d.get('egress_filter'),
 8273            healthy=d.get('healthy'),
 8274            id=d.get('id'),
 8275            name=d.get('name'),
 8276            port_override=d.get('port_override'),
 8277            proxy_cluster_id=d.get('proxy_cluster_id'),
 8278            secret_store_id=d.get('secret_store_id'),
 8279            subdomain=d.get('subdomain'),
 8280            tags=d.get('tags'),
 8281            tenant_id=d.get('tenant_id'),
 8282        )
 8283
 8284
 8285class AzureMysql:
 8286    __slots__ = [
 8287        'bind_interface',
 8288        'database',
 8289        'egress_filter',
 8290        'healthy',
 8291        'hostname',
 8292        'id',
 8293        'name',
 8294        'password',
 8295        'port',
 8296        'port_override',
 8297        'proxy_cluster_id',
 8298        'require_native_auth',
 8299        'secret_store_id',
 8300        'subdomain',
 8301        'tags',
 8302        'use_azure_single_server_usernames',
 8303        'username',
 8304    ]
 8305
 8306    def __init__(
 8307        self,
 8308        bind_interface=None,
 8309        database=None,
 8310        egress_filter=None,
 8311        healthy=None,
 8312        hostname=None,
 8313        id=None,
 8314        name=None,
 8315        password=None,
 8316        port=None,
 8317        port_override=None,
 8318        proxy_cluster_id=None,
 8319        require_native_auth=None,
 8320        secret_store_id=None,
 8321        subdomain=None,
 8322        tags=None,
 8323        use_azure_single_server_usernames=None,
 8324        username=None,
 8325    ):
 8326        self.bind_interface = bind_interface if bind_interface is not None else ''
 8327        '''
 8328         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8329        '''
 8330        self.database = database if database is not None else ''
 8331        '''
 8332         The database for healthchecks. Does not affect client requests.
 8333        '''
 8334        self.egress_filter = egress_filter if egress_filter is not None else ''
 8335        '''
 8336         A filter applied to the routing logic to pin datasource to nodes.
 8337        '''
 8338        self.healthy = healthy if healthy is not None else False
 8339        '''
 8340         True if the datasource is reachable and the credentials are valid.
 8341        '''
 8342        self.hostname = hostname if hostname is not None else ''
 8343        '''
 8344         The host to dial to initiate a connection from the egress node to this resource.
 8345        '''
 8346        self.id = id if id is not None else ''
 8347        '''
 8348         Unique identifier of the Resource.
 8349        '''
 8350        self.name = name if name is not None else ''
 8351        '''
 8352         Unique human-readable name of the Resource.
 8353        '''
 8354        self.password = password if password is not None else ''
 8355        '''
 8356         The password to authenticate with.
 8357        '''
 8358        self.port = port if port is not None else 0
 8359        '''
 8360         The port to dial to initiate a connection from the egress node to this resource.
 8361        '''
 8362        self.port_override = port_override if port_override is not None else 0
 8363        '''
 8364         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8365        '''
 8366        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8367        '''
 8368         ID of the proxy cluster for this resource, if any.
 8369        '''
 8370        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 8371        '''
 8372         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 8373        '''
 8374        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8375        '''
 8376         ID of the secret store containing credentials for this resource, if any.
 8377        '''
 8378        self.subdomain = subdomain if subdomain is not None else ''
 8379        '''
 8380         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8381        '''
 8382        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8383        '''
 8384         Tags is a map of key, value pairs.
 8385        '''
 8386        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8387        '''
 8388         If true, appends the hostname to the username when hitting a database.azure.com address
 8389        '''
 8390        self.username = username if username is not None else ''
 8391        '''
 8392         The username to authenticate with.
 8393        '''
 8394
 8395    def __repr__(self):
 8396        return '<sdm.AzureMysql ' + \
 8397            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8398            'database: ' + repr(self.database) + ' ' +\
 8399            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8400            'healthy: ' + repr(self.healthy) + ' ' +\
 8401            'hostname: ' + repr(self.hostname) + ' ' +\
 8402            'id: ' + repr(self.id) + ' ' +\
 8403            'name: ' + repr(self.name) + ' ' +\
 8404            'password: ' + repr(self.password) + ' ' +\
 8405            'port: ' + repr(self.port) + ' ' +\
 8406            'port_override: ' + repr(self.port_override) + ' ' +\
 8407            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8408            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 8409            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8410            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8411            'tags: ' + repr(self.tags) + ' ' +\
 8412            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8413            'username: ' + repr(self.username) + ' ' +\
 8414            '>'
 8415
 8416    def to_dict(self):
 8417        return {
 8418            'bind_interface': self.bind_interface,
 8419            'database': self.database,
 8420            'egress_filter': self.egress_filter,
 8421            'healthy': self.healthy,
 8422            'hostname': self.hostname,
 8423            'id': self.id,
 8424            'name': self.name,
 8425            'password': self.password,
 8426            'port': self.port,
 8427            'port_override': self.port_override,
 8428            'proxy_cluster_id': self.proxy_cluster_id,
 8429            'require_native_auth': self.require_native_auth,
 8430            'secret_store_id': self.secret_store_id,
 8431            'subdomain': self.subdomain,
 8432            'tags': self.tags,
 8433            'use_azure_single_server_usernames':
 8434            self.use_azure_single_server_usernames,
 8435            'username': self.username,
 8436        }
 8437
 8438    @classmethod
 8439    def from_dict(cls, d):
 8440        return cls(
 8441            bind_interface=d.get('bind_interface'),
 8442            database=d.get('database'),
 8443            egress_filter=d.get('egress_filter'),
 8444            healthy=d.get('healthy'),
 8445            hostname=d.get('hostname'),
 8446            id=d.get('id'),
 8447            name=d.get('name'),
 8448            password=d.get('password'),
 8449            port=d.get('port'),
 8450            port_override=d.get('port_override'),
 8451            proxy_cluster_id=d.get('proxy_cluster_id'),
 8452            require_native_auth=d.get('require_native_auth'),
 8453            secret_store_id=d.get('secret_store_id'),
 8454            subdomain=d.get('subdomain'),
 8455            tags=d.get('tags'),
 8456            use_azure_single_server_usernames=d.get(
 8457                'use_azure_single_server_usernames'),
 8458            username=d.get('username'),
 8459        )
 8460
 8461
 8462class AzureMysqlManagedIdentity:
 8463    __slots__ = [
 8464        'bind_interface',
 8465        'database',
 8466        'egress_filter',
 8467        'healthy',
 8468        'hostname',
 8469        'id',
 8470        'name',
 8471        'password',
 8472        'port',
 8473        'port_override',
 8474        'proxy_cluster_id',
 8475        'secret_store_id',
 8476        'subdomain',
 8477        'tags',
 8478        'use_azure_single_server_usernames',
 8479        'username',
 8480    ]
 8481
 8482    def __init__(
 8483        self,
 8484        bind_interface=None,
 8485        database=None,
 8486        egress_filter=None,
 8487        healthy=None,
 8488        hostname=None,
 8489        id=None,
 8490        name=None,
 8491        password=None,
 8492        port=None,
 8493        port_override=None,
 8494        proxy_cluster_id=None,
 8495        secret_store_id=None,
 8496        subdomain=None,
 8497        tags=None,
 8498        use_azure_single_server_usernames=None,
 8499        username=None,
 8500    ):
 8501        self.bind_interface = bind_interface if bind_interface is not None else ''
 8502        '''
 8503         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8504        '''
 8505        self.database = database if database is not None else ''
 8506        '''
 8507         The database for healthchecks. Does not affect client requests.
 8508        '''
 8509        self.egress_filter = egress_filter if egress_filter is not None else ''
 8510        '''
 8511         A filter applied to the routing logic to pin datasource to nodes.
 8512        '''
 8513        self.healthy = healthy if healthy is not None else False
 8514        '''
 8515         True if the datasource is reachable and the credentials are valid.
 8516        '''
 8517        self.hostname = hostname if hostname is not None else ''
 8518        '''
 8519         The host to dial to initiate a connection from the egress node to this resource.
 8520        '''
 8521        self.id = id if id is not None else ''
 8522        '''
 8523         Unique identifier of the Resource.
 8524        '''
 8525        self.name = name if name is not None else ''
 8526        '''
 8527         Unique human-readable name of the Resource.
 8528        '''
 8529        self.password = password if password is not None else ''
 8530        '''
 8531         The password to authenticate with.
 8532        '''
 8533        self.port = port if port is not None else 0
 8534        '''
 8535         The port to dial to initiate a connection from the egress node to this resource.
 8536        '''
 8537        self.port_override = port_override if port_override is not None else 0
 8538        '''
 8539         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8540        '''
 8541        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8542        '''
 8543         ID of the proxy cluster for this resource, if any.
 8544        '''
 8545        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8546        '''
 8547         ID of the secret store containing credentials for this resource, if any.
 8548        '''
 8549        self.subdomain = subdomain if subdomain is not None else ''
 8550        '''
 8551         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8552        '''
 8553        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8554        '''
 8555         Tags is a map of key, value pairs.
 8556        '''
 8557        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8558        '''
 8559         If true, appends the hostname to the username when hitting a database.azure.com address
 8560        '''
 8561        self.username = username if username is not None else ''
 8562        '''
 8563         The username to authenticate with.
 8564        '''
 8565
 8566    def __repr__(self):
 8567        return '<sdm.AzureMysqlManagedIdentity ' + \
 8568            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8569            'database: ' + repr(self.database) + ' ' +\
 8570            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8571            'healthy: ' + repr(self.healthy) + ' ' +\
 8572            'hostname: ' + repr(self.hostname) + ' ' +\
 8573            'id: ' + repr(self.id) + ' ' +\
 8574            'name: ' + repr(self.name) + ' ' +\
 8575            'password: ' + repr(self.password) + ' ' +\
 8576            'port: ' + repr(self.port) + ' ' +\
 8577            'port_override: ' + repr(self.port_override) + ' ' +\
 8578            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8579            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8580            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8581            'tags: ' + repr(self.tags) + ' ' +\
 8582            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8583            'username: ' + repr(self.username) + ' ' +\
 8584            '>'
 8585
 8586    def to_dict(self):
 8587        return {
 8588            'bind_interface': self.bind_interface,
 8589            'database': self.database,
 8590            'egress_filter': self.egress_filter,
 8591            'healthy': self.healthy,
 8592            'hostname': self.hostname,
 8593            'id': self.id,
 8594            'name': self.name,
 8595            'password': self.password,
 8596            'port': self.port,
 8597            'port_override': self.port_override,
 8598            'proxy_cluster_id': self.proxy_cluster_id,
 8599            'secret_store_id': self.secret_store_id,
 8600            'subdomain': self.subdomain,
 8601            'tags': self.tags,
 8602            'use_azure_single_server_usernames':
 8603            self.use_azure_single_server_usernames,
 8604            'username': self.username,
 8605        }
 8606
 8607    @classmethod
 8608    def from_dict(cls, d):
 8609        return cls(
 8610            bind_interface=d.get('bind_interface'),
 8611            database=d.get('database'),
 8612            egress_filter=d.get('egress_filter'),
 8613            healthy=d.get('healthy'),
 8614            hostname=d.get('hostname'),
 8615            id=d.get('id'),
 8616            name=d.get('name'),
 8617            password=d.get('password'),
 8618            port=d.get('port'),
 8619            port_override=d.get('port_override'),
 8620            proxy_cluster_id=d.get('proxy_cluster_id'),
 8621            secret_store_id=d.get('secret_store_id'),
 8622            subdomain=d.get('subdomain'),
 8623            tags=d.get('tags'),
 8624            use_azure_single_server_usernames=d.get(
 8625                'use_azure_single_server_usernames'),
 8626            username=d.get('username'),
 8627        )
 8628
 8629
 8630class AzurePostgres:
 8631    __slots__ = [
 8632        'bind_interface',
 8633        'database',
 8634        'egress_filter',
 8635        'healthy',
 8636        'hostname',
 8637        'id',
 8638        'name',
 8639        'override_database',
 8640        'password',
 8641        'port',
 8642        'port_override',
 8643        'proxy_cluster_id',
 8644        'secret_store_id',
 8645        'subdomain',
 8646        'tags',
 8647        'username',
 8648    ]
 8649
 8650    def __init__(
 8651        self,
 8652        bind_interface=None,
 8653        database=None,
 8654        egress_filter=None,
 8655        healthy=None,
 8656        hostname=None,
 8657        id=None,
 8658        name=None,
 8659        override_database=None,
 8660        password=None,
 8661        port=None,
 8662        port_override=None,
 8663        proxy_cluster_id=None,
 8664        secret_store_id=None,
 8665        subdomain=None,
 8666        tags=None,
 8667        username=None,
 8668    ):
 8669        self.bind_interface = bind_interface if bind_interface is not None else ''
 8670        '''
 8671         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8672        '''
 8673        self.database = database if database is not None else ''
 8674        '''
 8675         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8676        '''
 8677        self.egress_filter = egress_filter if egress_filter is not None else ''
 8678        '''
 8679         A filter applied to the routing logic to pin datasource to nodes.
 8680        '''
 8681        self.healthy = healthy if healthy is not None else False
 8682        '''
 8683         True if the datasource is reachable and the credentials are valid.
 8684        '''
 8685        self.hostname = hostname if hostname is not None else ''
 8686        '''
 8687         The host to dial to initiate a connection from the egress node to this resource.
 8688        '''
 8689        self.id = id if id is not None else ''
 8690        '''
 8691         Unique identifier of the Resource.
 8692        '''
 8693        self.name = name if name is not None else ''
 8694        '''
 8695         Unique human-readable name of the Resource.
 8696        '''
 8697        self.override_database = override_database if override_database is not None else False
 8698        '''
 8699         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8700        '''
 8701        self.password = password if password is not None else ''
 8702        '''
 8703         The password to authenticate with.
 8704        '''
 8705        self.port = port if port is not None else 0
 8706        '''
 8707         The port to dial to initiate a connection from the egress node to this resource.
 8708        '''
 8709        self.port_override = port_override if port_override is not None else 0
 8710        '''
 8711         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8712        '''
 8713        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8714        '''
 8715         ID of the proxy cluster for this resource, if any.
 8716        '''
 8717        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8718        '''
 8719         ID of the secret store containing credentials for this resource, if any.
 8720        '''
 8721        self.subdomain = subdomain if subdomain is not None else ''
 8722        '''
 8723         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8724        '''
 8725        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8726        '''
 8727         Tags is a map of key, value pairs.
 8728        '''
 8729        self.username = username if username is not None else ''
 8730        '''
 8731         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.
 8732        '''
 8733
 8734    def __repr__(self):
 8735        return '<sdm.AzurePostgres ' + \
 8736            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8737            'database: ' + repr(self.database) + ' ' +\
 8738            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8739            'healthy: ' + repr(self.healthy) + ' ' +\
 8740            'hostname: ' + repr(self.hostname) + ' ' +\
 8741            'id: ' + repr(self.id) + ' ' +\
 8742            'name: ' + repr(self.name) + ' ' +\
 8743            'override_database: ' + repr(self.override_database) + ' ' +\
 8744            'password: ' + repr(self.password) + ' ' +\
 8745            'port: ' + repr(self.port) + ' ' +\
 8746            'port_override: ' + repr(self.port_override) + ' ' +\
 8747            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8748            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8749            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8750            'tags: ' + repr(self.tags) + ' ' +\
 8751            'username: ' + repr(self.username) + ' ' +\
 8752            '>'
 8753
 8754    def to_dict(self):
 8755        return {
 8756            'bind_interface': self.bind_interface,
 8757            'database': self.database,
 8758            'egress_filter': self.egress_filter,
 8759            'healthy': self.healthy,
 8760            'hostname': self.hostname,
 8761            'id': self.id,
 8762            'name': self.name,
 8763            'override_database': self.override_database,
 8764            'password': self.password,
 8765            'port': self.port,
 8766            'port_override': self.port_override,
 8767            'proxy_cluster_id': self.proxy_cluster_id,
 8768            'secret_store_id': self.secret_store_id,
 8769            'subdomain': self.subdomain,
 8770            'tags': self.tags,
 8771            'username': self.username,
 8772        }
 8773
 8774    @classmethod
 8775    def from_dict(cls, d):
 8776        return cls(
 8777            bind_interface=d.get('bind_interface'),
 8778            database=d.get('database'),
 8779            egress_filter=d.get('egress_filter'),
 8780            healthy=d.get('healthy'),
 8781            hostname=d.get('hostname'),
 8782            id=d.get('id'),
 8783            name=d.get('name'),
 8784            override_database=d.get('override_database'),
 8785            password=d.get('password'),
 8786            port=d.get('port'),
 8787            port_override=d.get('port_override'),
 8788            proxy_cluster_id=d.get('proxy_cluster_id'),
 8789            secret_store_id=d.get('secret_store_id'),
 8790            subdomain=d.get('subdomain'),
 8791            tags=d.get('tags'),
 8792            username=d.get('username'),
 8793        )
 8794
 8795
 8796class AzurePostgresManagedIdentity:
 8797    __slots__ = [
 8798        'bind_interface',
 8799        'database',
 8800        'egress_filter',
 8801        'healthy',
 8802        'hostname',
 8803        'id',
 8804        'name',
 8805        'override_database',
 8806        'password',
 8807        'port',
 8808        'port_override',
 8809        'proxy_cluster_id',
 8810        'secret_store_id',
 8811        'subdomain',
 8812        'tags',
 8813        'use_azure_single_server_usernames',
 8814        'username',
 8815    ]
 8816
 8817    def __init__(
 8818        self,
 8819        bind_interface=None,
 8820        database=None,
 8821        egress_filter=None,
 8822        healthy=None,
 8823        hostname=None,
 8824        id=None,
 8825        name=None,
 8826        override_database=None,
 8827        password=None,
 8828        port=None,
 8829        port_override=None,
 8830        proxy_cluster_id=None,
 8831        secret_store_id=None,
 8832        subdomain=None,
 8833        tags=None,
 8834        use_azure_single_server_usernames=None,
 8835        username=None,
 8836    ):
 8837        self.bind_interface = bind_interface if bind_interface is not None else ''
 8838        '''
 8839         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 8840        '''
 8841        self.database = database if database is not None else ''
 8842        '''
 8843         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 8844        '''
 8845        self.egress_filter = egress_filter if egress_filter is not None else ''
 8846        '''
 8847         A filter applied to the routing logic to pin datasource to nodes.
 8848        '''
 8849        self.healthy = healthy if healthy is not None else False
 8850        '''
 8851         True if the datasource is reachable and the credentials are valid.
 8852        '''
 8853        self.hostname = hostname if hostname is not None else ''
 8854        '''
 8855         The host to dial to initiate a connection from the egress node to this resource.
 8856        '''
 8857        self.id = id if id is not None else ''
 8858        '''
 8859         Unique identifier of the Resource.
 8860        '''
 8861        self.name = name if name is not None else ''
 8862        '''
 8863         Unique human-readable name of the Resource.
 8864        '''
 8865        self.override_database = override_database if override_database is not None else False
 8866        '''
 8867         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 8868        '''
 8869        self.password = password if password is not None else ''
 8870        '''
 8871         The password to authenticate with.
 8872        '''
 8873        self.port = port if port is not None else 0
 8874        '''
 8875         The port to dial to initiate a connection from the egress node to this resource.
 8876        '''
 8877        self.port_override = port_override if port_override is not None else 0
 8878        '''
 8879         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 8880        '''
 8881        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 8882        '''
 8883         ID of the proxy cluster for this resource, if any.
 8884        '''
 8885        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 8886        '''
 8887         ID of the secret store containing credentials for this resource, if any.
 8888        '''
 8889        self.subdomain = subdomain if subdomain is not None else ''
 8890        '''
 8891         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 8892        '''
 8893        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8894        '''
 8895         Tags is a map of key, value pairs.
 8896        '''
 8897        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
 8898        '''
 8899         If true, appends the hostname to the username when hitting a database.azure.com address
 8900        '''
 8901        self.username = username if username is not None else ''
 8902        '''
 8903         The username to authenticate with.
 8904        '''
 8905
 8906    def __repr__(self):
 8907        return '<sdm.AzurePostgresManagedIdentity ' + \
 8908            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 8909            'database: ' + repr(self.database) + ' ' +\
 8910            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 8911            'healthy: ' + repr(self.healthy) + ' ' +\
 8912            'hostname: ' + repr(self.hostname) + ' ' +\
 8913            'id: ' + repr(self.id) + ' ' +\
 8914            'name: ' + repr(self.name) + ' ' +\
 8915            'override_database: ' + repr(self.override_database) + ' ' +\
 8916            'password: ' + repr(self.password) + ' ' +\
 8917            'port: ' + repr(self.port) + ' ' +\
 8918            'port_override: ' + repr(self.port_override) + ' ' +\
 8919            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 8920            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 8921            'subdomain: ' + repr(self.subdomain) + ' ' +\
 8922            'tags: ' + repr(self.tags) + ' ' +\
 8923            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
 8924            'username: ' + repr(self.username) + ' ' +\
 8925            '>'
 8926
 8927    def to_dict(self):
 8928        return {
 8929            'bind_interface': self.bind_interface,
 8930            'database': self.database,
 8931            'egress_filter': self.egress_filter,
 8932            'healthy': self.healthy,
 8933            'hostname': self.hostname,
 8934            'id': self.id,
 8935            'name': self.name,
 8936            'override_database': self.override_database,
 8937            'password': self.password,
 8938            'port': self.port,
 8939            'port_override': self.port_override,
 8940            'proxy_cluster_id': self.proxy_cluster_id,
 8941            'secret_store_id': self.secret_store_id,
 8942            'subdomain': self.subdomain,
 8943            'tags': self.tags,
 8944            'use_azure_single_server_usernames':
 8945            self.use_azure_single_server_usernames,
 8946            'username': self.username,
 8947        }
 8948
 8949    @classmethod
 8950    def from_dict(cls, d):
 8951        return cls(
 8952            bind_interface=d.get('bind_interface'),
 8953            database=d.get('database'),
 8954            egress_filter=d.get('egress_filter'),
 8955            healthy=d.get('healthy'),
 8956            hostname=d.get('hostname'),
 8957            id=d.get('id'),
 8958            name=d.get('name'),
 8959            override_database=d.get('override_database'),
 8960            password=d.get('password'),
 8961            port=d.get('port'),
 8962            port_override=d.get('port_override'),
 8963            proxy_cluster_id=d.get('proxy_cluster_id'),
 8964            secret_store_id=d.get('secret_store_id'),
 8965            subdomain=d.get('subdomain'),
 8966            tags=d.get('tags'),
 8967            use_azure_single_server_usernames=d.get(
 8968                'use_azure_single_server_usernames'),
 8969            username=d.get('username'),
 8970        )
 8971
 8972
 8973class AzureStore:
 8974    __slots__ = [
 8975        'id',
 8976        'name',
 8977        'tags',
 8978        'vault_uri',
 8979    ]
 8980
 8981    def __init__(
 8982        self,
 8983        id=None,
 8984        name=None,
 8985        tags=None,
 8986        vault_uri=None,
 8987    ):
 8988        self.id = id if id is not None else ''
 8989        '''
 8990         Unique identifier of the SecretStore.
 8991        '''
 8992        self.name = name if name is not None else ''
 8993        '''
 8994         Unique human-readable name of the SecretStore.
 8995        '''
 8996        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 8997        '''
 8998         Tags is a map of key, value pairs.
 8999        '''
 9000        self.vault_uri = vault_uri if vault_uri is not None else ''
 9001        '''
 9002         The URI of the key vault to target e.g. https://myvault.vault.azure.net
 9003        '''
 9004
 9005    def __repr__(self):
 9006        return '<sdm.AzureStore ' + \
 9007            'id: ' + repr(self.id) + ' ' +\
 9008            'name: ' + repr(self.name) + ' ' +\
 9009            'tags: ' + repr(self.tags) + ' ' +\
 9010            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
 9011            '>'
 9012
 9013    def to_dict(self):
 9014        return {
 9015            'id': self.id,
 9016            'name': self.name,
 9017            'tags': self.tags,
 9018            'vault_uri': self.vault_uri,
 9019        }
 9020
 9021    @classmethod
 9022    def from_dict(cls, d):
 9023        return cls(
 9024            id=d.get('id'),
 9025            name=d.get('name'),
 9026            tags=d.get('tags'),
 9027            vault_uri=d.get('vault_uri'),
 9028        )
 9029
 9030
 9031class BigQuery:
 9032    __slots__ = [
 9033        'bind_interface',
 9034        'egress_filter',
 9035        'endpoint',
 9036        'healthy',
 9037        'id',
 9038        'name',
 9039        'port_override',
 9040        'private_key',
 9041        'project',
 9042        'proxy_cluster_id',
 9043        'secret_store_id',
 9044        'subdomain',
 9045        'tags',
 9046        'username',
 9047    ]
 9048
 9049    def __init__(
 9050        self,
 9051        bind_interface=None,
 9052        egress_filter=None,
 9053        endpoint=None,
 9054        healthy=None,
 9055        id=None,
 9056        name=None,
 9057        port_override=None,
 9058        private_key=None,
 9059        project=None,
 9060        proxy_cluster_id=None,
 9061        secret_store_id=None,
 9062        subdomain=None,
 9063        tags=None,
 9064        username=None,
 9065    ):
 9066        self.bind_interface = bind_interface if bind_interface is not None else ''
 9067        '''
 9068         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9069        '''
 9070        self.egress_filter = egress_filter if egress_filter is not None else ''
 9071        '''
 9072         A filter applied to the routing logic to pin datasource to nodes.
 9073        '''
 9074        self.endpoint = endpoint if endpoint is not None else ''
 9075        '''
 9076         The endpoint to dial.
 9077        '''
 9078        self.healthy = healthy if healthy is not None else False
 9079        '''
 9080         True if the datasource is reachable and the credentials are valid.
 9081        '''
 9082        self.id = id if id is not None else ''
 9083        '''
 9084         Unique identifier of the Resource.
 9085        '''
 9086        self.name = name if name is not None else ''
 9087        '''
 9088         Unique human-readable name of the Resource.
 9089        '''
 9090        self.port_override = port_override if port_override is not None else 0
 9091        '''
 9092         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9093        '''
 9094        self.private_key = private_key if private_key is not None else ''
 9095        '''
 9096         The JSON Private key to authenticate with.
 9097        '''
 9098        self.project = project if project is not None else ''
 9099        '''
 9100         The project to connect to.
 9101        '''
 9102        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9103        '''
 9104         ID of the proxy cluster for this resource, if any.
 9105        '''
 9106        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9107        '''
 9108         ID of the secret store containing credentials for this resource, if any.
 9109        '''
 9110        self.subdomain = subdomain if subdomain is not None else ''
 9111        '''
 9112         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9113        '''
 9114        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9115        '''
 9116         Tags is a map of key, value pairs.
 9117        '''
 9118        self.username = username if username is not None else ''
 9119        '''
 9120         The username to authenticate with.
 9121        '''
 9122
 9123    def __repr__(self):
 9124        return '<sdm.BigQuery ' + \
 9125            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9126            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9127            'endpoint: ' + repr(self.endpoint) + ' ' +\
 9128            'healthy: ' + repr(self.healthy) + ' ' +\
 9129            'id: ' + repr(self.id) + ' ' +\
 9130            'name: ' + repr(self.name) + ' ' +\
 9131            'port_override: ' + repr(self.port_override) + ' ' +\
 9132            'private_key: ' + repr(self.private_key) + ' ' +\
 9133            'project: ' + repr(self.project) + ' ' +\
 9134            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9135            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9136            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9137            'tags: ' + repr(self.tags) + ' ' +\
 9138            'username: ' + repr(self.username) + ' ' +\
 9139            '>'
 9140
 9141    def to_dict(self):
 9142        return {
 9143            'bind_interface': self.bind_interface,
 9144            'egress_filter': self.egress_filter,
 9145            'endpoint': self.endpoint,
 9146            'healthy': self.healthy,
 9147            'id': self.id,
 9148            'name': self.name,
 9149            'port_override': self.port_override,
 9150            'private_key': self.private_key,
 9151            'project': self.project,
 9152            'proxy_cluster_id': self.proxy_cluster_id,
 9153            'secret_store_id': self.secret_store_id,
 9154            'subdomain': self.subdomain,
 9155            'tags': self.tags,
 9156            'username': self.username,
 9157        }
 9158
 9159    @classmethod
 9160    def from_dict(cls, d):
 9161        return cls(
 9162            bind_interface=d.get('bind_interface'),
 9163            egress_filter=d.get('egress_filter'),
 9164            endpoint=d.get('endpoint'),
 9165            healthy=d.get('healthy'),
 9166            id=d.get('id'),
 9167            name=d.get('name'),
 9168            port_override=d.get('port_override'),
 9169            private_key=d.get('private_key'),
 9170            project=d.get('project'),
 9171            proxy_cluster_id=d.get('proxy_cluster_id'),
 9172            secret_store_id=d.get('secret_store_id'),
 9173            subdomain=d.get('subdomain'),
 9174            tags=d.get('tags'),
 9175            username=d.get('username'),
 9176        )
 9177
 9178
 9179class Cassandra:
 9180    __slots__ = [
 9181        'bind_interface',
 9182        'egress_filter',
 9183        'healthy',
 9184        'hostname',
 9185        'id',
 9186        'name',
 9187        'password',
 9188        'port',
 9189        'port_override',
 9190        'proxy_cluster_id',
 9191        'secret_store_id',
 9192        'subdomain',
 9193        'tags',
 9194        'tls_required',
 9195        'username',
 9196    ]
 9197
 9198    def __init__(
 9199        self,
 9200        bind_interface=None,
 9201        egress_filter=None,
 9202        healthy=None,
 9203        hostname=None,
 9204        id=None,
 9205        name=None,
 9206        password=None,
 9207        port=None,
 9208        port_override=None,
 9209        proxy_cluster_id=None,
 9210        secret_store_id=None,
 9211        subdomain=None,
 9212        tags=None,
 9213        tls_required=None,
 9214        username=None,
 9215    ):
 9216        self.bind_interface = bind_interface if bind_interface is not None else ''
 9217        '''
 9218         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9219        '''
 9220        self.egress_filter = egress_filter if egress_filter is not None else ''
 9221        '''
 9222         A filter applied to the routing logic to pin datasource to nodes.
 9223        '''
 9224        self.healthy = healthy if healthy is not None else False
 9225        '''
 9226         True if the datasource is reachable and the credentials are valid.
 9227        '''
 9228        self.hostname = hostname if hostname is not None else ''
 9229        '''
 9230         The host to dial to initiate a connection from the egress node to this resource.
 9231        '''
 9232        self.id = id if id is not None else ''
 9233        '''
 9234         Unique identifier of the Resource.
 9235        '''
 9236        self.name = name if name is not None else ''
 9237        '''
 9238         Unique human-readable name of the Resource.
 9239        '''
 9240        self.password = password if password is not None else ''
 9241        '''
 9242         The password to authenticate with.
 9243        '''
 9244        self.port = port if port is not None else 0
 9245        '''
 9246         The port to dial to initiate a connection from the egress node to this resource.
 9247        '''
 9248        self.port_override = port_override if port_override is not None else 0
 9249        '''
 9250         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9251        '''
 9252        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9253        '''
 9254         ID of the proxy cluster for this resource, if any.
 9255        '''
 9256        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9257        '''
 9258         ID of the secret store containing credentials for this resource, if any.
 9259        '''
 9260        self.subdomain = subdomain if subdomain is not None else ''
 9261        '''
 9262         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9263        '''
 9264        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9265        '''
 9266         Tags is a map of key, value pairs.
 9267        '''
 9268        self.tls_required = tls_required if tls_required is not None else False
 9269        '''
 9270         If set, TLS must be used to connect to this resource.
 9271        '''
 9272        self.username = username if username is not None else ''
 9273        '''
 9274         The username to authenticate with.
 9275        '''
 9276
 9277    def __repr__(self):
 9278        return '<sdm.Cassandra ' + \
 9279            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9280            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9281            'healthy: ' + repr(self.healthy) + ' ' +\
 9282            'hostname: ' + repr(self.hostname) + ' ' +\
 9283            'id: ' + repr(self.id) + ' ' +\
 9284            'name: ' + repr(self.name) + ' ' +\
 9285            'password: ' + repr(self.password) + ' ' +\
 9286            'port: ' + repr(self.port) + ' ' +\
 9287            'port_override: ' + repr(self.port_override) + ' ' +\
 9288            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9289            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9290            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9291            'tags: ' + repr(self.tags) + ' ' +\
 9292            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9293            'username: ' + repr(self.username) + ' ' +\
 9294            '>'
 9295
 9296    def to_dict(self):
 9297        return {
 9298            'bind_interface': self.bind_interface,
 9299            'egress_filter': self.egress_filter,
 9300            'healthy': self.healthy,
 9301            'hostname': self.hostname,
 9302            'id': self.id,
 9303            'name': self.name,
 9304            'password': self.password,
 9305            'port': self.port,
 9306            'port_override': self.port_override,
 9307            'proxy_cluster_id': self.proxy_cluster_id,
 9308            'secret_store_id': self.secret_store_id,
 9309            'subdomain': self.subdomain,
 9310            'tags': self.tags,
 9311            'tls_required': self.tls_required,
 9312            'username': self.username,
 9313        }
 9314
 9315    @classmethod
 9316    def from_dict(cls, d):
 9317        return cls(
 9318            bind_interface=d.get('bind_interface'),
 9319            egress_filter=d.get('egress_filter'),
 9320            healthy=d.get('healthy'),
 9321            hostname=d.get('hostname'),
 9322            id=d.get('id'),
 9323            name=d.get('name'),
 9324            password=d.get('password'),
 9325            port=d.get('port'),
 9326            port_override=d.get('port_override'),
 9327            proxy_cluster_id=d.get('proxy_cluster_id'),
 9328            secret_store_id=d.get('secret_store_id'),
 9329            subdomain=d.get('subdomain'),
 9330            tags=d.get('tags'),
 9331            tls_required=d.get('tls_required'),
 9332            username=d.get('username'),
 9333        )
 9334
 9335
 9336class Citus:
 9337    __slots__ = [
 9338        'bind_interface',
 9339        'database',
 9340        'egress_filter',
 9341        'healthy',
 9342        'hostname',
 9343        'id',
 9344        'name',
 9345        'override_database',
 9346        'password',
 9347        'port',
 9348        'port_override',
 9349        'proxy_cluster_id',
 9350        'secret_store_id',
 9351        'subdomain',
 9352        'tags',
 9353        'username',
 9354    ]
 9355
 9356    def __init__(
 9357        self,
 9358        bind_interface=None,
 9359        database=None,
 9360        egress_filter=None,
 9361        healthy=None,
 9362        hostname=None,
 9363        id=None,
 9364        name=None,
 9365        override_database=None,
 9366        password=None,
 9367        port=None,
 9368        port_override=None,
 9369        proxy_cluster_id=None,
 9370        secret_store_id=None,
 9371        subdomain=None,
 9372        tags=None,
 9373        username=None,
 9374    ):
 9375        self.bind_interface = bind_interface if bind_interface is not None else ''
 9376        '''
 9377         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9378        '''
 9379        self.database = database if database is not None else ''
 9380        '''
 9381         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9382        '''
 9383        self.egress_filter = egress_filter if egress_filter is not None else ''
 9384        '''
 9385         A filter applied to the routing logic to pin datasource to nodes.
 9386        '''
 9387        self.healthy = healthy if healthy is not None else False
 9388        '''
 9389         True if the datasource is reachable and the credentials are valid.
 9390        '''
 9391        self.hostname = hostname if hostname is not None else ''
 9392        '''
 9393         The host to dial to initiate a connection from the egress node to this resource.
 9394        '''
 9395        self.id = id if id is not None else ''
 9396        '''
 9397         Unique identifier of the Resource.
 9398        '''
 9399        self.name = name if name is not None else ''
 9400        '''
 9401         Unique human-readable name of the Resource.
 9402        '''
 9403        self.override_database = override_database if override_database is not None else False
 9404        '''
 9405         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
 9406        '''
 9407        self.password = password if password is not None else ''
 9408        '''
 9409         The password to authenticate with.
 9410        '''
 9411        self.port = port if port is not None else 0
 9412        '''
 9413         The port to dial to initiate a connection from the egress node to this resource.
 9414        '''
 9415        self.port_override = port_override if port_override is not None else 0
 9416        '''
 9417         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9418        '''
 9419        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9420        '''
 9421         ID of the proxy cluster for this resource, if any.
 9422        '''
 9423        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9424        '''
 9425         ID of the secret store containing credentials for this resource, if any.
 9426        '''
 9427        self.subdomain = subdomain if subdomain is not None else ''
 9428        '''
 9429         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9430        '''
 9431        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9432        '''
 9433         Tags is a map of key, value pairs.
 9434        '''
 9435        self.username = username if username is not None else ''
 9436        '''
 9437         The username to authenticate with.
 9438        '''
 9439
 9440    def __repr__(self):
 9441        return '<sdm.Citus ' + \
 9442            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9443            'database: ' + repr(self.database) + ' ' +\
 9444            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9445            'healthy: ' + repr(self.healthy) + ' ' +\
 9446            'hostname: ' + repr(self.hostname) + ' ' +\
 9447            'id: ' + repr(self.id) + ' ' +\
 9448            'name: ' + repr(self.name) + ' ' +\
 9449            'override_database: ' + repr(self.override_database) + ' ' +\
 9450            'password: ' + repr(self.password) + ' ' +\
 9451            'port: ' + repr(self.port) + ' ' +\
 9452            'port_override: ' + repr(self.port_override) + ' ' +\
 9453            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9454            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9455            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9456            'tags: ' + repr(self.tags) + ' ' +\
 9457            'username: ' + repr(self.username) + ' ' +\
 9458            '>'
 9459
 9460    def to_dict(self):
 9461        return {
 9462            'bind_interface': self.bind_interface,
 9463            'database': self.database,
 9464            'egress_filter': self.egress_filter,
 9465            'healthy': self.healthy,
 9466            'hostname': self.hostname,
 9467            'id': self.id,
 9468            'name': self.name,
 9469            'override_database': self.override_database,
 9470            'password': self.password,
 9471            'port': self.port,
 9472            'port_override': self.port_override,
 9473            'proxy_cluster_id': self.proxy_cluster_id,
 9474            'secret_store_id': self.secret_store_id,
 9475            'subdomain': self.subdomain,
 9476            'tags': self.tags,
 9477            'username': self.username,
 9478        }
 9479
 9480    @classmethod
 9481    def from_dict(cls, d):
 9482        return cls(
 9483            bind_interface=d.get('bind_interface'),
 9484            database=d.get('database'),
 9485            egress_filter=d.get('egress_filter'),
 9486            healthy=d.get('healthy'),
 9487            hostname=d.get('hostname'),
 9488            id=d.get('id'),
 9489            name=d.get('name'),
 9490            override_database=d.get('override_database'),
 9491            password=d.get('password'),
 9492            port=d.get('port'),
 9493            port_override=d.get('port_override'),
 9494            proxy_cluster_id=d.get('proxy_cluster_id'),
 9495            secret_store_id=d.get('secret_store_id'),
 9496            subdomain=d.get('subdomain'),
 9497            tags=d.get('tags'),
 9498            username=d.get('username'),
 9499        )
 9500
 9501
 9502class ClickHouseHTTP:
 9503    __slots__ = [
 9504        'bind_interface',
 9505        'database',
 9506        'egress_filter',
 9507        'healthy',
 9508        'id',
 9509        'name',
 9510        'password',
 9511        'port_override',
 9512        'proxy_cluster_id',
 9513        'secret_store_id',
 9514        'tags',
 9515        'url',
 9516        'username',
 9517    ]
 9518
 9519    def __init__(
 9520        self,
 9521        bind_interface=None,
 9522        database=None,
 9523        egress_filter=None,
 9524        healthy=None,
 9525        id=None,
 9526        name=None,
 9527        password=None,
 9528        port_override=None,
 9529        proxy_cluster_id=None,
 9530        secret_store_id=None,
 9531        tags=None,
 9532        url=None,
 9533        username=None,
 9534    ):
 9535        self.bind_interface = bind_interface if bind_interface is not None else ''
 9536        '''
 9537         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9538        '''
 9539        self.database = database if database is not None else ''
 9540        '''
 9541         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9542        '''
 9543        self.egress_filter = egress_filter if egress_filter is not None else ''
 9544        '''
 9545         A filter applied to the routing logic to pin datasource to nodes.
 9546        '''
 9547        self.healthy = healthy if healthy is not None else False
 9548        '''
 9549         True if the datasource is reachable and the credentials are valid.
 9550        '''
 9551        self.id = id if id is not None else ''
 9552        '''
 9553         Unique identifier of the Resource.
 9554        '''
 9555        self.name = name if name is not None else ''
 9556        '''
 9557         Unique human-readable name of the Resource.
 9558        '''
 9559        self.password = password if password is not None else ''
 9560        '''
 9561         The password to authenticate with.
 9562        '''
 9563        self.port_override = port_override if port_override is not None else 0
 9564        '''
 9565         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9566        '''
 9567        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9568        '''
 9569         ID of the proxy cluster for this resource, if any.
 9570        '''
 9571        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9572        '''
 9573         ID of the secret store containing credentials for this resource, if any.
 9574        '''
 9575        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9576        '''
 9577         Tags is a map of key, value pairs.
 9578        '''
 9579        self.url = url if url is not None else ''
 9580        '''
 9581         The URL to dial to initiate a connection from the egress node to this resource.
 9582        '''
 9583        self.username = username if username is not None else ''
 9584        '''
 9585         The username to authenticate with.
 9586        '''
 9587
 9588    def __repr__(self):
 9589        return '<sdm.ClickHouseHTTP ' + \
 9590            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9591            'database: ' + repr(self.database) + ' ' +\
 9592            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9593            'healthy: ' + repr(self.healthy) + ' ' +\
 9594            'id: ' + repr(self.id) + ' ' +\
 9595            'name: ' + repr(self.name) + ' ' +\
 9596            'password: ' + repr(self.password) + ' ' +\
 9597            'port_override: ' + repr(self.port_override) + ' ' +\
 9598            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9599            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9600            'tags: ' + repr(self.tags) + ' ' +\
 9601            'url: ' + repr(self.url) + ' ' +\
 9602            'username: ' + repr(self.username) + ' ' +\
 9603            '>'
 9604
 9605    def to_dict(self):
 9606        return {
 9607            'bind_interface': self.bind_interface,
 9608            'database': self.database,
 9609            'egress_filter': self.egress_filter,
 9610            'healthy': self.healthy,
 9611            'id': self.id,
 9612            'name': self.name,
 9613            'password': self.password,
 9614            'port_override': self.port_override,
 9615            'proxy_cluster_id': self.proxy_cluster_id,
 9616            'secret_store_id': self.secret_store_id,
 9617            'tags': self.tags,
 9618            'url': self.url,
 9619            'username': self.username,
 9620        }
 9621
 9622    @classmethod
 9623    def from_dict(cls, d):
 9624        return cls(
 9625            bind_interface=d.get('bind_interface'),
 9626            database=d.get('database'),
 9627            egress_filter=d.get('egress_filter'),
 9628            healthy=d.get('healthy'),
 9629            id=d.get('id'),
 9630            name=d.get('name'),
 9631            password=d.get('password'),
 9632            port_override=d.get('port_override'),
 9633            proxy_cluster_id=d.get('proxy_cluster_id'),
 9634            secret_store_id=d.get('secret_store_id'),
 9635            tags=d.get('tags'),
 9636            url=d.get('url'),
 9637            username=d.get('username'),
 9638        )
 9639
 9640
 9641class ClickHouseMySQL:
 9642    __slots__ = [
 9643        'bind_interface',
 9644        'database',
 9645        'egress_filter',
 9646        'healthy',
 9647        'hostname',
 9648        'id',
 9649        'name',
 9650        'password',
 9651        'port',
 9652        'port_override',
 9653        'proxy_cluster_id',
 9654        'require_native_auth',
 9655        'secret_store_id',
 9656        'subdomain',
 9657        'tags',
 9658        'username',
 9659    ]
 9660
 9661    def __init__(
 9662        self,
 9663        bind_interface=None,
 9664        database=None,
 9665        egress_filter=None,
 9666        healthy=None,
 9667        hostname=None,
 9668        id=None,
 9669        name=None,
 9670        password=None,
 9671        port=None,
 9672        port_override=None,
 9673        proxy_cluster_id=None,
 9674        require_native_auth=None,
 9675        secret_store_id=None,
 9676        subdomain=None,
 9677        tags=None,
 9678        username=None,
 9679    ):
 9680        self.bind_interface = bind_interface if bind_interface is not None else ''
 9681        '''
 9682         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9683        '''
 9684        self.database = database if database is not None else ''
 9685        '''
 9686         The database for healthchecks. Does not affect client requests.
 9687        '''
 9688        self.egress_filter = egress_filter if egress_filter is not None else ''
 9689        '''
 9690         A filter applied to the routing logic to pin datasource to nodes.
 9691        '''
 9692        self.healthy = healthy if healthy is not None else False
 9693        '''
 9694         True if the datasource is reachable and the credentials are valid.
 9695        '''
 9696        self.hostname = hostname if hostname is not None else ''
 9697        '''
 9698         The host to dial to initiate a connection from the egress node to this resource.
 9699        '''
 9700        self.id = id if id is not None else ''
 9701        '''
 9702         Unique identifier of the Resource.
 9703        '''
 9704        self.name = name if name is not None else ''
 9705        '''
 9706         Unique human-readable name of the Resource.
 9707        '''
 9708        self.password = password if password is not None else ''
 9709        '''
 9710         The password to authenticate with.
 9711        '''
 9712        self.port = port if port is not None else 0
 9713        '''
 9714         The port to dial to initiate a connection from the egress node to this resource.
 9715        '''
 9716        self.port_override = port_override if port_override is not None else 0
 9717        '''
 9718         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9719        '''
 9720        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9721        '''
 9722         ID of the proxy cluster for this resource, if any.
 9723        '''
 9724        self.require_native_auth = require_native_auth if require_native_auth is not None else False
 9725        '''
 9726         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
 9727        '''
 9728        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9729        '''
 9730         ID of the secret store containing credentials for this resource, if any.
 9731        '''
 9732        self.subdomain = subdomain if subdomain is not None else ''
 9733        '''
 9734         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9735        '''
 9736        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9737        '''
 9738         Tags is a map of key, value pairs.
 9739        '''
 9740        self.username = username if username is not None else ''
 9741        '''
 9742         The username to authenticate with.
 9743        '''
 9744
 9745    def __repr__(self):
 9746        return '<sdm.ClickHouseMySQL ' + \
 9747            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9748            'database: ' + repr(self.database) + ' ' +\
 9749            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9750            'healthy: ' + repr(self.healthy) + ' ' +\
 9751            'hostname: ' + repr(self.hostname) + ' ' +\
 9752            'id: ' + repr(self.id) + ' ' +\
 9753            'name: ' + repr(self.name) + ' ' +\
 9754            'password: ' + repr(self.password) + ' ' +\
 9755            'port: ' + repr(self.port) + ' ' +\
 9756            'port_override: ' + repr(self.port_override) + ' ' +\
 9757            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9758            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
 9759            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9760            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9761            'tags: ' + repr(self.tags) + ' ' +\
 9762            'username: ' + repr(self.username) + ' ' +\
 9763            '>'
 9764
 9765    def to_dict(self):
 9766        return {
 9767            'bind_interface': self.bind_interface,
 9768            'database': self.database,
 9769            'egress_filter': self.egress_filter,
 9770            'healthy': self.healthy,
 9771            'hostname': self.hostname,
 9772            'id': self.id,
 9773            'name': self.name,
 9774            'password': self.password,
 9775            'port': self.port,
 9776            'port_override': self.port_override,
 9777            'proxy_cluster_id': self.proxy_cluster_id,
 9778            'require_native_auth': self.require_native_auth,
 9779            'secret_store_id': self.secret_store_id,
 9780            'subdomain': self.subdomain,
 9781            'tags': self.tags,
 9782            'username': self.username,
 9783        }
 9784
 9785    @classmethod
 9786    def from_dict(cls, d):
 9787        return cls(
 9788            bind_interface=d.get('bind_interface'),
 9789            database=d.get('database'),
 9790            egress_filter=d.get('egress_filter'),
 9791            healthy=d.get('healthy'),
 9792            hostname=d.get('hostname'),
 9793            id=d.get('id'),
 9794            name=d.get('name'),
 9795            password=d.get('password'),
 9796            port=d.get('port'),
 9797            port_override=d.get('port_override'),
 9798            proxy_cluster_id=d.get('proxy_cluster_id'),
 9799            require_native_auth=d.get('require_native_auth'),
 9800            secret_store_id=d.get('secret_store_id'),
 9801            subdomain=d.get('subdomain'),
 9802            tags=d.get('tags'),
 9803            username=d.get('username'),
 9804        )
 9805
 9806
 9807class ClickHouseTCP:
 9808    __slots__ = [
 9809        'bind_interface',
 9810        'database',
 9811        'egress_filter',
 9812        'healthy',
 9813        'hostname',
 9814        'id',
 9815        'name',
 9816        'password',
 9817        'port',
 9818        'port_override',
 9819        'proxy_cluster_id',
 9820        'secret_store_id',
 9821        'subdomain',
 9822        'tags',
 9823        'tls_required',
 9824        'username',
 9825    ]
 9826
 9827    def __init__(
 9828        self,
 9829        bind_interface=None,
 9830        database=None,
 9831        egress_filter=None,
 9832        healthy=None,
 9833        hostname=None,
 9834        id=None,
 9835        name=None,
 9836        password=None,
 9837        port=None,
 9838        port_override=None,
 9839        proxy_cluster_id=None,
 9840        secret_store_id=None,
 9841        subdomain=None,
 9842        tags=None,
 9843        tls_required=None,
 9844        username=None,
 9845    ):
 9846        self.bind_interface = bind_interface if bind_interface is not None else ''
 9847        '''
 9848         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 9849        '''
 9850        self.database = database if database is not None else ''
 9851        '''
 9852         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
 9853        '''
 9854        self.egress_filter = egress_filter if egress_filter is not None else ''
 9855        '''
 9856         A filter applied to the routing logic to pin datasource to nodes.
 9857        '''
 9858        self.healthy = healthy if healthy is not None else False
 9859        '''
 9860         True if the datasource is reachable and the credentials are valid.
 9861        '''
 9862        self.hostname = hostname if hostname is not None else ''
 9863        '''
 9864         The host to dial to initiate a connection from the egress node to this resource.
 9865        '''
 9866        self.id = id if id is not None else ''
 9867        '''
 9868         Unique identifier of the Resource.
 9869        '''
 9870        self.name = name if name is not None else ''
 9871        '''
 9872         Unique human-readable name of the Resource.
 9873        '''
 9874        self.password = password if password is not None else ''
 9875        '''
 9876         The password to authenticate with.
 9877        '''
 9878        self.port = port if port is not None else 0
 9879        '''
 9880         The port to dial to initiate a connection from the egress node to this resource.
 9881        '''
 9882        self.port_override = port_override if port_override is not None else 0
 9883        '''
 9884         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 9885        '''
 9886        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 9887        '''
 9888         ID of the proxy cluster for this resource, if any.
 9889        '''
 9890        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 9891        '''
 9892         ID of the secret store containing credentials for this resource, if any.
 9893        '''
 9894        self.subdomain = subdomain if subdomain is not None else ''
 9895        '''
 9896         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
 9897        '''
 9898        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
 9899        '''
 9900         Tags is a map of key, value pairs.
 9901        '''
 9902        self.tls_required = tls_required if tls_required is not None else False
 9903        '''
 9904         If set, TLS must be used to connect to this resource.
 9905        '''
 9906        self.username = username if username is not None else ''
 9907        '''
 9908         The username to authenticate with.
 9909        '''
 9910
 9911    def __repr__(self):
 9912        return '<sdm.ClickHouseTCP ' + \
 9913            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
 9914            'database: ' + repr(self.database) + ' ' +\
 9915            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
 9916            'healthy: ' + repr(self.healthy) + ' ' +\
 9917            'hostname: ' + repr(self.hostname) + ' ' +\
 9918            'id: ' + repr(self.id) + ' ' +\
 9919            'name: ' + repr(self.name) + ' ' +\
 9920            'password: ' + repr(self.password) + ' ' +\
 9921            'port: ' + repr(self.port) + ' ' +\
 9922            'port_override: ' + repr(self.port_override) + ' ' +\
 9923            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
 9924            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
 9925            'subdomain: ' + repr(self.subdomain) + ' ' +\
 9926            'tags: ' + repr(self.tags) + ' ' +\
 9927            'tls_required: ' + repr(self.tls_required) + ' ' +\
 9928            'username: ' + repr(self.username) + ' ' +\
 9929            '>'
 9930
 9931    def to_dict(self):
 9932        return {
 9933            'bind_interface': self.bind_interface,
 9934            'database': self.database,
 9935            'egress_filter': self.egress_filter,
 9936            'healthy': self.healthy,
 9937            'hostname': self.hostname,
 9938            'id': self.id,
 9939            'name': self.name,
 9940            'password': self.password,
 9941            'port': self.port,
 9942            'port_override': self.port_override,
 9943            'proxy_cluster_id': self.proxy_cluster_id,
 9944            'secret_store_id': self.secret_store_id,
 9945            'subdomain': self.subdomain,
 9946            'tags': self.tags,
 9947            'tls_required': self.tls_required,
 9948            'username': self.username,
 9949        }
 9950
 9951    @classmethod
 9952    def from_dict(cls, d):
 9953        return cls(
 9954            bind_interface=d.get('bind_interface'),
 9955            database=d.get('database'),
 9956            egress_filter=d.get('egress_filter'),
 9957            healthy=d.get('healthy'),
 9958            hostname=d.get('hostname'),
 9959            id=d.get('id'),
 9960            name=d.get('name'),
 9961            password=d.get('password'),
 9962            port=d.get('port'),
 9963            port_override=d.get('port_override'),
 9964            proxy_cluster_id=d.get('proxy_cluster_id'),
 9965            secret_store_id=d.get('secret_store_id'),
 9966            subdomain=d.get('subdomain'),
 9967            tags=d.get('tags'),
 9968            tls_required=d.get('tls_required'),
 9969            username=d.get('username'),
 9970        )
 9971
 9972
 9973class Clustrix:
 9974    __slots__ = [
 9975        'bind_interface',
 9976        'database',
 9977        'egress_filter',
 9978        'healthy',
 9979        'hostname',
 9980        'id',
 9981        'name',
 9982        'password',
 9983        'port',
 9984        'port_override',
 9985        'proxy_cluster_id',
 9986        'require_native_auth',
 9987        'secret_store_id',
 9988        'subdomain',
 9989        'tags',
 9990        'use_azure_single_server_usernames',
 9991        'username',
 9992    ]
 9993
 9994    def __init__(
 9995        self,
 9996        bind_interface=None,
 9997        database=None,
 9998        egress_filter=None,
 9999        healthy=None,
10000        hostname=None,
10001        id=None,
10002        name=None,
10003        password=None,
10004        port=None,
10005        port_override=None,
10006        proxy_cluster_id=None,
10007        require_native_auth=None,
10008        secret_store_id=None,
10009        subdomain=None,
10010        tags=None,
10011        use_azure_single_server_usernames=None,
10012        username=None,
10013    ):
10014        self.bind_interface = bind_interface if bind_interface is not None else ''
10015        '''
10016         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10017        '''
10018        self.database = database if database is not None else ''
10019        '''
10020         The database for healthchecks. Does not affect client requests.
10021        '''
10022        self.egress_filter = egress_filter if egress_filter is not None else ''
10023        '''
10024         A filter applied to the routing logic to pin datasource to nodes.
10025        '''
10026        self.healthy = healthy if healthy is not None else False
10027        '''
10028         True if the datasource is reachable and the credentials are valid.
10029        '''
10030        self.hostname = hostname if hostname is not None else ''
10031        '''
10032         The host to dial to initiate a connection from the egress node to this resource.
10033        '''
10034        self.id = id if id is not None else ''
10035        '''
10036         Unique identifier of the Resource.
10037        '''
10038        self.name = name if name is not None else ''
10039        '''
10040         Unique human-readable name of the Resource.
10041        '''
10042        self.password = password if password is not None else ''
10043        '''
10044         The password to authenticate with.
10045        '''
10046        self.port = port if port is not None else 0
10047        '''
10048         The port to dial to initiate a connection from the egress node to this resource.
10049        '''
10050        self.port_override = port_override if port_override is not None else 0
10051        '''
10052         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10053        '''
10054        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10055        '''
10056         ID of the proxy cluster for this resource, if any.
10057        '''
10058        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10059        '''
10060         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10061        '''
10062        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10063        '''
10064         ID of the secret store containing credentials for this resource, if any.
10065        '''
10066        self.subdomain = subdomain if subdomain is not None else ''
10067        '''
10068         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10069        '''
10070        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10071        '''
10072         Tags is a map of key, value pairs.
10073        '''
10074        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
10075        '''
10076         If true, appends the hostname to the username when hitting a database.azure.com address
10077        '''
10078        self.username = username if username is not None else ''
10079        '''
10080         The username to authenticate with.
10081        '''
10082
10083    def __repr__(self):
10084        return '<sdm.Clustrix ' + \
10085            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10086            'database: ' + repr(self.database) + ' ' +\
10087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10088            'healthy: ' + repr(self.healthy) + ' ' +\
10089            'hostname: ' + repr(self.hostname) + ' ' +\
10090            'id: ' + repr(self.id) + ' ' +\
10091            'name: ' + repr(self.name) + ' ' +\
10092            'password: ' + repr(self.password) + ' ' +\
10093            'port: ' + repr(self.port) + ' ' +\
10094            'port_override: ' + repr(self.port_override) + ' ' +\
10095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10096            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
10097            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10098            'subdomain: ' + repr(self.subdomain) + ' ' +\
10099            'tags: ' + repr(self.tags) + ' ' +\
10100            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
10101            'username: ' + repr(self.username) + ' ' +\
10102            '>'
10103
10104    def to_dict(self):
10105        return {
10106            'bind_interface': self.bind_interface,
10107            'database': self.database,
10108            'egress_filter': self.egress_filter,
10109            'healthy': self.healthy,
10110            'hostname': self.hostname,
10111            'id': self.id,
10112            'name': self.name,
10113            'password': self.password,
10114            'port': self.port,
10115            'port_override': self.port_override,
10116            'proxy_cluster_id': self.proxy_cluster_id,
10117            'require_native_auth': self.require_native_auth,
10118            'secret_store_id': self.secret_store_id,
10119            'subdomain': self.subdomain,
10120            'tags': self.tags,
10121            'use_azure_single_server_usernames':
10122            self.use_azure_single_server_usernames,
10123            'username': self.username,
10124        }
10125
10126    @classmethod
10127    def from_dict(cls, d):
10128        return cls(
10129            bind_interface=d.get('bind_interface'),
10130            database=d.get('database'),
10131            egress_filter=d.get('egress_filter'),
10132            healthy=d.get('healthy'),
10133            hostname=d.get('hostname'),
10134            id=d.get('id'),
10135            name=d.get('name'),
10136            password=d.get('password'),
10137            port=d.get('port'),
10138            port_override=d.get('port_override'),
10139            proxy_cluster_id=d.get('proxy_cluster_id'),
10140            require_native_auth=d.get('require_native_auth'),
10141            secret_store_id=d.get('secret_store_id'),
10142            subdomain=d.get('subdomain'),
10143            tags=d.get('tags'),
10144            use_azure_single_server_usernames=d.get(
10145                'use_azure_single_server_usernames'),
10146            username=d.get('username'),
10147        )
10148
10149
10150class Cockroach:
10151    __slots__ = [
10152        'bind_interface',
10153        'database',
10154        'egress_filter',
10155        'healthy',
10156        'hostname',
10157        'id',
10158        'name',
10159        'override_database',
10160        'password',
10161        'port',
10162        'port_override',
10163        'proxy_cluster_id',
10164        'secret_store_id',
10165        'subdomain',
10166        'tags',
10167        'username',
10168    ]
10169
10170    def __init__(
10171        self,
10172        bind_interface=None,
10173        database=None,
10174        egress_filter=None,
10175        healthy=None,
10176        hostname=None,
10177        id=None,
10178        name=None,
10179        override_database=None,
10180        password=None,
10181        port=None,
10182        port_override=None,
10183        proxy_cluster_id=None,
10184        secret_store_id=None,
10185        subdomain=None,
10186        tags=None,
10187        username=None,
10188    ):
10189        self.bind_interface = bind_interface if bind_interface is not None else ''
10190        '''
10191         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10192        '''
10193        self.database = database if database is not None else ''
10194        '''
10195         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10196        '''
10197        self.egress_filter = egress_filter if egress_filter is not None else ''
10198        '''
10199         A filter applied to the routing logic to pin datasource to nodes.
10200        '''
10201        self.healthy = healthy if healthy is not None else False
10202        '''
10203         True if the datasource is reachable and the credentials are valid.
10204        '''
10205        self.hostname = hostname if hostname is not None else ''
10206        '''
10207         The host to dial to initiate a connection from the egress node to this resource.
10208        '''
10209        self.id = id if id is not None else ''
10210        '''
10211         Unique identifier of the Resource.
10212        '''
10213        self.name = name if name is not None else ''
10214        '''
10215         Unique human-readable name of the Resource.
10216        '''
10217        self.override_database = override_database if override_database is not None else False
10218        '''
10219         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
10220        '''
10221        self.password = password if password is not None else ''
10222        '''
10223         The password to authenticate with.
10224        '''
10225        self.port = port if port is not None else 0
10226        '''
10227         The port to dial to initiate a connection from the egress node to this resource.
10228        '''
10229        self.port_override = port_override if port_override is not None else 0
10230        '''
10231         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10232        '''
10233        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10234        '''
10235         ID of the proxy cluster for this resource, if any.
10236        '''
10237        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10238        '''
10239         ID of the secret store containing credentials for this resource, if any.
10240        '''
10241        self.subdomain = subdomain if subdomain is not None else ''
10242        '''
10243         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10244        '''
10245        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10246        '''
10247         Tags is a map of key, value pairs.
10248        '''
10249        self.username = username if username is not None else ''
10250        '''
10251         The username to authenticate with.
10252        '''
10253
10254    def __repr__(self):
10255        return '<sdm.Cockroach ' + \
10256            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10257            'database: ' + repr(self.database) + ' ' +\
10258            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10259            'healthy: ' + repr(self.healthy) + ' ' +\
10260            'hostname: ' + repr(self.hostname) + ' ' +\
10261            'id: ' + repr(self.id) + ' ' +\
10262            'name: ' + repr(self.name) + ' ' +\
10263            'override_database: ' + repr(self.override_database) + ' ' +\
10264            'password: ' + repr(self.password) + ' ' +\
10265            'port: ' + repr(self.port) + ' ' +\
10266            'port_override: ' + repr(self.port_override) + ' ' +\
10267            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10268            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10269            'subdomain: ' + repr(self.subdomain) + ' ' +\
10270            'tags: ' + repr(self.tags) + ' ' +\
10271            'username: ' + repr(self.username) + ' ' +\
10272            '>'
10273
10274    def to_dict(self):
10275        return {
10276            'bind_interface': self.bind_interface,
10277            'database': self.database,
10278            'egress_filter': self.egress_filter,
10279            'healthy': self.healthy,
10280            'hostname': self.hostname,
10281            'id': self.id,
10282            'name': self.name,
10283            'override_database': self.override_database,
10284            'password': self.password,
10285            'port': self.port,
10286            'port_override': self.port_override,
10287            'proxy_cluster_id': self.proxy_cluster_id,
10288            'secret_store_id': self.secret_store_id,
10289            'subdomain': self.subdomain,
10290            'tags': self.tags,
10291            'username': self.username,
10292        }
10293
10294    @classmethod
10295    def from_dict(cls, d):
10296        return cls(
10297            bind_interface=d.get('bind_interface'),
10298            database=d.get('database'),
10299            egress_filter=d.get('egress_filter'),
10300            healthy=d.get('healthy'),
10301            hostname=d.get('hostname'),
10302            id=d.get('id'),
10303            name=d.get('name'),
10304            override_database=d.get('override_database'),
10305            password=d.get('password'),
10306            port=d.get('port'),
10307            port_override=d.get('port_override'),
10308            proxy_cluster_id=d.get('proxy_cluster_id'),
10309            secret_store_id=d.get('secret_store_id'),
10310            subdomain=d.get('subdomain'),
10311            tags=d.get('tags'),
10312            username=d.get('username'),
10313        )
10314
10315
10316class ControlPanelGetRDPCAPublicKeyResponse:
10317    '''
10318         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
10319     organization's RDP Certificate Authority public key.
10320    '''
10321    __slots__ = [
10322        'meta',
10323        'public_key',
10324        'rate_limit',
10325    ]
10326
10327    def __init__(
10328        self,
10329        meta=None,
10330        public_key=None,
10331        rate_limit=None,
10332    ):
10333        self.meta = meta if meta is not None else None
10334        '''
10335         Reserved for future use.
10336        '''
10337        self.public_key = public_key if public_key is not None else ''
10338        '''
10339         The public key of the SSH Certificate Authority, in OpenSSH RSA public
10340         key format.
10341        '''
10342        self.rate_limit = rate_limit if rate_limit is not None else None
10343        '''
10344         Rate limit information.
10345        '''
10346
10347    def __repr__(self):
10348        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
10349            'meta: ' + repr(self.meta) + ' ' +\
10350            'public_key: ' + repr(self.public_key) + ' ' +\
10351            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10352            '>'
10353
10354    def to_dict(self):
10355        return {
10356            'meta': self.meta,
10357            'public_key': self.public_key,
10358            'rate_limit': self.rate_limit,
10359        }
10360
10361    @classmethod
10362    def from_dict(cls, d):
10363        return cls(
10364            meta=d.get('meta'),
10365            public_key=d.get('public_key'),
10366            rate_limit=d.get('rate_limit'),
10367        )
10368
10369
10370class ControlPanelGetSSHCAPublicKeyResponse:
10371    '''
10372         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
10373     organization's SSH Certificate Authority public key.
10374    '''
10375    __slots__ = [
10376        'meta',
10377        'public_key',
10378        'rate_limit',
10379    ]
10380
10381    def __init__(
10382        self,
10383        meta=None,
10384        public_key=None,
10385        rate_limit=None,
10386    ):
10387        self.meta = meta if meta is not None else None
10388        '''
10389         Reserved for future use.
10390        '''
10391        self.public_key = public_key if public_key is not None else ''
10392        '''
10393         The public key of the SSH Certificate Authority, in OpenSSH RSA public
10394         key format.
10395        '''
10396        self.rate_limit = rate_limit if rate_limit is not None else None
10397        '''
10398         Rate limit information.
10399        '''
10400
10401    def __repr__(self):
10402        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
10403            'meta: ' + repr(self.meta) + ' ' +\
10404            'public_key: ' + repr(self.public_key) + ' ' +\
10405            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10406            '>'
10407
10408    def to_dict(self):
10409        return {
10410            'meta': self.meta,
10411            'public_key': self.public_key,
10412            'rate_limit': self.rate_limit,
10413        }
10414
10415    @classmethod
10416    def from_dict(cls, d):
10417        return cls(
10418            meta=d.get('meta'),
10419            public_key=d.get('public_key'),
10420            rate_limit=d.get('rate_limit'),
10421        )
10422
10423
10424class ControlPanelVerifyJWTResponse:
10425    '''
10426         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
10427    '''
10428    __slots__ = [
10429        'meta',
10430        'rate_limit',
10431        'valid',
10432    ]
10433
10434    def __init__(
10435        self,
10436        meta=None,
10437        rate_limit=None,
10438        valid=None,
10439    ):
10440        self.meta = meta if meta is not None else None
10441        '''
10442         Reserved for future use.
10443        '''
10444        self.rate_limit = rate_limit if rate_limit is not None else None
10445        '''
10446         Rate limit information.
10447        '''
10448        self.valid = valid if valid is not None else False
10449        '''
10450         Reports if the given token is valid.
10451        '''
10452
10453    def __repr__(self):
10454        return '<sdm.ControlPanelVerifyJWTResponse ' + \
10455            'meta: ' + repr(self.meta) + ' ' +\
10456            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10457            'valid: ' + repr(self.valid) + ' ' +\
10458            '>'
10459
10460    def to_dict(self):
10461        return {
10462            'meta': self.meta,
10463            'rate_limit': self.rate_limit,
10464            'valid': self.valid,
10465        }
10466
10467    @classmethod
10468    def from_dict(cls, d):
10469        return cls(
10470            meta=d.get('meta'),
10471            rate_limit=d.get('rate_limit'),
10472            valid=d.get('valid'),
10473        )
10474
10475
10476class CouchbaseDatabase:
10477    __slots__ = [
10478        'bind_interface',
10479        'egress_filter',
10480        'healthy',
10481        'hostname',
10482        'id',
10483        'n1ql_port',
10484        'name',
10485        'password',
10486        'port',
10487        'port_override',
10488        'proxy_cluster_id',
10489        'secret_store_id',
10490        'subdomain',
10491        'tags',
10492        'tls_required',
10493        'username',
10494    ]
10495
10496    def __init__(
10497        self,
10498        bind_interface=None,
10499        egress_filter=None,
10500        healthy=None,
10501        hostname=None,
10502        id=None,
10503        n1ql_port=None,
10504        name=None,
10505        password=None,
10506        port=None,
10507        port_override=None,
10508        proxy_cluster_id=None,
10509        secret_store_id=None,
10510        subdomain=None,
10511        tags=None,
10512        tls_required=None,
10513        username=None,
10514    ):
10515        self.bind_interface = bind_interface if bind_interface is not None else ''
10516        '''
10517         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10518        '''
10519        self.egress_filter = egress_filter if egress_filter is not None else ''
10520        '''
10521         A filter applied to the routing logic to pin datasource to nodes.
10522        '''
10523        self.healthy = healthy if healthy is not None else False
10524        '''
10525         True if the datasource is reachable and the credentials are valid.
10526        '''
10527        self.hostname = hostname if hostname is not None else ''
10528        '''
10529         The host to dial to initiate a connection from the egress node to this resource.
10530        '''
10531        self.id = id if id is not None else ''
10532        '''
10533         Unique identifier of the Resource.
10534        '''
10535        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
10536        '''
10537         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
10538        '''
10539        self.name = name if name is not None else ''
10540        '''
10541         Unique human-readable name of the Resource.
10542        '''
10543        self.password = password if password is not None else ''
10544        '''
10545         The password to authenticate with.
10546        '''
10547        self.port = port if port is not None else 0
10548        '''
10549         The port to dial to initiate a connection from the egress node to this resource.
10550        '''
10551        self.port_override = port_override if port_override is not None else 0
10552        '''
10553         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10554        '''
10555        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10556        '''
10557         ID of the proxy cluster for this resource, if any.
10558        '''
10559        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10560        '''
10561         ID of the secret store containing credentials for this resource, if any.
10562        '''
10563        self.subdomain = subdomain if subdomain is not None else ''
10564        '''
10565         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10566        '''
10567        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10568        '''
10569         Tags is a map of key, value pairs.
10570        '''
10571        self.tls_required = tls_required if tls_required is not None else False
10572        '''
10573         If set, TLS must be used to connect to this resource.
10574        '''
10575        self.username = username if username is not None else ''
10576        '''
10577         The username to authenticate with.
10578        '''
10579
10580    def __repr__(self):
10581        return '<sdm.CouchbaseDatabase ' + \
10582            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10583            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10584            'healthy: ' + repr(self.healthy) + ' ' +\
10585            'hostname: ' + repr(self.hostname) + ' ' +\
10586            'id: ' + repr(self.id) + ' ' +\
10587            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
10588            'name: ' + repr(self.name) + ' ' +\
10589            'password: ' + repr(self.password) + ' ' +\
10590            'port: ' + repr(self.port) + ' ' +\
10591            'port_override: ' + repr(self.port_override) + ' ' +\
10592            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10593            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10594            'subdomain: ' + repr(self.subdomain) + ' ' +\
10595            'tags: ' + repr(self.tags) + ' ' +\
10596            'tls_required: ' + repr(self.tls_required) + ' ' +\
10597            'username: ' + repr(self.username) + ' ' +\
10598            '>'
10599
10600    def to_dict(self):
10601        return {
10602            'bind_interface': self.bind_interface,
10603            'egress_filter': self.egress_filter,
10604            'healthy': self.healthy,
10605            'hostname': self.hostname,
10606            'id': self.id,
10607            'n1ql_port': self.n1ql_port,
10608            'name': self.name,
10609            'password': self.password,
10610            'port': self.port,
10611            'port_override': self.port_override,
10612            'proxy_cluster_id': self.proxy_cluster_id,
10613            'secret_store_id': self.secret_store_id,
10614            'subdomain': self.subdomain,
10615            'tags': self.tags,
10616            'tls_required': self.tls_required,
10617            'username': self.username,
10618        }
10619
10620    @classmethod
10621    def from_dict(cls, d):
10622        return cls(
10623            bind_interface=d.get('bind_interface'),
10624            egress_filter=d.get('egress_filter'),
10625            healthy=d.get('healthy'),
10626            hostname=d.get('hostname'),
10627            id=d.get('id'),
10628            n1ql_port=d.get('n1ql_port'),
10629            name=d.get('name'),
10630            password=d.get('password'),
10631            port=d.get('port'),
10632            port_override=d.get('port_override'),
10633            proxy_cluster_id=d.get('proxy_cluster_id'),
10634            secret_store_id=d.get('secret_store_id'),
10635            subdomain=d.get('subdomain'),
10636            tags=d.get('tags'),
10637            tls_required=d.get('tls_required'),
10638            username=d.get('username'),
10639        )
10640
10641
10642class CouchbaseWebUI:
10643    __slots__ = [
10644        'bind_interface',
10645        'egress_filter',
10646        'healthy',
10647        'id',
10648        'name',
10649        'password',
10650        'port_override',
10651        'proxy_cluster_id',
10652        'secret_store_id',
10653        'subdomain',
10654        'tags',
10655        'url',
10656        'username',
10657    ]
10658
10659    def __init__(
10660        self,
10661        bind_interface=None,
10662        egress_filter=None,
10663        healthy=None,
10664        id=None,
10665        name=None,
10666        password=None,
10667        port_override=None,
10668        proxy_cluster_id=None,
10669        secret_store_id=None,
10670        subdomain=None,
10671        tags=None,
10672        url=None,
10673        username=None,
10674    ):
10675        self.bind_interface = bind_interface if bind_interface is not None else ''
10676        '''
10677         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10678        '''
10679        self.egress_filter = egress_filter if egress_filter is not None else ''
10680        '''
10681         A filter applied to the routing logic to pin datasource to nodes.
10682        '''
10683        self.healthy = healthy if healthy is not None else False
10684        '''
10685         True if the datasource is reachable and the credentials are valid.
10686        '''
10687        self.id = id if id is not None else ''
10688        '''
10689         Unique identifier of the Resource.
10690        '''
10691        self.name = name if name is not None else ''
10692        '''
10693         Unique human-readable name of the Resource.
10694        '''
10695        self.password = password if password is not None else ''
10696        '''
10697         The password to authenticate with.
10698        '''
10699        self.port_override = port_override if port_override is not None else 0
10700        '''
10701         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10702        '''
10703        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10704        '''
10705         ID of the proxy cluster for this resource, if any.
10706        '''
10707        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10708        '''
10709         ID of the secret store containing credentials for this resource, if any.
10710        '''
10711        self.subdomain = subdomain if subdomain is not None else ''
10712        '''
10713         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10714        '''
10715        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10716        '''
10717         Tags is a map of key, value pairs.
10718        '''
10719        self.url = url if url is not None else ''
10720        '''
10721         The base address of your website without the path.
10722        '''
10723        self.username = username if username is not None else ''
10724        '''
10725         The username to authenticate with.
10726        '''
10727
10728    def __repr__(self):
10729        return '<sdm.CouchbaseWebUI ' + \
10730            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10731            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10732            'healthy: ' + repr(self.healthy) + ' ' +\
10733            'id: ' + repr(self.id) + ' ' +\
10734            'name: ' + repr(self.name) + ' ' +\
10735            'password: ' + repr(self.password) + ' ' +\
10736            'port_override: ' + repr(self.port_override) + ' ' +\
10737            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10738            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10739            'subdomain: ' + repr(self.subdomain) + ' ' +\
10740            'tags: ' + repr(self.tags) + ' ' +\
10741            'url: ' + repr(self.url) + ' ' +\
10742            'username: ' + repr(self.username) + ' ' +\
10743            '>'
10744
10745    def to_dict(self):
10746        return {
10747            'bind_interface': self.bind_interface,
10748            'egress_filter': self.egress_filter,
10749            'healthy': self.healthy,
10750            'id': self.id,
10751            'name': self.name,
10752            'password': self.password,
10753            'port_override': self.port_override,
10754            'proxy_cluster_id': self.proxy_cluster_id,
10755            'secret_store_id': self.secret_store_id,
10756            'subdomain': self.subdomain,
10757            'tags': self.tags,
10758            'url': self.url,
10759            'username': self.username,
10760        }
10761
10762    @classmethod
10763    def from_dict(cls, d):
10764        return cls(
10765            bind_interface=d.get('bind_interface'),
10766            egress_filter=d.get('egress_filter'),
10767            healthy=d.get('healthy'),
10768            id=d.get('id'),
10769            name=d.get('name'),
10770            password=d.get('password'),
10771            port_override=d.get('port_override'),
10772            proxy_cluster_id=d.get('proxy_cluster_id'),
10773            secret_store_id=d.get('secret_store_id'),
10774            subdomain=d.get('subdomain'),
10775            tags=d.get('tags'),
10776            url=d.get('url'),
10777            username=d.get('username'),
10778        )
10779
10780
10781class CreateResponseMetadata:
10782    '''
10783         CreateResponseMetadata is reserved for future use.
10784    '''
10785    __slots__ = []
10786
10787    def __init__(self, ):
10788        pass
10789
10790    def __repr__(self):
10791        return '<sdm.CreateResponseMetadata ' + \
10792            '>'
10793
10794    def to_dict(self):
10795        return {}
10796
10797    @classmethod
10798    def from_dict(cls, d):
10799        return cls()
10800
10801
10802class CyberarkConjurStore:
10803    __slots__ = [
10804        'appurl',
10805        'id',
10806        'name',
10807        'tags',
10808    ]
10809
10810    def __init__(
10811        self,
10812        appurl=None,
10813        id=None,
10814        name=None,
10815        tags=None,
10816    ):
10817        self.appurl = appurl if appurl is not None else ''
10818        '''
10819         The URL of the Cyberark instance
10820        '''
10821        self.id = id if id is not None else ''
10822        '''
10823         Unique identifier of the SecretStore.
10824        '''
10825        self.name = name if name is not None else ''
10826        '''
10827         Unique human-readable name of the SecretStore.
10828        '''
10829        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10830        '''
10831         Tags is a map of key, value pairs.
10832        '''
10833
10834    def __repr__(self):
10835        return '<sdm.CyberarkConjurStore ' + \
10836            'appurl: ' + repr(self.appurl) + ' ' +\
10837            'id: ' + repr(self.id) + ' ' +\
10838            'name: ' + repr(self.name) + ' ' +\
10839            'tags: ' + repr(self.tags) + ' ' +\
10840            '>'
10841
10842    def to_dict(self):
10843        return {
10844            'appurl': self.appurl,
10845            'id': self.id,
10846            'name': self.name,
10847            'tags': self.tags,
10848        }
10849
10850    @classmethod
10851    def from_dict(cls, d):
10852        return cls(
10853            appurl=d.get('appurl'),
10854            id=d.get('id'),
10855            name=d.get('name'),
10856            tags=d.get('tags'),
10857        )
10858
10859
10860class CyberarkPAMExperimentalStore:
10861    '''
10862    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10863    without a major version bump.
10864    '''
10865    __slots__ = [
10866        'appurl',
10867        'id',
10868        'name',
10869        'tags',
10870    ]
10871
10872    def __init__(
10873        self,
10874        appurl=None,
10875        id=None,
10876        name=None,
10877        tags=None,
10878    ):
10879        self.appurl = appurl if appurl is not None else ''
10880        '''
10881         The URL of the Cyberark instance
10882        '''
10883        self.id = id if id is not None else ''
10884        '''
10885         Unique identifier of the SecretStore.
10886        '''
10887        self.name = name if name is not None else ''
10888        '''
10889         Unique human-readable name of the SecretStore.
10890        '''
10891        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10892        '''
10893         Tags is a map of key, value pairs.
10894        '''
10895
10896    def __repr__(self):
10897        return '<sdm.CyberarkPAMExperimentalStore ' + \
10898            'appurl: ' + repr(self.appurl) + ' ' +\
10899            'id: ' + repr(self.id) + ' ' +\
10900            'name: ' + repr(self.name) + ' ' +\
10901            'tags: ' + repr(self.tags) + ' ' +\
10902            '>'
10903
10904    def to_dict(self):
10905        return {
10906            'appurl': self.appurl,
10907            'id': self.id,
10908            'name': self.name,
10909            'tags': self.tags,
10910        }
10911
10912    @classmethod
10913    def from_dict(cls, d):
10914        return cls(
10915            appurl=d.get('appurl'),
10916            id=d.get('id'),
10917            name=d.get('name'),
10918            tags=d.get('tags'),
10919        )
10920
10921
10922class CyberarkPAMStore:
10923    __slots__ = [
10924        'appurl',
10925        'id',
10926        'name',
10927        'tags',
10928    ]
10929
10930    def __init__(
10931        self,
10932        appurl=None,
10933        id=None,
10934        name=None,
10935        tags=None,
10936    ):
10937        self.appurl = appurl if appurl is not None else ''
10938        '''
10939         The URL of the Cyberark instance
10940        '''
10941        self.id = id if id is not None else ''
10942        '''
10943         Unique identifier of the SecretStore.
10944        '''
10945        self.name = name if name is not None else ''
10946        '''
10947         Unique human-readable name of the SecretStore.
10948        '''
10949        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10950        '''
10951         Tags is a map of key, value pairs.
10952        '''
10953
10954    def __repr__(self):
10955        return '<sdm.CyberarkPAMStore ' + \
10956            'appurl: ' + repr(self.appurl) + ' ' +\
10957            'id: ' + repr(self.id) + ' ' +\
10958            'name: ' + repr(self.name) + ' ' +\
10959            'tags: ' + repr(self.tags) + ' ' +\
10960            '>'
10961
10962    def to_dict(self):
10963        return {
10964            'appurl': self.appurl,
10965            'id': self.id,
10966            'name': self.name,
10967            'tags': self.tags,
10968        }
10969
10970    @classmethod
10971    def from_dict(cls, d):
10972        return cls(
10973            appurl=d.get('appurl'),
10974            id=d.get('id'),
10975            name=d.get('name'),
10976            tags=d.get('tags'),
10977        )
10978
10979
10980class DB2I:
10981    __slots__ = [
10982        'bind_interface',
10983        'egress_filter',
10984        'healthy',
10985        'hostname',
10986        'id',
10987        'name',
10988        'password',
10989        'port',
10990        'port_override',
10991        'proxy_cluster_id',
10992        'secret_store_id',
10993        'subdomain',
10994        'tags',
10995        'tls_required',
10996        'username',
10997    ]
10998
10999    def __init__(
11000        self,
11001        bind_interface=None,
11002        egress_filter=None,
11003        healthy=None,
11004        hostname=None,
11005        id=None,
11006        name=None,
11007        password=None,
11008        port=None,
11009        port_override=None,
11010        proxy_cluster_id=None,
11011        secret_store_id=None,
11012        subdomain=None,
11013        tags=None,
11014        tls_required=None,
11015        username=None,
11016    ):
11017        self.bind_interface = bind_interface if bind_interface is not None else ''
11018        '''
11019         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11020        '''
11021        self.egress_filter = egress_filter if egress_filter is not None else ''
11022        '''
11023         A filter applied to the routing logic to pin datasource to nodes.
11024        '''
11025        self.healthy = healthy if healthy is not None else False
11026        '''
11027         True if the datasource is reachable and the credentials are valid.
11028        '''
11029        self.hostname = hostname if hostname is not None else ''
11030        '''
11031         The host to dial to initiate a connection from the egress node to this resource.
11032        '''
11033        self.id = id if id is not None else ''
11034        '''
11035         Unique identifier of the Resource.
11036        '''
11037        self.name = name if name is not None else ''
11038        '''
11039         Unique human-readable name of the Resource.
11040        '''
11041        self.password = password if password is not None else ''
11042        '''
11043         The password to authenticate with.
11044        '''
11045        self.port = port if port is not None else 0
11046        '''
11047         The port to dial to initiate a connection from the egress node to this resource.
11048        '''
11049        self.port_override = port_override if port_override is not None else 0
11050        '''
11051         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11052        '''
11053        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11054        '''
11055         ID of the proxy cluster for this resource, if any.
11056        '''
11057        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11058        '''
11059         ID of the secret store containing credentials for this resource, if any.
11060        '''
11061        self.subdomain = subdomain if subdomain is not None else ''
11062        '''
11063         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11064        '''
11065        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11066        '''
11067         Tags is a map of key, value pairs.
11068        '''
11069        self.tls_required = tls_required if tls_required is not None else False
11070        '''
11071         If set, TLS must be used to connect to this resource.
11072        '''
11073        self.username = username if username is not None else ''
11074        '''
11075         The username to authenticate with.
11076        '''
11077
11078    def __repr__(self):
11079        return '<sdm.DB2I ' + \
11080            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11081            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11082            'healthy: ' + repr(self.healthy) + ' ' +\
11083            'hostname: ' + repr(self.hostname) + ' ' +\
11084            'id: ' + repr(self.id) + ' ' +\
11085            'name: ' + repr(self.name) + ' ' +\
11086            'password: ' + repr(self.password) + ' ' +\
11087            'port: ' + repr(self.port) + ' ' +\
11088            'port_override: ' + repr(self.port_override) + ' ' +\
11089            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11090            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11091            'subdomain: ' + repr(self.subdomain) + ' ' +\
11092            'tags: ' + repr(self.tags) + ' ' +\
11093            'tls_required: ' + repr(self.tls_required) + ' ' +\
11094            'username: ' + repr(self.username) + ' ' +\
11095            '>'
11096
11097    def to_dict(self):
11098        return {
11099            'bind_interface': self.bind_interface,
11100            'egress_filter': self.egress_filter,
11101            'healthy': self.healthy,
11102            'hostname': self.hostname,
11103            'id': self.id,
11104            'name': self.name,
11105            'password': self.password,
11106            'port': self.port,
11107            'port_override': self.port_override,
11108            'proxy_cluster_id': self.proxy_cluster_id,
11109            'secret_store_id': self.secret_store_id,
11110            'subdomain': self.subdomain,
11111            'tags': self.tags,
11112            'tls_required': self.tls_required,
11113            'username': self.username,
11114        }
11115
11116    @classmethod
11117    def from_dict(cls, d):
11118        return cls(
11119            bind_interface=d.get('bind_interface'),
11120            egress_filter=d.get('egress_filter'),
11121            healthy=d.get('healthy'),
11122            hostname=d.get('hostname'),
11123            id=d.get('id'),
11124            name=d.get('name'),
11125            password=d.get('password'),
11126            port=d.get('port'),
11127            port_override=d.get('port_override'),
11128            proxy_cluster_id=d.get('proxy_cluster_id'),
11129            secret_store_id=d.get('secret_store_id'),
11130            subdomain=d.get('subdomain'),
11131            tags=d.get('tags'),
11132            tls_required=d.get('tls_required'),
11133            username=d.get('username'),
11134        )
11135
11136
11137class DB2LUW:
11138    __slots__ = [
11139        'bind_interface',
11140        'database',
11141        'egress_filter',
11142        'healthy',
11143        'hostname',
11144        'id',
11145        'name',
11146        'password',
11147        'port',
11148        'port_override',
11149        'proxy_cluster_id',
11150        'secret_store_id',
11151        'subdomain',
11152        'tags',
11153        'tls_required',
11154        'username',
11155    ]
11156
11157    def __init__(
11158        self,
11159        bind_interface=None,
11160        database=None,
11161        egress_filter=None,
11162        healthy=None,
11163        hostname=None,
11164        id=None,
11165        name=None,
11166        password=None,
11167        port=None,
11168        port_override=None,
11169        proxy_cluster_id=None,
11170        secret_store_id=None,
11171        subdomain=None,
11172        tags=None,
11173        tls_required=None,
11174        username=None,
11175    ):
11176        self.bind_interface = bind_interface if bind_interface is not None else ''
11177        '''
11178         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11179        '''
11180        self.database = database if database is not None else ''
11181        '''
11182         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
11183        '''
11184        self.egress_filter = egress_filter if egress_filter is not None else ''
11185        '''
11186         A filter applied to the routing logic to pin datasource to nodes.
11187        '''
11188        self.healthy = healthy if healthy is not None else False
11189        '''
11190         True if the datasource is reachable and the credentials are valid.
11191        '''
11192        self.hostname = hostname if hostname is not None else ''
11193        '''
11194         The host to dial to initiate a connection from the egress node to this resource.
11195        '''
11196        self.id = id if id is not None else ''
11197        '''
11198         Unique identifier of the Resource.
11199        '''
11200        self.name = name if name is not None else ''
11201        '''
11202         Unique human-readable name of the Resource.
11203        '''
11204        self.password = password if password is not None else ''
11205        '''
11206         The password to authenticate with.
11207        '''
11208        self.port = port if port is not None else 0
11209        '''
11210         The port to dial to initiate a connection from the egress node to this resource.
11211        '''
11212        self.port_override = port_override if port_override is not None else 0
11213        '''
11214         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11215        '''
11216        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11217        '''
11218         ID of the proxy cluster for this resource, if any.
11219        '''
11220        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11221        '''
11222         ID of the secret store containing credentials for this resource, if any.
11223        '''
11224        self.subdomain = subdomain if subdomain is not None else ''
11225        '''
11226         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11227        '''
11228        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11229        '''
11230         Tags is a map of key, value pairs.
11231        '''
11232        self.tls_required = tls_required if tls_required is not None else False
11233        '''
11234         If set, TLS must be used to connect to this resource.
11235        '''
11236        self.username = username if username is not None else ''
11237        '''
11238         The username to authenticate with.
11239        '''
11240
11241    def __repr__(self):
11242        return '<sdm.DB2LUW ' + \
11243            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11244            'database: ' + repr(self.database) + ' ' +\
11245            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11246            'healthy: ' + repr(self.healthy) + ' ' +\
11247            'hostname: ' + repr(self.hostname) + ' ' +\
11248            'id: ' + repr(self.id) + ' ' +\
11249            'name: ' + repr(self.name) + ' ' +\
11250            'password: ' + repr(self.password) + ' ' +\
11251            'port: ' + repr(self.port) + ' ' +\
11252            'port_override: ' + repr(self.port_override) + ' ' +\
11253            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11254            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11255            'subdomain: ' + repr(self.subdomain) + ' ' +\
11256            'tags: ' + repr(self.tags) + ' ' +\
11257            'tls_required: ' + repr(self.tls_required) + ' ' +\
11258            'username: ' + repr(self.username) + ' ' +\
11259            '>'
11260
11261    def to_dict(self):
11262        return {
11263            'bind_interface': self.bind_interface,
11264            'database': self.database,
11265            'egress_filter': self.egress_filter,
11266            'healthy': self.healthy,
11267            'hostname': self.hostname,
11268            'id': self.id,
11269            'name': self.name,
11270            'password': self.password,
11271            'port': self.port,
11272            'port_override': self.port_override,
11273            'proxy_cluster_id': self.proxy_cluster_id,
11274            'secret_store_id': self.secret_store_id,
11275            'subdomain': self.subdomain,
11276            'tags': self.tags,
11277            'tls_required': self.tls_required,
11278            'username': self.username,
11279        }
11280
11281    @classmethod
11282    def from_dict(cls, d):
11283        return cls(
11284            bind_interface=d.get('bind_interface'),
11285            database=d.get('database'),
11286            egress_filter=d.get('egress_filter'),
11287            healthy=d.get('healthy'),
11288            hostname=d.get('hostname'),
11289            id=d.get('id'),
11290            name=d.get('name'),
11291            password=d.get('password'),
11292            port=d.get('port'),
11293            port_override=d.get('port_override'),
11294            proxy_cluster_id=d.get('proxy_cluster_id'),
11295            secret_store_id=d.get('secret_store_id'),
11296            subdomain=d.get('subdomain'),
11297            tags=d.get('tags'),
11298            tls_required=d.get('tls_required'),
11299            username=d.get('username'),
11300        )
11301
11302
11303class DeleteResponseMetadata:
11304    '''
11305         DeleteResponseMetadata is reserved for future use.
11306    '''
11307    __slots__ = []
11308
11309    def __init__(self, ):
11310        pass
11311
11312    def __repr__(self):
11313        return '<sdm.DeleteResponseMetadata ' + \
11314            '>'
11315
11316    def to_dict(self):
11317        return {}
11318
11319    @classmethod
11320    def from_dict(cls, d):
11321        return cls()
11322
11323
11324class DelineaStore:
11325    __slots__ = [
11326        'id',
11327        'name',
11328        'server_url',
11329        'tags',
11330        'tenant_name',
11331    ]
11332
11333    def __init__(
11334        self,
11335        id=None,
11336        name=None,
11337        server_url=None,
11338        tags=None,
11339        tenant_name=None,
11340    ):
11341        self.id = id if id is not None else ''
11342        '''
11343         Unique identifier of the SecretStore.
11344        '''
11345        self.name = name if name is not None else ''
11346        '''
11347         Unique human-readable name of the SecretStore.
11348        '''
11349        self.server_url = server_url if server_url is not None else ''
11350        '''
11351         The URL of the Delinea instance
11352        '''
11353        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11354        '''
11355         Tags is a map of key, value pairs.
11356        '''
11357        self.tenant_name = tenant_name if tenant_name is not None else ''
11358        '''
11359         The tenant name to target
11360        '''
11361
11362    def __repr__(self):
11363        return '<sdm.DelineaStore ' + \
11364            'id: ' + repr(self.id) + ' ' +\
11365            'name: ' + repr(self.name) + ' ' +\
11366            'server_url: ' + repr(self.server_url) + ' ' +\
11367            'tags: ' + repr(self.tags) + ' ' +\
11368            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
11369            '>'
11370
11371    def to_dict(self):
11372        return {
11373            'id': self.id,
11374            'name': self.name,
11375            'server_url': self.server_url,
11376            'tags': self.tags,
11377            'tenant_name': self.tenant_name,
11378        }
11379
11380    @classmethod
11381    def from_dict(cls, d):
11382        return cls(
11383            id=d.get('id'),
11384            name=d.get('name'),
11385            server_url=d.get('server_url'),
11386            tags=d.get('tags'),
11387            tenant_name=d.get('tenant_name'),
11388        )
11389
11390
11391class DocumentDBHost:
11392    __slots__ = [
11393        'auth_database',
11394        'bind_interface',
11395        'egress_filter',
11396        'healthy',
11397        'hostname',
11398        'id',
11399        'name',
11400        'password',
11401        'port',
11402        'port_override',
11403        'proxy_cluster_id',
11404        'secret_store_id',
11405        'subdomain',
11406        'tags',
11407        'username',
11408    ]
11409
11410    def __init__(
11411        self,
11412        auth_database=None,
11413        bind_interface=None,
11414        egress_filter=None,
11415        healthy=None,
11416        hostname=None,
11417        id=None,
11418        name=None,
11419        password=None,
11420        port=None,
11421        port_override=None,
11422        proxy_cluster_id=None,
11423        secret_store_id=None,
11424        subdomain=None,
11425        tags=None,
11426        username=None,
11427    ):
11428        self.auth_database = auth_database if auth_database is not None else ''
11429        '''
11430         The authentication database to use.
11431        '''
11432        self.bind_interface = bind_interface if bind_interface is not None else ''
11433        '''
11434         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11435        '''
11436        self.egress_filter = egress_filter if egress_filter is not None else ''
11437        '''
11438         A filter applied to the routing logic to pin datasource to nodes.
11439        '''
11440        self.healthy = healthy if healthy is not None else False
11441        '''
11442         True if the datasource is reachable and the credentials are valid.
11443        '''
11444        self.hostname = hostname if hostname is not None else ''
11445        '''
11446         The host to dial to initiate a connection from the egress node to this resource.
11447        '''
11448        self.id = id if id is not None else ''
11449        '''
11450         Unique identifier of the Resource.
11451        '''
11452        self.name = name if name is not None else ''
11453        '''
11454         Unique human-readable name of the Resource.
11455        '''
11456        self.password = password if password is not None else ''
11457        '''
11458         The password to authenticate with.
11459        '''
11460        self.port = port if port is not None else 0
11461        '''
11462         The port to dial to initiate a connection from the egress node to this resource.
11463        '''
11464        self.port_override = port_override if port_override is not None else 0
11465        '''
11466         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11467        '''
11468        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11469        '''
11470         ID of the proxy cluster for this resource, if any.
11471        '''
11472        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11473        '''
11474         ID of the secret store containing credentials for this resource, if any.
11475        '''
11476        self.subdomain = subdomain if subdomain is not None else ''
11477        '''
11478         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11479        '''
11480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11481        '''
11482         Tags is a map of key, value pairs.
11483        '''
11484        self.username = username if username is not None else ''
11485        '''
11486         The username to authenticate with.
11487        '''
11488
11489    def __repr__(self):
11490        return '<sdm.DocumentDBHost ' + \
11491            'auth_database: ' + repr(self.auth_database) + ' ' +\
11492            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11493            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11494            'healthy: ' + repr(self.healthy) + ' ' +\
11495            'hostname: ' + repr(self.hostname) + ' ' +\
11496            'id: ' + repr(self.id) + ' ' +\
11497            'name: ' + repr(self.name) + ' ' +\
11498            'password: ' + repr(self.password) + ' ' +\
11499            'port: ' + repr(self.port) + ' ' +\
11500            'port_override: ' + repr(self.port_override) + ' ' +\
11501            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11502            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11503            'subdomain: ' + repr(self.subdomain) + ' ' +\
11504            'tags: ' + repr(self.tags) + ' ' +\
11505            'username: ' + repr(self.username) + ' ' +\
11506            '>'
11507
11508    def to_dict(self):
11509        return {
11510            'auth_database': self.auth_database,
11511            'bind_interface': self.bind_interface,
11512            'egress_filter': self.egress_filter,
11513            'healthy': self.healthy,
11514            'hostname': self.hostname,
11515            'id': self.id,
11516            'name': self.name,
11517            'password': self.password,
11518            'port': self.port,
11519            'port_override': self.port_override,
11520            'proxy_cluster_id': self.proxy_cluster_id,
11521            'secret_store_id': self.secret_store_id,
11522            'subdomain': self.subdomain,
11523            'tags': self.tags,
11524            'username': self.username,
11525        }
11526
11527    @classmethod
11528    def from_dict(cls, d):
11529        return cls(
11530            auth_database=d.get('auth_database'),
11531            bind_interface=d.get('bind_interface'),
11532            egress_filter=d.get('egress_filter'),
11533            healthy=d.get('healthy'),
11534            hostname=d.get('hostname'),
11535            id=d.get('id'),
11536            name=d.get('name'),
11537            password=d.get('password'),
11538            port=d.get('port'),
11539            port_override=d.get('port_override'),
11540            proxy_cluster_id=d.get('proxy_cluster_id'),
11541            secret_store_id=d.get('secret_store_id'),
11542            subdomain=d.get('subdomain'),
11543            tags=d.get('tags'),
11544            username=d.get('username'),
11545        )
11546
11547
11548class DocumentDBHostIAM:
11549    __slots__ = [
11550        'bind_interface',
11551        'egress_filter',
11552        'healthy',
11553        'hostname',
11554        'id',
11555        'name',
11556        'port',
11557        'port_override',
11558        'proxy_cluster_id',
11559        'region',
11560        'secret_store_id',
11561        'subdomain',
11562        'tags',
11563    ]
11564
11565    def __init__(
11566        self,
11567        bind_interface=None,
11568        egress_filter=None,
11569        healthy=None,
11570        hostname=None,
11571        id=None,
11572        name=None,
11573        port=None,
11574        port_override=None,
11575        proxy_cluster_id=None,
11576        region=None,
11577        secret_store_id=None,
11578        subdomain=None,
11579        tags=None,
11580    ):
11581        self.bind_interface = bind_interface if bind_interface is not None else ''
11582        '''
11583         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11584        '''
11585        self.egress_filter = egress_filter if egress_filter is not None else ''
11586        '''
11587         A filter applied to the routing logic to pin datasource to nodes.
11588        '''
11589        self.healthy = healthy if healthy is not None else False
11590        '''
11591         True if the datasource is reachable and the credentials are valid.
11592        '''
11593        self.hostname = hostname if hostname is not None else ''
11594        '''
11595         The host to dial to initiate a connection from the egress node to this resource.
11596        '''
11597        self.id = id if id is not None else ''
11598        '''
11599         Unique identifier of the Resource.
11600        '''
11601        self.name = name if name is not None else ''
11602        '''
11603         Unique human-readable name of the Resource.
11604        '''
11605        self.port = port if port is not None else 0
11606        '''
11607         The port to dial to initiate a connection from the egress node to this resource.
11608        '''
11609        self.port_override = port_override if port_override is not None else 0
11610        '''
11611         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11612        '''
11613        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11614        '''
11615         ID of the proxy cluster for this resource, if any.
11616        '''
11617        self.region = region if region is not None else ''
11618        '''
11619         The AWS region to connect to.
11620        '''
11621        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11622        '''
11623         ID of the secret store containing credentials for this resource, if any.
11624        '''
11625        self.subdomain = subdomain if subdomain is not None else ''
11626        '''
11627         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11628        '''
11629        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11630        '''
11631         Tags is a map of key, value pairs.
11632        '''
11633
11634    def __repr__(self):
11635        return '<sdm.DocumentDBHostIAM ' + \
11636            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11637            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11638            'healthy: ' + repr(self.healthy) + ' ' +\
11639            'hostname: ' + repr(self.hostname) + ' ' +\
11640            'id: ' + repr(self.id) + ' ' +\
11641            'name: ' + repr(self.name) + ' ' +\
11642            'port: ' + repr(self.port) + ' ' +\
11643            'port_override: ' + repr(self.port_override) + ' ' +\
11644            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11645            'region: ' + repr(self.region) + ' ' +\
11646            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11647            'subdomain: ' + repr(self.subdomain) + ' ' +\
11648            'tags: ' + repr(self.tags) + ' ' +\
11649            '>'
11650
11651    def to_dict(self):
11652        return {
11653            'bind_interface': self.bind_interface,
11654            'egress_filter': self.egress_filter,
11655            'healthy': self.healthy,
11656            'hostname': self.hostname,
11657            'id': self.id,
11658            'name': self.name,
11659            'port': self.port,
11660            'port_override': self.port_override,
11661            'proxy_cluster_id': self.proxy_cluster_id,
11662            'region': self.region,
11663            'secret_store_id': self.secret_store_id,
11664            'subdomain': self.subdomain,
11665            'tags': self.tags,
11666        }
11667
11668    @classmethod
11669    def from_dict(cls, d):
11670        return cls(
11671            bind_interface=d.get('bind_interface'),
11672            egress_filter=d.get('egress_filter'),
11673            healthy=d.get('healthy'),
11674            hostname=d.get('hostname'),
11675            id=d.get('id'),
11676            name=d.get('name'),
11677            port=d.get('port'),
11678            port_override=d.get('port_override'),
11679            proxy_cluster_id=d.get('proxy_cluster_id'),
11680            region=d.get('region'),
11681            secret_store_id=d.get('secret_store_id'),
11682            subdomain=d.get('subdomain'),
11683            tags=d.get('tags'),
11684        )
11685
11686
11687class DocumentDBReplicaSet:
11688    __slots__ = [
11689        'auth_database',
11690        'bind_interface',
11691        'connect_to_replica',
11692        'egress_filter',
11693        'healthy',
11694        'hostname',
11695        'id',
11696        'name',
11697        'password',
11698        'port_override',
11699        'proxy_cluster_id',
11700        'replica_set',
11701        'secret_store_id',
11702        'subdomain',
11703        'tags',
11704        'username',
11705    ]
11706
11707    def __init__(
11708        self,
11709        auth_database=None,
11710        bind_interface=None,
11711        connect_to_replica=None,
11712        egress_filter=None,
11713        healthy=None,
11714        hostname=None,
11715        id=None,
11716        name=None,
11717        password=None,
11718        port_override=None,
11719        proxy_cluster_id=None,
11720        replica_set=None,
11721        secret_store_id=None,
11722        subdomain=None,
11723        tags=None,
11724        username=None,
11725    ):
11726        self.auth_database = auth_database if auth_database is not None else ''
11727        '''
11728         The authentication database to use.
11729        '''
11730        self.bind_interface = bind_interface if bind_interface is not None else ''
11731        '''
11732         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11733        '''
11734        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11735        '''
11736         Set to connect to a replica instead of the primary node.
11737        '''
11738        self.egress_filter = egress_filter if egress_filter is not None else ''
11739        '''
11740         A filter applied to the routing logic to pin datasource to nodes.
11741        '''
11742        self.healthy = healthy if healthy is not None else False
11743        '''
11744         True if the datasource is reachable and the credentials are valid.
11745        '''
11746        self.hostname = hostname if hostname is not None else ''
11747        '''
11748         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11749        '''
11750        self.id = id if id is not None else ''
11751        '''
11752         Unique identifier of the Resource.
11753        '''
11754        self.name = name if name is not None else ''
11755        '''
11756         Unique human-readable name of the Resource.
11757        '''
11758        self.password = password if password is not None else ''
11759        '''
11760         The password to authenticate with.
11761        '''
11762        self.port_override = port_override if port_override is not None else 0
11763        '''
11764         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11765        '''
11766        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11767        '''
11768         ID of the proxy cluster for this resource, if any.
11769        '''
11770        self.replica_set = replica_set if replica_set is not None else ''
11771        '''
11772         The name of the mongo replicaset.
11773        '''
11774        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11775        '''
11776         ID of the secret store containing credentials for this resource, if any.
11777        '''
11778        self.subdomain = subdomain if subdomain is not None else ''
11779        '''
11780         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11781        '''
11782        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11783        '''
11784         Tags is a map of key, value pairs.
11785        '''
11786        self.username = username if username is not None else ''
11787        '''
11788         The username to authenticate with.
11789        '''
11790
11791    def __repr__(self):
11792        return '<sdm.DocumentDBReplicaSet ' + \
11793            'auth_database: ' + repr(self.auth_database) + ' ' +\
11794            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11795            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11796            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11797            'healthy: ' + repr(self.healthy) + ' ' +\
11798            'hostname: ' + repr(self.hostname) + ' ' +\
11799            'id: ' + repr(self.id) + ' ' +\
11800            'name: ' + repr(self.name) + ' ' +\
11801            'password: ' + repr(self.password) + ' ' +\
11802            'port_override: ' + repr(self.port_override) + ' ' +\
11803            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11804            'replica_set: ' + repr(self.replica_set) + ' ' +\
11805            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11806            'subdomain: ' + repr(self.subdomain) + ' ' +\
11807            'tags: ' + repr(self.tags) + ' ' +\
11808            'username: ' + repr(self.username) + ' ' +\
11809            '>'
11810
11811    def to_dict(self):
11812        return {
11813            'auth_database': self.auth_database,
11814            'bind_interface': self.bind_interface,
11815            'connect_to_replica': self.connect_to_replica,
11816            'egress_filter': self.egress_filter,
11817            'healthy': self.healthy,
11818            'hostname': self.hostname,
11819            'id': self.id,
11820            'name': self.name,
11821            'password': self.password,
11822            'port_override': self.port_override,
11823            'proxy_cluster_id': self.proxy_cluster_id,
11824            'replica_set': self.replica_set,
11825            'secret_store_id': self.secret_store_id,
11826            'subdomain': self.subdomain,
11827            'tags': self.tags,
11828            'username': self.username,
11829        }
11830
11831    @classmethod
11832    def from_dict(cls, d):
11833        return cls(
11834            auth_database=d.get('auth_database'),
11835            bind_interface=d.get('bind_interface'),
11836            connect_to_replica=d.get('connect_to_replica'),
11837            egress_filter=d.get('egress_filter'),
11838            healthy=d.get('healthy'),
11839            hostname=d.get('hostname'),
11840            id=d.get('id'),
11841            name=d.get('name'),
11842            password=d.get('password'),
11843            port_override=d.get('port_override'),
11844            proxy_cluster_id=d.get('proxy_cluster_id'),
11845            replica_set=d.get('replica_set'),
11846            secret_store_id=d.get('secret_store_id'),
11847            subdomain=d.get('subdomain'),
11848            tags=d.get('tags'),
11849            username=d.get('username'),
11850        )
11851
11852
11853class DocumentDBReplicaSetIAM:
11854    '''
11855    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11856    without a major version bump.
11857    '''
11858    __slots__ = [
11859        'bind_interface',
11860        'connect_to_replica',
11861        'egress_filter',
11862        'healthy',
11863        'hostname',
11864        'id',
11865        'name',
11866        'port_override',
11867        'proxy_cluster_id',
11868        'region',
11869        'secret_store_id',
11870        'subdomain',
11871        'tags',
11872    ]
11873
11874    def __init__(
11875        self,
11876        bind_interface=None,
11877        connect_to_replica=None,
11878        egress_filter=None,
11879        healthy=None,
11880        hostname=None,
11881        id=None,
11882        name=None,
11883        port_override=None,
11884        proxy_cluster_id=None,
11885        region=None,
11886        secret_store_id=None,
11887        subdomain=None,
11888        tags=None,
11889    ):
11890        self.bind_interface = bind_interface if bind_interface is not None else ''
11891        '''
11892         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11893        '''
11894        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11895        '''
11896         Set to connect to a replica instead of the primary node.
11897        '''
11898        self.egress_filter = egress_filter if egress_filter is not None else ''
11899        '''
11900         A filter applied to the routing logic to pin datasource to nodes.
11901        '''
11902        self.healthy = healthy if healthy is not None else False
11903        '''
11904         True if the datasource is reachable and the credentials are valid.
11905        '''
11906        self.hostname = hostname if hostname is not None else ''
11907        '''
11908         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11909        '''
11910        self.id = id if id is not None else ''
11911        '''
11912         Unique identifier of the Resource.
11913        '''
11914        self.name = name if name is not None else ''
11915        '''
11916         Unique human-readable name of the Resource.
11917        '''
11918        self.port_override = port_override if port_override is not None else 0
11919        '''
11920         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11921        '''
11922        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11923        '''
11924         ID of the proxy cluster for this resource, if any.
11925        '''
11926        self.region = region if region is not None else ''
11927        '''
11928         The region of the document db cluster
11929        '''
11930        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11931        '''
11932         ID of the secret store containing credentials for this resource, if any.
11933        '''
11934        self.subdomain = subdomain if subdomain is not None else ''
11935        '''
11936         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11937        '''
11938        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11939        '''
11940         Tags is a map of key, value pairs.
11941        '''
11942
11943    def __repr__(self):
11944        return '<sdm.DocumentDBReplicaSetIAM ' + \
11945            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11946            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11947            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11948            'healthy: ' + repr(self.healthy) + ' ' +\
11949            'hostname: ' + repr(self.hostname) + ' ' +\
11950            'id: ' + repr(self.id) + ' ' +\
11951            'name: ' + repr(self.name) + ' ' +\
11952            'port_override: ' + repr(self.port_override) + ' ' +\
11953            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11954            'region: ' + repr(self.region) + ' ' +\
11955            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11956            'subdomain: ' + repr(self.subdomain) + ' ' +\
11957            'tags: ' + repr(self.tags) + ' ' +\
11958            '>'
11959
11960    def to_dict(self):
11961        return {
11962            'bind_interface': self.bind_interface,
11963            'connect_to_replica': self.connect_to_replica,
11964            'egress_filter': self.egress_filter,
11965            'healthy': self.healthy,
11966            'hostname': self.hostname,
11967            'id': self.id,
11968            'name': self.name,
11969            'port_override': self.port_override,
11970            'proxy_cluster_id': self.proxy_cluster_id,
11971            'region': self.region,
11972            'secret_store_id': self.secret_store_id,
11973            'subdomain': self.subdomain,
11974            'tags': self.tags,
11975        }
11976
11977    @classmethod
11978    def from_dict(cls, d):
11979        return cls(
11980            bind_interface=d.get('bind_interface'),
11981            connect_to_replica=d.get('connect_to_replica'),
11982            egress_filter=d.get('egress_filter'),
11983            healthy=d.get('healthy'),
11984            hostname=d.get('hostname'),
11985            id=d.get('id'),
11986            name=d.get('name'),
11987            port_override=d.get('port_override'),
11988            proxy_cluster_id=d.get('proxy_cluster_id'),
11989            region=d.get('region'),
11990            secret_store_id=d.get('secret_store_id'),
11991            subdomain=d.get('subdomain'),
11992            tags=d.get('tags'),
11993        )
11994
11995
11996class Druid:
11997    __slots__ = [
11998        'bind_interface',
11999        'egress_filter',
12000        'healthy',
12001        'hostname',
12002        'id',
12003        'name',
12004        'password',
12005        'port',
12006        'port_override',
12007        'proxy_cluster_id',
12008        'secret_store_id',
12009        'subdomain',
12010        'tags',
12011        'username',
12012    ]
12013
12014    def __init__(
12015        self,
12016        bind_interface=None,
12017        egress_filter=None,
12018        healthy=None,
12019        hostname=None,
12020        id=None,
12021        name=None,
12022        password=None,
12023        port=None,
12024        port_override=None,
12025        proxy_cluster_id=None,
12026        secret_store_id=None,
12027        subdomain=None,
12028        tags=None,
12029        username=None,
12030    ):
12031        self.bind_interface = bind_interface if bind_interface is not None else ''
12032        '''
12033         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12034        '''
12035        self.egress_filter = egress_filter if egress_filter is not None else ''
12036        '''
12037         A filter applied to the routing logic to pin datasource to nodes.
12038        '''
12039        self.healthy = healthy if healthy is not None else False
12040        '''
12041         True if the datasource is reachable and the credentials are valid.
12042        '''
12043        self.hostname = hostname if hostname is not None else ''
12044        '''
12045         The host to dial to initiate a connection from the egress node to this resource.
12046        '''
12047        self.id = id if id is not None else ''
12048        '''
12049         Unique identifier of the Resource.
12050        '''
12051        self.name = name if name is not None else ''
12052        '''
12053         Unique human-readable name of the Resource.
12054        '''
12055        self.password = password if password is not None else ''
12056        '''
12057         The password to authenticate with.
12058        '''
12059        self.port = port if port is not None else 0
12060        '''
12061         The port to dial to initiate a connection from the egress node to this resource.
12062        '''
12063        self.port_override = port_override if port_override is not None else 0
12064        '''
12065         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12066        '''
12067        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12068        '''
12069         ID of the proxy cluster for this resource, if any.
12070        '''
12071        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12072        '''
12073         ID of the secret store containing credentials for this resource, if any.
12074        '''
12075        self.subdomain = subdomain if subdomain is not None else ''
12076        '''
12077         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12078        '''
12079        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12080        '''
12081         Tags is a map of key, value pairs.
12082        '''
12083        self.username = username if username is not None else ''
12084        '''
12085         The username to authenticate with.
12086        '''
12087
12088    def __repr__(self):
12089        return '<sdm.Druid ' + \
12090            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12091            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12092            'healthy: ' + repr(self.healthy) + ' ' +\
12093            'hostname: ' + repr(self.hostname) + ' ' +\
12094            'id: ' + repr(self.id) + ' ' +\
12095            'name: ' + repr(self.name) + ' ' +\
12096            'password: ' + repr(self.password) + ' ' +\
12097            'port: ' + repr(self.port) + ' ' +\
12098            'port_override: ' + repr(self.port_override) + ' ' +\
12099            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12100            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12101            'subdomain: ' + repr(self.subdomain) + ' ' +\
12102            'tags: ' + repr(self.tags) + ' ' +\
12103            'username: ' + repr(self.username) + ' ' +\
12104            '>'
12105
12106    def to_dict(self):
12107        return {
12108            'bind_interface': self.bind_interface,
12109            'egress_filter': self.egress_filter,
12110            'healthy': self.healthy,
12111            'hostname': self.hostname,
12112            'id': self.id,
12113            'name': self.name,
12114            'password': self.password,
12115            'port': self.port,
12116            'port_override': self.port_override,
12117            'proxy_cluster_id': self.proxy_cluster_id,
12118            'secret_store_id': self.secret_store_id,
12119            'subdomain': self.subdomain,
12120            'tags': self.tags,
12121            'username': self.username,
12122        }
12123
12124    @classmethod
12125    def from_dict(cls, d):
12126        return cls(
12127            bind_interface=d.get('bind_interface'),
12128            egress_filter=d.get('egress_filter'),
12129            healthy=d.get('healthy'),
12130            hostname=d.get('hostname'),
12131            id=d.get('id'),
12132            name=d.get('name'),
12133            password=d.get('password'),
12134            port=d.get('port'),
12135            port_override=d.get('port_override'),
12136            proxy_cluster_id=d.get('proxy_cluster_id'),
12137            secret_store_id=d.get('secret_store_id'),
12138            subdomain=d.get('subdomain'),
12139            tags=d.get('tags'),
12140            username=d.get('username'),
12141        )
12142
12143
12144class DynamoDB:
12145    __slots__ = [
12146        'access_key',
12147        'bind_interface',
12148        'egress_filter',
12149        'endpoint',
12150        'healthy',
12151        'id',
12152        'name',
12153        'port_override',
12154        'proxy_cluster_id',
12155        'region',
12156        'role_arn',
12157        'role_external_id',
12158        'secret_access_key',
12159        'secret_store_id',
12160        'subdomain',
12161        'tags',
12162    ]
12163
12164    def __init__(
12165        self,
12166        access_key=None,
12167        bind_interface=None,
12168        egress_filter=None,
12169        endpoint=None,
12170        healthy=None,
12171        id=None,
12172        name=None,
12173        port_override=None,
12174        proxy_cluster_id=None,
12175        region=None,
12176        role_arn=None,
12177        role_external_id=None,
12178        secret_access_key=None,
12179        secret_store_id=None,
12180        subdomain=None,
12181        tags=None,
12182    ):
12183        self.access_key = access_key if access_key is not None else ''
12184        '''
12185         The Access Key ID to use to authenticate.
12186        '''
12187        self.bind_interface = bind_interface if bind_interface is not None else ''
12188        '''
12189         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12190        '''
12191        self.egress_filter = egress_filter if egress_filter is not None else ''
12192        '''
12193         A filter applied to the routing logic to pin datasource to nodes.
12194        '''
12195        self.endpoint = endpoint if endpoint is not None else ''
12196        '''
12197         The endpoint to dial e.g. dynamodb.region.amazonaws.com
12198        '''
12199        self.healthy = healthy if healthy is not None else False
12200        '''
12201         True if the datasource is reachable and the credentials are valid.
12202        '''
12203        self.id = id if id is not None else ''
12204        '''
12205         Unique identifier of the Resource.
12206        '''
12207        self.name = name if name is not None else ''
12208        '''
12209         Unique human-readable name of the Resource.
12210        '''
12211        self.port_override = port_override if port_override is not None else 0
12212        '''
12213         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12214        '''
12215        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12216        '''
12217         ID of the proxy cluster for this resource, if any.
12218        '''
12219        self.region = region if region is not None else ''
12220        '''
12221         The region to authenticate requests against e.g. us-east-1
12222        '''
12223        self.role_arn = role_arn if role_arn is not None else ''
12224        '''
12225         The role to assume after logging in.
12226        '''
12227        self.role_external_id = role_external_id if role_external_id is not None else ''
12228        '''
12229         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
12230        '''
12231        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
12232        '''
12233         The Secret Access Key to use to authenticate.
12234        '''
12235        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12236        '''
12237         ID of the secret store containing credentials for this resource, if any.
12238        '''
12239        self.subdomain = subdomain if subdomain is not None else ''
12240        '''
12241         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12242        '''
12243        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12244        '''
12245         Tags is a map of key, value pairs.
12246        '''
12247
12248    def __repr__(self):
12249        return '<sdm.DynamoDB ' + \
12250            'access_key: ' + repr(self.access_key) + ' ' +\
12251            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12252            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12253            'endpoint: ' + repr(self.endpoint) + ' ' +\
12254            'healthy: ' + repr(self.healthy) + ' ' +\
12255            'id: ' + repr(self.id) + ' ' +\
12256            'name: ' + repr(self.name) + ' ' +\
12257            'port_override: ' + repr(self.port_override) + ' ' +\
12258            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12259            'region: ' + repr(self.region) + ' ' +\
12260            'role_arn: ' + repr(self.role_arn) + ' ' +\
12261            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
12262            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
12263            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12264            'subdomain: ' + repr(self.subdomain) + ' ' +\
12265            'tags: ' + repr(self.tags) + ' ' +\
12266            '>'
12267
12268    def to_dict(self):
12269        return {
12270            'access_key': self.access_key,
12271            'bind_interface': self.bind_interface,
12272            'egress_filter': self.egress_filter,
12273            'endpoint': self.endpoint,
12274            'healthy': self.healthy,
12275            'id': self.id,
12276            'name': self.name,
12277            'port_override': self.port_override,
12278            'proxy_cluster_id': self.proxy_cluster_id,
12279            'region': self.region,
12280            'role_arn': self.role_arn,
12281            'role_external_id': self.role_external_id,
12282            'secret_access_key': self.secret_access_key,
12283            'secret_store_id': self.secret_store_id,
12284            'subdomain': self.subdomain,
12285            'tags': self.tags,
12286        }
12287
12288    @classmethod
12289    def from_dict(cls, d):
12290        return cls(
12291            access_key=d.get('access_key'),
12292            bind_interface=d.get('bind_interface'),
12293            egress_filter=d.get('egress_filter'),
12294            endpoint=d.get('endpoint'),
12295            healthy=d.get('healthy'),
12296            id=d.get('id'),
12297            name=d.get('name'),
12298            port_override=d.get('port_override'),
12299            proxy_cluster_id=d.get('proxy_cluster_id'),
12300            region=d.get('region'),
12301            role_arn=d.get('role_arn'),
12302            role_external_id=d.get('role_external_id'),
12303            secret_access_key=d.get('secret_access_key'),
12304            secret_store_id=d.get('secret_store_id'),
12305            subdomain=d.get('subdomain'),
12306            tags=d.get('tags'),
12307        )
12308
12309
12310class DynamoDBIAM:
12311    __slots__ = [
12312        'bind_interface',
12313        'egress_filter',
12314        'endpoint',
12315        'healthy',
12316        'id',
12317        'name',
12318        'port_override',
12319        'proxy_cluster_id',
12320        'region',
12321        'role_arn',
12322        'role_external_id',
12323        'secret_store_id',
12324        'subdomain',
12325        'tags',
12326    ]
12327
12328    def __init__(
12329        self,
12330        bind_interface=None,
12331        egress_filter=None,
12332        endpoint=None,
12333        healthy=None,
12334        id=None,
12335        name=None,
12336        port_override=None,
12337        proxy_cluster_id=None,
12338        region=None,
12339        role_arn=None,
12340        role_external_id=None,
12341        secret_store_id=None,
12342        subdomain=None,
12343        tags=None,
12344    ):
12345        self.bind_interface = bind_interface if bind_interface is not None else ''
12346        '''
12347         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12348        '''
12349        self.egress_filter = egress_filter if egress_filter is not None else ''
12350        '''
12351         A filter applied to the routing logic to pin datasource to nodes.
12352        '''
12353        self.endpoint = endpoint if endpoint is not None else ''
12354        '''
12355         The endpoint to dial e.g. dynamodb.region.amazonaws.com
12356        '''
12357        self.healthy = healthy if healthy is not None else False
12358        '''
12359         True if the datasource is reachable and the credentials are valid.
12360        '''
12361        self.id = id if id is not None else ''
12362        '''
12363         Unique identifier of the Resource.
12364        '''
12365        self.name = name if name is not None else ''
12366        '''
12367         Unique human-readable name of the Resource.
12368        '''
12369        self.port_override = port_override if port_override is not None else 0
12370        '''
12371         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12372        '''
12373        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12374        '''
12375         ID of the proxy cluster for this resource, if any.
12376        '''
12377        self.region = region if region is not None else ''
12378        '''
12379         The region to authenticate requests against e.g. us-east-1
12380        '''
12381        self.role_arn = role_arn if role_arn is not None else ''
12382        '''
12383         The role to assume after logging in.
12384        '''
12385        self.role_external_id = role_external_id if role_external_id is not None else ''
12386        '''
12387         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
12388        '''
12389        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12390        '''
12391         ID of the secret store containing credentials for this resource, if any.
12392        '''
12393        self.subdomain = subdomain if subdomain is not None else ''
12394        '''
12395         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12396        '''
12397        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12398        '''
12399         Tags is a map of key, value pairs.
12400        '''
12401
12402    def __repr__(self):
12403        return '<sdm.DynamoDBIAM ' + \
12404            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12405            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12406            'endpoint: ' + repr(self.endpoint) + ' ' +\
12407            'healthy: ' + repr(self.healthy) + ' ' +\
12408            'id: ' + repr(self.id) + ' ' +\
12409            'name: ' + repr(self.name) + ' ' +\
12410            'port_override: ' + repr(self.port_override) + ' ' +\
12411            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12412            'region: ' + repr(self.region) + ' ' +\
12413            'role_arn: ' + repr(self.role_arn) + ' ' +\
12414            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
12415            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12416            'subdomain: ' + repr(self.subdomain) + ' ' +\
12417            'tags: ' + repr(self.tags) + ' ' +\
12418            '>'
12419
12420    def to_dict(self):
12421        return {
12422            'bind_interface': self.bind_interface,
12423            'egress_filter': self.egress_filter,
12424            'endpoint': self.endpoint,
12425            'healthy': self.healthy,
12426            'id': self.id,
12427            'name': self.name,
12428            'port_override': self.port_override,
12429            'proxy_cluster_id': self.proxy_cluster_id,
12430            'region': self.region,
12431            'role_arn': self.role_arn,
12432            'role_external_id': self.role_external_id,
12433            'secret_store_id': self.secret_store_id,
12434            'subdomain': self.subdomain,
12435            'tags': self.tags,
12436        }
12437
12438    @classmethod
12439    def from_dict(cls, d):
12440        return cls(
12441            bind_interface=d.get('bind_interface'),
12442            egress_filter=d.get('egress_filter'),
12443            endpoint=d.get('endpoint'),
12444            healthy=d.get('healthy'),
12445            id=d.get('id'),
12446            name=d.get('name'),
12447            port_override=d.get('port_override'),
12448            proxy_cluster_id=d.get('proxy_cluster_id'),
12449            region=d.get('region'),
12450            role_arn=d.get('role_arn'),
12451            role_external_id=d.get('role_external_id'),
12452            secret_store_id=d.get('secret_store_id'),
12453            subdomain=d.get('subdomain'),
12454            tags=d.get('tags'),
12455        )
12456
12457
12458class Elastic:
12459    __slots__ = [
12460        'bind_interface',
12461        'egress_filter',
12462        'healthy',
12463        'hostname',
12464        'id',
12465        'name',
12466        'password',
12467        'port',
12468        'port_override',
12469        'proxy_cluster_id',
12470        'secret_store_id',
12471        'subdomain',
12472        'tags',
12473        'tls_required',
12474        'username',
12475    ]
12476
12477    def __init__(
12478        self,
12479        bind_interface=None,
12480        egress_filter=None,
12481        healthy=None,
12482        hostname=None,
12483        id=None,
12484        name=None,
12485        password=None,
12486        port=None,
12487        port_override=None,
12488        proxy_cluster_id=None,
12489        secret_store_id=None,
12490        subdomain=None,
12491        tags=None,
12492        tls_required=None,
12493        username=None,
12494    ):
12495        self.bind_interface = bind_interface if bind_interface is not None else ''
12496        '''
12497         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12498        '''
12499        self.egress_filter = egress_filter if egress_filter is not None else ''
12500        '''
12501         A filter applied to the routing logic to pin datasource to nodes.
12502        '''
12503        self.healthy = healthy if healthy is not None else False
12504        '''
12505         True if the datasource is reachable and the credentials are valid.
12506        '''
12507        self.hostname = hostname if hostname is not None else ''
12508        '''
12509         The host to dial to initiate a connection from the egress node to this resource.
12510        '''
12511        self.id = id if id is not None else ''
12512        '''
12513         Unique identifier of the Resource.
12514        '''
12515        self.name = name if name is not None else ''
12516        '''
12517         Unique human-readable name of the Resource.
12518        '''
12519        self.password = password if password is not None else ''
12520        '''
12521         The password to authenticate with.
12522        '''
12523        self.port = port if port is not None else 0
12524        '''
12525         The port to dial to initiate a connection from the egress node to this resource.
12526        '''
12527        self.port_override = port_override if port_override is not None else 0
12528        '''
12529         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12530        '''
12531        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12532        '''
12533         ID of the proxy cluster for this resource, if any.
12534        '''
12535        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12536        '''
12537         ID of the secret store containing credentials for this resource, if any.
12538        '''
12539        self.subdomain = subdomain if subdomain is not None else ''
12540        '''
12541         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12542        '''
12543        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12544        '''
12545         Tags is a map of key, value pairs.
12546        '''
12547        self.tls_required = tls_required if tls_required is not None else False
12548        '''
12549         If set, TLS must be used to connect to this resource.
12550        '''
12551        self.username = username if username is not None else ''
12552        '''
12553         The username to authenticate with.
12554        '''
12555
12556    def __repr__(self):
12557        return '<sdm.Elastic ' + \
12558            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12559            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12560            'healthy: ' + repr(self.healthy) + ' ' +\
12561            'hostname: ' + repr(self.hostname) + ' ' +\
12562            'id: ' + repr(self.id) + ' ' +\
12563            'name: ' + repr(self.name) + ' ' +\
12564            'password: ' + repr(self.password) + ' ' +\
12565            'port: ' + repr(self.port) + ' ' +\
12566            'port_override: ' + repr(self.port_override) + ' ' +\
12567            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12568            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12569            'subdomain: ' + repr(self.subdomain) + ' ' +\
12570            'tags: ' + repr(self.tags) + ' ' +\
12571            'tls_required: ' + repr(self.tls_required) + ' ' +\
12572            'username: ' + repr(self.username) + ' ' +\
12573            '>'
12574
12575    def to_dict(self):
12576        return {
12577            'bind_interface': self.bind_interface,
12578            'egress_filter': self.egress_filter,
12579            'healthy': self.healthy,
12580            'hostname': self.hostname,
12581            'id': self.id,
12582            'name': self.name,
12583            'password': self.password,
12584            'port': self.port,
12585            'port_override': self.port_override,
12586            'proxy_cluster_id': self.proxy_cluster_id,
12587            'secret_store_id': self.secret_store_id,
12588            'subdomain': self.subdomain,
12589            'tags': self.tags,
12590            'tls_required': self.tls_required,
12591            'username': self.username,
12592        }
12593
12594    @classmethod
12595    def from_dict(cls, d):
12596        return cls(
12597            bind_interface=d.get('bind_interface'),
12598            egress_filter=d.get('egress_filter'),
12599            healthy=d.get('healthy'),
12600            hostname=d.get('hostname'),
12601            id=d.get('id'),
12602            name=d.get('name'),
12603            password=d.get('password'),
12604            port=d.get('port'),
12605            port_override=d.get('port_override'),
12606            proxy_cluster_id=d.get('proxy_cluster_id'),
12607            secret_store_id=d.get('secret_store_id'),
12608            subdomain=d.get('subdomain'),
12609            tags=d.get('tags'),
12610            tls_required=d.get('tls_required'),
12611            username=d.get('username'),
12612        )
12613
12614
12615class ElasticacheRedis:
12616    __slots__ = [
12617        'bind_interface',
12618        'egress_filter',
12619        'healthy',
12620        'hostname',
12621        'id',
12622        'name',
12623        'password',
12624        'port',
12625        'port_override',
12626        'proxy_cluster_id',
12627        'secret_store_id',
12628        'subdomain',
12629        'tags',
12630        'tls_required',
12631        'username',
12632    ]
12633
12634    def __init__(
12635        self,
12636        bind_interface=None,
12637        egress_filter=None,
12638        healthy=None,
12639        hostname=None,
12640        id=None,
12641        name=None,
12642        password=None,
12643        port=None,
12644        port_override=None,
12645        proxy_cluster_id=None,
12646        secret_store_id=None,
12647        subdomain=None,
12648        tags=None,
12649        tls_required=None,
12650        username=None,
12651    ):
12652        self.bind_interface = bind_interface if bind_interface is not None else ''
12653        '''
12654         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12655        '''
12656        self.egress_filter = egress_filter if egress_filter is not None else ''
12657        '''
12658         A filter applied to the routing logic to pin datasource to nodes.
12659        '''
12660        self.healthy = healthy if healthy is not None else False
12661        '''
12662         True if the datasource is reachable and the credentials are valid.
12663        '''
12664        self.hostname = hostname if hostname is not None else ''
12665        '''
12666         The host to dial to initiate a connection from the egress node to this resource.
12667        '''
12668        self.id = id if id is not None else ''
12669        '''
12670         Unique identifier of the Resource.
12671        '''
12672        self.name = name if name is not None else ''
12673        '''
12674         Unique human-readable name of the Resource.
12675        '''
12676        self.password = password if password is not None else ''
12677        '''
12678         The password to authenticate with.
12679        '''
12680        self.port = port if port is not None else 0
12681        '''
12682         The port to dial to initiate a connection from the egress node to this resource.
12683        '''
12684        self.port_override = port_override if port_override is not None else 0
12685        '''
12686         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12687        '''
12688        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12689        '''
12690         ID of the proxy cluster for this resource, if any.
12691        '''
12692        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12693        '''
12694         ID of the secret store containing credentials for this resource, if any.
12695        '''
12696        self.subdomain = subdomain if subdomain is not None else ''
12697        '''
12698         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12699        '''
12700        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12701        '''
12702         Tags is a map of key, value pairs.
12703        '''
12704        self.tls_required = tls_required if tls_required is not None else False
12705        '''
12706         If set, TLS must be used to connect to this resource.
12707        '''
12708        self.username = username if username is not None else ''
12709        '''
12710         The username to authenticate with.
12711        '''
12712
12713    def __repr__(self):
12714        return '<sdm.ElasticacheRedis ' + \
12715            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12716            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12717            'healthy: ' + repr(self.healthy) + ' ' +\
12718            'hostname: ' + repr(self.hostname) + ' ' +\
12719            'id: ' + repr(self.id) + ' ' +\
12720            'name: ' + repr(self.name) + ' ' +\
12721            'password: ' + repr(self.password) + ' ' +\
12722            'port: ' + repr(self.port) + ' ' +\
12723            'port_override: ' + repr(self.port_override) + ' ' +\
12724            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12725            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12726            'subdomain: ' + repr(self.subdomain) + ' ' +\
12727            'tags: ' + repr(self.tags) + ' ' +\
12728            'tls_required: ' + repr(self.tls_required) + ' ' +\
12729            'username: ' + repr(self.username) + ' ' +\
12730            '>'
12731
12732    def to_dict(self):
12733        return {
12734            'bind_interface': self.bind_interface,
12735            'egress_filter': self.egress_filter,
12736            'healthy': self.healthy,
12737            'hostname': self.hostname,
12738            'id': self.id,
12739            'name': self.name,
12740            'password': self.password,
12741            'port': self.port,
12742            'port_override': self.port_override,
12743            'proxy_cluster_id': self.proxy_cluster_id,
12744            'secret_store_id': self.secret_store_id,
12745            'subdomain': self.subdomain,
12746            'tags': self.tags,
12747            'tls_required': self.tls_required,
12748            'username': self.username,
12749        }
12750
12751    @classmethod
12752    def from_dict(cls, d):
12753        return cls(
12754            bind_interface=d.get('bind_interface'),
12755            egress_filter=d.get('egress_filter'),
12756            healthy=d.get('healthy'),
12757            hostname=d.get('hostname'),
12758            id=d.get('id'),
12759            name=d.get('name'),
12760            password=d.get('password'),
12761            port=d.get('port'),
12762            port_override=d.get('port_override'),
12763            proxy_cluster_id=d.get('proxy_cluster_id'),
12764            secret_store_id=d.get('secret_store_id'),
12765            subdomain=d.get('subdomain'),
12766            tags=d.get('tags'),
12767            tls_required=d.get('tls_required'),
12768            username=d.get('username'),
12769        )
12770
12771
12772class EntraID:
12773    __slots__ = [
12774        'bind_interface',
12775        'discovery_enabled',
12776        'egress_filter',
12777        'group_names',
12778        'healthy',
12779        'id',
12780        'identity_set_id',
12781        'management_group_id',
12782        'name',
12783        'privilege_levels',
12784        'proxy_cluster_id',
12785        'resource_group_id',
12786        'secret_store_id',
12787        'subdomain',
12788        'subscription_id',
12789        'tags',
12790        'tenant_id',
12791    ]
12792
12793    def __init__(
12794        self,
12795        bind_interface=None,
12796        discovery_enabled=None,
12797        egress_filter=None,
12798        group_names=None,
12799        healthy=None,
12800        id=None,
12801        identity_set_id=None,
12802        management_group_id=None,
12803        name=None,
12804        privilege_levels=None,
12805        proxy_cluster_id=None,
12806        resource_group_id=None,
12807        secret_store_id=None,
12808        subdomain=None,
12809        subscription_id=None,
12810        tags=None,
12811        tenant_id=None,
12812    ):
12813        self.bind_interface = bind_interface if bind_interface is not None else ''
12814        '''
12815         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12816        '''
12817        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12818        '''
12819         If true, configures discovery of the tenant to be run from a node.
12820        '''
12821        self.egress_filter = egress_filter if egress_filter is not None else ''
12822        '''
12823         A filter applied to the routing logic to pin datasource to nodes.
12824        '''
12825        self.group_names = group_names if group_names is not None else ''
12826        '''
12827         comma separated list of group names to filter by. Supports wildcards (*)
12828        '''
12829        self.healthy = healthy if healthy is not None else False
12830        '''
12831         True if the datasource is reachable and the credentials are valid.
12832        '''
12833        self.id = id if id is not None else ''
12834        '''
12835         Unique identifier of the Resource.
12836        '''
12837        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12838        '''
12839         The ID of the identity set to use for identity connections.
12840        '''
12841        self.management_group_id = management_group_id if management_group_id is not None else ''
12842        '''
12843         The management group ID to authenticate scope Privileges to.
12844        '''
12845        self.name = name if name is not None else ''
12846        '''
12847         Unique human-readable name of the Resource.
12848        '''
12849        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
12850        '''
12851         The privilege levels specify which Groups are managed externally
12852        '''
12853        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12854        '''
12855         ID of the proxy cluster for this resource, if any.
12856        '''
12857        self.resource_group_id = resource_group_id if resource_group_id is not None else ''
12858        '''
12859         filters discovered groups to the specified Resource Group
12860        '''
12861        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12862        '''
12863         ID of the secret store containing credentials for this resource, if any.
12864        '''
12865        self.subdomain = subdomain if subdomain is not None else ''
12866        '''
12867         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12868        '''
12869        self.subscription_id = subscription_id if subscription_id is not None else ''
12870        '''
12871         The subscription ID to authenticate scope Privileges to.
12872        '''
12873        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12874        '''
12875         Tags is a map of key, value pairs.
12876        '''
12877        self.tenant_id = tenant_id if tenant_id is not None else ''
12878        '''
12879         The connector ID to authenticate through.
12880        '''
12881
12882    def __repr__(self):
12883        return '<sdm.EntraID ' + \
12884            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12885            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12886            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12887            'group_names: ' + repr(self.group_names) + ' ' +\
12888            'healthy: ' + repr(self.healthy) + ' ' +\
12889            'id: ' + repr(self.id) + ' ' +\
12890            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12891            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
12892            'name: ' + repr(self.name) + ' ' +\
12893            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
12894            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12895            'resource_group_id: ' + repr(self.resource_group_id) + ' ' +\
12896            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12897            'subdomain: ' + repr(self.subdomain) + ' ' +\
12898            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
12899            'tags: ' + repr(self.tags) + ' ' +\
12900            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
12901            '>'
12902
12903    def to_dict(self):
12904        return {
12905            'bind_interface': self.bind_interface,
12906            'discovery_enabled': self.discovery_enabled,
12907            'egress_filter': self.egress_filter,
12908            'group_names': self.group_names,
12909            'healthy': self.healthy,
12910            'id': self.id,
12911            'identity_set_id': self.identity_set_id,
12912            'management_group_id': self.management_group_id,
12913            'name': self.name,
12914            'privilege_levels': self.privilege_levels,
12915            'proxy_cluster_id': self.proxy_cluster_id,
12916            'resource_group_id': self.resource_group_id,
12917            'secret_store_id': self.secret_store_id,
12918            'subdomain': self.subdomain,
12919            'subscription_id': self.subscription_id,
12920            'tags': self.tags,
12921            'tenant_id': self.tenant_id,
12922        }
12923
12924    @classmethod
12925    def from_dict(cls, d):
12926        return cls(
12927            bind_interface=d.get('bind_interface'),
12928            discovery_enabled=d.get('discovery_enabled'),
12929            egress_filter=d.get('egress_filter'),
12930            group_names=d.get('group_names'),
12931            healthy=d.get('healthy'),
12932            id=d.get('id'),
12933            identity_set_id=d.get('identity_set_id'),
12934            management_group_id=d.get('management_group_id'),
12935            name=d.get('name'),
12936            privilege_levels=d.get('privilege_levels'),
12937            proxy_cluster_id=d.get('proxy_cluster_id'),
12938            resource_group_id=d.get('resource_group_id'),
12939            secret_store_id=d.get('secret_store_id'),
12940            subdomain=d.get('subdomain'),
12941            subscription_id=d.get('subscription_id'),
12942            tags=d.get('tags'),
12943            tenant_id=d.get('tenant_id'),
12944        )
12945
12946
12947class GCP:
12948    __slots__ = [
12949        'bind_interface',
12950        'egress_filter',
12951        'healthy',
12952        'id',
12953        'keyfile',
12954        'name',
12955        'port_override',
12956        'proxy_cluster_id',
12957        'scopes',
12958        'secret_store_id',
12959        'subdomain',
12960        'tags',
12961    ]
12962
12963    def __init__(
12964        self,
12965        bind_interface=None,
12966        egress_filter=None,
12967        healthy=None,
12968        id=None,
12969        keyfile=None,
12970        name=None,
12971        port_override=None,
12972        proxy_cluster_id=None,
12973        scopes=None,
12974        secret_store_id=None,
12975        subdomain=None,
12976        tags=None,
12977    ):
12978        self.bind_interface = bind_interface if bind_interface is not None else ''
12979        '''
12980         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12981        '''
12982        self.egress_filter = egress_filter if egress_filter is not None else ''
12983        '''
12984         A filter applied to the routing logic to pin datasource to nodes.
12985        '''
12986        self.healthy = healthy if healthy is not None else False
12987        '''
12988         True if the datasource is reachable and the credentials are valid.
12989        '''
12990        self.id = id if id is not None else ''
12991        '''
12992         Unique identifier of the Resource.
12993        '''
12994        self.keyfile = keyfile if keyfile is not None else ''
12995        '''
12996         The service account keyfile to authenticate with.
12997        '''
12998        self.name = name if name is not None else ''
12999        '''
13000         Unique human-readable name of the Resource.
13001        '''
13002        self.port_override = port_override if port_override is not None else 0
13003        '''
13004         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13005        '''
13006        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13007        '''
13008         ID of the proxy cluster for this resource, if any.
13009        '''
13010        self.scopes = scopes if scopes is not None else ''
13011        '''
13012         Space separated scopes that this login should assume into when authenticating.
13013        '''
13014        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13015        '''
13016         ID of the secret store containing credentials for this resource, if any.
13017        '''
13018        self.subdomain = subdomain if subdomain is not None else ''
13019        '''
13020         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13021        '''
13022        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13023        '''
13024         Tags is a map of key, value pairs.
13025        '''
13026
13027    def __repr__(self):
13028        return '<sdm.GCP ' + \
13029            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13030            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13031            'healthy: ' + repr(self.healthy) + ' ' +\
13032            'id: ' + repr(self.id) + ' ' +\
13033            'keyfile: ' + repr(self.keyfile) + ' ' +\
13034            'name: ' + repr(self.name) + ' ' +\
13035            'port_override: ' + repr(self.port_override) + ' ' +\
13036            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13037            'scopes: ' + repr(self.scopes) + ' ' +\
13038            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13039            'subdomain: ' + repr(self.subdomain) + ' ' +\
13040            'tags: ' + repr(self.tags) + ' ' +\
13041            '>'
13042
13043    def to_dict(self):
13044        return {
13045            'bind_interface': self.bind_interface,
13046            'egress_filter': self.egress_filter,
13047            'healthy': self.healthy,
13048            'id': self.id,
13049            'keyfile': self.keyfile,
13050            'name': self.name,
13051            'port_override': self.port_override,
13052            'proxy_cluster_id': self.proxy_cluster_id,
13053            'scopes': self.scopes,
13054            'secret_store_id': self.secret_store_id,
13055            'subdomain': self.subdomain,
13056            'tags': self.tags,
13057        }
13058
13059    @classmethod
13060    def from_dict(cls, d):
13061        return cls(
13062            bind_interface=d.get('bind_interface'),
13063            egress_filter=d.get('egress_filter'),
13064            healthy=d.get('healthy'),
13065            id=d.get('id'),
13066            keyfile=d.get('keyfile'),
13067            name=d.get('name'),
13068            port_override=d.get('port_override'),
13069            proxy_cluster_id=d.get('proxy_cluster_id'),
13070            scopes=d.get('scopes'),
13071            secret_store_id=d.get('secret_store_id'),
13072            subdomain=d.get('subdomain'),
13073            tags=d.get('tags'),
13074        )
13075
13076
13077class GCPCertX509Store:
13078    __slots__ = [
13079        'caid',
13080        'capoolid',
13081        'id',
13082        'issuedcertttlminutes',
13083        'location',
13084        'name',
13085        'projectid',
13086        'tags',
13087    ]
13088
13089    def __init__(
13090        self,
13091        caid=None,
13092        capoolid=None,
13093        id=None,
13094        issuedcertttlminutes=None,
13095        location=None,
13096        name=None,
13097        projectid=None,
13098        tags=None,
13099    ):
13100        self.caid = caid if caid is not None else ''
13101        '''
13102         The ID of the target CA
13103        '''
13104        self.capoolid = capoolid if capoolid is not None else ''
13105        '''
13106         The ID of the target CA pool
13107        '''
13108        self.id = id if id is not None else ''
13109        '''
13110         Unique identifier of the SecretStore.
13111        '''
13112        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
13113        '''
13114         The lifetime of certificates issued by this CA represented in minutes.
13115        '''
13116        self.location = location if location is not None else ''
13117        '''
13118         The Region for the CA in GCP format e.g. us-west1
13119        '''
13120        self.name = name if name is not None else ''
13121        '''
13122         Unique human-readable name of the SecretStore.
13123        '''
13124        self.projectid = projectid if projectid is not None else ''
13125        '''
13126         The GCP project ID to target.
13127        '''
13128        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13129        '''
13130         Tags is a map of key, value pairs.
13131        '''
13132
13133    def __repr__(self):
13134        return '<sdm.GCPCertX509Store ' + \
13135            'caid: ' + repr(self.caid) + ' ' +\
13136            'capoolid: ' + repr(self.capoolid) + ' ' +\
13137            'id: ' + repr(self.id) + ' ' +\
13138            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
13139            'location: ' + repr(self.location) + ' ' +\
13140            'name: ' + repr(self.name) + ' ' +\
13141            'projectid: ' + repr(self.projectid) + ' ' +\
13142            'tags: ' + repr(self.tags) + ' ' +\
13143            '>'
13144
13145    def to_dict(self):
13146        return {
13147            'caid': self.caid,
13148            'capoolid': self.capoolid,
13149            'id': self.id,
13150            'issuedcertttlminutes': self.issuedcertttlminutes,
13151            'location': self.location,
13152            'name': self.name,
13153            'projectid': self.projectid,
13154            'tags': self.tags,
13155        }
13156
13157    @classmethod
13158    def from_dict(cls, d):
13159        return cls(
13160            caid=d.get('caid'),
13161            capoolid=d.get('capoolid'),
13162            id=d.get('id'),
13163            issuedcertttlminutes=d.get('issuedcertttlminutes'),
13164            location=d.get('location'),
13165            name=d.get('name'),
13166            projectid=d.get('projectid'),
13167            tags=d.get('tags'),
13168        )
13169
13170
13171class GCPConsole:
13172    __slots__ = [
13173        'bind_interface',
13174        'egress_filter',
13175        'healthy',
13176        'id',
13177        'identity_alias_healthcheck_username',
13178        'identity_set_id',
13179        'name',
13180        'port_override',
13181        'proxy_cluster_id',
13182        'secret_store_id',
13183        'session_expiry',
13184        'subdomain',
13185        'tags',
13186        'workforce_pool_id',
13187        'workforce_provider_id',
13188    ]
13189
13190    def __init__(
13191        self,
13192        bind_interface=None,
13193        egress_filter=None,
13194        healthy=None,
13195        id=None,
13196        identity_alias_healthcheck_username=None,
13197        identity_set_id=None,
13198        name=None,
13199        port_override=None,
13200        proxy_cluster_id=None,
13201        secret_store_id=None,
13202        session_expiry=None,
13203        subdomain=None,
13204        tags=None,
13205        workforce_pool_id=None,
13206        workforce_provider_id=None,
13207    ):
13208        self.bind_interface = bind_interface if bind_interface is not None else ''
13209        '''
13210         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13211        '''
13212        self.egress_filter = egress_filter if egress_filter is not None else ''
13213        '''
13214         A filter applied to the routing logic to pin datasource to nodes.
13215        '''
13216        self.healthy = healthy if healthy is not None else False
13217        '''
13218         True if the datasource is reachable and the credentials are valid.
13219        '''
13220        self.id = id if id is not None else ''
13221        '''
13222         Unique identifier of the Resource.
13223        '''
13224        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13225        '''
13226         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13227        '''
13228        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13229        '''
13230         The ID of the identity set to use for identity connections.
13231        '''
13232        self.name = name if name is not None else ''
13233        '''
13234         Unique human-readable name of the Resource.
13235        '''
13236        self.port_override = port_override if port_override is not None else 0
13237        '''
13238         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13239        '''
13240        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13241        '''
13242         ID of the proxy cluster for this resource, if any.
13243        '''
13244        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13245        '''
13246         ID of the secret store containing credentials for this resource, if any.
13247        '''
13248        self.session_expiry = session_expiry if session_expiry is not None else 0
13249        '''
13250         The length of time in seconds console sessions will live before needing to reauthenticate.
13251        '''
13252        self.subdomain = subdomain if subdomain is not None else ''
13253        '''
13254         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13255        '''
13256        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13257        '''
13258         Tags is a map of key, value pairs.
13259        '''
13260        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
13261        '''
13262         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
13263        '''
13264        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
13265        '''
13266         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
13267        '''
13268
13269    def __repr__(self):
13270        return '<sdm.GCPConsole ' + \
13271            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13272            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13273            'healthy: ' + repr(self.healthy) + ' ' +\
13274            'id: ' + repr(self.id) + ' ' +\
13275            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13276            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13277            'name: ' + repr(self.name) + ' ' +\
13278            'port_override: ' + repr(self.port_override) + ' ' +\
13279            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13280            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13281            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
13282            'subdomain: ' + repr(self.subdomain) + ' ' +\
13283            'tags: ' + repr(self.tags) + ' ' +\
13284            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
13285            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
13286            '>'
13287
13288    def to_dict(self):
13289        return {
13290            'bind_interface': self.bind_interface,
13291            'egress_filter': self.egress_filter,
13292            'healthy': self.healthy,
13293            'id': self.id,
13294            'identity_alias_healthcheck_username':
13295            self.identity_alias_healthcheck_username,
13296            'identity_set_id': self.identity_set_id,
13297            'name': self.name,
13298            'port_override': self.port_override,
13299            'proxy_cluster_id': self.proxy_cluster_id,
13300            'secret_store_id': self.secret_store_id,
13301            'session_expiry': self.session_expiry,
13302            'subdomain': self.subdomain,
13303            'tags': self.tags,
13304            'workforce_pool_id': self.workforce_pool_id,
13305            'workforce_provider_id': self.workforce_provider_id,
13306        }
13307
13308    @classmethod
13309    def from_dict(cls, d):
13310        return cls(
13311            bind_interface=d.get('bind_interface'),
13312            egress_filter=d.get('egress_filter'),
13313            healthy=d.get('healthy'),
13314            id=d.get('id'),
13315            identity_alias_healthcheck_username=d.get(
13316                'identity_alias_healthcheck_username'),
13317            identity_set_id=d.get('identity_set_id'),
13318            name=d.get('name'),
13319            port_override=d.get('port_override'),
13320            proxy_cluster_id=d.get('proxy_cluster_id'),
13321            secret_store_id=d.get('secret_store_id'),
13322            session_expiry=d.get('session_expiry'),
13323            subdomain=d.get('subdomain'),
13324            tags=d.get('tags'),
13325            workforce_pool_id=d.get('workforce_pool_id'),
13326            workforce_provider_id=d.get('workforce_provider_id'),
13327        )
13328
13329
13330class GCPStore:
13331    __slots__ = [
13332        'id',
13333        'name',
13334        'projectid',
13335        'tags',
13336    ]
13337
13338    def __init__(
13339        self,
13340        id=None,
13341        name=None,
13342        projectid=None,
13343        tags=None,
13344    ):
13345        self.id = id if id is not None else ''
13346        '''
13347         Unique identifier of the SecretStore.
13348        '''
13349        self.name = name if name is not None else ''
13350        '''
13351         Unique human-readable name of the SecretStore.
13352        '''
13353        self.projectid = projectid if projectid is not None else ''
13354        '''
13355         The GCP project ID to target.
13356        '''
13357        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13358        '''
13359         Tags is a map of key, value pairs.
13360        '''
13361
13362    def __repr__(self):
13363        return '<sdm.GCPStore ' + \
13364            'id: ' + repr(self.id) + ' ' +\
13365            'name: ' + repr(self.name) + ' ' +\
13366            'projectid: ' + repr(self.projectid) + ' ' +\
13367            'tags: ' + repr(self.tags) + ' ' +\
13368            '>'
13369
13370    def to_dict(self):
13371        return {
13372            'id': self.id,
13373            'name': self.name,
13374            'projectid': self.projectid,
13375            'tags': self.tags,
13376        }
13377
13378    @classmethod
13379    def from_dict(cls, d):
13380        return cls(
13381            id=d.get('id'),
13382            name=d.get('name'),
13383            projectid=d.get('projectid'),
13384            tags=d.get('tags'),
13385        )
13386
13387
13388class GCPWIF:
13389    __slots__ = [
13390        'bind_interface',
13391        'egress_filter',
13392        'healthy',
13393        'id',
13394        'identity_alias_healthcheck_username',
13395        'identity_set_id',
13396        'name',
13397        'port_override',
13398        'project_id',
13399        'proxy_cluster_id',
13400        'scopes',
13401        'secret_store_id',
13402        'session_expiry',
13403        'subdomain',
13404        'tags',
13405        'workforce_pool_id',
13406        'workforce_provider_id',
13407    ]
13408
13409    def __init__(
13410        self,
13411        bind_interface=None,
13412        egress_filter=None,
13413        healthy=None,
13414        id=None,
13415        identity_alias_healthcheck_username=None,
13416        identity_set_id=None,
13417        name=None,
13418        port_override=None,
13419        project_id=None,
13420        proxy_cluster_id=None,
13421        scopes=None,
13422        secret_store_id=None,
13423        session_expiry=None,
13424        subdomain=None,
13425        tags=None,
13426        workforce_pool_id=None,
13427        workforce_provider_id=None,
13428    ):
13429        self.bind_interface = bind_interface if bind_interface is not None else ''
13430        '''
13431         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13432        '''
13433        self.egress_filter = egress_filter if egress_filter is not None else ''
13434        '''
13435         A filter applied to the routing logic to pin datasource to nodes.
13436        '''
13437        self.healthy = healthy if healthy is not None else False
13438        '''
13439         True if the datasource is reachable and the credentials are valid.
13440        '''
13441        self.id = id if id is not None else ''
13442        '''
13443         Unique identifier of the Resource.
13444        '''
13445        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13446        '''
13447         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13448        '''
13449        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13450        '''
13451         The ID of the identity set to use for identity connections.
13452        '''
13453        self.name = name if name is not None else ''
13454        '''
13455         Unique human-readable name of the Resource.
13456        '''
13457        self.port_override = port_override if port_override is not None else 0
13458        '''
13459         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13460        '''
13461        self.project_id = project_id if project_id is not None else ''
13462        '''
13463         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
13464        '''
13465        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13466        '''
13467         ID of the proxy cluster for this resource, if any.
13468        '''
13469        self.scopes = scopes if scopes is not None else ''
13470        '''
13471         Space separated scopes that this login should assume into when authenticating.
13472        '''
13473        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13474        '''
13475         ID of the secret store containing credentials for this resource, if any.
13476        '''
13477        self.session_expiry = session_expiry if session_expiry is not None else 0
13478        '''
13479         The length of time in seconds console sessions will live before needing to reauthenticate.
13480        '''
13481        self.subdomain = subdomain if subdomain is not None else ''
13482        '''
13483         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13484        '''
13485        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13486        '''
13487         Tags is a map of key, value pairs.
13488        '''
13489        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
13490        '''
13491         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
13492        '''
13493        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
13494        '''
13495         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
13496        '''
13497
13498    def __repr__(self):
13499        return '<sdm.GCPWIF ' + \
13500            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13501            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13502            'healthy: ' + repr(self.healthy) + ' ' +\
13503            'id: ' + repr(self.id) + ' ' +\
13504            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13505            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13506            'name: ' + repr(self.name) + ' ' +\
13507            'port_override: ' + repr(self.port_override) + ' ' +\
13508            'project_id: ' + repr(self.project_id) + ' ' +\
13509            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13510            'scopes: ' + repr(self.scopes) + ' ' +\
13511            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13512            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
13513            'subdomain: ' + repr(self.subdomain) + ' ' +\
13514            'tags: ' + repr(self.tags) + ' ' +\
13515            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
13516            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
13517            '>'
13518
13519    def to_dict(self):
13520        return {
13521            'bind_interface': self.bind_interface,
13522            'egress_filter': self.egress_filter,
13523            'healthy': self.healthy,
13524            'id': self.id,
13525            'identity_alias_healthcheck_username':
13526            self.identity_alias_healthcheck_username,
13527            'identity_set_id': self.identity_set_id,
13528            'name': self.name,
13529            'port_override': self.port_override,
13530            'project_id': self.project_id,
13531            'proxy_cluster_id': self.proxy_cluster_id,
13532            'scopes': self.scopes,
13533            'secret_store_id': self.secret_store_id,
13534            'session_expiry': self.session_expiry,
13535            'subdomain': self.subdomain,
13536            'tags': self.tags,
13537            'workforce_pool_id': self.workforce_pool_id,
13538            'workforce_provider_id': self.workforce_provider_id,
13539        }
13540
13541    @classmethod
13542    def from_dict(cls, d):
13543        return cls(
13544            bind_interface=d.get('bind_interface'),
13545            egress_filter=d.get('egress_filter'),
13546            healthy=d.get('healthy'),
13547            id=d.get('id'),
13548            identity_alias_healthcheck_username=d.get(
13549                'identity_alias_healthcheck_username'),
13550            identity_set_id=d.get('identity_set_id'),
13551            name=d.get('name'),
13552            port_override=d.get('port_override'),
13553            project_id=d.get('project_id'),
13554            proxy_cluster_id=d.get('proxy_cluster_id'),
13555            scopes=d.get('scopes'),
13556            secret_store_id=d.get('secret_store_id'),
13557            session_expiry=d.get('session_expiry'),
13558            subdomain=d.get('subdomain'),
13559            tags=d.get('tags'),
13560            workforce_pool_id=d.get('workforce_pool_id'),
13561            workforce_provider_id=d.get('workforce_provider_id'),
13562        )
13563
13564
13565class Gateway:
13566    '''
13567         Gateway represents a StrongDM CLI installation running in gateway mode.
13568    '''
13569    __slots__ = [
13570        'bind_address',
13571        'device',
13572        'gateway_filter',
13573        'id',
13574        'listen_address',
13575        'location',
13576        'maintenance_windows',
13577        'name',
13578        'state',
13579        'tags',
13580        'version',
13581    ]
13582
13583    def __init__(
13584        self,
13585        bind_address=None,
13586        device=None,
13587        gateway_filter=None,
13588        id=None,
13589        listen_address=None,
13590        location=None,
13591        maintenance_windows=None,
13592        name=None,
13593        state=None,
13594        tags=None,
13595        version=None,
13596    ):
13597        self.bind_address = bind_address if bind_address is not None else ''
13598        '''
13599         The hostname/port tuple which the gateway daemon will bind to.
13600         If not provided on create, set to "0.0.0.0:listen_address_port".
13601        '''
13602        self.device = device if device is not None else ''
13603        '''
13604         Device is a read only device name uploaded by the gateway process when
13605         it comes online.
13606        '''
13607        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
13608        '''
13609         GatewayFilter can be used to restrict the peering between relays and
13610         gateways. Deprecated.
13611        '''
13612        self.id = id if id is not None else ''
13613        '''
13614         Unique identifier of the Gateway.
13615        '''
13616        self.listen_address = listen_address if listen_address is not None else ''
13617        '''
13618         The public hostname/port tuple at which the gateway will be accessible to clients.
13619        '''
13620        self.location = location if location is not None else ''
13621        '''
13622         Location is a read only network location uploaded by the gateway process
13623         when it comes online.
13624        '''
13625        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
13626        '''
13627         Maintenance Windows define when this node is allowed to restart. If a node
13628         is requested to restart, it will check each window to determine if any of
13629         them permit it to restart, and if any do, it will. This check is repeated
13630         per window until the restart is successfully completed.
13631         
13632         If not set here, may be set on the command line or via an environment variable
13633         on the process itself; any server setting will take precedence over local
13634         settings. This setting is ineffective for nodes below version 38.44.0.
13635         
13636         If this setting is not applied via this remote configuration or via local
13637         configuration, the default setting is used: always allow restarts if serving
13638         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
13639        '''
13640        self.name = name if name is not None else ''
13641        '''
13642         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.
13643        '''
13644        self.state = state if state is not None else ''
13645        '''
13646         The current state of the gateway. One of: "new", "verifying_restart",
13647         "restarting", "started", "stopped", "dead", "unknown"
13648        '''
13649        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13650        '''
13651         Tags is a map of key, value pairs.
13652        '''
13653        self.version = version if version is not None else ''
13654        '''
13655         Version is a read only sdm binary version uploaded by the gateway process
13656         when it comes online.
13657        '''
13658
13659    def __repr__(self):
13660        return '<sdm.Gateway ' + \
13661            'bind_address: ' + repr(self.bind_address) + ' ' +\
13662            'device: ' + repr(self.device) + ' ' +\
13663            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
13664            'id: ' + repr(self.id) + ' ' +\
13665            'listen_address: ' + repr(self.listen_address) + ' ' +\
13666            'location: ' + repr(self.location) + ' ' +\
13667            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
13668            'name: ' + repr(self.name) + ' ' +\
13669            'state: ' + repr(self.state) + ' ' +\
13670            'tags: ' + repr(self.tags) + ' ' +\
13671            'version: ' + repr(self.version) + ' ' +\
13672            '>'
13673
13674    def to_dict(self):
13675        return {
13676            'bind_address': self.bind_address,
13677            'device': self.device,
13678            'gateway_filter': self.gateway_filter,
13679            'id': self.id,
13680            'listen_address': self.listen_address,
13681            'location': self.location,
13682            'maintenance_windows': self.maintenance_windows,
13683            'name': self.name,
13684            'state': self.state,
13685            'tags': self.tags,
13686            'version': self.version,
13687        }
13688
13689    @classmethod
13690    def from_dict(cls, d):
13691        return cls(
13692            bind_address=d.get('bind_address'),
13693            device=d.get('device'),
13694            gateway_filter=d.get('gateway_filter'),
13695            id=d.get('id'),
13696            listen_address=d.get('listen_address'),
13697            location=d.get('location'),
13698            maintenance_windows=d.get('maintenance_windows'),
13699            name=d.get('name'),
13700            state=d.get('state'),
13701            tags=d.get('tags'),
13702            version=d.get('version'),
13703        )
13704
13705
13706class GenerateKeysRequest:
13707    __slots__ = [
13708        'secret_engine_id',
13709    ]
13710
13711    def __init__(
13712        self,
13713        secret_engine_id=None,
13714    ):
13715        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13716        '''
13717         required
13718        '''
13719
13720    def __repr__(self):
13721        return '<sdm.GenerateKeysRequest ' + \
13722            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13723            '>'
13724
13725    def to_dict(self):
13726        return {
13727            'secret_engine_id': self.secret_engine_id,
13728        }
13729
13730    @classmethod
13731    def from_dict(cls, d):
13732        return cls(secret_engine_id=d.get('secret_engine_id'), )
13733
13734
13735class GenerateKeysResponse:
13736    __slots__ = [
13737        'rate_limit',
13738    ]
13739
13740    def __init__(
13741        self,
13742        rate_limit=None,
13743    ):
13744        self.rate_limit = rate_limit if rate_limit is not None else None
13745        '''
13746         Rate limit information.
13747        '''
13748
13749    def __repr__(self):
13750        return '<sdm.GenerateKeysResponse ' + \
13751            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13752            '>'
13753
13754    def to_dict(self):
13755        return {
13756            'rate_limit': self.rate_limit,
13757        }
13758
13759    @classmethod
13760    def from_dict(cls, d):
13761        return cls(rate_limit=d.get('rate_limit'), )
13762
13763
13764class GenericResponseMetadata:
13765    '''
13766         GenericResponseMetadata contains common headers for generic request
13767     responses.
13768    '''
13769    __slots__ = []
13770
13771    def __init__(self, ):
13772        pass
13773
13774    def __repr__(self):
13775        return '<sdm.GenericResponseMetadata ' + \
13776            '>'
13777
13778    def to_dict(self):
13779        return {}
13780
13781    @classmethod
13782    def from_dict(cls, d):
13783        return cls()
13784
13785
13786class GetResponseMetadata:
13787    '''
13788         GetResponseMetadata is reserved for future use.
13789    '''
13790    __slots__ = []
13791
13792    def __init__(self, ):
13793        pass
13794
13795    def __repr__(self):
13796        return '<sdm.GetResponseMetadata ' + \
13797            '>'
13798
13799    def to_dict(self):
13800        return {}
13801
13802    @classmethod
13803    def from_dict(cls, d):
13804        return cls()
13805
13806
13807class GoogleGKE:
13808    __slots__ = [
13809        'allow_resource_role_bypass',
13810        'bind_interface',
13811        'certificate_authority',
13812        'discovery_enabled',
13813        'discovery_username',
13814        'egress_filter',
13815        'endpoint',
13816        'healthcheck_namespace',
13817        'healthy',
13818        'id',
13819        'identity_alias_healthcheck_username',
13820        'identity_set_id',
13821        'name',
13822        'port_override',
13823        'proxy_cluster_id',
13824        'secret_store_id',
13825        'service_account_key',
13826        'subdomain',
13827        'tags',
13828    ]
13829
13830    def __init__(
13831        self,
13832        allow_resource_role_bypass=None,
13833        bind_interface=None,
13834        certificate_authority=None,
13835        discovery_enabled=None,
13836        discovery_username=None,
13837        egress_filter=None,
13838        endpoint=None,
13839        healthcheck_namespace=None,
13840        healthy=None,
13841        id=None,
13842        identity_alias_healthcheck_username=None,
13843        identity_set_id=None,
13844        name=None,
13845        port_override=None,
13846        proxy_cluster_id=None,
13847        secret_store_id=None,
13848        service_account_key=None,
13849        subdomain=None,
13850        tags=None,
13851    ):
13852        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13853        '''
13854         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13855         when a resource role is not provided.
13856        '''
13857        self.bind_interface = bind_interface if bind_interface is not None else ''
13858        '''
13859         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13860        '''
13861        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13862        '''
13863         The CA to authenticate TLS connections with.
13864        '''
13865        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13866        '''
13867         If true, configures discovery of a cluster to be run from a node.
13868        '''
13869        self.discovery_username = discovery_username if discovery_username is not None else ''
13870        '''
13871         If a cluster is configured for user impersonation, this is the user to impersonate when
13872         running discovery.
13873        '''
13874        self.egress_filter = egress_filter if egress_filter is not None else ''
13875        '''
13876         A filter applied to the routing logic to pin datasource to nodes.
13877        '''
13878        self.endpoint = endpoint if endpoint is not None else ''
13879        '''
13880         The endpoint to dial.
13881        '''
13882        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13883        '''
13884         The path used to check the health of your connection.  Defaults to `default`.
13885        '''
13886        self.healthy = healthy if healthy is not None else False
13887        '''
13888         True if the datasource is reachable and the credentials are valid.
13889        '''
13890        self.id = id if id is not None else ''
13891        '''
13892         Unique identifier of the Resource.
13893        '''
13894        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13895        '''
13896         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13897        '''
13898        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13899        '''
13900         The ID of the identity set to use for identity connections.
13901        '''
13902        self.name = name if name is not None else ''
13903        '''
13904         Unique human-readable name of the Resource.
13905        '''
13906        self.port_override = port_override if port_override is not None else 0
13907        '''
13908         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13909        '''
13910        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13911        '''
13912         ID of the proxy cluster for this resource, if any.
13913        '''
13914        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13915        '''
13916         ID of the secret store containing credentials for this resource, if any.
13917        '''
13918        self.service_account_key = service_account_key if service_account_key is not None else ''
13919        '''
13920         The service account key to authenticate with.
13921        '''
13922        self.subdomain = subdomain if subdomain is not None else ''
13923        '''
13924         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13925        '''
13926        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13927        '''
13928         Tags is a map of key, value pairs.
13929        '''
13930
13931    def __repr__(self):
13932        return '<sdm.GoogleGKE ' + \
13933            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13934            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13935            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13936            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13937            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13938            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13939            'endpoint: ' + repr(self.endpoint) + ' ' +\
13940            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13941            'healthy: ' + repr(self.healthy) + ' ' +\
13942            'id: ' + repr(self.id) + ' ' +\
13943            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13944            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13945            'name: ' + repr(self.name) + ' ' +\
13946            'port_override: ' + repr(self.port_override) + ' ' +\
13947            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13948            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13949            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13950            'subdomain: ' + repr(self.subdomain) + ' ' +\
13951            'tags: ' + repr(self.tags) + ' ' +\
13952            '>'
13953
13954    def to_dict(self):
13955        return {
13956            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13957            'bind_interface': self.bind_interface,
13958            'certificate_authority': self.certificate_authority,
13959            'discovery_enabled': self.discovery_enabled,
13960            'discovery_username': self.discovery_username,
13961            'egress_filter': self.egress_filter,
13962            'endpoint': self.endpoint,
13963            'healthcheck_namespace': self.healthcheck_namespace,
13964            'healthy': self.healthy,
13965            'id': self.id,
13966            'identity_alias_healthcheck_username':
13967            self.identity_alias_healthcheck_username,
13968            'identity_set_id': self.identity_set_id,
13969            'name': self.name,
13970            'port_override': self.port_override,
13971            'proxy_cluster_id': self.proxy_cluster_id,
13972            'secret_store_id': self.secret_store_id,
13973            'service_account_key': self.service_account_key,
13974            'subdomain': self.subdomain,
13975            'tags': self.tags,
13976        }
13977
13978    @classmethod
13979    def from_dict(cls, d):
13980        return cls(
13981            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13982            bind_interface=d.get('bind_interface'),
13983            certificate_authority=d.get('certificate_authority'),
13984            discovery_enabled=d.get('discovery_enabled'),
13985            discovery_username=d.get('discovery_username'),
13986            egress_filter=d.get('egress_filter'),
13987            endpoint=d.get('endpoint'),
13988            healthcheck_namespace=d.get('healthcheck_namespace'),
13989            healthy=d.get('healthy'),
13990            id=d.get('id'),
13991            identity_alias_healthcheck_username=d.get(
13992                'identity_alias_healthcheck_username'),
13993            identity_set_id=d.get('identity_set_id'),
13994            name=d.get('name'),
13995            port_override=d.get('port_override'),
13996            proxy_cluster_id=d.get('proxy_cluster_id'),
13997            secret_store_id=d.get('secret_store_id'),
13998            service_account_key=d.get('service_account_key'),
13999            subdomain=d.get('subdomain'),
14000            tags=d.get('tags'),
14001        )
14002
14003
14004class GoogleGKEUserImpersonation:
14005    '''
14006    GoogleGKEUserImpersonation is deprecated, see docs for more info.
14007    '''
14008    __slots__ = [
14009        'bind_interface',
14010        'certificate_authority',
14011        'egress_filter',
14012        'endpoint',
14013        'healthcheck_namespace',
14014        'healthy',
14015        'id',
14016        'name',
14017        'port_override',
14018        'proxy_cluster_id',
14019        'secret_store_id',
14020        'service_account_key',
14021        'subdomain',
14022        'tags',
14023    ]
14024
14025    def __init__(
14026        self,
14027        bind_interface=None,
14028        certificate_authority=None,
14029        egress_filter=None,
14030        endpoint=None,
14031        healthcheck_namespace=None,
14032        healthy=None,
14033        id=None,
14034        name=None,
14035        port_override=None,
14036        proxy_cluster_id=None,
14037        secret_store_id=None,
14038        service_account_key=None,
14039        subdomain=None,
14040        tags=None,
14041    ):
14042        self.bind_interface = bind_interface if bind_interface is not None else ''
14043        '''
14044         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14045        '''
14046        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14047        '''
14048         The CA to authenticate TLS connections with.
14049        '''
14050        self.egress_filter = egress_filter if egress_filter is not None else ''
14051        '''
14052         A filter applied to the routing logic to pin datasource to nodes.
14053        '''
14054        self.endpoint = endpoint if endpoint is not None else ''
14055        '''
14056         The endpoint to dial.
14057        '''
14058        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14059        '''
14060         The path used to check the health of your connection.  Defaults to `default`.
14061        '''
14062        self.healthy = healthy if healthy is not None else False
14063        '''
14064         True if the datasource is reachable and the credentials are valid.
14065        '''
14066        self.id = id if id is not None else ''
14067        '''
14068         Unique identifier of the Resource.
14069        '''
14070        self.name = name if name is not None else ''
14071        '''
14072         Unique human-readable name of the Resource.
14073        '''
14074        self.port_override = port_override if port_override is not None else 0
14075        '''
14076         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14077        '''
14078        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14079        '''
14080         ID of the proxy cluster for this resource, if any.
14081        '''
14082        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14083        '''
14084         ID of the secret store containing credentials for this resource, if any.
14085        '''
14086        self.service_account_key = service_account_key if service_account_key is not None else ''
14087        '''
14088         The service account key to authenticate with.
14089        '''
14090        self.subdomain = subdomain if subdomain is not None else ''
14091        '''
14092         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14093        '''
14094        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14095        '''
14096         Tags is a map of key, value pairs.
14097        '''
14098
14099    def __repr__(self):
14100        return '<sdm.GoogleGKEUserImpersonation ' + \
14101            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14102            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14103            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14104            'endpoint: ' + repr(self.endpoint) + ' ' +\
14105            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14106            'healthy: ' + repr(self.healthy) + ' ' +\
14107            'id: ' + repr(self.id) + ' ' +\
14108            'name: ' + repr(self.name) + ' ' +\
14109            'port_override: ' + repr(self.port_override) + ' ' +\
14110            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14111            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14112            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
14113            'subdomain: ' + repr(self.subdomain) + ' ' +\
14114            'tags: ' + repr(self.tags) + ' ' +\
14115            '>'
14116
14117    def to_dict(self):
14118        return {
14119            'bind_interface': self.bind_interface,
14120            'certificate_authority': self.certificate_authority,
14121            'egress_filter': self.egress_filter,
14122            'endpoint': self.endpoint,
14123            'healthcheck_namespace': self.healthcheck_namespace,
14124            'healthy': self.healthy,
14125            'id': self.id,
14126            'name': self.name,
14127            'port_override': self.port_override,
14128            'proxy_cluster_id': self.proxy_cluster_id,
14129            'secret_store_id': self.secret_store_id,
14130            'service_account_key': self.service_account_key,
14131            'subdomain': self.subdomain,
14132            'tags': self.tags,
14133        }
14134
14135    @classmethod
14136    def from_dict(cls, d):
14137        return cls(
14138            bind_interface=d.get('bind_interface'),
14139            certificate_authority=d.get('certificate_authority'),
14140            egress_filter=d.get('egress_filter'),
14141            endpoint=d.get('endpoint'),
14142            healthcheck_namespace=d.get('healthcheck_namespace'),
14143            healthy=d.get('healthy'),
14144            id=d.get('id'),
14145            name=d.get('name'),
14146            port_override=d.get('port_override'),
14147            proxy_cluster_id=d.get('proxy_cluster_id'),
14148            secret_store_id=d.get('secret_store_id'),
14149            service_account_key=d.get('service_account_key'),
14150            subdomain=d.get('subdomain'),
14151            tags=d.get('tags'),
14152        )
14153
14154
14155class Greenplum:
14156    __slots__ = [
14157        'bind_interface',
14158        'database',
14159        'egress_filter',
14160        'healthy',
14161        'hostname',
14162        'id',
14163        'name',
14164        'override_database',
14165        'password',
14166        'port',
14167        'port_override',
14168        'proxy_cluster_id',
14169        'secret_store_id',
14170        'subdomain',
14171        'tags',
14172        'username',
14173    ]
14174
14175    def __init__(
14176        self,
14177        bind_interface=None,
14178        database=None,
14179        egress_filter=None,
14180        healthy=None,
14181        hostname=None,
14182        id=None,
14183        name=None,
14184        override_database=None,
14185        password=None,
14186        port=None,
14187        port_override=None,
14188        proxy_cluster_id=None,
14189        secret_store_id=None,
14190        subdomain=None,
14191        tags=None,
14192        username=None,
14193    ):
14194        self.bind_interface = bind_interface if bind_interface is not None else ''
14195        '''
14196         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14197        '''
14198        self.database = database if database is not None else ''
14199        '''
14200         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
14201        '''
14202        self.egress_filter = egress_filter if egress_filter is not None else ''
14203        '''
14204         A filter applied to the routing logic to pin datasource to nodes.
14205        '''
14206        self.healthy = healthy if healthy is not None else False
14207        '''
14208         True if the datasource is reachable and the credentials are valid.
14209        '''
14210        self.hostname = hostname if hostname is not None else ''
14211        '''
14212         The host to dial to initiate a connection from the egress node to this resource.
14213        '''
14214        self.id = id if id is not None else ''
14215        '''
14216         Unique identifier of the Resource.
14217        '''
14218        self.name = name if name is not None else ''
14219        '''
14220         Unique human-readable name of the Resource.
14221        '''
14222        self.override_database = override_database if override_database is not None else False
14223        '''
14224         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
14225        '''
14226        self.password = password if password is not None else ''
14227        '''
14228         The password to authenticate with.
14229        '''
14230        self.port = port if port is not None else 0
14231        '''
14232         The port to dial to initiate a connection from the egress node to this resource.
14233        '''
14234        self.port_override = port_override if port_override is not None else 0
14235        '''
14236         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14237        '''
14238        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14239        '''
14240         ID of the proxy cluster for this resource, if any.
14241        '''
14242        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14243        '''
14244         ID of the secret store containing credentials for this resource, if any.
14245        '''
14246        self.subdomain = subdomain if subdomain is not None else ''
14247        '''
14248         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14249        '''
14250        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14251        '''
14252         Tags is a map of key, value pairs.
14253        '''
14254        self.username = username if username is not None else ''
14255        '''
14256         The username to authenticate with.
14257        '''
14258
14259    def __repr__(self):
14260        return '<sdm.Greenplum ' + \
14261            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14262            'database: ' + repr(self.database) + ' ' +\
14263            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14264            'healthy: ' + repr(self.healthy) + ' ' +\
14265            'hostname: ' + repr(self.hostname) + ' ' +\
14266            'id: ' + repr(self.id) + ' ' +\
14267            'name: ' + repr(self.name) + ' ' +\
14268            'override_database: ' + repr(self.override_database) + ' ' +\
14269            'password: ' + repr(self.password) + ' ' +\
14270            'port: ' + repr(self.port) + ' ' +\
14271            'port_override: ' + repr(self.port_override) + ' ' +\
14272            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14273            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14274            'subdomain: ' + repr(self.subdomain) + ' ' +\
14275            'tags: ' + repr(self.tags) + ' ' +\
14276            'username: ' + repr(self.username) + ' ' +\
14277            '>'
14278
14279    def to_dict(self):
14280        return {
14281            'bind_interface': self.bind_interface,
14282            'database': self.database,
14283            'egress_filter': self.egress_filter,
14284            'healthy': self.healthy,
14285            'hostname': self.hostname,
14286            'id': self.id,
14287            'name': self.name,
14288            'override_database': self.override_database,
14289            'password': self.password,
14290            'port': self.port,
14291            'port_override': self.port_override,
14292            'proxy_cluster_id': self.proxy_cluster_id,
14293            'secret_store_id': self.secret_store_id,
14294            'subdomain': self.subdomain,
14295            'tags': self.tags,
14296            'username': self.username,
14297        }
14298
14299    @classmethod
14300    def from_dict(cls, d):
14301        return cls(
14302            bind_interface=d.get('bind_interface'),
14303            database=d.get('database'),
14304            egress_filter=d.get('egress_filter'),
14305            healthy=d.get('healthy'),
14306            hostname=d.get('hostname'),
14307            id=d.get('id'),
14308            name=d.get('name'),
14309            override_database=d.get('override_database'),
14310            password=d.get('password'),
14311            port=d.get('port'),
14312            port_override=d.get('port_override'),
14313            proxy_cluster_id=d.get('proxy_cluster_id'),
14314            secret_store_id=d.get('secret_store_id'),
14315            subdomain=d.get('subdomain'),
14316            tags=d.get('tags'),
14317            username=d.get('username'),
14318        )
14319
14320
14321class Group:
14322    '''
14323         A Group is a named set of principals.
14324    '''
14325    __slots__ = [
14326        'description',
14327        'id',
14328        'name',
14329        'source',
14330        'tags',
14331    ]
14332
14333    def __init__(
14334        self,
14335        description=None,
14336        id=None,
14337        name=None,
14338        source=None,
14339        tags=None,
14340    ):
14341        self.description = description if description is not None else ''
14342        '''
14343         Description of the Group.
14344        '''
14345        self.id = id if id is not None else ''
14346        '''
14347         Unique identifier of the Group.
14348        '''
14349        self.name = name if name is not None else ''
14350        '''
14351         Unique human-readable name of the Group.
14352        '''
14353        self.source = source if source is not None else ''
14354        '''
14355         Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
14356        '''
14357        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14358        '''
14359         Tags is a map of key/value pairs that can be attached to a Group.
14360        '''
14361
14362    def __repr__(self):
14363        return '<sdm.Group ' + \
14364            'description: ' + repr(self.description) + ' ' +\
14365            'id: ' + repr(self.id) + ' ' +\
14366            'name: ' + repr(self.name) + ' ' +\
14367            'source: ' + repr(self.source) + ' ' +\
14368            'tags: ' + repr(self.tags) + ' ' +\
14369            '>'
14370
14371    def to_dict(self):
14372        return {
14373            'description': self.description,
14374            'id': self.id,
14375            'name': self.name,
14376            'source': self.source,
14377            'tags': self.tags,
14378        }
14379
14380    @classmethod
14381    def from_dict(cls, d):
14382        return cls(
14383            description=d.get('description'),
14384            id=d.get('id'),
14385            name=d.get('name'),
14386            source=d.get('source'),
14387            tags=d.get('tags'),
14388        )
14389
14390
14391class GroupCreateFromRolesRequest:
14392    __slots__ = [
14393        'commit',
14394        'role_ids',
14395    ]
14396
14397    def __init__(
14398        self,
14399        commit=None,
14400        role_ids=None,
14401    ):
14402        self.commit = commit if commit is not None else False
14403        '''
14404         Commit
14405        '''
14406        self.role_ids = role_ids if role_ids is not None else []
14407        '''
14408         The unique identifiers of the roles create groups from.
14409        '''
14410
14411    def __repr__(self):
14412        return '<sdm.GroupCreateFromRolesRequest ' + \
14413            'commit: ' + repr(self.commit) + ' ' +\
14414            'role_ids: ' + repr(self.role_ids) + ' ' +\
14415            '>'
14416
14417    def to_dict(self):
14418        return {
14419            'commit': self.commit,
14420            'role_ids': self.role_ids,
14421        }
14422
14423    @classmethod
14424    def from_dict(cls, d):
14425        return cls(
14426            commit=d.get('commit'),
14427            role_ids=d.get('role_ids'),
14428        )
14429
14430
14431class GroupCreateFromRolesResponse:
14432    __slots__ = [
14433        'group_from_role',
14434        'rate_limit',
14435    ]
14436
14437    def __init__(
14438        self,
14439        group_from_role=None,
14440        rate_limit=None,
14441    ):
14442        self.group_from_role = group_from_role if group_from_role is not None else []
14443        '''
14444         The created Group.
14445        '''
14446        self.rate_limit = rate_limit if rate_limit is not None else None
14447        '''
14448         Rate limit information.
14449        '''
14450
14451    def __repr__(self):
14452        return '<sdm.GroupCreateFromRolesResponse ' + \
14453            'group_from_role: ' + repr(self.group_from_role) + ' ' +\
14454            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14455            '>'
14456
14457    def to_dict(self):
14458        return {
14459            'group_from_role': self.group_from_role,
14460            'rate_limit': self.rate_limit,
14461        }
14462
14463    @classmethod
14464    def from_dict(cls, d):
14465        return cls(
14466            group_from_role=d.get('group_from_role'),
14467            rate_limit=d.get('rate_limit'),
14468        )
14469
14470
14471class GroupCreateRequest:
14472    '''
14473         GroupCreateRequest specifies a group to create.
14474    '''
14475    __slots__ = [
14476        'group',
14477    ]
14478
14479    def __init__(
14480        self,
14481        group=None,
14482    ):
14483        self.group = group if group is not None else None
14484        '''
14485         Parameters to define the new Group.
14486        '''
14487
14488    def __repr__(self):
14489        return '<sdm.GroupCreateRequest ' + \
14490            'group: ' + repr(self.group) + ' ' +\
14491            '>'
14492
14493    def to_dict(self):
14494        return {
14495            'group': self.group,
14496        }
14497
14498    @classmethod
14499    def from_dict(cls, d):
14500        return cls(group=d.get('group'), )
14501
14502
14503class GroupCreateResponse:
14504    '''
14505         GroupCreateResponse reports the result of a create.
14506    '''
14507    __slots__ = [
14508        'group',
14509        'rate_limit',
14510    ]
14511
14512    def __init__(
14513        self,
14514        group=None,
14515        rate_limit=None,
14516    ):
14517        self.group = group if group is not None else None
14518        '''
14519         The created Group.
14520        '''
14521        self.rate_limit = rate_limit if rate_limit is not None else None
14522        '''
14523         Rate limit information.
14524        '''
14525
14526    def __repr__(self):
14527        return '<sdm.GroupCreateResponse ' + \
14528            'group: ' + repr(self.group) + ' ' +\
14529            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14530            '>'
14531
14532    def to_dict(self):
14533        return {
14534            'group': self.group,
14535            'rate_limit': self.rate_limit,
14536        }
14537
14538    @classmethod
14539    def from_dict(cls, d):
14540        return cls(
14541            group=d.get('group'),
14542            rate_limit=d.get('rate_limit'),
14543        )
14544
14545
14546class GroupDeleteRequest:
14547    '''
14548         groupDeleteRequest identifies a group by ID to delete.
14549    '''
14550    __slots__ = [
14551        'id',
14552    ]
14553
14554    def __init__(
14555        self,
14556        id=None,
14557    ):
14558        self.id = id if id is not None else ''
14559        '''
14560         The unique identifier of the group to delete.
14561        '''
14562
14563    def __repr__(self):
14564        return '<sdm.GroupDeleteRequest ' + \
14565            'id: ' + repr(self.id) + ' ' +\
14566            '>'
14567
14568    def to_dict(self):
14569        return {
14570            'id': self.id,
14571        }
14572
14573    @classmethod
14574    def from_dict(cls, d):
14575        return cls(id=d.get('id'), )
14576
14577
14578class GroupDeleteResponse:
14579    '''
14580         groupDeleteResponse returns information about a group that was deleted.
14581    '''
14582    __slots__ = [
14583        'meta',
14584        'rate_limit',
14585    ]
14586
14587    def __init__(
14588        self,
14589        meta=None,
14590        rate_limit=None,
14591    ):
14592        self.meta = meta if meta is not None else None
14593        '''
14594         Reserved for future use.
14595        '''
14596        self.rate_limit = rate_limit if rate_limit is not None else None
14597        '''
14598         Rate limit information.
14599        '''
14600
14601    def __repr__(self):
14602        return '<sdm.GroupDeleteResponse ' + \
14603            'meta: ' + repr(self.meta) + ' ' +\
14604            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14605            '>'
14606
14607    def to_dict(self):
14608        return {
14609            'meta': self.meta,
14610            'rate_limit': self.rate_limit,
14611        }
14612
14613    @classmethod
14614    def from_dict(cls, d):
14615        return cls(
14616            meta=d.get('meta'),
14617            rate_limit=d.get('rate_limit'),
14618        )
14619
14620
14621class GroupFromRole:
14622    __slots__ = [
14623        'accounts',
14624        'approval_flows',
14625        'group',
14626        'rate_limit',
14627        'role',
14628    ]
14629
14630    def __init__(
14631        self,
14632        accounts=None,
14633        approval_flows=None,
14634        group=None,
14635        rate_limit=None,
14636        role=None,
14637    ):
14638        self.accounts = accounts if accounts is not None else []
14639        '''
14640         The migrated Accounts.
14641        '''
14642        self.approval_flows = approval_flows if approval_flows is not None else []
14643        '''
14644         The affected approval flows.
14645        '''
14646        self.group = group if group is not None else None
14647        '''
14648         The group created from the source role.
14649        '''
14650        self.rate_limit = rate_limit if rate_limit is not None else None
14651        '''
14652         Rate limit information.
14653        '''
14654        self.role = role if role is not None else None
14655        '''
14656         The source role.
14657        '''
14658
14659    def __repr__(self):
14660        return '<sdm.GroupFromRole ' + \
14661            'accounts: ' + repr(self.accounts) + ' ' +\
14662            'approval_flows: ' + repr(self.approval_flows) + ' ' +\
14663            'group: ' + repr(self.group) + ' ' +\
14664            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14665            'role: ' + repr(self.role) + ' ' +\
14666            '>'
14667
14668    def to_dict(self):
14669        return {
14670            'accounts': self.accounts,
14671            'approval_flows': self.approval_flows,
14672            'group': self.group,
14673            'rate_limit': self.rate_limit,
14674            'role': self.role,
14675        }
14676
14677    @classmethod
14678    def from_dict(cls, d):
14679        return cls(
14680            accounts=d.get('accounts'),
14681            approval_flows=d.get('approval_flows'),
14682            group=d.get('group'),
14683            rate_limit=d.get('rate_limit'),
14684            role=d.get('role'),
14685        )
14686
14687
14688class GroupGetRequest:
14689    '''
14690         GroupGetRequest specifies which Group to retrieve.
14691    '''
14692    __slots__ = [
14693        'id',
14694    ]
14695
14696    def __init__(
14697        self,
14698        id=None,
14699    ):
14700        self.id = id if id is not None else ''
14701        '''
14702         The unique identifier of the Group to retrieve.
14703        '''
14704
14705    def __repr__(self):
14706        return '<sdm.GroupGetRequest ' + \
14707            'id: ' + repr(self.id) + ' ' +\
14708            '>'
14709
14710    def to_dict(self):
14711        return {
14712            'id': self.id,
14713        }
14714
14715    @classmethod
14716    def from_dict(cls, d):
14717        return cls(id=d.get('id'), )
14718
14719
14720class GroupGetResponse:
14721    '''
14722         GroupGetResponse returns a requested Group.
14723    '''
14724    __slots__ = [
14725        'group',
14726        'meta',
14727        'rate_limit',
14728    ]
14729
14730    def __init__(
14731        self,
14732        group=None,
14733        meta=None,
14734        rate_limit=None,
14735    ):
14736        self.group = group if group is not None else None
14737        '''
14738         The requested Group.
14739        '''
14740        self.meta = meta if meta is not None else None
14741        '''
14742         Reserved for future use.
14743        '''
14744        self.rate_limit = rate_limit if rate_limit is not None else None
14745        '''
14746         Rate limit information.
14747        '''
14748
14749    def __repr__(self):
14750        return '<sdm.GroupGetResponse ' + \
14751            'group: ' + repr(self.group) + ' ' +\
14752            'meta: ' + repr(self.meta) + ' ' +\
14753            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14754            '>'
14755
14756    def to_dict(self):
14757        return {
14758            'group': self.group,
14759            'meta': self.meta,
14760            'rate_limit': self.rate_limit,
14761        }
14762
14763    @classmethod
14764    def from_dict(cls, d):
14765        return cls(
14766            group=d.get('group'),
14767            meta=d.get('meta'),
14768            rate_limit=d.get('rate_limit'),
14769        )
14770
14771
14772class GroupHistory:
14773    '''
14774         GroupHistory records the state of a Group at a given point in time,
14775     where every change (create, update and delete) to a Group produces a
14776     GroupHistory record.
14777    '''
14778    __slots__ = [
14779        'activity_id',
14780        'deleted_at',
14781        'group',
14782        'timestamp',
14783    ]
14784
14785    def __init__(
14786        self,
14787        activity_id=None,
14788        deleted_at=None,
14789        group=None,
14790        timestamp=None,
14791    ):
14792        self.activity_id = activity_id if activity_id is not None else ''
14793        '''
14794         The unique identifier of the Activity that produced this change to the Group.
14795         May be empty for some system-initiated updates.
14796        '''
14797        self.deleted_at = deleted_at if deleted_at is not None else None
14798        '''
14799         If this Group was deleted, the time it was deleted.
14800        '''
14801        self.group = group if group is not None else None
14802        '''
14803         The complete Group state at this time.
14804        '''
14805        self.timestamp = timestamp if timestamp is not None else None
14806        '''
14807         The time at which the Group state was recorded.
14808        '''
14809
14810    def __repr__(self):
14811        return '<sdm.GroupHistory ' + \
14812            'activity_id: ' + repr(self.activity_id) + ' ' +\
14813            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14814            'group: ' + repr(self.group) + ' ' +\
14815            'timestamp: ' + repr(self.timestamp) + ' ' +\
14816            '>'
14817
14818    def to_dict(self):
14819        return {
14820            'activity_id': self.activity_id,
14821            'deleted_at': self.deleted_at,
14822            'group': self.group,
14823            'timestamp': self.timestamp,
14824        }
14825
14826    @classmethod
14827    def from_dict(cls, d):
14828        return cls(
14829            activity_id=d.get('activity_id'),
14830            deleted_at=d.get('deleted_at'),
14831            group=d.get('group'),
14832            timestamp=d.get('timestamp'),
14833        )
14834
14835
14836class GroupListRequest:
14837    '''
14838         groupListRequest specifies criteria for retrieving a list of groups.
14839    '''
14840    __slots__ = [
14841        'filter',
14842    ]
14843
14844    def __init__(
14845        self,
14846        filter=None,
14847    ):
14848        self.filter = filter if filter is not None else ''
14849        '''
14850         A human-readable filter query string.
14851        '''
14852
14853    def __repr__(self):
14854        return '<sdm.GroupListRequest ' + \
14855            'filter: ' + repr(self.filter) + ' ' +\
14856            '>'
14857
14858    def to_dict(self):
14859        return {
14860            'filter': self.filter,
14861        }
14862
14863    @classmethod
14864    def from_dict(cls, d):
14865        return cls(filter=d.get('filter'), )
14866
14867
14868class GroupListResponse:
14869    '''
14870         groupListResponse returns a list of groups that meet the criteria of a
14871     groupListRequest.
14872    '''
14873    __slots__ = [
14874        'rate_limit',
14875    ]
14876
14877    def __init__(
14878        self,
14879        rate_limit=None,
14880    ):
14881        self.rate_limit = rate_limit if rate_limit is not None else None
14882        '''
14883         Rate limit information.
14884        '''
14885
14886    def __repr__(self):
14887        return '<sdm.GroupListResponse ' + \
14888            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14889            '>'
14890
14891    def to_dict(self):
14892        return {
14893            'rate_limit': self.rate_limit,
14894        }
14895
14896    @classmethod
14897    def from_dict(cls, d):
14898        return cls(rate_limit=d.get('rate_limit'), )
14899
14900
14901class GroupRole:
14902    '''
14903         A GroupRole assigns a Group to a Role.
14904    '''
14905    __slots__ = [
14906        'group_id',
14907        'id',
14908        'role_id',
14909    ]
14910
14911    def __init__(
14912        self,
14913        group_id=None,
14914        id=None,
14915        role_id=None,
14916    ):
14917        self.group_id = group_id if group_id is not None else ''
14918        '''
14919         The assigned Group ID.
14920        '''
14921        self.id = id if id is not None else ''
14922        '''
14923         Unique identifier of the GroupRole.
14924        '''
14925        self.role_id = role_id if role_id is not None else ''
14926        '''
14927         The assigned Role ID.
14928        '''
14929
14930    def __repr__(self):
14931        return '<sdm.GroupRole ' + \
14932            'group_id: ' + repr(self.group_id) + ' ' +\
14933            'id: ' + repr(self.id) + ' ' +\
14934            'role_id: ' + repr(self.role_id) + ' ' +\
14935            '>'
14936
14937    def to_dict(self):
14938        return {
14939            'group_id': self.group_id,
14940            'id': self.id,
14941            'role_id': self.role_id,
14942        }
14943
14944    @classmethod
14945    def from_dict(cls, d):
14946        return cls(
14947            group_id=d.get('group_id'),
14948            id=d.get('id'),
14949            role_id=d.get('role_id'),
14950        )
14951
14952
14953class GroupRoleCreateRequest:
14954    '''
14955         GroupRoleCreateRequest specifies a group role to create.
14956    '''
14957    __slots__ = [
14958        'group_role',
14959    ]
14960
14961    def __init__(
14962        self,
14963        group_role=None,
14964    ):
14965        self.group_role = group_role if group_role is not None else None
14966        '''
14967         Parameters to define the new GroupRole.
14968        '''
14969
14970    def __repr__(self):
14971        return '<sdm.GroupRoleCreateRequest ' + \
14972            'group_role: ' + repr(self.group_role) + ' ' +\
14973            '>'
14974
14975    def to_dict(self):
14976        return {
14977            'group_role': self.group_role,
14978        }
14979
14980    @classmethod
14981    def from_dict(cls, d):
14982        return cls(group_role=d.get('group_role'), )
14983
14984
14985class GroupRoleCreateResponse:
14986    '''
14987         GroupRoleCreateResponse reports the result of a create.
14988    '''
14989    __slots__ = [
14990        'group_role',
14991        'rate_limit',
14992    ]
14993
14994    def __init__(
14995        self,
14996        group_role=None,
14997        rate_limit=None,
14998    ):
14999        self.group_role = group_role if group_role is not None else None
15000        '''
15001         The created GroupRole.
15002        '''
15003        self.rate_limit = rate_limit if rate_limit is not None else None
15004        '''
15005         Rate limit information.
15006        '''
15007
15008    def __repr__(self):
15009        return '<sdm.GroupRoleCreateResponse ' + \
15010            'group_role: ' + repr(self.group_role) + ' ' +\
15011            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15012            '>'
15013
15014    def to_dict(self):
15015        return {
15016            'group_role': self.group_role,
15017            'rate_limit': self.rate_limit,
15018        }
15019
15020    @classmethod
15021    def from_dict(cls, d):
15022        return cls(
15023            group_role=d.get('group_role'),
15024            rate_limit=d.get('rate_limit'),
15025        )
15026
15027
15028class GroupRoleDeleteRequest:
15029    '''
15030         GroupRoleDeleteRequest identifies a group role by ID to delete.
15031    '''
15032    __slots__ = [
15033        'id',
15034    ]
15035
15036    def __init__(
15037        self,
15038        id=None,
15039    ):
15040        self.id = id if id is not None else ''
15041        '''
15042         The unique identifier of the group to delete.
15043        '''
15044
15045    def __repr__(self):
15046        return '<sdm.GroupRoleDeleteRequest ' + \
15047            'id: ' + repr(self.id) + ' ' +\
15048            '>'
15049
15050    def to_dict(self):
15051        return {
15052            'id': self.id,
15053        }
15054
15055    @classmethod
15056    def from_dict(cls, d):
15057        return cls(id=d.get('id'), )
15058
15059
15060class GroupRoleDeleteResponse:
15061    '''
15062         GroupRoleDeleteResponse returns information about a group that was deleted.
15063    '''
15064    __slots__ = [
15065        'group_role',
15066        'meta',
15067        'rate_limit',
15068    ]
15069
15070    def __init__(
15071        self,
15072        group_role=None,
15073        meta=None,
15074        rate_limit=None,
15075    ):
15076        self.group_role = group_role if group_role is not None else None
15077        '''
15078         The deleted GroupRole.
15079        '''
15080        self.meta = meta if meta is not None else None
15081        '''
15082         Reserved for future use.
15083        '''
15084        self.rate_limit = rate_limit if rate_limit is not None else None
15085        '''
15086         Rate limit information.
15087        '''
15088
15089    def __repr__(self):
15090        return '<sdm.GroupRoleDeleteResponse ' + \
15091            'group_role: ' + repr(self.group_role) + ' ' +\
15092            'meta: ' + repr(self.meta) + ' ' +\
15093            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15094            '>'
15095
15096    def to_dict(self):
15097        return {
15098            'group_role': self.group_role,
15099            'meta': self.meta,
15100            'rate_limit': self.rate_limit,
15101        }
15102
15103    @classmethod
15104    def from_dict(cls, d):
15105        return cls(
15106            group_role=d.get('group_role'),
15107            meta=d.get('meta'),
15108            rate_limit=d.get('rate_limit'),
15109        )
15110
15111
15112class GroupRoleGetRequest:
15113    '''
15114         GroupRoleGetRequest specifies which GroupRole to retrieve.
15115    '''
15116    __slots__ = [
15117        'id',
15118    ]
15119
15120    def __init__(
15121        self,
15122        id=None,
15123    ):
15124        self.id = id if id is not None else ''
15125        '''
15126         The unique identifier of the GroupRole to retrieve.
15127        '''
15128
15129    def __repr__(self):
15130        return '<sdm.GroupRoleGetRequest ' + \
15131            'id: ' + repr(self.id) + ' ' +\
15132            '>'
15133
15134    def to_dict(self):
15135        return {
15136            'id': self.id,
15137        }
15138
15139    @classmethod
15140    def from_dict(cls, d):
15141        return cls(id=d.get('id'), )
15142
15143
15144class GroupRoleGetResponse:
15145    '''
15146         GroupRoleGetResponse returns a requested GroupRole.
15147    '''
15148    __slots__ = [
15149        'group_role',
15150        'meta',
15151        'rate_limit',
15152    ]
15153
15154    def __init__(
15155        self,
15156        group_role=None,
15157        meta=None,
15158        rate_limit=None,
15159    ):
15160        self.group_role = group_role if group_role is not None else None
15161        '''
15162         The requested GroupRole.
15163        '''
15164        self.meta = meta if meta is not None else None
15165        '''
15166         Reserved for future use.
15167        '''
15168        self.rate_limit = rate_limit if rate_limit is not None else None
15169        '''
15170         Rate limit information.
15171        '''
15172
15173    def __repr__(self):
15174        return '<sdm.GroupRoleGetResponse ' + \
15175            'group_role: ' + repr(self.group_role) + ' ' +\
15176            'meta: ' + repr(self.meta) + ' ' +\
15177            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15178            '>'
15179
15180    def to_dict(self):
15181        return {
15182            'group_role': self.group_role,
15183            'meta': self.meta,
15184            'rate_limit': self.rate_limit,
15185        }
15186
15187    @classmethod
15188    def from_dict(cls, d):
15189        return cls(
15190            group_role=d.get('group_role'),
15191            meta=d.get('meta'),
15192            rate_limit=d.get('rate_limit'),
15193        )
15194
15195
15196class GroupRoleHistory:
15197    '''
15198         GroupRoleHistory records the state of a GroupRole at a given point in time,
15199     where every change (create, update and delete) to a GroupRole produces a
15200     GroupRoleHistory record.
15201    '''
15202    __slots__ = [
15203        'activity_id',
15204        'deleted_at',
15205        'group_role',
15206        'timestamp',
15207    ]
15208
15209    def __init__(
15210        self,
15211        activity_id=None,
15212        deleted_at=None,
15213        group_role=None,
15214        timestamp=None,
15215    ):
15216        self.activity_id = activity_id if activity_id is not None else ''
15217        '''
15218         The unique identifier of the Activity that produced this change to the GroupRole.
15219         May be empty for some system-initiated updates.
15220        '''
15221        self.deleted_at = deleted_at if deleted_at is not None else None
15222        '''
15223         If this GroupRole was deleted, the time it was deleted.
15224        '''
15225        self.group_role = group_role if group_role is not None else None
15226        '''
15227         The complete GroupRole state at this time.
15228        '''
15229        self.timestamp = timestamp if timestamp is not None else None
15230        '''
15231         The time at which the GroupRole state was recorded.
15232        '''
15233
15234    def __repr__(self):
15235        return '<sdm.GroupRoleHistory ' + \
15236            'activity_id: ' + repr(self.activity_id) + ' ' +\
15237            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
15238            'group_role: ' + repr(self.group_role) + ' ' +\
15239            'timestamp: ' + repr(self.timestamp) + ' ' +\
15240            '>'
15241
15242    def to_dict(self):
15243        return {
15244            'activity_id': self.activity_id,
15245            'deleted_at': self.deleted_at,
15246            'group_role': self.group_role,
15247            'timestamp': self.timestamp,
15248        }
15249
15250    @classmethod
15251    def from_dict(cls, d):
15252        return cls(
15253            activity_id=d.get('activity_id'),
15254            deleted_at=d.get('deleted_at'),
15255            group_role=d.get('group_role'),
15256            timestamp=d.get('timestamp'),
15257        )
15258
15259
15260class GroupRoleListRequest:
15261    '''
15262         GroupRoleListRequest specifies criteria for retrieving a list of groups.
15263    '''
15264    __slots__ = [
15265        'filter',
15266    ]
15267
15268    def __init__(
15269        self,
15270        filter=None,
15271    ):
15272        self.filter = filter if filter is not None else ''
15273        '''
15274         A human-readable filter query string.
15275        '''
15276
15277    def __repr__(self):
15278        return '<sdm.GroupRoleListRequest ' + \
15279            'filter: ' + repr(self.filter) + ' ' +\
15280            '>'
15281
15282    def to_dict(self):
15283        return {
15284            'filter': self.filter,
15285        }
15286
15287    @classmethod
15288    def from_dict(cls, d):
15289        return cls(filter=d.get('filter'), )
15290
15291
15292class GroupRoleListResponse:
15293    '''
15294         GroupRoleListResponse returns a list of group roles that meet the criteria of a
15295     GroupRoleListRequest.
15296    '''
15297    __slots__ = [
15298        'rate_limit',
15299    ]
15300
15301    def __init__(
15302        self,
15303        rate_limit=None,
15304    ):
15305        self.rate_limit = rate_limit if rate_limit is not None else None
15306        '''
15307         Rate limit information.
15308        '''
15309
15310    def __repr__(self):
15311        return '<sdm.GroupRoleListResponse ' + \
15312            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15313            '>'
15314
15315    def to_dict(self):
15316        return {
15317            'rate_limit': self.rate_limit,
15318        }
15319
15320    @classmethod
15321    def from_dict(cls, d):
15322        return cls(rate_limit=d.get('rate_limit'), )
15323
15324
15325class GroupUpdateRequest:
15326    '''
15327         GroupUpdateRequest updates a group.
15328    '''
15329    __slots__ = [
15330        'group',
15331    ]
15332
15333    def __init__(
15334        self,
15335        group=None,
15336    ):
15337        self.group = group if group is not None else None
15338        '''
15339         Parameters to overwrite the specified group.
15340        '''
15341
15342    def __repr__(self):
15343        return '<sdm.GroupUpdateRequest ' + \
15344            'group: ' + repr(self.group) + ' ' +\
15345            '>'
15346
15347    def to_dict(self):
15348        return {
15349            'group': self.group,
15350        }
15351
15352    @classmethod
15353    def from_dict(cls, d):
15354        return cls(group=d.get('group'), )
15355
15356
15357class GroupUpdateResponse:
15358    '''
15359         groupUpdateResponse returns the fields of a group after it has been updated by
15360     a groupUpdateRequest.
15361    '''
15362    __slots__ = [
15363        'group',
15364        'rate_limit',
15365    ]
15366
15367    def __init__(
15368        self,
15369        group=None,
15370        rate_limit=None,
15371    ):
15372        self.group = group if group is not None else None
15373        '''
15374         The updated group.
15375        '''
15376        self.rate_limit = rate_limit if rate_limit is not None else None
15377        '''
15378         Rate limit information.
15379        '''
15380
15381    def __repr__(self):
15382        return '<sdm.GroupUpdateResponse ' + \
15383            'group: ' + repr(self.group) + ' ' +\
15384            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15385            '>'
15386
15387    def to_dict(self):
15388        return {
15389            'group': self.group,
15390            'rate_limit': self.rate_limit,
15391        }
15392
15393    @classmethod
15394    def from_dict(cls, d):
15395        return cls(
15396            group=d.get('group'),
15397            rate_limit=d.get('rate_limit'),
15398        )
15399
15400
15401class HTTPAuth:
15402    __slots__ = [
15403        'auth_header',
15404        'bind_interface',
15405        'default_path',
15406        'egress_filter',
15407        'headers_blacklist',
15408        'healthcheck_path',
15409        'healthy',
15410        'host_override',
15411        'id',
15412        'name',
15413        'port_override',
15414        'proxy_cluster_id',
15415        'secret_store_id',
15416        'subdomain',
15417        'tags',
15418        'url',
15419    ]
15420
15421    def __init__(
15422        self,
15423        auth_header=None,
15424        bind_interface=None,
15425        default_path=None,
15426        egress_filter=None,
15427        headers_blacklist=None,
15428        healthcheck_path=None,
15429        healthy=None,
15430        host_override=None,
15431        id=None,
15432        name=None,
15433        port_override=None,
15434        proxy_cluster_id=None,
15435        secret_store_id=None,
15436        subdomain=None,
15437        tags=None,
15438        url=None,
15439    ):
15440        self.auth_header = auth_header if auth_header is not None else ''
15441        '''
15442         The content to set as the authorization header.
15443        '''
15444        self.bind_interface = bind_interface if bind_interface is not None else ''
15445        '''
15446         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15447        '''
15448        self.default_path = default_path if default_path is not None else ''
15449        '''
15450         Automatically redirect to this path upon connecting.
15451        '''
15452        self.egress_filter = egress_filter if egress_filter is not None else ''
15453        '''
15454         A filter applied to the routing logic to pin datasource to nodes.
15455        '''
15456        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15457        '''
15458         Header names (e.g. Authorization), to omit from logs.
15459        '''
15460        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15461        '''
15462         This path will be used to check the health of your site.
15463        '''
15464        self.healthy = healthy if healthy is not None else False
15465        '''
15466         True if the datasource is reachable and the credentials are valid.
15467        '''
15468        self.host_override = host_override if host_override is not None else ''
15469        '''
15470         The host header will be overwritten with this field if provided.
15471        '''
15472        self.id = id if id is not None else ''
15473        '''
15474         Unique identifier of the Resource.
15475        '''
15476        self.name = name if name is not None else ''
15477        '''
15478         Unique human-readable name of the Resource.
15479        '''
15480        self.port_override = port_override if port_override is not None else 0
15481        '''
15482         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15483        '''
15484        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15485        '''
15486         ID of the proxy cluster for this resource, if any.
15487        '''
15488        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15489        '''
15490         ID of the secret store containing credentials for this resource, if any.
15491        '''
15492        self.subdomain = subdomain if subdomain is not None else ''
15493        '''
15494         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15495        '''
15496        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15497        '''
15498         Tags is a map of key, value pairs.
15499        '''
15500        self.url = url if url is not None else ''
15501        '''
15502         The base address of your website without the path.
15503        '''
15504
15505    def __repr__(self):
15506        return '<sdm.HTTPAuth ' + \
15507            'auth_header: ' + repr(self.auth_header) + ' ' +\
15508            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15509            'default_path: ' + repr(self.default_path) + ' ' +\
15510            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15511            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
15512            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
15513            'healthy: ' + repr(self.healthy) + ' ' +\
15514            'host_override: ' + repr(self.host_override) + ' ' +\
15515            'id: ' + repr(self.id) + ' ' +\
15516            'name: ' + repr(self.name) + ' ' +\
15517            'port_override: ' + repr(self.port_override) + ' ' +\
15518            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15519            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15520            'subdomain: ' + repr(self.subdomain) + ' ' +\
15521            'tags: ' + repr(self.tags) + ' ' +\
15522            'url: ' + repr(self.url) + ' ' +\
15523            '>'
15524
15525    def to_dict(self):
15526        return {
15527            'auth_header': self.auth_header,
15528            'bind_interface': self.bind_interface,
15529            'default_path': self.default_path,
15530            'egress_filter': self.egress_filter,
15531            'headers_blacklist': self.headers_blacklist,
15532            'healthcheck_path': self.healthcheck_path,
15533            'healthy': self.healthy,
15534            'host_override': self.host_override,
15535            'id': self.id,
15536            'name': self.name,
15537            'port_override': self.port_override,
15538            'proxy_cluster_id': self.proxy_cluster_id,
15539            'secret_store_id': self.secret_store_id,
15540            'subdomain': self.subdomain,
15541            'tags': self.tags,
15542            'url': self.url,
15543        }
15544
15545    @classmethod
15546    def from_dict(cls, d):
15547        return cls(
15548            auth_header=d.get('auth_header'),
15549            bind_interface=d.get('bind_interface'),
15550            default_path=d.get('default_path'),
15551            egress_filter=d.get('egress_filter'),
15552            headers_blacklist=d.get('headers_blacklist'),
15553            healthcheck_path=d.get('healthcheck_path'),
15554            healthy=d.get('healthy'),
15555            host_override=d.get('host_override'),
15556            id=d.get('id'),
15557            name=d.get('name'),
15558            port_override=d.get('port_override'),
15559            proxy_cluster_id=d.get('proxy_cluster_id'),
15560            secret_store_id=d.get('secret_store_id'),
15561            subdomain=d.get('subdomain'),
15562            tags=d.get('tags'),
15563            url=d.get('url'),
15564        )
15565
15566
15567class HTTPBasicAuth:
15568    __slots__ = [
15569        'bind_interface',
15570        'default_path',
15571        'egress_filter',
15572        'headers_blacklist',
15573        'healthcheck_path',
15574        'healthy',
15575        'host_override',
15576        'id',
15577        'name',
15578        'password',
15579        'port_override',
15580        'proxy_cluster_id',
15581        'secret_store_id',
15582        'subdomain',
15583        'tags',
15584        'url',
15585        'username',
15586    ]
15587
15588    def __init__(
15589        self,
15590        bind_interface=None,
15591        default_path=None,
15592        egress_filter=None,
15593        headers_blacklist=None,
15594        healthcheck_path=None,
15595        healthy=None,
15596        host_override=None,
15597        id=None,
15598        name=None,
15599        password=None,
15600        port_override=None,
15601        proxy_cluster_id=None,
15602        secret_store_id=None,
15603        subdomain=None,
15604        tags=None,
15605        url=None,
15606        username=None,
15607    ):
15608        self.bind_interface = bind_interface if bind_interface is not None else ''
15609        '''
15610         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15611        '''
15612        self.default_path = default_path if default_path is not None else ''
15613        '''
15614         Automatically redirect to this path upon connecting.
15615        '''
15616        self.egress_filter = egress_filter if egress_filter is not None else ''
15617        '''
15618         A filter applied to the routing logic to pin datasource to nodes.
15619        '''
15620        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15621        '''
15622         Header names (e.g. Authorization), to omit from logs.
15623        '''
15624        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15625        '''
15626         This path will be used to check the health of your site.
15627        '''
15628        self.healthy = healthy if healthy is not None else False
15629        '''
15630         True if the datasource is reachable and the credentials are valid.
15631        '''
15632        self.host_override = host_override if host_override is not None else ''
15633        '''
15634         The host header will be overwritten with this field if provided.
15635        '''
15636        self.id = id if id is not None else ''
15637        '''
15638         Unique identifier of the Resource.
15639        '''
15640        self.name = name if name is not None else ''
15641        '''
15642         Unique human-readable name of the Resource.
15643        '''
15644        self.password = password if password is not None else ''
15645        '''
15646         The password to authenticate with.
15647        '''
15648        self.port_override = port_override if port_override is not None else 0
15649        '''
15650         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15651        '''
15652        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15653        '''
15654         ID of the proxy cluster for this resource, if any.
15655        '''
15656        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15657        '''
15658         ID of the secret store containing credentials for this resource, if any.
15659        '''
15660        self.subdomain = subdomain if subdomain is not None else ''
15661        '''
15662         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15663        '''
15664        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15665        '''
15666         Tags is a map of key, value pairs.
15667        '''
15668        self.url = url if url is not None else ''
15669        '''
15670         The base address of your website without the path.
15671        '''
15672        self.username = username if username is not None else ''
15673        '''
15674         The username to authenticate with.
15675        '''
15676
15677    def __repr__(self):
15678        return '<sdm.HTTPBasicAuth ' + \
15679            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15680            'default_path: ' + repr(self.default_path) + ' ' +\
15681            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15682            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
15683            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
15684            'healthy: ' + repr(self.healthy) + ' ' +\
15685            'host_override: ' + repr(self.host_override) + ' ' +\
15686            'id: ' + repr(self.id) + ' ' +\
15687            'name: ' + repr(self.name) + ' ' +\
15688            'password: ' + repr(self.password) + ' ' +\
15689            'port_override: ' + repr(self.port_override) + ' ' +\
15690            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15691            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15692            'subdomain: ' + repr(self.subdomain) + ' ' +\
15693            'tags: ' + repr(self.tags) + ' ' +\
15694            'url: ' + repr(self.url) + ' ' +\
15695            'username: ' + repr(self.username) + ' ' +\
15696            '>'
15697
15698    def to_dict(self):
15699        return {
15700            'bind_interface': self.bind_interface,
15701            'default_path': self.default_path,
15702            'egress_filter': self.egress_filter,
15703            'headers_blacklist': self.headers_blacklist,
15704            'healthcheck_path': self.healthcheck_path,
15705            'healthy': self.healthy,
15706            'host_override': self.host_override,
15707            'id': self.id,
15708            'name': self.name,
15709            'password': self.password,
15710            'port_override': self.port_override,
15711            'proxy_cluster_id': self.proxy_cluster_id,
15712            'secret_store_id': self.secret_store_id,
15713            'subdomain': self.subdomain,
15714            'tags': self.tags,
15715            'url': self.url,
15716            'username': self.username,
15717        }
15718
15719    @classmethod
15720    def from_dict(cls, d):
15721        return cls(
15722            bind_interface=d.get('bind_interface'),
15723            default_path=d.get('default_path'),
15724            egress_filter=d.get('egress_filter'),
15725            headers_blacklist=d.get('headers_blacklist'),
15726            healthcheck_path=d.get('healthcheck_path'),
15727            healthy=d.get('healthy'),
15728            host_override=d.get('host_override'),
15729            id=d.get('id'),
15730            name=d.get('name'),
15731            password=d.get('password'),
15732            port_override=d.get('port_override'),
15733            proxy_cluster_id=d.get('proxy_cluster_id'),
15734            secret_store_id=d.get('secret_store_id'),
15735            subdomain=d.get('subdomain'),
15736            tags=d.get('tags'),
15737            url=d.get('url'),
15738            username=d.get('username'),
15739        )
15740
15741
15742class HTTPNoAuth:
15743    __slots__ = [
15744        'bind_interface',
15745        'default_path',
15746        'egress_filter',
15747        'headers_blacklist',
15748        'healthcheck_path',
15749        'healthy',
15750        'host_override',
15751        'id',
15752        'name',
15753        'port_override',
15754        'proxy_cluster_id',
15755        'secret_store_id',
15756        'subdomain',
15757        'tags',
15758        'url',
15759    ]
15760
15761    def __init__(
15762        self,
15763        bind_interface=None,
15764        default_path=None,
15765        egress_filter=None,
15766        headers_blacklist=None,
15767        healthcheck_path=None,
15768        healthy=None,
15769        host_override=None,
15770        id=None,
15771        name=None,
15772        port_override=None,
15773        proxy_cluster_id=None,
15774        secret_store_id=None,
15775        subdomain=None,
15776        tags=None,
15777        url=None,
15778    ):
15779        self.bind_interface = bind_interface if bind_interface is not None else ''
15780        '''
15781         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15782        '''
15783        self.default_path = default_path if default_path is not None else ''
15784        '''
15785         Automatically redirect to this path upon connecting.
15786        '''
15787        self.egress_filter = egress_filter if egress_filter is not None else ''
15788        '''
15789         A filter applied to the routing logic to pin datasource to nodes.
15790        '''
15791        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15792        '''
15793         Header names (e.g. Authorization), to omit from logs.
15794        '''
15795        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15796        '''
15797         This path will be used to check the health of your site.
15798        '''
15799        self.healthy = healthy if healthy is not None else False
15800        '''
15801         True if the datasource is reachable and the credentials are valid.
15802        '''
15803        self.host_override = host_override if host_override is not None else ''
15804        '''
15805         The host header will be overwritten with this field if provided.
15806        '''
15807        self.id = id if id is not None else ''
15808        '''
15809         Unique identifier of the Resource.
15810        '''
15811        self.name = name if name is not None else ''
15812        '''
15813         Unique human-readable name of the Resource.
15814        '''
15815        self.port_override = port_override if port_override is not None else 0
15816        '''
15817         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15818        '''
15819        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15820        '''
15821         ID of the proxy cluster for this resource, if any.
15822        '''
15823        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15824        '''
15825         ID of the secret store containing credentials for this resource, if any.
15826        '''
15827        self.subdomain = subdomain if subdomain is not None else ''
15828        '''
15829         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15830        '''
15831        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15832        '''
15833         Tags is a map of key, value pairs.
15834        '''
15835        self.url = url if url is not None else ''
15836        '''
15837         The base address of your website without the path.
15838        '''
15839
15840    def __repr__(self):
15841        return '<sdm.HTTPNoAuth ' + \
15842            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15843            'default_path: ' + repr(self.default_path) + ' ' +\
15844            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15845            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
15846            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
15847            'healthy: ' + repr(self.healthy) + ' ' +\
15848            'host_override: ' + repr(self.host_override) + ' ' +\
15849            'id: ' + repr(self.id) + ' ' +\
15850            'name: ' + repr(self.name) + ' ' +\
15851            'port_override: ' + repr(self.port_override) + ' ' +\
15852            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15853            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15854            'subdomain: ' + repr(self.subdomain) + ' ' +\
15855            'tags: ' + repr(self.tags) + ' ' +\
15856            'url: ' + repr(self.url) + ' ' +\
15857            '>'
15858
15859    def to_dict(self):
15860        return {
15861            'bind_interface': self.bind_interface,
15862            'default_path': self.default_path,
15863            'egress_filter': self.egress_filter,
15864            'headers_blacklist': self.headers_blacklist,
15865            'healthcheck_path': self.healthcheck_path,
15866            'healthy': self.healthy,
15867            'host_override': self.host_override,
15868            'id': self.id,
15869            'name': self.name,
15870            'port_override': self.port_override,
15871            'proxy_cluster_id': self.proxy_cluster_id,
15872            'secret_store_id': self.secret_store_id,
15873            'subdomain': self.subdomain,
15874            'tags': self.tags,
15875            'url': self.url,
15876        }
15877
15878    @classmethod
15879    def from_dict(cls, d):
15880        return cls(
15881            bind_interface=d.get('bind_interface'),
15882            default_path=d.get('default_path'),
15883            egress_filter=d.get('egress_filter'),
15884            headers_blacklist=d.get('headers_blacklist'),
15885            healthcheck_path=d.get('healthcheck_path'),
15886            healthy=d.get('healthy'),
15887            host_override=d.get('host_override'),
15888            id=d.get('id'),
15889            name=d.get('name'),
15890            port_override=d.get('port_override'),
15891            proxy_cluster_id=d.get('proxy_cluster_id'),
15892            secret_store_id=d.get('secret_store_id'),
15893            subdomain=d.get('subdomain'),
15894            tags=d.get('tags'),
15895            url=d.get('url'),
15896        )
15897
15898
15899class Healthcheck:
15900    '''
15901         Healthcheck defines the status of the link between a node and a resource
15902    '''
15903    __slots__ = [
15904        'error_msg',
15905        'healthy',
15906        'id',
15907        'node_id',
15908        'node_name',
15909        'resource_id',
15910        'resource_name',
15911        'timestamp',
15912    ]
15913
15914    def __init__(
15915        self,
15916        error_msg=None,
15917        healthy=None,
15918        id=None,
15919        node_id=None,
15920        node_name=None,
15921        resource_id=None,
15922        resource_name=None,
15923        timestamp=None,
15924    ):
15925        self.error_msg = error_msg if error_msg is not None else ''
15926        '''
15927         The error if unhealthy
15928        '''
15929        self.healthy = healthy if healthy is not None else False
15930        '''
15931         Whether the healthcheck succeeded.
15932        '''
15933        self.id = id if id is not None else ''
15934        '''
15935         Unique identifier of the healthcheck.
15936        '''
15937        self.node_id = node_id if node_id is not None else ''
15938        '''
15939         Unique identifier of the healthcheck node.
15940        '''
15941        self.node_name = node_name if node_name is not None else ''
15942        '''
15943         The name of the node.
15944        '''
15945        self.resource_id = resource_id if resource_id is not None else ''
15946        '''
15947         Unique identifier of the healthcheck resource.
15948        '''
15949        self.resource_name = resource_name if resource_name is not None else ''
15950        '''
15951         The name of the resource.
15952        '''
15953        self.timestamp = timestamp if timestamp is not None else None
15954        '''
15955         The time at which the healthcheck state was recorded.
15956        '''
15957
15958    def __repr__(self):
15959        return '<sdm.Healthcheck ' + \
15960            'error_msg: ' + repr(self.error_msg) + ' ' +\
15961            'healthy: ' + repr(self.healthy) + ' ' +\
15962            'id: ' + repr(self.id) + ' ' +\
15963            'node_id: ' + repr(self.node_id) + ' ' +\
15964            'node_name: ' + repr(self.node_name) + ' ' +\
15965            'resource_id: ' + repr(self.resource_id) + ' ' +\
15966            'resource_name: ' + repr(self.resource_name) + ' ' +\
15967            'timestamp: ' + repr(self.timestamp) + ' ' +\
15968            '>'
15969
15970    def to_dict(self):
15971        return {
15972            'error_msg': self.error_msg,
15973            'healthy': self.healthy,
15974            'id': self.id,
15975            'node_id': self.node_id,
15976            'node_name': self.node_name,
15977            'resource_id': self.resource_id,
15978            'resource_name': self.resource_name,
15979            'timestamp': self.timestamp,
15980        }
15981
15982    @classmethod
15983    def from_dict(cls, d):
15984        return cls(
15985            error_msg=d.get('error_msg'),
15986            healthy=d.get('healthy'),
15987            id=d.get('id'),
15988            node_id=d.get('node_id'),
15989            node_name=d.get('node_name'),
15990            resource_id=d.get('resource_id'),
15991            resource_name=d.get('resource_name'),
15992            timestamp=d.get('timestamp'),
15993        )
15994
15995
15996class HealthcheckListResponse:
15997    '''
15998         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
15999     HealthcheckListRequest.
16000    '''
16001    __slots__ = [
16002        'rate_limit',
16003    ]
16004
16005    def __init__(
16006        self,
16007        rate_limit=None,
16008    ):
16009        self.rate_limit = rate_limit if rate_limit is not None else None
16010        '''
16011         Rate limit information.
16012        '''
16013
16014    def __repr__(self):
16015        return '<sdm.HealthcheckListResponse ' + \
16016            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16017            '>'
16018
16019    def to_dict(self):
16020        return {
16021            'rate_limit': self.rate_limit,
16022        }
16023
16024    @classmethod
16025    def from_dict(cls, d):
16026        return cls(rate_limit=d.get('rate_limit'), )
16027
16028
16029class HealthcheckRequest:
16030    __slots__ = [
16031        'secret_engine_id',
16032    ]
16033
16034    def __init__(
16035        self,
16036        secret_engine_id=None,
16037    ):
16038        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16039        '''
16040         required
16041        '''
16042
16043    def __repr__(self):
16044        return '<sdm.HealthcheckRequest ' + \
16045            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16046            '>'
16047
16048    def to_dict(self):
16049        return {
16050            'secret_engine_id': self.secret_engine_id,
16051        }
16052
16053    @classmethod
16054    def from_dict(cls, d):
16055        return cls(secret_engine_id=d.get('secret_engine_id'), )
16056
16057
16058class HealthcheckResponse:
16059    __slots__ = [
16060        'rate_limit',
16061        'status',
16062    ]
16063
16064    def __init__(
16065        self,
16066        rate_limit=None,
16067        status=None,
16068    ):
16069        self.rate_limit = rate_limit if rate_limit is not None else None
16070        '''
16071         Rate limit information.
16072        '''
16073        self.status = status if status is not None else []
16074        '''
16075         Array of statuses of all nodes serving a secret engine
16076        '''
16077
16078    def __repr__(self):
16079        return '<sdm.HealthcheckResponse ' + \
16080            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16081            'status: ' + repr(self.status) + ' ' +\
16082            '>'
16083
16084    def to_dict(self):
16085        return {
16086            'rate_limit': self.rate_limit,
16087            'status': self.status,
16088        }
16089
16090    @classmethod
16091    def from_dict(cls, d):
16092        return cls(
16093            rate_limit=d.get('rate_limit'),
16094            status=d.get('status'),
16095        )
16096
16097
16098class HealthcheckStatus:
16099    '''
16100         HealthcheckStatus contains status of a node health
16101    '''
16102    __slots__ = [
16103        'node_id',
16104        'status',
16105    ]
16106
16107    def __init__(
16108        self,
16109        node_id=None,
16110        status=None,
16111    ):
16112        self.node_id = node_id if node_id is not None else ''
16113        '''
16114         ID of node
16115        '''
16116        self.status = status if status is not None else ''
16117        '''
16118         Status of node's health
16119        '''
16120
16121    def __repr__(self):
16122        return '<sdm.HealthcheckStatus ' + \
16123            'node_id: ' + repr(self.node_id) + ' ' +\
16124            'status: ' + repr(self.status) + ' ' +\
16125            '>'
16126
16127    def to_dict(self):
16128        return {
16129            'node_id': self.node_id,
16130            'status': self.status,
16131        }
16132
16133    @classmethod
16134    def from_dict(cls, d):
16135        return cls(
16136            node_id=d.get('node_id'),
16137            status=d.get('status'),
16138        )
16139
16140
16141class IdentityAlias:
16142    '''
16143         IdentityAliases define the username to be used for a specific account
16144     when connecting to a remote resource using that identity set.
16145    '''
16146    __slots__ = [
16147        'account_id',
16148        'id',
16149        'identity_set_id',
16150        'username',
16151    ]
16152
16153    def __init__(
16154        self,
16155        account_id=None,
16156        id=None,
16157        identity_set_id=None,
16158        username=None,
16159    ):
16160        self.account_id = account_id if account_id is not None else ''
16161        '''
16162         The account for this identity alias.
16163        '''
16164        self.id = id if id is not None else ''
16165        '''
16166         Unique identifier of the IdentityAlias.
16167        '''
16168        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
16169        '''
16170         The identity set.
16171        '''
16172        self.username = username if username is not None else ''
16173        '''
16174         The username to be used as the identity alias for this account.
16175        '''
16176
16177    def __repr__(self):
16178        return '<sdm.IdentityAlias ' + \
16179            'account_id: ' + repr(self.account_id) + ' ' +\
16180            'id: ' + repr(self.id) + ' ' +\
16181            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
16182            'username: ' + repr(self.username) + ' ' +\
16183            '>'
16184
16185    def to_dict(self):
16186        return {
16187            'account_id': self.account_id,
16188            'id': self.id,
16189            'identity_set_id': self.identity_set_id,
16190            'username': self.username,
16191        }
16192
16193    @classmethod
16194    def from_dict(cls, d):
16195        return cls(
16196            account_id=d.get('account_id'),
16197            id=d.get('id'),
16198            identity_set_id=d.get('identity_set_id'),
16199            username=d.get('username'),
16200        )
16201
16202
16203class IdentityAliasCreateResponse:
16204    '''
16205         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
16206    '''
16207    __slots__ = [
16208        'identity_alias',
16209        'meta',
16210        'rate_limit',
16211    ]
16212
16213    def __init__(
16214        self,
16215        identity_alias=None,
16216        meta=None,
16217        rate_limit=None,
16218    ):
16219        self.identity_alias = identity_alias if identity_alias is not None else None
16220        '''
16221         The created IdentityAlias.
16222        '''
16223        self.meta = meta if meta is not None else None
16224        '''
16225         Reserved for future use.
16226        '''
16227        self.rate_limit = rate_limit if rate_limit is not None else None
16228        '''
16229         Rate limit information.
16230        '''
16231
16232    def __repr__(self):
16233        return '<sdm.IdentityAliasCreateResponse ' + \
16234            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16235            'meta: ' + repr(self.meta) + ' ' +\
16236            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16237            '>'
16238
16239    def to_dict(self):
16240        return {
16241            'identity_alias': self.identity_alias,
16242            'meta': self.meta,
16243            'rate_limit': self.rate_limit,
16244        }
16245
16246    @classmethod
16247    def from_dict(cls, d):
16248        return cls(
16249            identity_alias=d.get('identity_alias'),
16250            meta=d.get('meta'),
16251            rate_limit=d.get('rate_limit'),
16252        )
16253
16254
16255class IdentityAliasDeleteResponse:
16256    '''
16257         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
16258    '''
16259    __slots__ = [
16260        'meta',
16261        'rate_limit',
16262    ]
16263
16264    def __init__(
16265        self,
16266        meta=None,
16267        rate_limit=None,
16268    ):
16269        self.meta = meta if meta is not None else None
16270        '''
16271         Reserved for future use.
16272        '''
16273        self.rate_limit = rate_limit if rate_limit is not None else None
16274        '''
16275         Rate limit information.
16276        '''
16277
16278    def __repr__(self):
16279        return '<sdm.IdentityAliasDeleteResponse ' + \
16280            'meta: ' + repr(self.meta) + ' ' +\
16281            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16282            '>'
16283
16284    def to_dict(self):
16285        return {
16286            'meta': self.meta,
16287            'rate_limit': self.rate_limit,
16288        }
16289
16290    @classmethod
16291    def from_dict(cls, d):
16292        return cls(
16293            meta=d.get('meta'),
16294            rate_limit=d.get('rate_limit'),
16295        )
16296
16297
16298class IdentityAliasGetResponse:
16299    '''
16300         IdentityAliasGetResponse returns a requested IdentityAlias.
16301    '''
16302    __slots__ = [
16303        'identity_alias',
16304        'meta',
16305        'rate_limit',
16306    ]
16307
16308    def __init__(
16309        self,
16310        identity_alias=None,
16311        meta=None,
16312        rate_limit=None,
16313    ):
16314        self.identity_alias = identity_alias if identity_alias is not None else None
16315        '''
16316         The requested IdentityAlias.
16317        '''
16318        self.meta = meta if meta is not None else None
16319        '''
16320         Reserved for future use.
16321        '''
16322        self.rate_limit = rate_limit if rate_limit is not None else None
16323        '''
16324         Rate limit information.
16325        '''
16326
16327    def __repr__(self):
16328        return '<sdm.IdentityAliasGetResponse ' + \
16329            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16330            'meta: ' + repr(self.meta) + ' ' +\
16331            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16332            '>'
16333
16334    def to_dict(self):
16335        return {
16336            'identity_alias': self.identity_alias,
16337            'meta': self.meta,
16338            'rate_limit': self.rate_limit,
16339        }
16340
16341    @classmethod
16342    def from_dict(cls, d):
16343        return cls(
16344            identity_alias=d.get('identity_alias'),
16345            meta=d.get('meta'),
16346            rate_limit=d.get('rate_limit'),
16347        )
16348
16349
16350class IdentityAliasHistory:
16351    '''
16352         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
16353     where every change (create, update and delete) to a IdentityAlias produces an
16354     IdentityAliasHistory record.
16355    '''
16356    __slots__ = [
16357        'activity_id',
16358        'deleted_at',
16359        'identity_alias',
16360        'timestamp',
16361    ]
16362
16363    def __init__(
16364        self,
16365        activity_id=None,
16366        deleted_at=None,
16367        identity_alias=None,
16368        timestamp=None,
16369    ):
16370        self.activity_id = activity_id if activity_id is not None else ''
16371        '''
16372         The unique identifier of the Activity that produced this change to the IdentityAlias.
16373         May be empty for some system-initiated updates.
16374        '''
16375        self.deleted_at = deleted_at if deleted_at is not None else None
16376        '''
16377         If this IdentityAlias was deleted, the time it was deleted.
16378        '''
16379        self.identity_alias = identity_alias if identity_alias is not None else None
16380        '''
16381         The complete IdentityAlias state at this time.
16382        '''
16383        self.timestamp = timestamp if timestamp is not None else None
16384        '''
16385         The time at which the IdentityAlias state was recorded.
16386        '''
16387
16388    def __repr__(self):
16389        return '<sdm.IdentityAliasHistory ' + \
16390            'activity_id: ' + repr(self.activity_id) + ' ' +\
16391            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16392            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16393            'timestamp: ' + repr(self.timestamp) + ' ' +\
16394            '>'
16395
16396    def to_dict(self):
16397        return {
16398            'activity_id': self.activity_id,
16399            'deleted_at': self.deleted_at,
16400            'identity_alias': self.identity_alias,
16401            'timestamp': self.timestamp,
16402        }
16403
16404    @classmethod
16405    def from_dict(cls, d):
16406        return cls(
16407            activity_id=d.get('activity_id'),
16408            deleted_at=d.get('deleted_at'),
16409            identity_alias=d.get('identity_alias'),
16410            timestamp=d.get('timestamp'),
16411        )
16412
16413
16414class IdentityAliasUpdateResponse:
16415    '''
16416         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
16417     a IdentityAliasUpdateRequest.
16418    '''
16419    __slots__ = [
16420        'identity_alias',
16421        'meta',
16422        'rate_limit',
16423    ]
16424
16425    def __init__(
16426        self,
16427        identity_alias=None,
16428        meta=None,
16429        rate_limit=None,
16430    ):
16431        self.identity_alias = identity_alias if identity_alias is not None else None
16432        '''
16433         The updated IdentityAlias.
16434        '''
16435        self.meta = meta if meta is not None else None
16436        '''
16437         Reserved for future use.
16438        '''
16439        self.rate_limit = rate_limit if rate_limit is not None else None
16440        '''
16441         Rate limit information.
16442        '''
16443
16444    def __repr__(self):
16445        return '<sdm.IdentityAliasUpdateResponse ' + \
16446            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16447            'meta: ' + repr(self.meta) + ' ' +\
16448            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16449            '>'
16450
16451    def to_dict(self):
16452        return {
16453            'identity_alias': self.identity_alias,
16454            'meta': self.meta,
16455            'rate_limit': self.rate_limit,
16456        }
16457
16458    @classmethod
16459    def from_dict(cls, d):
16460        return cls(
16461            identity_alias=d.get('identity_alias'),
16462            meta=d.get('meta'),
16463            rate_limit=d.get('rate_limit'),
16464        )
16465
16466
16467class IdentitySet:
16468    '''
16469         A IdentitySet defines a group of identity aliases.
16470    '''
16471    __slots__ = [
16472        'id',
16473        'name',
16474    ]
16475
16476    def __init__(
16477        self,
16478        id=None,
16479        name=None,
16480    ):
16481        self.id = id if id is not None else ''
16482        '''
16483         Unique identifier of the IdentitySet.
16484        '''
16485        self.name = name if name is not None else ''
16486        '''
16487         Unique human-readable name of the IdentitySet.
16488        '''
16489
16490    def __repr__(self):
16491        return '<sdm.IdentitySet ' + \
16492            'id: ' + repr(self.id) + ' ' +\
16493            'name: ' + repr(self.name) + ' ' +\
16494            '>'
16495
16496    def to_dict(self):
16497        return {
16498            'id': self.id,
16499            'name': self.name,
16500        }
16501
16502    @classmethod
16503    def from_dict(cls, d):
16504        return cls(
16505            id=d.get('id'),
16506            name=d.get('name'),
16507        )
16508
16509
16510class IdentitySetCreateResponse:
16511    '''
16512         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
16513     communicate partial successes or failures.
16514    '''
16515    __slots__ = [
16516        'identity_set',
16517        'meta',
16518        'rate_limit',
16519    ]
16520
16521    def __init__(
16522        self,
16523        identity_set=None,
16524        meta=None,
16525        rate_limit=None,
16526    ):
16527        self.identity_set = identity_set if identity_set is not None else None
16528        '''
16529         The created IdentitySet.
16530        '''
16531        self.meta = meta if meta is not None else None
16532        '''
16533         Reserved for future use.
16534        '''
16535        self.rate_limit = rate_limit if rate_limit is not None else None
16536        '''
16537         Rate limit information.
16538        '''
16539
16540    def __repr__(self):
16541        return '<sdm.IdentitySetCreateResponse ' + \
16542            'identity_set: ' + repr(self.identity_set) + ' ' +\
16543            'meta: ' + repr(self.meta) + ' ' +\
16544            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16545            '>'
16546
16547    def to_dict(self):
16548        return {
16549            'identity_set': self.identity_set,
16550            'meta': self.meta,
16551            'rate_limit': self.rate_limit,
16552        }
16553
16554    @classmethod
16555    def from_dict(cls, d):
16556        return cls(
16557            identity_set=d.get('identity_set'),
16558            meta=d.get('meta'),
16559            rate_limit=d.get('rate_limit'),
16560        )
16561
16562
16563class IdentitySetDeleteResponse:
16564    '''
16565         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
16566    '''
16567    __slots__ = [
16568        'meta',
16569        'rate_limit',
16570    ]
16571
16572    def __init__(
16573        self,
16574        meta=None,
16575        rate_limit=None,
16576    ):
16577        self.meta = meta if meta is not None else None
16578        '''
16579         Reserved for future use.
16580        '''
16581        self.rate_limit = rate_limit if rate_limit is not None else None
16582        '''
16583         Rate limit information.
16584        '''
16585
16586    def __repr__(self):
16587        return '<sdm.IdentitySetDeleteResponse ' + \
16588            'meta: ' + repr(self.meta) + ' ' +\
16589            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16590            '>'
16591
16592    def to_dict(self):
16593        return {
16594            'meta': self.meta,
16595            'rate_limit': self.rate_limit,
16596        }
16597
16598    @classmethod
16599    def from_dict(cls, d):
16600        return cls(
16601            meta=d.get('meta'),
16602            rate_limit=d.get('rate_limit'),
16603        )
16604
16605
16606class IdentitySetGetResponse:
16607    '''
16608         IdentitySetGetResponse returns a requested IdentitySet.
16609    '''
16610    __slots__ = [
16611        'identity_set',
16612        'meta',
16613        'rate_limit',
16614    ]
16615
16616    def __init__(
16617        self,
16618        identity_set=None,
16619        meta=None,
16620        rate_limit=None,
16621    ):
16622        self.identity_set = identity_set if identity_set is not None else None
16623        '''
16624         The requested IdentitySet.
16625        '''
16626        self.meta = meta if meta is not None else None
16627        '''
16628         Reserved for future use.
16629        '''
16630        self.rate_limit = rate_limit if rate_limit is not None else None
16631        '''
16632         Rate limit information.
16633        '''
16634
16635    def __repr__(self):
16636        return '<sdm.IdentitySetGetResponse ' + \
16637            'identity_set: ' + repr(self.identity_set) + ' ' +\
16638            'meta: ' + repr(self.meta) + ' ' +\
16639            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16640            '>'
16641
16642    def to_dict(self):
16643        return {
16644            'identity_set': self.identity_set,
16645            'meta': self.meta,
16646            'rate_limit': self.rate_limit,
16647        }
16648
16649    @classmethod
16650    def from_dict(cls, d):
16651        return cls(
16652            identity_set=d.get('identity_set'),
16653            meta=d.get('meta'),
16654            rate_limit=d.get('rate_limit'),
16655        )
16656
16657
16658class IdentitySetHistory:
16659    '''
16660         IdentitySetHistory records the state of a IdentitySet at a given point in time,
16661     where every change (create, update and delete) to a IdentitySet produces an
16662     IdentitySetHistory record.
16663    '''
16664    __slots__ = [
16665        'activity_id',
16666        'deleted_at',
16667        'identity_set',
16668        'timestamp',
16669    ]
16670
16671    def __init__(
16672        self,
16673        activity_id=None,
16674        deleted_at=None,
16675        identity_set=None,
16676        timestamp=None,
16677    ):
16678        self.activity_id = activity_id if activity_id is not None else ''
16679        '''
16680         The unique identifier of the Activity that produced this change to the IdentitySet.
16681         May be empty for some system-initiated updates.
16682        '''
16683        self.deleted_at = deleted_at if deleted_at is not None else None
16684        '''
16685         If this IdentitySet was deleted, the time it was deleted.
16686        '''
16687        self.identity_set = identity_set if identity_set is not None else None
16688        '''
16689         The complete IdentitySet state at this time.
16690        '''
16691        self.timestamp = timestamp if timestamp is not None else None
16692        '''
16693         The time at which the IdentitySet state was recorded.
16694        '''
16695
16696    def __repr__(self):
16697        return '<sdm.IdentitySetHistory ' + \
16698            'activity_id: ' + repr(self.activity_id) + ' ' +\
16699            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16700            'identity_set: ' + repr(self.identity_set) + ' ' +\
16701            'timestamp: ' + repr(self.timestamp) + ' ' +\
16702            '>'
16703
16704    def to_dict(self):
16705        return {
16706            'activity_id': self.activity_id,
16707            'deleted_at': self.deleted_at,
16708            'identity_set': self.identity_set,
16709            'timestamp': self.timestamp,
16710        }
16711
16712    @classmethod
16713    def from_dict(cls, d):
16714        return cls(
16715            activity_id=d.get('activity_id'),
16716            deleted_at=d.get('deleted_at'),
16717            identity_set=d.get('identity_set'),
16718            timestamp=d.get('timestamp'),
16719        )
16720
16721
16722class IdentitySetUpdateResponse:
16723    '''
16724         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
16725     a IdentitySetUpdateRequest.
16726    '''
16727    __slots__ = [
16728        'identity_set',
16729        'meta',
16730        'rate_limit',
16731    ]
16732
16733    def __init__(
16734        self,
16735        identity_set=None,
16736        meta=None,
16737        rate_limit=None,
16738    ):
16739        self.identity_set = identity_set if identity_set is not None else None
16740        '''
16741         The updated IdentitySet.
16742        '''
16743        self.meta = meta if meta is not None else None
16744        '''
16745         Reserved for future use.
16746        '''
16747        self.rate_limit = rate_limit if rate_limit is not None else None
16748        '''
16749         Rate limit information.
16750        '''
16751
16752    def __repr__(self):
16753        return '<sdm.IdentitySetUpdateResponse ' + \
16754            'identity_set: ' + repr(self.identity_set) + ' ' +\
16755            'meta: ' + repr(self.meta) + ' ' +\
16756            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16757            '>'
16758
16759    def to_dict(self):
16760        return {
16761            'identity_set': self.identity_set,
16762            'meta': self.meta,
16763            'rate_limit': self.rate_limit,
16764        }
16765
16766    @classmethod
16767    def from_dict(cls, d):
16768        return cls(
16769            identity_set=d.get('identity_set'),
16770            meta=d.get('meta'),
16771            rate_limit=d.get('rate_limit'),
16772        )
16773
16774
16775class KeyValueEngine:
16776    __slots__ = [
16777        'id',
16778        'key_rotation_interval_days',
16779        'name',
16780        'public_key',
16781        'secret_store_id',
16782        'secret_store_root_path',
16783        'tags',
16784    ]
16785
16786    def __init__(
16787        self,
16788        id=None,
16789        key_rotation_interval_days=None,
16790        name=None,
16791        public_key=None,
16792        secret_store_id=None,
16793        secret_store_root_path=None,
16794        tags=None,
16795    ):
16796        self.id = id if id is not None else ''
16797        '''
16798         Unique identifier of the Secret Engine.
16799        '''
16800        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
16801        '''
16802         An interval of public/private key rotation for secret engine in days
16803        '''
16804        self.name = name if name is not None else ''
16805        '''
16806         Unique human-readable name of the Secret Engine.
16807        '''
16808        self.public_key = public_key if public_key is not None else b''
16809        '''
16810         Public key linked with a secret engine
16811        '''
16812        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16813        '''
16814         Backing secret store identifier
16815        '''
16816        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
16817        '''
16818         Backing Secret Store root path where managed secrets are going to be stored
16819        '''
16820        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16821        '''
16822         Tags is a map of key, value pairs.
16823        '''
16824
16825    def __repr__(self):
16826        return '<sdm.KeyValueEngine ' + \
16827            'id: ' + repr(self.id) + ' ' +\
16828            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
16829            'name: ' + repr(self.name) + ' ' +\
16830            'public_key: ' + repr(self.public_key) + ' ' +\
16831            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16832            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
16833            'tags: ' + repr(self.tags) + ' ' +\
16834            '>'
16835
16836    def to_dict(self):
16837        return {
16838            'id': self.id,
16839            'key_rotation_interval_days': self.key_rotation_interval_days,
16840            'name': self.name,
16841            'public_key': self.public_key,
16842            'secret_store_id': self.secret_store_id,
16843            'secret_store_root_path': self.secret_store_root_path,
16844            'tags': self.tags,
16845        }
16846
16847    @classmethod
16848    def from_dict(cls, d):
16849        return cls(
16850            id=d.get('id'),
16851            key_rotation_interval_days=d.get('key_rotation_interval_days'),
16852            name=d.get('name'),
16853            public_key=d.get('public_key'),
16854            secret_store_id=d.get('secret_store_id'),
16855            secret_store_root_path=d.get('secret_store_root_path'),
16856            tags=d.get('tags'),
16857        )
16858
16859
16860class KeyfactorSSHStore:
16861    __slots__ = [
16862        'ca_file_path',
16863        'certificate_file_path',
16864        'default_certificate_authority_name',
16865        'default_certificate_profile_name',
16866        'default_end_entity_profile_name',
16867        'enrollment_code_env_var',
16868        'enrollment_username_env_var',
16869        'id',
16870        'key_file_path',
16871        'name',
16872        'server_address',
16873        'tags',
16874    ]
16875
16876    def __init__(
16877        self,
16878        ca_file_path=None,
16879        certificate_file_path=None,
16880        default_certificate_authority_name=None,
16881        default_certificate_profile_name=None,
16882        default_end_entity_profile_name=None,
16883        enrollment_code_env_var=None,
16884        enrollment_username_env_var=None,
16885        id=None,
16886        key_file_path=None,
16887        name=None,
16888        server_address=None,
16889        tags=None,
16890    ):
16891        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
16892        '''
16893         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
16894         This is not required if the CA is trusted by the host operating system. This should be a PEM
16895         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
16896        '''
16897        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
16898        '''
16899         Path to client certificate in PEM format. This certificate must contain a client certificate that
16900         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
16901         key associated with the certificate, but KeyFile can also be set to configure the private key.
16902        '''
16903        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
16904        '''
16905         Name of EJBCA certificate authority that will enroll CSR.
16906        '''
16907        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
16908        '''
16909         Certificate profile name that EJBCA will enroll the CSR with.
16910        '''
16911        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
16912        '''
16913         End entity profile that EJBCA will enroll the CSR with.
16914        '''
16915        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
16916        '''
16917         code used by EJBCA during enrollment. May be left blank if no code is required.
16918        '''
16919        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
16920        '''
16921         username that used by the EJBCA during enrollment. This can be left out. 
16922         If so, the username must be auto-generated on the Keyfactor side.
16923        '''
16924        self.id = id if id is not None else ''
16925        '''
16926         Unique identifier of the SecretStore.
16927        '''
16928        self.key_file_path = key_file_path if key_file_path is not None else ''
16929        '''
16930         Path to private key in PEM format. This file should contain the private key associated with the
16931         client certificate configured in CertificateFile.
16932        '''
16933        self.name = name if name is not None else ''
16934        '''
16935         Unique human-readable name of the SecretStore.
16936        '''
16937        self.server_address = server_address if server_address is not None else ''
16938        '''
16939         the host of the Key Factor CA
16940        '''
16941        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16942        '''
16943         Tags is a map of key, value pairs.
16944        '''
16945
16946    def __repr__(self):
16947        return '<sdm.KeyfactorSSHStore ' + \
16948            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
16949            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
16950            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
16951            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
16952            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
16953            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
16954            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
16955            'id: ' + repr(self.id) + ' ' +\
16956            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
16957            'name: ' + repr(self.name) + ' ' +\
16958            'server_address: ' + repr(self.server_address) + ' ' +\
16959            'tags: ' + repr(self.tags) + ' ' +\
16960            '>'
16961
16962    def to_dict(self):
16963        return {
16964            'ca_file_path': self.ca_file_path,
16965            'certificate_file_path': self.certificate_file_path,
16966            'default_certificate_authority_name':
16967            self.default_certificate_authority_name,
16968            'default_certificate_profile_name':
16969            self.default_certificate_profile_name,
16970            'default_end_entity_profile_name':
16971            self.default_end_entity_profile_name,
16972            'enrollment_code_env_var': self.enrollment_code_env_var,
16973            'enrollment_username_env_var': self.enrollment_username_env_var,
16974            'id': self.id,
16975            'key_file_path': self.key_file_path,
16976            'name': self.name,
16977            'server_address': self.server_address,
16978            'tags': self.tags,
16979        }
16980
16981    @classmethod
16982    def from_dict(cls, d):
16983        return cls(
16984            ca_file_path=d.get('ca_file_path'),
16985            certificate_file_path=d.get('certificate_file_path'),
16986            default_certificate_authority_name=d.get(
16987                'default_certificate_authority_name'),
16988            default_certificate_profile_name=d.get(
16989                'default_certificate_profile_name'),
16990            default_end_entity_profile_name=d.get(
16991                'default_end_entity_profile_name'),
16992            enrollment_code_env_var=d.get('enrollment_code_env_var'),
16993            enrollment_username_env_var=d.get('enrollment_username_env_var'),
16994            id=d.get('id'),
16995            key_file_path=d.get('key_file_path'),
16996            name=d.get('name'),
16997            server_address=d.get('server_address'),
16998            tags=d.get('tags'),
16999        )
17000
17001
17002class KeyfactorX509Store:
17003    __slots__ = [
17004        'ca_file_path',
17005        'certificate_file_path',
17006        'default_certificate_authority_name',
17007        'default_certificate_profile_name',
17008        'default_end_entity_profile_name',
17009        'enrollment_code_env_var',
17010        'enrollment_username_env_var',
17011        'id',
17012        'key_file_path',
17013        'name',
17014        'server_address',
17015        'tags',
17016    ]
17017
17018    def __init__(
17019        self,
17020        ca_file_path=None,
17021        certificate_file_path=None,
17022        default_certificate_authority_name=None,
17023        default_certificate_profile_name=None,
17024        default_end_entity_profile_name=None,
17025        enrollment_code_env_var=None,
17026        enrollment_username_env_var=None,
17027        id=None,
17028        key_file_path=None,
17029        name=None,
17030        server_address=None,
17031        tags=None,
17032    ):
17033        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
17034        '''
17035         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
17036         This is not required if the CA is trusted by the host operating system. This should be a PEM
17037         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
17038        '''
17039        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
17040        '''
17041         Path to client certificate in PEM format. This certificate must contain a client certificate that
17042         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
17043         key associated with the certificate, but KeyFile can also be set to configure the private key.
17044        '''
17045        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
17046        '''
17047         Name of EJBCA certificate authority that will enroll CSR.
17048        '''
17049        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
17050        '''
17051         Certificate profile name that EJBCA will enroll the CSR with.
17052        '''
17053        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
17054        '''
17055         End entity profile that EJBCA will enroll the CSR with.
17056        '''
17057        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
17058        '''
17059         code used by EJBCA during enrollment. May be left blank if no code is required.
17060        '''
17061        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
17062        '''
17063         username that used by the EJBCA during enrollment. This can be left out. 
17064         If so, the username must be auto-generated on the Keyfactor side.
17065        '''
17066        self.id = id if id is not None else ''
17067        '''
17068         Unique identifier of the SecretStore.
17069        '''
17070        self.key_file_path = key_file_path if key_file_path is not None else ''
17071        '''
17072         Path to private key in PEM format. This file should contain the private key associated with the
17073         client certificate configured in CertificateFile.
17074        '''
17075        self.name = name if name is not None else ''
17076        '''
17077         Unique human-readable name of the SecretStore.
17078        '''
17079        self.server_address = server_address if server_address is not None else ''
17080        '''
17081         the host of the Key Factor CA
17082        '''
17083        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17084        '''
17085         Tags is a map of key, value pairs.
17086        '''
17087
17088    def __repr__(self):
17089        return '<sdm.KeyfactorX509Store ' + \
17090            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
17091            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
17092            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
17093            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
17094            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
17095            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
17096            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
17097            'id: ' + repr(self.id) + ' ' +\
17098            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
17099            'name: ' + repr(self.name) + ' ' +\
17100            'server_address: ' + repr(self.server_address) + ' ' +\
17101            'tags: ' + repr(self.tags) + ' ' +\
17102            '>'
17103
17104    def to_dict(self):
17105        return {
17106            'ca_file_path': self.ca_file_path,
17107            'certificate_file_path': self.certificate_file_path,
17108            'default_certificate_authority_name':
17109            self.default_certificate_authority_name,
17110            'default_certificate_profile_name':
17111            self.default_certificate_profile_name,
17112            'default_end_entity_profile_name':
17113            self.default_end_entity_profile_name,
17114            'enrollment_code_env_var': self.enrollment_code_env_var,
17115            'enrollment_username_env_var': self.enrollment_username_env_var,
17116            'id': self.id,
17117            'key_file_path': self.key_file_path,
17118            'name': self.name,
17119            'server_address': self.server_address,
17120            'tags': self.tags,
17121        }
17122
17123    @classmethod
17124    def from_dict(cls, d):
17125        return cls(
17126            ca_file_path=d.get('ca_file_path'),
17127            certificate_file_path=d.get('certificate_file_path'),
17128            default_certificate_authority_name=d.get(
17129                'default_certificate_authority_name'),
17130            default_certificate_profile_name=d.get(
17131                'default_certificate_profile_name'),
17132            default_end_entity_profile_name=d.get(
17133                'default_end_entity_profile_name'),
17134            enrollment_code_env_var=d.get('enrollment_code_env_var'),
17135            enrollment_username_env_var=d.get('enrollment_username_env_var'),
17136            id=d.get('id'),
17137            key_file_path=d.get('key_file_path'),
17138            name=d.get('name'),
17139            server_address=d.get('server_address'),
17140            tags=d.get('tags'),
17141        )
17142
17143
17144class Kubernetes:
17145    __slots__ = [
17146        'allow_resource_role_bypass',
17147        'bind_interface',
17148        'certificate_authority',
17149        'client_certificate',
17150        'client_key',
17151        'discovery_enabled',
17152        'discovery_username',
17153        'egress_filter',
17154        'healthcheck_namespace',
17155        'healthy',
17156        'hostname',
17157        'id',
17158        'identity_alias_healthcheck_username',
17159        'identity_set_id',
17160        'name',
17161        'port',
17162        'port_override',
17163        'proxy_cluster_id',
17164        'secret_store_id',
17165        'subdomain',
17166        'tags',
17167    ]
17168
17169    def __init__(
17170        self,
17171        allow_resource_role_bypass=None,
17172        bind_interface=None,
17173        certificate_authority=None,
17174        client_certificate=None,
17175        client_key=None,
17176        discovery_enabled=None,
17177        discovery_username=None,
17178        egress_filter=None,
17179        healthcheck_namespace=None,
17180        healthy=None,
17181        hostname=None,
17182        id=None,
17183        identity_alias_healthcheck_username=None,
17184        identity_set_id=None,
17185        name=None,
17186        port=None,
17187        port_override=None,
17188        proxy_cluster_id=None,
17189        secret_store_id=None,
17190        subdomain=None,
17191        tags=None,
17192    ):
17193        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17194        '''
17195         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17196         when a resource role is not provided.
17197        '''
17198        self.bind_interface = bind_interface if bind_interface is not None else ''
17199        '''
17200         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17201        '''
17202        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
17203        '''
17204         The CA to authenticate TLS connections with.
17205        '''
17206        self.client_certificate = client_certificate if client_certificate is not None else ''
17207        '''
17208         The certificate to authenticate TLS connections with.
17209        '''
17210        self.client_key = client_key if client_key is not None else ''
17211        '''
17212         The key to authenticate TLS connections with.
17213        '''
17214        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17215        '''
17216         If true, configures discovery of a cluster to be run from a node.
17217        '''
17218        self.discovery_username = discovery_username if discovery_username is not None else ''
17219        '''
17220         If a cluster is configured for user impersonation, this is the user to impersonate when
17221         running discovery.
17222        '''
17223        self.egress_filter = egress_filter if egress_filter is not None else ''
17224        '''
17225         A filter applied to the routing logic to pin datasource to nodes.
17226        '''
17227        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17228        '''
17229         The path used to check the health of your connection.  Defaults to `default`.
17230        '''
17231        self.healthy = healthy if healthy is not None else False
17232        '''
17233         True if the datasource is reachable and the credentials are valid.
17234        '''
17235        self.hostname = hostname if hostname is not None else ''
17236        '''
17237         The host to dial to initiate a connection from the egress node to this resource.
17238        '''
17239        self.id = id if id is not None else ''
17240        '''
17241         Unique identifier of the Resource.
17242        '''
17243        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17244        '''
17245         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17246        '''
17247        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17248        '''
17249         The ID of the identity set to use for identity connections.
17250        '''
17251        self.name = name if name is not None else ''
17252        '''
17253         Unique human-readable name of the Resource.
17254        '''
17255        self.port = port if port is not None else 0
17256        '''
17257         The port to dial to initiate a connection from the egress node to this resource.
17258        '''
17259        self.port_override = port_override if port_override is not None else 0
17260        '''
17261         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17262        '''
17263        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17264        '''
17265         ID of the proxy cluster for this resource, if any.
17266        '''
17267        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17268        '''
17269         ID of the secret store containing credentials for this resource, if any.
17270        '''
17271        self.subdomain = subdomain if subdomain is not None else ''
17272        '''
17273         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17274        '''
17275        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17276        '''
17277         Tags is a map of key, value pairs.
17278        '''
17279
17280    def __repr__(self):
17281        return '<sdm.Kubernetes ' + \
17282            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
17283            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17284            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
17285            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
17286            'client_key: ' + repr(self.client_key) + ' ' +\
17287            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
17288            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
17289            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17290            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17291            'healthy: ' + repr(self.healthy) + ' ' +\
17292            'hostname: ' + repr(self.hostname) + ' ' +\
17293            'id: ' + repr(self.id) + ' ' +\
17294            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
17295            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
17296            'name: ' + repr(self.name) + ' ' +\
17297            'port: ' + repr(self.port) + ' ' +\
17298            'port_override: ' + repr(self.port_override) + ' ' +\
17299            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17300            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17301            'subdomain: ' + repr(self.subdomain) + ' ' +\
17302            'tags: ' + repr(self.tags) + ' ' +\
17303            '>'
17304
17305    def to_dict(self):
17306        return {
17307            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17308            'bind_interface': self.bind_interface,
17309            'certificate_authority': self.certificate_authority,
17310            'client_certificate': self.client_certificate,
17311            'client_key': self.client_key,
17312            'discovery_enabled': self.discovery_enabled,
17313            'discovery_username': self.discovery_username,
17314            'egress_filter': self.egress_filter,
17315            'healthcheck_namespace': self.healthcheck_namespace,
17316            'healthy': self.healthy,
17317            'hostname': self.hostname,
17318            'id': self.id,
17319            'identity_alias_healthcheck_username':
17320            self.identity_alias_healthcheck_username,
17321            'identity_set_id': self.identity_set_id,
17322            'name': self.name,
17323            'port': self.port,
17324            'port_override': self.port_override,
17325            'proxy_cluster_id': self.proxy_cluster_id,
17326            'secret_store_id': self.secret_store_id,
17327            'subdomain': self.subdomain,
17328            'tags': self.tags,
17329        }
17330
17331    @classmethod
17332    def from_dict(cls, d):
17333        return cls(
17334            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17335            bind_interface=d.get('bind_interface'),
17336            certificate_authority=d.get('certificate_authority'),
17337            client_certificate=d.get('client_certificate'),
17338            client_key=d.get('client_key'),
17339            discovery_enabled=d.get('discovery_enabled'),
17340            discovery_username=d.get('discovery_username'),
17341            egress_filter=d.get('egress_filter'),
17342            healthcheck_namespace=d.get('healthcheck_namespace'),
17343            healthy=d.get('healthy'),
17344            hostname=d.get('hostname'),
17345            id=d.get('id'),
17346            identity_alias_healthcheck_username=d.get(
17347                'identity_alias_healthcheck_username'),
17348            identity_set_id=d.get('identity_set_id'),
17349            name=d.get('name'),
17350            port=d.get('port'),
17351            port_override=d.get('port_override'),
17352            proxy_cluster_id=d.get('proxy_cluster_id'),
17353            secret_store_id=d.get('secret_store_id'),
17354            subdomain=d.get('subdomain'),
17355            tags=d.get('tags'),
17356        )
17357
17358
17359class KubernetesBasicAuth:
17360    '''
17361    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
17362    without a major version bump.
17363    '''
17364    __slots__ = [
17365        'bind_interface',
17366        'egress_filter',
17367        'healthcheck_namespace',
17368        'healthy',
17369        'hostname',
17370        'id',
17371        'name',
17372        'password',
17373        'port',
17374        'port_override',
17375        'proxy_cluster_id',
17376        'secret_store_id',
17377        'subdomain',
17378        'tags',
17379        'username',
17380    ]
17381
17382    def __init__(
17383        self,
17384        bind_interface=None,
17385        egress_filter=None,
17386        healthcheck_namespace=None,
17387        healthy=None,
17388        hostname=None,
17389        id=None,
17390        name=None,
17391        password=None,
17392        port=None,
17393        port_override=None,
17394        proxy_cluster_id=None,
17395        secret_store_id=None,
17396        subdomain=None,
17397        tags=None,
17398        username=None,
17399    ):
17400        self.bind_interface = bind_interface if bind_interface is not None else ''
17401        '''
17402         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17403        '''
17404        self.egress_filter = egress_filter if egress_filter is not None else ''
17405        '''
17406         A filter applied to the routing logic to pin datasource to nodes.
17407        '''
17408        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17409        '''
17410         The path used to check the health of your connection.  Defaults to `default`.
17411        '''
17412        self.healthy = healthy if healthy is not None else False
17413        '''
17414         True if the datasource is reachable and the credentials are valid.
17415        '''
17416        self.hostname = hostname if hostname is not None else ''
17417        '''
17418         The host to dial to initiate a connection from the egress node to this resource.
17419        '''
17420        self.id = id if id is not None else ''
17421        '''
17422         Unique identifier of the Resource.
17423        '''
17424        self.name = name if name is not None else ''
17425        '''
17426         Unique human-readable name of the Resource.
17427        '''
17428        self.password = password if password is not None else ''
17429        '''
17430         The password to authenticate with.
17431        '''
17432        self.port = port if port is not None else 0
17433        '''
17434         The port to dial to initiate a connection from the egress node to this resource.
17435        '''
17436        self.port_override = port_override if port_override is not None else 0
17437        '''
17438         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17439        '''
17440        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17441        '''
17442         ID of the proxy cluster for this resource, if any.
17443        '''
17444        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17445        '''
17446         ID of the secret store containing credentials for this resource, if any.
17447        '''
17448        self.subdomain = subdomain if subdomain is not None else ''
17449        '''
17450         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17451        '''
17452        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17453        '''
17454         Tags is a map of key, value pairs.
17455        '''
17456        self.username = username if username is not None else ''
17457        '''
17458         The username to authenticate with.
17459        '''
17460
17461    def __repr__(self):
17462        return '<sdm.KubernetesBasicAuth ' + \
17463            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17464            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17465            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17466            'healthy: ' + repr(self.healthy) + ' ' +\
17467            'hostname: ' + repr(self.hostname) + ' ' +\
17468            'id: ' + repr(self.id) + ' ' +\
17469            'name: ' + repr(self.name) + ' ' +\
17470            'password: ' + repr(self.password) + ' ' +\
17471            'port: ' + repr(self.port) + ' ' +\
17472            'port_override: ' + repr(self.port_override) + ' ' +\
17473            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17474            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17475            'subdomain: ' + repr(self.subdomain) + ' ' +\
17476            'tags: ' + repr(self.tags) + ' ' +\
17477            'username: ' + repr(self.username) + ' ' +\
17478            '>'
17479
17480    def to_dict(self):
17481        return {
17482            'bind_interface': self.bind_interface,
17483            'egress_filter': self.egress_filter,
17484            'healthcheck_namespace': self.healthcheck_namespace,
17485            'healthy': self.healthy,
17486            'hostname': self.hostname,
17487            'id': self.id,
17488            'name': self.name,
17489            'password': self.password,
17490            'port': self.port,
17491            'port_override': self.port_override,
17492            'proxy_cluster_id': self.proxy_cluster_id,
17493            'secret_store_id': self.secret_store_id,
17494            'subdomain': self.subdomain,
17495            'tags': self.tags,
17496            'username': self.username,
17497        }
17498
17499    @classmethod
17500    def from_dict(cls, d):
17501        return cls(
17502            bind_interface=d.get('bind_interface'),
17503            egress_filter=d.get('egress_filter'),
17504            healthcheck_namespace=d.get('healthcheck_namespace'),
17505            healthy=d.get('healthy'),
17506            hostname=d.get('hostname'),
17507            id=d.get('id'),
17508            name=d.get('name'),
17509            password=d.get('password'),
17510            port=d.get('port'),
17511            port_override=d.get('port_override'),
17512            proxy_cluster_id=d.get('proxy_cluster_id'),
17513            secret_store_id=d.get('secret_store_id'),
17514            subdomain=d.get('subdomain'),
17515            tags=d.get('tags'),
17516            username=d.get('username'),
17517        )
17518
17519
17520class KubernetesPodIdentity:
17521    __slots__ = [
17522        'allow_resource_role_bypass',
17523        'bind_interface',
17524        'certificate_authority',
17525        'discovery_enabled',
17526        'discovery_username',
17527        'egress_filter',
17528        'healthcheck_namespace',
17529        'healthy',
17530        'id',
17531        'identity_alias_healthcheck_username',
17532        'identity_set_id',
17533        'name',
17534        'port_override',
17535        'proxy_cluster_id',
17536        'secret_store_id',
17537        'subdomain',
17538        'tags',
17539    ]
17540
17541    def __init__(
17542        self,
17543        allow_resource_role_bypass=None,
17544        bind_interface=None,
17545        certificate_authority=None,
17546        discovery_enabled=None,
17547        discovery_username=None,
17548        egress_filter=None,
17549        healthcheck_namespace=None,
17550        healthy=None,
17551        id=None,
17552        identity_alias_healthcheck_username=None,
17553        identity_set_id=None,
17554        name=None,
17555        port_override=None,
17556        proxy_cluster_id=None,
17557        secret_store_id=None,
17558        subdomain=None,
17559        tags=None,
17560    ):
17561        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17562        '''
17563         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17564         when a resource role is not provided.
17565        '''
17566        self.bind_interface = bind_interface if bind_interface is not None else ''
17567        '''
17568         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17569        '''
17570        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
17571        '''
17572         The CA to authenticate TLS connections with.
17573        '''
17574        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17575        '''
17576         If true, configures discovery of a cluster to be run from a node.
17577        '''
17578        self.discovery_username = discovery_username if discovery_username is not None else ''
17579        '''
17580         If a cluster is configured for user impersonation, this is the user to impersonate when
17581         running discovery.
17582        '''
17583        self.egress_filter = egress_filter if egress_filter is not None else ''
17584        '''
17585         A filter applied to the routing logic to pin datasource to nodes.
17586        '''
17587        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17588        '''
17589         The path used to check the health of your connection.  Defaults to `default`.
17590        '''
17591        self.healthy = healthy if healthy is not None else False
17592        '''
17593         True if the datasource is reachable and the credentials are valid.
17594        '''
17595        self.id = id if id is not None else ''
17596        '''
17597         Unique identifier of the Resource.
17598        '''
17599        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17600        '''
17601         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17602        '''
17603        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17604        '''
17605         The ID of the identity set to use for identity connections.
17606        '''
17607        self.name = name if name is not None else ''
17608        '''
17609         Unique human-readable name of the Resource.
17610        '''
17611        self.port_override = port_override if port_override is not None else 0
17612        '''
17613         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17614        '''
17615        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17616        '''
17617         ID of the proxy cluster for this resource, if any.
17618        '''
17619        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17620        '''
17621         ID of the secret store containing credentials for this resource, if any.
17622        '''
17623        self.subdomain = subdomain if subdomain is not None else ''
17624        '''
17625         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17626        '''
17627        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17628        '''
17629         Tags is a map of key, value pairs.
17630        '''
17631
17632    def __repr__(self):
17633        return '<sdm.KubernetesPodIdentity ' + \
17634            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
17635            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17636            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
17637            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
17638            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
17639            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17640            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17641            'healthy: ' + repr(self.healthy) + ' ' +\
17642            'id: ' + repr(self.id) + ' ' +\
17643            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
17644            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
17645            'name: ' + repr(self.name) + ' ' +\
17646            'port_override: ' + repr(self.port_override) + ' ' +\
17647            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17648            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17649            'subdomain: ' + repr(self.subdomain) + ' ' +\
17650            'tags: ' + repr(self.tags) + ' ' +\
17651            '>'
17652
17653    def to_dict(self):
17654        return {
17655            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17656            'bind_interface': self.bind_interface,
17657            'certificate_authority': self.certificate_authority,
17658            'discovery_enabled': self.discovery_enabled,
17659            'discovery_username': self.discovery_username,
17660            'egress_filter': self.egress_filter,
17661            'healthcheck_namespace': self.healthcheck_namespace,
17662            'healthy': self.healthy,
17663            'id': self.id,
17664            'identity_alias_healthcheck_username':
17665            self.identity_alias_healthcheck_username,
17666            'identity_set_id': self.identity_set_id,
17667            'name': self.name,
17668            'port_override': self.port_override,
17669            'proxy_cluster_id': self.proxy_cluster_id,
17670            'secret_store_id': self.secret_store_id,
17671            'subdomain': self.subdomain,
17672            'tags': self.tags,
17673        }
17674
17675    @classmethod
17676    def from_dict(cls, d):
17677        return cls(
17678            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17679            bind_interface=d.get('bind_interface'),
17680            certificate_authority=d.get('certificate_authority'),
17681            discovery_enabled=d.get('discovery_enabled'),
17682            discovery_username=d.get('discovery_username'),
17683            egress_filter=d.get('egress_filter'),
17684            healthcheck_namespace=d.get('healthcheck_namespace'),
17685            healthy=d.get('healthy'),
17686            id=d.get('id'),
17687            identity_alias_healthcheck_username=d.get(
17688                'identity_alias_healthcheck_username'),
17689            identity_set_id=d.get('identity_set_id'),
17690            name=d.get('name'),
17691            port_override=d.get('port_override'),
17692            proxy_cluster_id=d.get('proxy_cluster_id'),
17693            secret_store_id=d.get('secret_store_id'),
17694            subdomain=d.get('subdomain'),
17695            tags=d.get('tags'),
17696        )
17697
17698
17699class KubernetesServiceAccount:
17700    __slots__ = [
17701        'allow_resource_role_bypass',
17702        'bind_interface',
17703        'discovery_enabled',
17704        'discovery_username',
17705        'egress_filter',
17706        'healthcheck_namespace',
17707        'healthy',
17708        'hostname',
17709        'id',
17710        'identity_alias_healthcheck_username',
17711        'identity_set_id',
17712        'name',
17713        'port',
17714        'port_override',
17715        'proxy_cluster_id',
17716        'secret_store_id',
17717        'subdomain',
17718        'tags',
17719        'token',
17720    ]
17721
17722    def __init__(
17723        self,
17724        allow_resource_role_bypass=None,
17725        bind_interface=None,
17726        discovery_enabled=None,
17727        discovery_username=None,
17728        egress_filter=None,
17729        healthcheck_namespace=None,
17730        healthy=None,
17731        hostname=None,
17732        id=None,
17733        identity_alias_healthcheck_username=None,
17734        identity_set_id=None,
17735        name=None,
17736        port=None,
17737        port_override=None,
17738        proxy_cluster_id=None,
17739        secret_store_id=None,
17740        subdomain=None,
17741        tags=None,
17742        token=None,
17743    ):
17744        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17745        '''
17746         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17747         when a resource role is not provided.
17748        '''
17749        self.bind_interface = bind_interface if bind_interface is not None else ''
17750        '''
17751         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17752        '''
17753        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17754        '''
17755         If true, configures discovery of a cluster to be run from a node.
17756        '''
17757        self.discovery_username = discovery_username if discovery_username is not None else ''
17758        '''
17759         If a cluster is configured for user impersonation, this is the user to impersonate when
17760         running discovery.
17761        '''
17762        self.egress_filter = egress_filter if egress_filter is not None else ''
17763        '''
17764         A filter applied to the routing logic to pin datasource to nodes.
17765        '''
17766        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17767        '''
17768         The path used to check the health of your connection.  Defaults to `default`.
17769        '''
17770        self.healthy = healthy if healthy is not None else False
17771        '''
17772         True if the datasource is reachable and the credentials are valid.
17773        '''
17774        self.hostname = hostname if hostname is not None else ''
17775        '''
17776         The host to dial to initiate a connection from the egress node to this resource.
17777        '''
17778        self.id = id if id is not None else ''
17779        '''
17780         Unique identifier of the Resource.
17781        '''
17782        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17783        '''
17784         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17785        '''
17786        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17787        '''
17788         The ID of the identity set to use for identity connections.
17789        '''
17790        self.name = name if name is not None else ''
17791        '''
17792         Unique human-readable name of the Resource.
17793        '''
17794        self.port = port if port is not None else 0
17795        '''
17796         The port to dial to initiate a connection from the egress node to this resource.
17797        '''
17798        self.port_override = port_override if port_override is not None else 0
17799        '''
17800         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17801        '''
17802        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17803        '''
17804         ID of the proxy cluster for this resource, if any.
17805        '''
17806        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17807        '''
17808         ID of the secret store containing credentials for this resource, if any.
17809        '''
17810        self.subdomain = subdomain if subdomain is not None else ''
17811        '''
17812         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17813        '''
17814        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17815        '''
17816         Tags is a map of key, value pairs.
17817        '''
17818        self.token = token if token is not None else ''
17819        '''
17820         The API token to authenticate with.
17821        '''
17822
17823    def __repr__(self):
17824        return '<sdm.KubernetesServiceAccount ' + \
17825            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
17826            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17827            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
17828            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
17829            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17830            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17831            'healthy: ' + repr(self.healthy) + ' ' +\
17832            'hostname: ' + repr(self.hostname) + ' ' +\
17833            'id: ' + repr(self.id) + ' ' +\
17834            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
17835            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
17836            'name: ' + repr(self.name) + ' ' +\
17837            'port: ' + repr(self.port) + ' ' +\
17838            'port_override: ' + repr(self.port_override) + ' ' +\
17839            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17840            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17841            'subdomain: ' + repr(self.subdomain) + ' ' +\
17842            'tags: ' + repr(self.tags) + ' ' +\
17843            'token: ' + repr(self.token) + ' ' +\
17844            '>'
17845
17846    def to_dict(self):
17847        return {
17848            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17849            'bind_interface': self.bind_interface,
17850            'discovery_enabled': self.discovery_enabled,
17851            'discovery_username': self.discovery_username,
17852            'egress_filter': self.egress_filter,
17853            'healthcheck_namespace': self.healthcheck_namespace,
17854            'healthy': self.healthy,
17855            'hostname': self.hostname,
17856            'id': self.id,
17857            'identity_alias_healthcheck_username':
17858            self.identity_alias_healthcheck_username,
17859            'identity_set_id': self.identity_set_id,
17860            'name': self.name,
17861            'port': self.port,
17862            'port_override': self.port_override,
17863            'proxy_cluster_id': self.proxy_cluster_id,
17864            'secret_store_id': self.secret_store_id,
17865            'subdomain': self.subdomain,
17866            'tags': self.tags,
17867            'token': self.token,
17868        }
17869
17870    @classmethod
17871    def from_dict(cls, d):
17872        return cls(
17873            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17874            bind_interface=d.get('bind_interface'),
17875            discovery_enabled=d.get('discovery_enabled'),
17876            discovery_username=d.get('discovery_username'),
17877            egress_filter=d.get('egress_filter'),
17878            healthcheck_namespace=d.get('healthcheck_namespace'),
17879            healthy=d.get('healthy'),
17880            hostname=d.get('hostname'),
17881            id=d.get('id'),
17882            identity_alias_healthcheck_username=d.get(
17883                'identity_alias_healthcheck_username'),
17884            identity_set_id=d.get('identity_set_id'),
17885            name=d.get('name'),
17886            port=d.get('port'),
17887            port_override=d.get('port_override'),
17888            proxy_cluster_id=d.get('proxy_cluster_id'),
17889            secret_store_id=d.get('secret_store_id'),
17890            subdomain=d.get('subdomain'),
17891            tags=d.get('tags'),
17892            token=d.get('token'),
17893        )
17894
17895
17896class KubernetesServiceAccountUserImpersonation:
17897    '''
17898    KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
17899    '''
17900    __slots__ = [
17901        'bind_interface',
17902        'egress_filter',
17903        'healthcheck_namespace',
17904        'healthy',
17905        'hostname',
17906        'id',
17907        'name',
17908        'port',
17909        'port_override',
17910        'proxy_cluster_id',
17911        'secret_store_id',
17912        'subdomain',
17913        'tags',
17914        'token',
17915    ]
17916
17917    def __init__(
17918        self,
17919        bind_interface=None,
17920        egress_filter=None,
17921        healthcheck_namespace=None,
17922        healthy=None,
17923        hostname=None,
17924        id=None,
17925        name=None,
17926        port=None,
17927        port_override=None,
17928        proxy_cluster_id=None,
17929        secret_store_id=None,
17930        subdomain=None,
17931        tags=None,
17932        token=None,
17933    ):
17934        self.bind_interface = bind_interface if bind_interface is not None else ''
17935        '''
17936         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17937        '''
17938        self.egress_filter = egress_filter if egress_filter is not None else ''
17939        '''
17940         A filter applied to the routing logic to pin datasource to nodes.
17941        '''
17942        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17943        '''
17944         The path used to check the health of your connection.  Defaults to `default`.
17945        '''
17946        self.healthy = healthy if healthy is not None else False
17947        '''
17948         True if the datasource is reachable and the credentials are valid.
17949        '''
17950        self.hostname = hostname if hostname is not None else ''
17951        '''
17952         The host to dial to initiate a connection from the egress node to this resource.
17953        '''
17954        self.id = id if id is not None else ''
17955        '''
17956         Unique identifier of the Resource.
17957        '''
17958        self.name = name if name is not None else ''
17959        '''
17960         Unique human-readable name of the Resource.
17961        '''
17962        self.port = port if port is not None else 0
17963        '''
17964         The port to dial to initiate a connection from the egress node to this resource.
17965        '''
17966        self.port_override = port_override if port_override is not None else 0
17967        '''
17968         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17969        '''
17970        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17971        '''
17972         ID of the proxy cluster for this resource, if any.
17973        '''
17974        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17975        '''
17976         ID of the secret store containing credentials for this resource, if any.
17977        '''
17978        self.subdomain = subdomain if subdomain is not None else ''
17979        '''
17980         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17981        '''
17982        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17983        '''
17984         Tags is a map of key, value pairs.
17985        '''
17986        self.token = token if token is not None else ''
17987        '''
17988         The API token to authenticate with.
17989        '''
17990
17991    def __repr__(self):
17992        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
17993            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17994            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17995            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17996            'healthy: ' + repr(self.healthy) + ' ' +\
17997            'hostname: ' + repr(self.hostname) + ' ' +\
17998            'id: ' + repr(self.id) + ' ' +\
17999            'name: ' + repr(self.name) + ' ' +\
18000            'port: ' + repr(self.port) + ' ' +\
18001            'port_override: ' + repr(self.port_override) + ' ' +\
18002            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18003            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18004            'subdomain: ' + repr(self.subdomain) + ' ' +\
18005            'tags: ' + repr(self.tags) + ' ' +\
18006            'token: ' + repr(self.token) + ' ' +\
18007            '>'
18008
18009    def to_dict(self):
18010        return {
18011            'bind_interface': self.bind_interface,
18012            'egress_filter': self.egress_filter,
18013            'healthcheck_namespace': self.healthcheck_namespace,
18014            'healthy': self.healthy,
18015            'hostname': self.hostname,
18016            'id': self.id,
18017            'name': self.name,
18018            'port': self.port,
18019            'port_override': self.port_override,
18020            'proxy_cluster_id': self.proxy_cluster_id,
18021            'secret_store_id': self.secret_store_id,
18022            'subdomain': self.subdomain,
18023            'tags': self.tags,
18024            'token': self.token,
18025        }
18026
18027    @classmethod
18028    def from_dict(cls, d):
18029        return cls(
18030            bind_interface=d.get('bind_interface'),
18031            egress_filter=d.get('egress_filter'),
18032            healthcheck_namespace=d.get('healthcheck_namespace'),
18033            healthy=d.get('healthy'),
18034            hostname=d.get('hostname'),
18035            id=d.get('id'),
18036            name=d.get('name'),
18037            port=d.get('port'),
18038            port_override=d.get('port_override'),
18039            proxy_cluster_id=d.get('proxy_cluster_id'),
18040            secret_store_id=d.get('secret_store_id'),
18041            subdomain=d.get('subdomain'),
18042            tags=d.get('tags'),
18043            token=d.get('token'),
18044        )
18045
18046
18047class KubernetesUserImpersonation:
18048    '''
18049    KubernetesUserImpersonation is deprecated, see docs for more info.
18050    '''
18051    __slots__ = [
18052        'bind_interface',
18053        'certificate_authority',
18054        'client_certificate',
18055        'client_key',
18056        'egress_filter',
18057        'healthcheck_namespace',
18058        'healthy',
18059        'hostname',
18060        'id',
18061        'name',
18062        'port',
18063        'port_override',
18064        'proxy_cluster_id',
18065        'secret_store_id',
18066        'subdomain',
18067        'tags',
18068    ]
18069
18070    def __init__(
18071        self,
18072        bind_interface=None,
18073        certificate_authority=None,
18074        client_certificate=None,
18075        client_key=None,
18076        egress_filter=None,
18077        healthcheck_namespace=None,
18078        healthy=None,
18079        hostname=None,
18080        id=None,
18081        name=None,
18082        port=None,
18083        port_override=None,
18084        proxy_cluster_id=None,
18085        secret_store_id=None,
18086        subdomain=None,
18087        tags=None,
18088    ):
18089        self.bind_interface = bind_interface if bind_interface is not None else ''
18090        '''
18091         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18092        '''
18093        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18094        '''
18095         The CA to authenticate TLS connections with.
18096        '''
18097        self.client_certificate = client_certificate if client_certificate is not None else ''
18098        '''
18099         The certificate to authenticate TLS connections with.
18100        '''
18101        self.client_key = client_key if client_key is not None else ''
18102        '''
18103         The key to authenticate TLS connections with.
18104        '''
18105        self.egress_filter = egress_filter if egress_filter is not None else ''
18106        '''
18107         A filter applied to the routing logic to pin datasource to nodes.
18108        '''
18109        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
18110        '''
18111         The path used to check the health of your connection.  Defaults to `default`.
18112        '''
18113        self.healthy = healthy if healthy is not None else False
18114        '''
18115         True if the datasource is reachable and the credentials are valid.
18116        '''
18117        self.hostname = hostname if hostname is not None else ''
18118        '''
18119         The host to dial to initiate a connection from the egress node to this resource.
18120        '''
18121        self.id = id if id is not None else ''
18122        '''
18123         Unique identifier of the Resource.
18124        '''
18125        self.name = name if name is not None else ''
18126        '''
18127         Unique human-readable name of the Resource.
18128        '''
18129        self.port = port if port is not None else 0
18130        '''
18131         The port to dial to initiate a connection from the egress node to this resource.
18132        '''
18133        self.port_override = port_override if port_override is not None else 0
18134        '''
18135         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18136        '''
18137        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18138        '''
18139         ID of the proxy cluster for this resource, if any.
18140        '''
18141        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18142        '''
18143         ID of the secret store containing credentials for this resource, if any.
18144        '''
18145        self.subdomain = subdomain if subdomain is not None else ''
18146        '''
18147         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18148        '''
18149        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18150        '''
18151         Tags is a map of key, value pairs.
18152        '''
18153
18154    def __repr__(self):
18155        return '<sdm.KubernetesUserImpersonation ' + \
18156            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18157            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
18158            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
18159            'client_key: ' + repr(self.client_key) + ' ' +\
18160            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18161            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
18162            'healthy: ' + repr(self.healthy) + ' ' +\
18163            'hostname: ' + repr(self.hostname) + ' ' +\
18164            'id: ' + repr(self.id) + ' ' +\
18165            'name: ' + repr(self.name) + ' ' +\
18166            'port: ' + repr(self.port) + ' ' +\
18167            'port_override: ' + repr(self.port_override) + ' ' +\
18168            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18169            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18170            'subdomain: ' + repr(self.subdomain) + ' ' +\
18171            'tags: ' + repr(self.tags) + ' ' +\
18172            '>'
18173
18174    def to_dict(self):
18175        return {
18176            'bind_interface': self.bind_interface,
18177            'certificate_authority': self.certificate_authority,
18178            'client_certificate': self.client_certificate,
18179            'client_key': self.client_key,
18180            'egress_filter': self.egress_filter,
18181            'healthcheck_namespace': self.healthcheck_namespace,
18182            'healthy': self.healthy,
18183            'hostname': self.hostname,
18184            'id': self.id,
18185            'name': self.name,
18186            'port': self.port,
18187            'port_override': self.port_override,
18188            'proxy_cluster_id': self.proxy_cluster_id,
18189            'secret_store_id': self.secret_store_id,
18190            'subdomain': self.subdomain,
18191            'tags': self.tags,
18192        }
18193
18194    @classmethod
18195    def from_dict(cls, d):
18196        return cls(
18197            bind_interface=d.get('bind_interface'),
18198            certificate_authority=d.get('certificate_authority'),
18199            client_certificate=d.get('client_certificate'),
18200            client_key=d.get('client_key'),
18201            egress_filter=d.get('egress_filter'),
18202            healthcheck_namespace=d.get('healthcheck_namespace'),
18203            healthy=d.get('healthy'),
18204            hostname=d.get('hostname'),
18205            id=d.get('id'),
18206            name=d.get('name'),
18207            port=d.get('port'),
18208            port_override=d.get('port_override'),
18209            proxy_cluster_id=d.get('proxy_cluster_id'),
18210            secret_store_id=d.get('secret_store_id'),
18211            subdomain=d.get('subdomain'),
18212            tags=d.get('tags'),
18213        )
18214
18215
18216class LogCategoryConfig:
18217    __slots__ = [
18218        'remote_discard_replays',
18219        'remote_encoder',
18220    ]
18221
18222    def __init__(
18223        self,
18224        remote_discard_replays=None,
18225        remote_encoder=None,
18226    ):
18227        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
18228        '''
18229         Indicates if the Organization should exclude replay data from remote logging for the log category.
18230        '''
18231        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
18232        '''
18233         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
18234        '''
18235
18236    def __repr__(self):
18237        return '<sdm.LogCategoryConfig ' + \
18238            'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
18239            'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
18240            '>'
18241
18242    def to_dict(self):
18243        return {
18244            'remote_discard_replays': self.remote_discard_replays,
18245            'remote_encoder': self.remote_encoder,
18246        }
18247
18248    @classmethod
18249    def from_dict(cls, d):
18250        return cls(
18251            remote_discard_replays=d.get('remote_discard_replays'),
18252            remote_encoder=d.get('remote_encoder'),
18253        )
18254
18255
18256class LogConfig:
18257    __slots__ = [
18258        'categories',
18259        'local_encoder',
18260        'local_format',
18261        'local_socket_path',
18262        'local_storage',
18263        'local_tcp_address',
18264        'public_key',
18265    ]
18266
18267    def __init__(
18268        self,
18269        categories=None,
18270        local_encoder=None,
18271        local_format=None,
18272        local_socket_path=None,
18273        local_storage=None,
18274        local_tcp_address=None,
18275        public_key=None,
18276    ):
18277        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
18278        )
18279        '''
18280         The Organization's log category configuration settings.
18281        '''
18282        self.local_encoder = local_encoder if local_encoder is not None else ''
18283        '''
18284         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
18285        '''
18286        self.local_format = local_format if local_format is not None else ''
18287        '''
18288         The Organization's local log format, one of the LogLocalFormat constants.
18289        '''
18290        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
18291        '''
18292         The Organization's local log socket path.
18293        '''
18294        self.local_storage = local_storage if local_storage is not None else ''
18295        '''
18296         The Organization's local log storage, one of the LogLocalStorage constants.
18297        '''
18298        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
18299        '''
18300         The Organization's local log TCP address.
18301        '''
18302        self.public_key = public_key if public_key is not None else ''
18303        '''
18304         The Organization's public key in PEM format for encrypting logs.
18305        '''
18306
18307    def __repr__(self):
18308        return '<sdm.LogConfig ' + \
18309            'categories: ' + repr(self.categories) + ' ' +\
18310            'local_encoder: ' + repr(self.local_encoder) + ' ' +\
18311            'local_format: ' + repr(self.local_format) + ' ' +\
18312            'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
18313            'local_storage: ' + repr(self.local_storage) + ' ' +\
18314            'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
18315            'public_key: ' + repr(self.public_key) + ' ' +\
18316            '>'
18317
18318    def to_dict(self):
18319        return {
18320            'categories': self.categories,
18321            'local_encoder': self.local_encoder,
18322            'local_format': self.local_format,
18323            'local_socket_path': self.local_socket_path,
18324            'local_storage': self.local_storage,
18325            'local_tcp_address': self.local_tcp_address,
18326            'public_key': self.public_key,
18327        }
18328
18329    @classmethod
18330    def from_dict(cls, d):
18331        return cls(
18332            categories=d.get('categories'),
18333            local_encoder=d.get('local_encoder'),
18334            local_format=d.get('local_format'),
18335            local_socket_path=d.get('local_socket_path'),
18336            local_storage=d.get('local_storage'),
18337            local_tcp_address=d.get('local_tcp_address'),
18338            public_key=d.get('public_key'),
18339        )
18340
18341
18342class MCP:
18343    '''
18344    MCP is currently unstable, and its API may change, or it may be removed,
18345    without a major version bump.
18346    '''
18347    __slots__ = [
18348        'bind_interface',
18349        'egress_filter',
18350        'healthy',
18351        'hostname',
18352        'id',
18353        'name',
18354        'password',
18355        'port',
18356        'port_override',
18357        'proxy_cluster_id',
18358        'secret_store_id',
18359        'subdomain',
18360        'tags',
18361    ]
18362
18363    def __init__(
18364        self,
18365        bind_interface=None,
18366        egress_filter=None,
18367        healthy=None,
18368        hostname=None,
18369        id=None,
18370        name=None,
18371        password=None,
18372        port=None,
18373        port_override=None,
18374        proxy_cluster_id=None,
18375        secret_store_id=None,
18376        subdomain=None,
18377        tags=None,
18378    ):
18379        self.bind_interface = bind_interface if bind_interface is not None else ''
18380        '''
18381         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18382        '''
18383        self.egress_filter = egress_filter if egress_filter is not None else ''
18384        '''
18385         A filter applied to the routing logic to pin datasource to nodes.
18386        '''
18387        self.healthy = healthy if healthy is not None else False
18388        '''
18389         True if the datasource is reachable and the credentials are valid.
18390        '''
18391        self.hostname = hostname if hostname is not None else ''
18392        '''
18393         The host to dial to initiate a connection from the egress node to this resource.
18394        '''
18395        self.id = id if id is not None else ''
18396        '''
18397         Unique identifier of the Resource.
18398        '''
18399        self.name = name if name is not None else ''
18400        '''
18401         Unique human-readable name of the Resource.
18402        '''
18403        self.password = password if password is not None else ''
18404        '''
18405         The password to authenticate with.
18406        '''
18407        self.port = port if port is not None else 0
18408        '''
18409         The port to dial to initiate a connection from the egress node to this resource.
18410        '''
18411        self.port_override = port_override if port_override is not None else 0
18412        '''
18413         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18414        '''
18415        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18416        '''
18417         ID of the proxy cluster for this resource, if any.
18418        '''
18419        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18420        '''
18421         ID of the secret store containing credentials for this resource, if any.
18422        '''
18423        self.subdomain = subdomain if subdomain is not None else ''
18424        '''
18425         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18426        '''
18427        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18428        '''
18429         Tags is a map of key, value pairs.
18430        '''
18431
18432    def __repr__(self):
18433        return '<sdm.MCP ' + \
18434            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18435            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18436            'healthy: ' + repr(self.healthy) + ' ' +\
18437            'hostname: ' + repr(self.hostname) + ' ' +\
18438            'id: ' + repr(self.id) + ' ' +\
18439            'name: ' + repr(self.name) + ' ' +\
18440            'password: ' + repr(self.password) + ' ' +\
18441            'port: ' + repr(self.port) + ' ' +\
18442            'port_override: ' + repr(self.port_override) + ' ' +\
18443            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18444            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18445            'subdomain: ' + repr(self.subdomain) + ' ' +\
18446            'tags: ' + repr(self.tags) + ' ' +\
18447            '>'
18448
18449    def to_dict(self):
18450        return {
18451            'bind_interface': self.bind_interface,
18452            'egress_filter': self.egress_filter,
18453            'healthy': self.healthy,
18454            'hostname': self.hostname,
18455            'id': self.id,
18456            'name': self.name,
18457            'password': self.password,
18458            'port': self.port,
18459            'port_override': self.port_override,
18460            'proxy_cluster_id': self.proxy_cluster_id,
18461            'secret_store_id': self.secret_store_id,
18462            'subdomain': self.subdomain,
18463            'tags': self.tags,
18464        }
18465
18466    @classmethod
18467    def from_dict(cls, d):
18468        return cls(
18469            bind_interface=d.get('bind_interface'),
18470            egress_filter=d.get('egress_filter'),
18471            healthy=d.get('healthy'),
18472            hostname=d.get('hostname'),
18473            id=d.get('id'),
18474            name=d.get('name'),
18475            password=d.get('password'),
18476            port=d.get('port'),
18477            port_override=d.get('port_override'),
18478            proxy_cluster_id=d.get('proxy_cluster_id'),
18479            secret_store_id=d.get('secret_store_id'),
18480            subdomain=d.get('subdomain'),
18481            tags=d.get('tags'),
18482        )
18483
18484
18485class MTLSMysql:
18486    __slots__ = [
18487        'bind_interface',
18488        'certificate_authority',
18489        'client_certificate',
18490        'client_key',
18491        'database',
18492        'egress_filter',
18493        'healthy',
18494        'hostname',
18495        'id',
18496        'name',
18497        'password',
18498        'port',
18499        'port_override',
18500        'proxy_cluster_id',
18501        'require_native_auth',
18502        'secret_store_id',
18503        'server_name',
18504        'subdomain',
18505        'tags',
18506        'use_azure_single_server_usernames',
18507        'username',
18508    ]
18509
18510    def __init__(
18511        self,
18512        bind_interface=None,
18513        certificate_authority=None,
18514        client_certificate=None,
18515        client_key=None,
18516        database=None,
18517        egress_filter=None,
18518        healthy=None,
18519        hostname=None,
18520        id=None,
18521        name=None,
18522        password=None,
18523        port=None,
18524        port_override=None,
18525        proxy_cluster_id=None,
18526        require_native_auth=None,
18527        secret_store_id=None,
18528        server_name=None,
18529        subdomain=None,
18530        tags=None,
18531        use_azure_single_server_usernames=None,
18532        username=None,
18533    ):
18534        self.bind_interface = bind_interface if bind_interface is not None else ''
18535        '''
18536         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18537        '''
18538        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18539        '''
18540         The CA to authenticate TLS connections with.
18541        '''
18542        self.client_certificate = client_certificate if client_certificate is not None else ''
18543        '''
18544         The certificate to authenticate TLS connections with.
18545        '''
18546        self.client_key = client_key if client_key is not None else ''
18547        '''
18548         The key to authenticate TLS connections with.
18549        '''
18550        self.database = database if database is not None else ''
18551        '''
18552         The database for healthchecks. Does not affect client requests.
18553        '''
18554        self.egress_filter = egress_filter if egress_filter is not None else ''
18555        '''
18556         A filter applied to the routing logic to pin datasource to nodes.
18557        '''
18558        self.healthy = healthy if healthy is not None else False
18559        '''
18560         True if the datasource is reachable and the credentials are valid.
18561        '''
18562        self.hostname = hostname if hostname is not None else ''
18563        '''
18564         The host to dial to initiate a connection from the egress node to this resource.
18565        '''
18566        self.id = id if id is not None else ''
18567        '''
18568         Unique identifier of the Resource.
18569        '''
18570        self.name = name if name is not None else ''
18571        '''
18572         Unique human-readable name of the Resource.
18573        '''
18574        self.password = password if password is not None else ''
18575        '''
18576         The password to authenticate with.
18577        '''
18578        self.port = port if port is not None else 0
18579        '''
18580         The port to dial to initiate a connection from the egress node to this resource.
18581        '''
18582        self.port_override = port_override if port_override is not None else 0
18583        '''
18584         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18585        '''
18586        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18587        '''
18588         ID of the proxy cluster for this resource, if any.
18589        '''
18590        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18591        '''
18592         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18593        '''
18594        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18595        '''
18596         ID of the secret store containing credentials for this resource, if any.
18597        '''
18598        self.server_name = server_name if server_name is not None else ''
18599        '''
18600         Server name for TLS verification (unverified by StrongDM if empty)
18601        '''
18602        self.subdomain = subdomain if subdomain is not None else ''
18603        '''
18604         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18605        '''
18606        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18607        '''
18608         Tags is a map of key, value pairs.
18609        '''
18610        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18611        '''
18612         If true, appends the hostname to the username when hitting a database.azure.com address
18613        '''
18614        self.username = username if username is not None else ''
18615        '''
18616         The username to authenticate with.
18617        '''
18618
18619    def __repr__(self):
18620        return '<sdm.MTLSMysql ' + \
18621            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18622            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
18623            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
18624            'client_key: ' + repr(self.client_key) + ' ' +\
18625            'database: ' + repr(self.database) + ' ' +\
18626            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18627            'healthy: ' + repr(self.healthy) + ' ' +\
18628            'hostname: ' + repr(self.hostname) + ' ' +\
18629            'id: ' + repr(self.id) + ' ' +\
18630            'name: ' + repr(self.name) + ' ' +\
18631            'password: ' + repr(self.password) + ' ' +\
18632            'port: ' + repr(self.port) + ' ' +\
18633            'port_override: ' + repr(self.port_override) + ' ' +\
18634            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18635            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18636            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18637            'server_name: ' + repr(self.server_name) + ' ' +\
18638            'subdomain: ' + repr(self.subdomain) + ' ' +\
18639            'tags: ' + repr(self.tags) + ' ' +\
18640            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18641            'username: ' + repr(self.username) + ' ' +\
18642            '>'
18643
18644    def to_dict(self):
18645        return {
18646            'bind_interface': self.bind_interface,
18647            'certificate_authority': self.certificate_authority,
18648            'client_certificate': self.client_certificate,
18649            'client_key': self.client_key,
18650            'database': self.database,
18651            'egress_filter': self.egress_filter,
18652            'healthy': self.healthy,
18653            'hostname': self.hostname,
18654            'id': self.id,
18655            'name': self.name,
18656            'password': self.password,
18657            'port': self.port,
18658            'port_override': self.port_override,
18659            'proxy_cluster_id': self.proxy_cluster_id,
18660            'require_native_auth': self.require_native_auth,
18661            'secret_store_id': self.secret_store_id,
18662            'server_name': self.server_name,
18663            'subdomain': self.subdomain,
18664            'tags': self.tags,
18665            'use_azure_single_server_usernames':
18666            self.use_azure_single_server_usernames,
18667            'username': self.username,
18668        }
18669
18670    @classmethod
18671    def from_dict(cls, d):
18672        return cls(
18673            bind_interface=d.get('bind_interface'),
18674            certificate_authority=d.get('certificate_authority'),
18675            client_certificate=d.get('client_certificate'),
18676            client_key=d.get('client_key'),
18677            database=d.get('database'),
18678            egress_filter=d.get('egress_filter'),
18679            healthy=d.get('healthy'),
18680            hostname=d.get('hostname'),
18681            id=d.get('id'),
18682            name=d.get('name'),
18683            password=d.get('password'),
18684            port=d.get('port'),
18685            port_override=d.get('port_override'),
18686            proxy_cluster_id=d.get('proxy_cluster_id'),
18687            require_native_auth=d.get('require_native_auth'),
18688            secret_store_id=d.get('secret_store_id'),
18689            server_name=d.get('server_name'),
18690            subdomain=d.get('subdomain'),
18691            tags=d.get('tags'),
18692            use_azure_single_server_usernames=d.get(
18693                'use_azure_single_server_usernames'),
18694            username=d.get('username'),
18695        )
18696
18697
18698class MTLSPostgres:
18699    __slots__ = [
18700        'bind_interface',
18701        'certificate_authority',
18702        'client_certificate',
18703        'client_key',
18704        'database',
18705        'egress_filter',
18706        'healthy',
18707        'hostname',
18708        'id',
18709        'name',
18710        'override_database',
18711        'password',
18712        'port',
18713        'port_override',
18714        'proxy_cluster_id',
18715        'secret_store_id',
18716        'server_name',
18717        'subdomain',
18718        'tags',
18719        'username',
18720    ]
18721
18722    def __init__(
18723        self,
18724        bind_interface=None,
18725        certificate_authority=None,
18726        client_certificate=None,
18727        client_key=None,
18728        database=None,
18729        egress_filter=None,
18730        healthy=None,
18731        hostname=None,
18732        id=None,
18733        name=None,
18734        override_database=None,
18735        password=None,
18736        port=None,
18737        port_override=None,
18738        proxy_cluster_id=None,
18739        secret_store_id=None,
18740        server_name=None,
18741        subdomain=None,
18742        tags=None,
18743        username=None,
18744    ):
18745        self.bind_interface = bind_interface if bind_interface is not None else ''
18746        '''
18747         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18748        '''
18749        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18750        '''
18751         The CA to authenticate TLS connections with.
18752        '''
18753        self.client_certificate = client_certificate if client_certificate is not None else ''
18754        '''
18755         The certificate to authenticate TLS connections with.
18756        '''
18757        self.client_key = client_key if client_key is not None else ''
18758        '''
18759         The key to authenticate TLS connections with.
18760        '''
18761        self.database = database if database is not None else ''
18762        '''
18763         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18764        '''
18765        self.egress_filter = egress_filter if egress_filter is not None else ''
18766        '''
18767         A filter applied to the routing logic to pin datasource to nodes.
18768        '''
18769        self.healthy = healthy if healthy is not None else False
18770        '''
18771         True if the datasource is reachable and the credentials are valid.
18772        '''
18773        self.hostname = hostname if hostname is not None else ''
18774        '''
18775         The host to dial to initiate a connection from the egress node to this resource.
18776        '''
18777        self.id = id if id is not None else ''
18778        '''
18779         Unique identifier of the Resource.
18780        '''
18781        self.name = name if name is not None else ''
18782        '''
18783         Unique human-readable name of the Resource.
18784        '''
18785        self.override_database = override_database if override_database is not None else False
18786        '''
18787         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
18788        '''
18789        self.password = password if password is not None else ''
18790        '''
18791         The password to authenticate with.
18792        '''
18793        self.port = port if port is not None else 0
18794        '''
18795         The port to dial to initiate a connection from the egress node to this resource.
18796        '''
18797        self.port_override = port_override if port_override is not None else 0
18798        '''
18799         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18800        '''
18801        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18802        '''
18803         ID of the proxy cluster for this resource, if any.
18804        '''
18805        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18806        '''
18807         ID of the secret store containing credentials for this resource, if any.
18808        '''
18809        self.server_name = server_name if server_name is not None else ''
18810        '''
18811         Server name for TLS verification (unverified by StrongDM if empty)
18812        '''
18813        self.subdomain = subdomain if subdomain is not None else ''
18814        '''
18815         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18816        '''
18817        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18818        '''
18819         Tags is a map of key, value pairs.
18820        '''
18821        self.username = username if username is not None else ''
18822        '''
18823         The username to authenticate with.
18824        '''
18825
18826    def __repr__(self):
18827        return '<sdm.MTLSPostgres ' + \
18828            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18829            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
18830            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
18831            'client_key: ' + repr(self.client_key) + ' ' +\
18832            'database: ' + repr(self.database) + ' ' +\
18833            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18834            'healthy: ' + repr(self.healthy) + ' ' +\
18835            'hostname: ' + repr(self.hostname) + ' ' +\
18836            'id: ' + repr(self.id) + ' ' +\
18837            'name: ' + repr(self.name) + ' ' +\
18838            'override_database: ' + repr(self.override_database) + ' ' +\
18839            'password: ' + repr(self.password) + ' ' +\
18840            'port: ' + repr(self.port) + ' ' +\
18841            'port_override: ' + repr(self.port_override) + ' ' +\
18842            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18843            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18844            'server_name: ' + repr(self.server_name) + ' ' +\
18845            'subdomain: ' + repr(self.subdomain) + ' ' +\
18846            'tags: ' + repr(self.tags) + ' ' +\
18847            'username: ' + repr(self.username) + ' ' +\
18848            '>'
18849
18850    def to_dict(self):
18851        return {
18852            'bind_interface': self.bind_interface,
18853            'certificate_authority': self.certificate_authority,
18854            'client_certificate': self.client_certificate,
18855            'client_key': self.client_key,
18856            'database': self.database,
18857            'egress_filter': self.egress_filter,
18858            'healthy': self.healthy,
18859            'hostname': self.hostname,
18860            'id': self.id,
18861            'name': self.name,
18862            'override_database': self.override_database,
18863            'password': self.password,
18864            'port': self.port,
18865            'port_override': self.port_override,
18866            'proxy_cluster_id': self.proxy_cluster_id,
18867            'secret_store_id': self.secret_store_id,
18868            'server_name': self.server_name,
18869            'subdomain': self.subdomain,
18870            'tags': self.tags,
18871            'username': self.username,
18872        }
18873
18874    @classmethod
18875    def from_dict(cls, d):
18876        return cls(
18877            bind_interface=d.get('bind_interface'),
18878            certificate_authority=d.get('certificate_authority'),
18879            client_certificate=d.get('client_certificate'),
18880            client_key=d.get('client_key'),
18881            database=d.get('database'),
18882            egress_filter=d.get('egress_filter'),
18883            healthy=d.get('healthy'),
18884            hostname=d.get('hostname'),
18885            id=d.get('id'),
18886            name=d.get('name'),
18887            override_database=d.get('override_database'),
18888            password=d.get('password'),
18889            port=d.get('port'),
18890            port_override=d.get('port_override'),
18891            proxy_cluster_id=d.get('proxy_cluster_id'),
18892            secret_store_id=d.get('secret_store_id'),
18893            server_name=d.get('server_name'),
18894            subdomain=d.get('subdomain'),
18895            tags=d.get('tags'),
18896            username=d.get('username'),
18897        )
18898
18899
18900class ManagedSecret:
18901    '''
18902         ManagedSecret contains details about managed secret
18903    '''
18904    __slots__ = [
18905        'config',
18906        'expires_at',
18907        'id',
18908        'last_rotated_at',
18909        'name',
18910        'policy',
18911        'secret_engine_id',
18912        'secret_store_path',
18913        'tags',
18914        'value',
18915    ]
18916
18917    def __init__(
18918        self,
18919        config=None,
18920        expires_at=None,
18921        id=None,
18922        last_rotated_at=None,
18923        name=None,
18924        policy=None,
18925        secret_engine_id=None,
18926        secret_store_path=None,
18927        tags=None,
18928        value=None,
18929    ):
18930        self.config = config if config is not None else ''
18931        '''
18932         public part of the secret value
18933        '''
18934        self.expires_at = expires_at if expires_at is not None else None
18935        '''
18936         Timestamp of when secret is going to be rotated
18937        '''
18938        self.id = id if id is not None else ''
18939        '''
18940         Unique identifier of the Managed Secret.
18941        '''
18942        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
18943        '''
18944         Timestamp of when secret was last rotated
18945        '''
18946        self.name = name if name is not None else ''
18947        '''
18948         Unique human-readable name of the Managed Secret.
18949        '''
18950        self.policy = policy if policy is not None else None
18951        '''
18952         Password and rotation policy for the secret
18953        '''
18954        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
18955        '''
18956         An ID of a Secret Engine linked with the Managed Secret.
18957        '''
18958        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
18959        '''
18960         Path in a secret store.
18961        '''
18962        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18963        '''
18964         Tags is a map of key, value pairs.
18965        '''
18966        self.value = value if value is not None else b''
18967        '''
18968         Sensitive value of the secret.
18969        '''
18970
18971    def __repr__(self):
18972        return '<sdm.ManagedSecret ' + \
18973            'config: ' + repr(self.config) + ' ' +\
18974            'expires_at: ' + repr(self.expires_at) + ' ' +\
18975            'id: ' + repr(self.id) + ' ' +\
18976            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
18977            'name: ' + repr(self.name) + ' ' +\
18978            'policy: ' + repr(self.policy) + ' ' +\
18979            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
18980            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
18981            'tags: ' + repr(self.tags) + ' ' +\
18982            'value: ' + repr(self.value) + ' ' +\
18983            '>'
18984
18985    def to_dict(self):
18986        return {
18987            'config': self.config,
18988            'expires_at': self.expires_at,
18989            'id': self.id,
18990            'last_rotated_at': self.last_rotated_at,
18991            'name': self.name,
18992            'policy': self.policy,
18993            'secret_engine_id': self.secret_engine_id,
18994            'secret_store_path': self.secret_store_path,
18995            'tags': self.tags,
18996            'value': self.value,
18997        }
18998
18999    @classmethod
19000    def from_dict(cls, d):
19001        return cls(
19002            config=d.get('config'),
19003            expires_at=d.get('expires_at'),
19004            id=d.get('id'),
19005            last_rotated_at=d.get('last_rotated_at'),
19006            name=d.get('name'),
19007            policy=d.get('policy'),
19008            secret_engine_id=d.get('secret_engine_id'),
19009            secret_store_path=d.get('secret_store_path'),
19010            tags=d.get('tags'),
19011            value=d.get('value'),
19012        )
19013
19014
19015class ManagedSecretCreateRequest:
19016    '''
19017         ManagedSecretCreateRequest specifies a Managed Secret to create.
19018    '''
19019    __slots__ = [
19020        'managed_secret',
19021    ]
19022
19023    def __init__(
19024        self,
19025        managed_secret=None,
19026    ):
19027        self.managed_secret = managed_secret if managed_secret is not None else None
19028        '''
19029         Parameters to define the new Managed Secret.
19030        '''
19031
19032    def __repr__(self):
19033        return '<sdm.ManagedSecretCreateRequest ' + \
19034            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19035            '>'
19036
19037    def to_dict(self):
19038        return {
19039            'managed_secret': self.managed_secret,
19040        }
19041
19042    @classmethod
19043    def from_dict(cls, d):
19044        return cls(managed_secret=d.get('managed_secret'), )
19045
19046
19047class ManagedSecretCreateResponse:
19048    '''
19049         ManagedSecretCreateResponse contains information about a Managed Secret after
19050     successful creation.
19051    '''
19052    __slots__ = [
19053        'managed_secret',
19054        'meta',
19055        'rate_limit',
19056    ]
19057
19058    def __init__(
19059        self,
19060        managed_secret=None,
19061        meta=None,
19062        rate_limit=None,
19063    ):
19064        self.managed_secret = managed_secret if managed_secret is not None else None
19065        '''
19066         The requested Managed Secret.
19067        '''
19068        self.meta = meta if meta is not None else None
19069        '''
19070         Reserved for future use.
19071        '''
19072        self.rate_limit = rate_limit if rate_limit is not None else None
19073        '''
19074         Rate limit information.
19075        '''
19076
19077    def __repr__(self):
19078        return '<sdm.ManagedSecretCreateResponse ' + \
19079            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19080            'meta: ' + repr(self.meta) + ' ' +\
19081            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19082            '>'
19083
19084    def to_dict(self):
19085        return {
19086            'managed_secret': self.managed_secret,
19087            'meta': self.meta,
19088            'rate_limit': self.rate_limit,
19089        }
19090
19091    @classmethod
19092    def from_dict(cls, d):
19093        return cls(
19094            managed_secret=d.get('managed_secret'),
19095            meta=d.get('meta'),
19096            rate_limit=d.get('rate_limit'),
19097        )
19098
19099
19100class ManagedSecretDeleteRequest:
19101    '''
19102         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
19103     deleted.
19104    '''
19105    __slots__ = [
19106        'id',
19107    ]
19108
19109    def __init__(
19110        self,
19111        id=None,
19112    ):
19113        self.id = id if id is not None else ''
19114        '''
19115         The unique identifier of the Managed Secret to delete.
19116        '''
19117
19118    def __repr__(self):
19119        return '<sdm.ManagedSecretDeleteRequest ' + \
19120            'id: ' + repr(self.id) + ' ' +\
19121            '>'
19122
19123    def to_dict(self):
19124        return {
19125            'id': self.id,
19126        }
19127
19128    @classmethod
19129    def from_dict(cls, d):
19130        return cls(id=d.get('id'), )
19131
19132
19133class ManagedSecretDeleteResponse:
19134    '''
19135         ManagedSecretDeleteResponse contains information about a Managed Secret after
19136     it was deleted.
19137    '''
19138    __slots__ = [
19139        'rate_limit',
19140    ]
19141
19142    def __init__(
19143        self,
19144        rate_limit=None,
19145    ):
19146        self.rate_limit = rate_limit if rate_limit is not None else None
19147        '''
19148         Rate limit information.
19149        '''
19150
19151    def __repr__(self):
19152        return '<sdm.ManagedSecretDeleteResponse ' + \
19153            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19154            '>'
19155
19156    def to_dict(self):
19157        return {
19158            'rate_limit': self.rate_limit,
19159        }
19160
19161    @classmethod
19162    def from_dict(cls, d):
19163        return cls(rate_limit=d.get('rate_limit'), )
19164
19165
19166class ManagedSecretGetRequest:
19167    '''
19168         ManagedSecretGetRequest specifies which Managed Secret to retrieve
19169    '''
19170    __slots__ = [
19171        'id',
19172    ]
19173
19174    def __init__(
19175        self,
19176        id=None,
19177    ):
19178        self.id = id if id is not None else ''
19179        '''
19180         The unique identifier of the Managed Secret to retrieve.
19181        '''
19182
19183    def __repr__(self):
19184        return '<sdm.ManagedSecretGetRequest ' + \
19185            'id: ' + repr(self.id) + ' ' +\
19186            '>'
19187
19188    def to_dict(self):
19189        return {
19190            'id': self.id,
19191        }
19192
19193    @classmethod
19194    def from_dict(cls, d):
19195        return cls(id=d.get('id'), )
19196
19197
19198class ManagedSecretGetResponse:
19199    '''
19200         ManagedSecretGetResponse contains information about requested Managed Secret
19201    '''
19202    __slots__ = [
19203        'managed_secret',
19204        'meta',
19205        'rate_limit',
19206    ]
19207
19208    def __init__(
19209        self,
19210        managed_secret=None,
19211        meta=None,
19212        rate_limit=None,
19213    ):
19214        self.managed_secret = managed_secret if managed_secret is not None else None
19215        '''
19216         The requested Managed Secret.
19217        '''
19218        self.meta = meta if meta is not None else None
19219        '''
19220         Reserved for future use.
19221        '''
19222        self.rate_limit = rate_limit if rate_limit is not None else None
19223        '''
19224         Rate limit information.
19225        '''
19226
19227    def __repr__(self):
19228        return '<sdm.ManagedSecretGetResponse ' + \
19229            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19230            'meta: ' + repr(self.meta) + ' ' +\
19231            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19232            '>'
19233
19234    def to_dict(self):
19235        return {
19236            'managed_secret': self.managed_secret,
19237            'meta': self.meta,
19238            'rate_limit': self.rate_limit,
19239        }
19240
19241    @classmethod
19242    def from_dict(cls, d):
19243        return cls(
19244            managed_secret=d.get('managed_secret'),
19245            meta=d.get('meta'),
19246            rate_limit=d.get('rate_limit'),
19247        )
19248
19249
19250class ManagedSecretListRequest:
19251    '''
19252         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
19253     Secrets.
19254    '''
19255    __slots__ = [
19256        'filter',
19257    ]
19258
19259    def __init__(
19260        self,
19261        filter=None,
19262    ):
19263        self.filter = filter if filter is not None else ''
19264        '''
19265         A human-readable filter query string.
19266        '''
19267
19268    def __repr__(self):
19269        return '<sdm.ManagedSecretListRequest ' + \
19270            'filter: ' + repr(self.filter) + ' ' +\
19271            '>'
19272
19273    def to_dict(self):
19274        return {
19275            'filter': self.filter,
19276        }
19277
19278    @classmethod
19279    def from_dict(cls, d):
19280        return cls(filter=d.get('filter'), )
19281
19282
19283class ManagedSecretListResponse:
19284    '''
19285         ManagedSecretListResponse contains a list of requested Managed Secrets
19286    '''
19287    __slots__ = [
19288        'rate_limit',
19289    ]
19290
19291    def __init__(
19292        self,
19293        rate_limit=None,
19294    ):
19295        self.rate_limit = rate_limit if rate_limit is not None else None
19296        '''
19297         Rate limit information.
19298        '''
19299
19300    def __repr__(self):
19301        return '<sdm.ManagedSecretListResponse ' + \
19302            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19303            '>'
19304
19305    def to_dict(self):
19306        return {
19307            'rate_limit': self.rate_limit,
19308        }
19309
19310    @classmethod
19311    def from_dict(cls, d):
19312        return cls(rate_limit=d.get('rate_limit'), )
19313
19314
19315class ManagedSecretLog:
19316    '''
19317         ManagedSecretLog contains details about action performed against a managed
19318     secret
19319    '''
19320    __slots__ = [
19321        'account_id',
19322        'action',
19323        'created_at',
19324        'debug',
19325        'id',
19326        'managed_secret_id',
19327        'secret_engine_id',
19328    ]
19329
19330    def __init__(
19331        self,
19332        account_id=None,
19333        action=None,
19334        created_at=None,
19335        debug=None,
19336        id=None,
19337        managed_secret_id=None,
19338        secret_engine_id=None,
19339    ):
19340        self.account_id = account_id if account_id is not None else ''
19341        '''
19342         An ID of the account the action was performed by.
19343        '''
19344        self.action = action if action is not None else ''
19345        '''
19346         The action performed by the account against the managed secret.
19347        '''
19348        self.created_at = created_at if created_at is not None else None
19349        '''
19350         Timestamp of when action was performed.
19351        '''
19352        self.debug = debug if debug is not None else ''
19353        '''
19354         Any debug logs associated with the action.
19355        '''
19356        self.id = id if id is not None else ''
19357        '''
19358         Unique identifier of the Managed Secret Log.
19359        '''
19360        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
19361        '''
19362         An ID of the Managed Secret the action was performed against.
19363        '''
19364        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
19365        '''
19366         An ID of the Secret Engine linked with the Managed Secret.
19367        '''
19368
19369    def __repr__(self):
19370        return '<sdm.ManagedSecretLog ' + \
19371            'account_id: ' + repr(self.account_id) + ' ' +\
19372            'action: ' + repr(self.action) + ' ' +\
19373            'created_at: ' + repr(self.created_at) + ' ' +\
19374            'debug: ' + repr(self.debug) + ' ' +\
19375            'id: ' + repr(self.id) + ' ' +\
19376            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
19377            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
19378            '>'
19379
19380    def to_dict(self):
19381        return {
19382            'account_id': self.account_id,
19383            'action': self.action,
19384            'created_at': self.created_at,
19385            'debug': self.debug,
19386            'id': self.id,
19387            'managed_secret_id': self.managed_secret_id,
19388            'secret_engine_id': self.secret_engine_id,
19389        }
19390
19391    @classmethod
19392    def from_dict(cls, d):
19393        return cls(
19394            account_id=d.get('account_id'),
19395            action=d.get('action'),
19396            created_at=d.get('created_at'),
19397            debug=d.get('debug'),
19398            id=d.get('id'),
19399            managed_secret_id=d.get('managed_secret_id'),
19400            secret_engine_id=d.get('secret_engine_id'),
19401        )
19402
19403
19404class ManagedSecretLogsRequest:
19405    '''
19406         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
19407     Secrets actions.
19408    '''
19409    __slots__ = [
19410        'filter',
19411    ]
19412
19413    def __init__(
19414        self,
19415        filter=None,
19416    ):
19417        self.filter = filter if filter is not None else ''
19418        '''
19419         A human-readable filter query string.
19420        '''
19421
19422    def __repr__(self):
19423        return '<sdm.ManagedSecretLogsRequest ' + \
19424            'filter: ' + repr(self.filter) + ' ' +\
19425            '>'
19426
19427    def to_dict(self):
19428        return {
19429            'filter': self.filter,
19430        }
19431
19432    @classmethod
19433    def from_dict(cls, d):
19434        return cls(filter=d.get('filter'), )
19435
19436
19437class ManagedSecretLogsResponse:
19438    '''
19439         ManagedSecretLogsResponse contains a list of requested Managed Secrets
19440    '''
19441    __slots__ = [
19442        'rate_limit',
19443    ]
19444
19445    def __init__(
19446        self,
19447        rate_limit=None,
19448    ):
19449        self.rate_limit = rate_limit if rate_limit is not None else None
19450        '''
19451         Rate limit information.
19452        '''
19453
19454    def __repr__(self):
19455        return '<sdm.ManagedSecretLogsResponse ' + \
19456            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19457            '>'
19458
19459    def to_dict(self):
19460        return {
19461            'rate_limit': self.rate_limit,
19462        }
19463
19464    @classmethod
19465    def from_dict(cls, d):
19466        return cls(rate_limit=d.get('rate_limit'), )
19467
19468
19469class ManagedSecretPasswordPolicy:
19470    __slots__ = [
19471        'allow_repeat',
19472        'exclude_characters',
19473        'exclude_upper_case',
19474        'length',
19475        'num_digits',
19476        'num_symbols',
19477    ]
19478
19479    def __init__(
19480        self,
19481        allow_repeat=None,
19482        exclude_characters=None,
19483        exclude_upper_case=None,
19484        length=None,
19485        num_digits=None,
19486        num_symbols=None,
19487    ):
19488        self.allow_repeat = allow_repeat if allow_repeat is not None else False
19489        '''
19490         If set to true allows for consecutive characters to repeat itself
19491        '''
19492        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
19493        '''
19494         Characters to exclude when generating password
19495        '''
19496        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
19497        '''
19498         If set to true do not include upper case letters when generating password
19499        '''
19500        self.length = length if length is not None else 0
19501        '''
19502         Password length
19503        '''
19504        self.num_digits = num_digits if num_digits is not None else 0
19505        '''
19506         Numbers of digits to use when generating password
19507        '''
19508        self.num_symbols = num_symbols if num_symbols is not None else 0
19509        '''
19510         Number of symbols to use when generating password
19511        '''
19512
19513    def __repr__(self):
19514        return '<sdm.ManagedSecretPasswordPolicy ' + \
19515            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
19516            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
19517            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
19518            'length: ' + repr(self.length) + ' ' +\
19519            'num_digits: ' + repr(self.num_digits) + ' ' +\
19520            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
19521            '>'
19522
19523    def to_dict(self):
19524        return {
19525            'allow_repeat': self.allow_repeat,
19526            'exclude_characters': self.exclude_characters,
19527            'exclude_upper_case': self.exclude_upper_case,
19528            'length': self.length,
19529            'num_digits': self.num_digits,
19530            'num_symbols': self.num_symbols,
19531        }
19532
19533    @classmethod
19534    def from_dict(cls, d):
19535        return cls(
19536            allow_repeat=d.get('allow_repeat'),
19537            exclude_characters=d.get('exclude_characters'),
19538            exclude_upper_case=d.get('exclude_upper_case'),
19539            length=d.get('length'),
19540            num_digits=d.get('num_digits'),
19541            num_symbols=d.get('num_symbols'),
19542        )
19543
19544
19545class ManagedSecretPolicy:
19546    '''
19547         ManagedSecretPolicy contains password and rotation policy for managed secret
19548    '''
19549    __slots__ = [
19550        'password_policy',
19551        'rotation_policy',
19552    ]
19553
19554    def __init__(
19555        self,
19556        password_policy=None,
19557        rotation_policy=None,
19558    ):
19559        self.password_policy = password_policy if password_policy is not None else None
19560        '''
19561         Password policy for a managed secret
19562        '''
19563        self.rotation_policy = rotation_policy if rotation_policy is not None else None
19564        '''
19565         Rotation policy for a managed secret
19566        '''
19567
19568    def __repr__(self):
19569        return '<sdm.ManagedSecretPolicy ' + \
19570            'password_policy: ' + repr(self.password_policy) + ' ' +\
19571            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
19572            '>'
19573
19574    def to_dict(self):
19575        return {
19576            'password_policy': self.password_policy,
19577            'rotation_policy': self.rotation_policy,
19578        }
19579
19580    @classmethod
19581    def from_dict(cls, d):
19582        return cls(
19583            password_policy=d.get('password_policy'),
19584            rotation_policy=d.get('rotation_policy'),
19585        )
19586
19587
19588class ManagedSecretRetrieveRequest:
19589    '''
19590         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
19591    '''
19592    __slots__ = [
19593        'id',
19594        'public_key',
19595    ]
19596
19597    def __init__(
19598        self,
19599        id=None,
19600        public_key=None,
19601    ):
19602        self.id = id if id is not None else ''
19603        '''
19604         The unique identifier of the Managed Secret to retrieve.
19605        '''
19606        self.public_key = public_key if public_key is not None else b''
19607        '''
19608         Public key to encrypt a sensitive value with
19609        '''
19610
19611    def __repr__(self):
19612        return '<sdm.ManagedSecretRetrieveRequest ' + \
19613            'id: ' + repr(self.id) + ' ' +\
19614            'public_key: ' + repr(self.public_key) + ' ' +\
19615            '>'
19616
19617    def to_dict(self):
19618        return {
19619            'id': self.id,
19620            'public_key': self.public_key,
19621        }
19622
19623    @classmethod
19624    def from_dict(cls, d):
19625        return cls(
19626            id=d.get('id'),
19627            public_key=d.get('public_key'),
19628        )
19629
19630
19631class ManagedSecretRetrieveResponse:
19632    '''
19633         ManagedSecretRetrieveResponse contains information about requested Managed
19634     Secret
19635    '''
19636    __slots__ = [
19637        'managed_secret',
19638        'meta',
19639        'rate_limit',
19640    ]
19641
19642    def __init__(
19643        self,
19644        managed_secret=None,
19645        meta=None,
19646        rate_limit=None,
19647    ):
19648        self.managed_secret = managed_secret if managed_secret is not None else None
19649        '''
19650         The requested Managed Secret.
19651        '''
19652        self.meta = meta if meta is not None else None
19653        '''
19654         Reserved for future use.
19655        '''
19656        self.rate_limit = rate_limit if rate_limit is not None else None
19657        '''
19658         Rate limit information.
19659        '''
19660
19661    def __repr__(self):
19662        return '<sdm.ManagedSecretRetrieveResponse ' + \
19663            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19664            'meta: ' + repr(self.meta) + ' ' +\
19665            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19666            '>'
19667
19668    def to_dict(self):
19669        return {
19670            'managed_secret': self.managed_secret,
19671            'meta': self.meta,
19672            'rate_limit': self.rate_limit,
19673        }
19674
19675    @classmethod
19676    def from_dict(cls, d):
19677        return cls(
19678            managed_secret=d.get('managed_secret'),
19679            meta=d.get('meta'),
19680            rate_limit=d.get('rate_limit'),
19681        )
19682
19683
19684class ManagedSecretRotateRequest:
19685    '''
19686         ManagedSecretRotateRequest specifies Managed Secret to rotate
19687    '''
19688    __slots__ = [
19689        'id',
19690    ]
19691
19692    def __init__(
19693        self,
19694        id=None,
19695    ):
19696        self.id = id if id is not None else ''
19697        '''
19698         The unique identifier of the Managed Secret to rotate.
19699        '''
19700
19701    def __repr__(self):
19702        return '<sdm.ManagedSecretRotateRequest ' + \
19703            'id: ' + repr(self.id) + ' ' +\
19704            '>'
19705
19706    def to_dict(self):
19707        return {
19708            'id': self.id,
19709        }
19710
19711    @classmethod
19712    def from_dict(cls, d):
19713        return cls(id=d.get('id'), )
19714
19715
19716class ManagedSecretRotateResponse:
19717    '''
19718         ManagedSecretRotateResponse contains information about Secret Engine after
19719     successful rotation.
19720    '''
19721    __slots__ = [
19722        'meta',
19723        'rate_limit',
19724    ]
19725
19726    def __init__(
19727        self,
19728        meta=None,
19729        rate_limit=None,
19730    ):
19731        self.meta = meta if meta is not None else None
19732        '''
19733         Reserved for future use.
19734        '''
19735        self.rate_limit = rate_limit if rate_limit is not None else None
19736        '''
19737         Rate limit information.
19738        '''
19739
19740    def __repr__(self):
19741        return '<sdm.ManagedSecretRotateResponse ' + \
19742            'meta: ' + repr(self.meta) + ' ' +\
19743            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19744            '>'
19745
19746    def to_dict(self):
19747        return {
19748            'meta': self.meta,
19749            'rate_limit': self.rate_limit,
19750        }
19751
19752    @classmethod
19753    def from_dict(cls, d):
19754        return cls(
19755            meta=d.get('meta'),
19756            rate_limit=d.get('rate_limit'),
19757        )
19758
19759
19760class ManagedSecretRotationPolicy:
19761    __slots__ = []
19762
19763    def __init__(self, ):
19764        pass
19765
19766    def __repr__(self):
19767        return '<sdm.ManagedSecretRotationPolicy ' + \
19768            '>'
19769
19770    def to_dict(self):
19771        return {}
19772
19773    @classmethod
19774    def from_dict(cls, d):
19775        return cls()
19776
19777
19778class ManagedSecretUpdateRequest:
19779    '''
19780         ManagedSecretUpdateRequest specifies Managed Secret to update
19781    '''
19782    __slots__ = [
19783        'managed_secret',
19784    ]
19785
19786    def __init__(
19787        self,
19788        managed_secret=None,
19789    ):
19790        self.managed_secret = managed_secret if managed_secret is not None else None
19791        '''
19792         Managed Secret to update
19793        '''
19794
19795    def __repr__(self):
19796        return '<sdm.ManagedSecretUpdateRequest ' + \
19797            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19798            '>'
19799
19800    def to_dict(self):
19801        return {
19802            'managed_secret': self.managed_secret,
19803        }
19804
19805    @classmethod
19806    def from_dict(cls, d):
19807        return cls(managed_secret=d.get('managed_secret'), )
19808
19809
19810class ManagedSecretUpdateResponse:
19811    '''
19812         ManagedSecretUpdateResponse contains information about Secret Engine after
19813     successful update.
19814    '''
19815    __slots__ = [
19816        'managed_secret',
19817        'meta',
19818        'rate_limit',
19819    ]
19820
19821    def __init__(
19822        self,
19823        managed_secret=None,
19824        meta=None,
19825        rate_limit=None,
19826    ):
19827        self.managed_secret = managed_secret if managed_secret is not None else None
19828        '''
19829         The requested Managed Secret.
19830        '''
19831        self.meta = meta if meta is not None else None
19832        '''
19833         Reserved for future use.
19834        '''
19835        self.rate_limit = rate_limit if rate_limit is not None else None
19836        '''
19837         Rate limit information.
19838        '''
19839
19840    def __repr__(self):
19841        return '<sdm.ManagedSecretUpdateResponse ' + \
19842            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19843            'meta: ' + repr(self.meta) + ' ' +\
19844            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19845            '>'
19846
19847    def to_dict(self):
19848        return {
19849            'managed_secret': self.managed_secret,
19850            'meta': self.meta,
19851            'rate_limit': self.rate_limit,
19852        }
19853
19854    @classmethod
19855    def from_dict(cls, d):
19856        return cls(
19857            managed_secret=d.get('managed_secret'),
19858            meta=d.get('meta'),
19859            rate_limit=d.get('rate_limit'),
19860        )
19861
19862
19863class ManagedSecretValidateRequest:
19864    '''
19865         ManagedSecretValidateRequest specifies which Managed Secret to validate
19866    '''
19867    __slots__ = [
19868        'id',
19869    ]
19870
19871    def __init__(
19872        self,
19873        id=None,
19874    ):
19875        self.id = id if id is not None else ''
19876        '''
19877         The unique identifier of the Managed Secret to validate.
19878        '''
19879
19880    def __repr__(self):
19881        return '<sdm.ManagedSecretValidateRequest ' + \
19882            'id: ' + repr(self.id) + ' ' +\
19883            '>'
19884
19885    def to_dict(self):
19886        return {
19887            'id': self.id,
19888        }
19889
19890    @classmethod
19891    def from_dict(cls, d):
19892        return cls(id=d.get('id'), )
19893
19894
19895class ManagedSecretValidateResponse:
19896    '''
19897         ManagedSecretValidateResponse contains validity of requested Managed
19898     Secret
19899    '''
19900    __slots__ = [
19901        'invalid_info',
19902        'meta',
19903        'rate_limit',
19904        'valid',
19905    ]
19906
19907    def __init__(
19908        self,
19909        invalid_info=None,
19910        meta=None,
19911        rate_limit=None,
19912        valid=None,
19913    ):
19914        self.invalid_info = invalid_info if invalid_info is not None else ''
19915        '''
19916         Information about why secret is invalid
19917        '''
19918        self.meta = meta if meta is not None else None
19919        '''
19920         Reserved for future use.
19921        '''
19922        self.rate_limit = rate_limit if rate_limit is not None else None
19923        '''
19924         Rate limit information.
19925        '''
19926        self.valid = valid if valid is not None else False
19927        '''
19928         Whether the secret is valid
19929        '''
19930
19931    def __repr__(self):
19932        return '<sdm.ManagedSecretValidateResponse ' + \
19933            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
19934            'meta: ' + repr(self.meta) + ' ' +\
19935            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19936            'valid: ' + repr(self.valid) + ' ' +\
19937            '>'
19938
19939    def to_dict(self):
19940        return {
19941            'invalid_info': self.invalid_info,
19942            'meta': self.meta,
19943            'rate_limit': self.rate_limit,
19944            'valid': self.valid,
19945        }
19946
19947    @classmethod
19948    def from_dict(cls, d):
19949        return cls(
19950            invalid_info=d.get('invalid_info'),
19951            meta=d.get('meta'),
19952            rate_limit=d.get('rate_limit'),
19953            valid=d.get('valid'),
19954        )
19955
19956
19957class Maria:
19958    __slots__ = [
19959        'bind_interface',
19960        'database',
19961        'egress_filter',
19962        'healthy',
19963        'hostname',
19964        'id',
19965        'name',
19966        'password',
19967        'port',
19968        'port_override',
19969        'proxy_cluster_id',
19970        'require_native_auth',
19971        'secret_store_id',
19972        'subdomain',
19973        'tags',
19974        'use_azure_single_server_usernames',
19975        'username',
19976    ]
19977
19978    def __init__(
19979        self,
19980        bind_interface=None,
19981        database=None,
19982        egress_filter=None,
19983        healthy=None,
19984        hostname=None,
19985        id=None,
19986        name=None,
19987        password=None,
19988        port=None,
19989        port_override=None,
19990        proxy_cluster_id=None,
19991        require_native_auth=None,
19992        secret_store_id=None,
19993        subdomain=None,
19994        tags=None,
19995        use_azure_single_server_usernames=None,
19996        username=None,
19997    ):
19998        self.bind_interface = bind_interface if bind_interface is not None else ''
19999        '''
20000         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20001        '''
20002        self.database = database if database is not None else ''
20003        '''
20004         The database for healthchecks. Does not affect client requests.
20005        '''
20006        self.egress_filter = egress_filter if egress_filter is not None else ''
20007        '''
20008         A filter applied to the routing logic to pin datasource to nodes.
20009        '''
20010        self.healthy = healthy if healthy is not None else False
20011        '''
20012         True if the datasource is reachable and the credentials are valid.
20013        '''
20014        self.hostname = hostname if hostname is not None else ''
20015        '''
20016         The host to dial to initiate a connection from the egress node to this resource.
20017        '''
20018        self.id = id if id is not None else ''
20019        '''
20020         Unique identifier of the Resource.
20021        '''
20022        self.name = name if name is not None else ''
20023        '''
20024         Unique human-readable name of the Resource.
20025        '''
20026        self.password = password if password is not None else ''
20027        '''
20028         The password to authenticate with.
20029        '''
20030        self.port = port if port is not None else 0
20031        '''
20032         The port to dial to initiate a connection from the egress node to this resource.
20033        '''
20034        self.port_override = port_override if port_override is not None else 0
20035        '''
20036         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20037        '''
20038        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20039        '''
20040         ID of the proxy cluster for this resource, if any.
20041        '''
20042        self.require_native_auth = require_native_auth if require_native_auth is not None else False
20043        '''
20044         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
20045        '''
20046        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20047        '''
20048         ID of the secret store containing credentials for this resource, if any.
20049        '''
20050        self.subdomain = subdomain if subdomain is not None else ''
20051        '''
20052         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20053        '''
20054        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20055        '''
20056         Tags is a map of key, value pairs.
20057        '''
20058        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
20059        '''
20060         If true, appends the hostname to the username when hitting a database.azure.com address
20061        '''
20062        self.username = username if username is not None else ''
20063        '''
20064         The username to authenticate with.
20065        '''
20066
20067    def __repr__(self):
20068        return '<sdm.Maria ' + \
20069            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20070            'database: ' + repr(self.database) + ' ' +\
20071            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20072            'healthy: ' + repr(self.healthy) + ' ' +\
20073            'hostname: ' + repr(self.hostname) + ' ' +\
20074            'id: ' + repr(self.id) + ' ' +\
20075            'name: ' + repr(self.name) + ' ' +\
20076            'password: ' + repr(self.password) + ' ' +\
20077            'port: ' + repr(self.port) + ' ' +\
20078            'port_override: ' + repr(self.port_override) + ' ' +\
20079            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20080            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
20081            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20082            'subdomain: ' + repr(self.subdomain) + ' ' +\
20083            'tags: ' + repr(self.tags) + ' ' +\
20084            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
20085            'username: ' + repr(self.username) + ' ' +\
20086            '>'
20087
20088    def to_dict(self):
20089        return {
20090            'bind_interface': self.bind_interface,
20091            'database': self.database,
20092            'egress_filter': self.egress_filter,
20093            'healthy': self.healthy,
20094            'hostname': self.hostname,
20095            'id': self.id,
20096            'name': self.name,
20097            'password': self.password,
20098            'port': self.port,
20099            'port_override': self.port_override,
20100            'proxy_cluster_id': self.proxy_cluster_id,
20101            'require_native_auth': self.require_native_auth,
20102            'secret_store_id': self.secret_store_id,
20103            'subdomain': self.subdomain,
20104            'tags': self.tags,
20105            'use_azure_single_server_usernames':
20106            self.use_azure_single_server_usernames,
20107            'username': self.username,
20108        }
20109
20110    @classmethod
20111    def from_dict(cls, d):
20112        return cls(
20113            bind_interface=d.get('bind_interface'),
20114            database=d.get('database'),
20115            egress_filter=d.get('egress_filter'),
20116            healthy=d.get('healthy'),
20117            hostname=d.get('hostname'),
20118            id=d.get('id'),
20119            name=d.get('name'),
20120            password=d.get('password'),
20121            port=d.get('port'),
20122            port_override=d.get('port_override'),
20123            proxy_cluster_id=d.get('proxy_cluster_id'),
20124            require_native_auth=d.get('require_native_auth'),
20125            secret_store_id=d.get('secret_store_id'),
20126            subdomain=d.get('subdomain'),
20127            tags=d.get('tags'),
20128            use_azure_single_server_usernames=d.get(
20129                'use_azure_single_server_usernames'),
20130            username=d.get('username'),
20131        )
20132
20133
20134class Memcached:
20135    __slots__ = [
20136        'bind_interface',
20137        'egress_filter',
20138        'healthy',
20139        'hostname',
20140        'id',
20141        'name',
20142        'port',
20143        'port_override',
20144        'proxy_cluster_id',
20145        'secret_store_id',
20146        'subdomain',
20147        'tags',
20148    ]
20149
20150    def __init__(
20151        self,
20152        bind_interface=None,
20153        egress_filter=None,
20154        healthy=None,
20155        hostname=None,
20156        id=None,
20157        name=None,
20158        port=None,
20159        port_override=None,
20160        proxy_cluster_id=None,
20161        secret_store_id=None,
20162        subdomain=None,
20163        tags=None,
20164    ):
20165        self.bind_interface = bind_interface if bind_interface is not None else ''
20166        '''
20167         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20168        '''
20169        self.egress_filter = egress_filter if egress_filter is not None else ''
20170        '''
20171         A filter applied to the routing logic to pin datasource to nodes.
20172        '''
20173        self.healthy = healthy if healthy is not None else False
20174        '''
20175         True if the datasource is reachable and the credentials are valid.
20176        '''
20177        self.hostname = hostname if hostname is not None else ''
20178        '''
20179         The host to dial to initiate a connection from the egress node to this resource.
20180        '''
20181        self.id = id if id is not None else ''
20182        '''
20183         Unique identifier of the Resource.
20184        '''
20185        self.name = name if name is not None else ''
20186        '''
20187         Unique human-readable name of the Resource.
20188        '''
20189        self.port = port if port is not None else 0
20190        '''
20191         The port to dial to initiate a connection from the egress node to this resource.
20192        '''
20193        self.port_override = port_override if port_override is not None else 0
20194        '''
20195         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20196        '''
20197        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20198        '''
20199         ID of the proxy cluster for this resource, if any.
20200        '''
20201        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20202        '''
20203         ID of the secret store containing credentials for this resource, if any.
20204        '''
20205        self.subdomain = subdomain if subdomain is not None else ''
20206        '''
20207         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20208        '''
20209        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20210        '''
20211         Tags is a map of key, value pairs.
20212        '''
20213
20214    def __repr__(self):
20215        return '<sdm.Memcached ' + \
20216            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20217            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20218            'healthy: ' + repr(self.healthy) + ' ' +\
20219            'hostname: ' + repr(self.hostname) + ' ' +\
20220            'id: ' + repr(self.id) + ' ' +\
20221            'name: ' + repr(self.name) + ' ' +\
20222            'port: ' + repr(self.port) + ' ' +\
20223            'port_override: ' + repr(self.port_override) + ' ' +\
20224            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20225            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20226            'subdomain: ' + repr(self.subdomain) + ' ' +\
20227            'tags: ' + repr(self.tags) + ' ' +\
20228            '>'
20229
20230    def to_dict(self):
20231        return {
20232            'bind_interface': self.bind_interface,
20233            'egress_filter': self.egress_filter,
20234            'healthy': self.healthy,
20235            'hostname': self.hostname,
20236            'id': self.id,
20237            'name': self.name,
20238            'port': self.port,
20239            'port_override': self.port_override,
20240            'proxy_cluster_id': self.proxy_cluster_id,
20241            'secret_store_id': self.secret_store_id,
20242            'subdomain': self.subdomain,
20243            'tags': self.tags,
20244        }
20245
20246    @classmethod
20247    def from_dict(cls, d):
20248        return cls(
20249            bind_interface=d.get('bind_interface'),
20250            egress_filter=d.get('egress_filter'),
20251            healthy=d.get('healthy'),
20252            hostname=d.get('hostname'),
20253            id=d.get('id'),
20254            name=d.get('name'),
20255            port=d.get('port'),
20256            port_override=d.get('port_override'),
20257            proxy_cluster_id=d.get('proxy_cluster_id'),
20258            secret_store_id=d.get('secret_store_id'),
20259            subdomain=d.get('subdomain'),
20260            tags=d.get('tags'),
20261        )
20262
20263
20264class Memsql:
20265    __slots__ = [
20266        'bind_interface',
20267        'database',
20268        'egress_filter',
20269        'healthy',
20270        'hostname',
20271        'id',
20272        'name',
20273        'password',
20274        'port',
20275        'port_override',
20276        'proxy_cluster_id',
20277        'require_native_auth',
20278        'secret_store_id',
20279        'subdomain',
20280        'tags',
20281        'use_azure_single_server_usernames',
20282        'username',
20283    ]
20284
20285    def __init__(
20286        self,
20287        bind_interface=None,
20288        database=None,
20289        egress_filter=None,
20290        healthy=None,
20291        hostname=None,
20292        id=None,
20293        name=None,
20294        password=None,
20295        port=None,
20296        port_override=None,
20297        proxy_cluster_id=None,
20298        require_native_auth=None,
20299        secret_store_id=None,
20300        subdomain=None,
20301        tags=None,
20302        use_azure_single_server_usernames=None,
20303        username=None,
20304    ):
20305        self.bind_interface = bind_interface if bind_interface is not None else ''
20306        '''
20307         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20308        '''
20309        self.database = database if database is not None else ''
20310        '''
20311         The database for healthchecks. Does not affect client requests.
20312        '''
20313        self.egress_filter = egress_filter if egress_filter is not None else ''
20314        '''
20315         A filter applied to the routing logic to pin datasource to nodes.
20316        '''
20317        self.healthy = healthy if healthy is not None else False
20318        '''
20319         True if the datasource is reachable and the credentials are valid.
20320        '''
20321        self.hostname = hostname if hostname is not None else ''
20322        '''
20323         The host to dial to initiate a connection from the egress node to this resource.
20324        '''
20325        self.id = id if id is not None else ''
20326        '''
20327         Unique identifier of the Resource.
20328        '''
20329        self.name = name if name is not None else ''
20330        '''
20331         Unique human-readable name of the Resource.
20332        '''
20333        self.password = password if password is not None else ''
20334        '''
20335         The password to authenticate with.
20336        '''
20337        self.port = port if port is not None else 0
20338        '''
20339         The port to dial to initiate a connection from the egress node to this resource.
20340        '''
20341        self.port_override = port_override if port_override is not None else 0
20342        '''
20343         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20344        '''
20345        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20346        '''
20347         ID of the proxy cluster for this resource, if any.
20348        '''
20349        self.require_native_auth = require_native_auth if require_native_auth is not None else False
20350        '''
20351         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
20352        '''
20353        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20354        '''
20355         ID of the secret store containing credentials for this resource, if any.
20356        '''
20357        self.subdomain = subdomain if subdomain is not None else ''
20358        '''
20359         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20360        '''
20361        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20362        '''
20363         Tags is a map of key, value pairs.
20364        '''
20365        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
20366        '''
20367         If true, appends the hostname to the username when hitting a database.azure.com address
20368        '''
20369        self.username = username if username is not None else ''
20370        '''
20371         The username to authenticate with.
20372        '''
20373
20374    def __repr__(self):
20375        return '<sdm.Memsql ' + \
20376            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20377            'database: ' + repr(self.database) + ' ' +\
20378            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20379            'healthy: ' + repr(self.healthy) + ' ' +\
20380            'hostname: ' + repr(self.hostname) + ' ' +\
20381            'id: ' + repr(self.id) + ' ' +\
20382            'name: ' + repr(self.name) + ' ' +\
20383            'password: ' + repr(self.password) + ' ' +\
20384            'port: ' + repr(self.port) + ' ' +\
20385            'port_override: ' + repr(self.port_override) + ' ' +\
20386            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20387            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
20388            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20389            'subdomain: ' + repr(self.subdomain) + ' ' +\
20390            'tags: ' + repr(self.tags) + ' ' +\
20391            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
20392            'username: ' + repr(self.username) + ' ' +\
20393            '>'
20394
20395    def to_dict(self):
20396        return {
20397            'bind_interface': self.bind_interface,
20398            'database': self.database,
20399            'egress_filter': self.egress_filter,
20400            'healthy': self.healthy,
20401            'hostname': self.hostname,
20402            'id': self.id,
20403            'name': self.name,
20404            'password': self.password,
20405            'port': self.port,
20406            'port_override': self.port_override,
20407            'proxy_cluster_id': self.proxy_cluster_id,
20408            'require_native_auth': self.require_native_auth,
20409            'secret_store_id': self.secret_store_id,
20410            'subdomain': self.subdomain,
20411            'tags': self.tags,
20412            'use_azure_single_server_usernames':
20413            self.use_azure_single_server_usernames,
20414            'username': self.username,
20415        }
20416
20417    @classmethod
20418    def from_dict(cls, d):
20419        return cls(
20420            bind_interface=d.get('bind_interface'),
20421            database=d.get('database'),
20422            egress_filter=d.get('egress_filter'),
20423            healthy=d.get('healthy'),
20424            hostname=d.get('hostname'),
20425            id=d.get('id'),
20426            name=d.get('name'),
20427            password=d.get('password'),
20428            port=d.get('port'),
20429            port_override=d.get('port_override'),
20430            proxy_cluster_id=d.get('proxy_cluster_id'),
20431            require_native_auth=d.get('require_native_auth'),
20432            secret_store_id=d.get('secret_store_id'),
20433            subdomain=d.get('subdomain'),
20434            tags=d.get('tags'),
20435            use_azure_single_server_usernames=d.get(
20436                'use_azure_single_server_usernames'),
20437            username=d.get('username'),
20438        )
20439
20440
20441class MongoHost:
20442    __slots__ = [
20443        'auth_database',
20444        'bind_interface',
20445        'egress_filter',
20446        'healthy',
20447        'hostname',
20448        'id',
20449        'name',
20450        'password',
20451        'port',
20452        'port_override',
20453        'proxy_cluster_id',
20454        'secret_store_id',
20455        'subdomain',
20456        'tags',
20457        'tls_required',
20458        'username',
20459    ]
20460
20461    def __init__(
20462        self,
20463        auth_database=None,
20464        bind_interface=None,
20465        egress_filter=None,
20466        healthy=None,
20467        hostname=None,
20468        id=None,
20469        name=None,
20470        password=None,
20471        port=None,
20472        port_override=None,
20473        proxy_cluster_id=None,
20474        secret_store_id=None,
20475        subdomain=None,
20476        tags=None,
20477        tls_required=None,
20478        username=None,
20479    ):
20480        self.auth_database = auth_database if auth_database is not None else ''
20481        '''
20482         The authentication database to use.
20483        '''
20484        self.bind_interface = bind_interface if bind_interface is not None else ''
20485        '''
20486         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20487        '''
20488        self.egress_filter = egress_filter if egress_filter is not None else ''
20489        '''
20490         A filter applied to the routing logic to pin datasource to nodes.
20491        '''
20492        self.healthy = healthy if healthy is not None else False
20493        '''
20494         True if the datasource is reachable and the credentials are valid.
20495        '''
20496        self.hostname = hostname if hostname is not None else ''
20497        '''
20498         The host to dial to initiate a connection from the egress node to this resource.
20499        '''
20500        self.id = id if id is not None else ''
20501        '''
20502         Unique identifier of the Resource.
20503        '''
20504        self.name = name if name is not None else ''
20505        '''
20506         Unique human-readable name of the Resource.
20507        '''
20508        self.password = password if password is not None else ''
20509        '''
20510         The password to authenticate with.
20511        '''
20512        self.port = port if port is not None else 0
20513        '''
20514         The port to dial to initiate a connection from the egress node to this resource.
20515        '''
20516        self.port_override = port_override if port_override is not None else 0
20517        '''
20518         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20519        '''
20520        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20521        '''
20522         ID of the proxy cluster for this resource, if any.
20523        '''
20524        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20525        '''
20526         ID of the secret store containing credentials for this resource, if any.
20527        '''
20528        self.subdomain = subdomain if subdomain is not None else ''
20529        '''
20530         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20531        '''
20532        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20533        '''
20534         Tags is a map of key, value pairs.
20535        '''
20536        self.tls_required = tls_required if tls_required is not None else False
20537        '''
20538         If set, TLS must be used to connect to this resource.
20539        '''
20540        self.username = username if username is not None else ''
20541        '''
20542         The username to authenticate with.
20543        '''
20544
20545    def __repr__(self):
20546        return '<sdm.MongoHost ' + \
20547            'auth_database: ' + repr(self.auth_database) + ' ' +\
20548            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20549            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20550            'healthy: ' + repr(self.healthy) + ' ' +\
20551            'hostname: ' + repr(self.hostname) + ' ' +\
20552            'id: ' + repr(self.id) + ' ' +\
20553            'name: ' + repr(self.name) + ' ' +\
20554            'password: ' + repr(self.password) + ' ' +\
20555            'port: ' + repr(self.port) + ' ' +\
20556            'port_override: ' + repr(self.port_override) + ' ' +\
20557            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20558            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20559            'subdomain: ' + repr(self.subdomain) + ' ' +\
20560            'tags: ' + repr(self.tags) + ' ' +\
20561            'tls_required: ' + repr(self.tls_required) + ' ' +\
20562            'username: ' + repr(self.username) + ' ' +\
20563            '>'
20564
20565    def to_dict(self):
20566        return {
20567            'auth_database': self.auth_database,
20568            'bind_interface': self.bind_interface,
20569            'egress_filter': self.egress_filter,
20570            'healthy': self.healthy,
20571            'hostname': self.hostname,
20572            'id': self.id,
20573            'name': self.name,
20574            'password': self.password,
20575            'port': self.port,
20576            'port_override': self.port_override,
20577            'proxy_cluster_id': self.proxy_cluster_id,
20578            'secret_store_id': self.secret_store_id,
20579            'subdomain': self.subdomain,
20580            'tags': self.tags,
20581            'tls_required': self.tls_required,
20582            'username': self.username,
20583        }
20584
20585    @classmethod
20586    def from_dict(cls, d):
20587        return cls(
20588            auth_database=d.get('auth_database'),
20589            bind_interface=d.get('bind_interface'),
20590            egress_filter=d.get('egress_filter'),
20591            healthy=d.get('healthy'),
20592            hostname=d.get('hostname'),
20593            id=d.get('id'),
20594            name=d.get('name'),
20595            password=d.get('password'),
20596            port=d.get('port'),
20597            port_override=d.get('port_override'),
20598            proxy_cluster_id=d.get('proxy_cluster_id'),
20599            secret_store_id=d.get('secret_store_id'),
20600            subdomain=d.get('subdomain'),
20601            tags=d.get('tags'),
20602            tls_required=d.get('tls_required'),
20603            username=d.get('username'),
20604        )
20605
20606
20607class MongoLegacyHost:
20608    '''
20609    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
20610    without a major version bump.
20611    '''
20612    __slots__ = [
20613        'auth_database',
20614        'bind_interface',
20615        'egress_filter',
20616        'healthy',
20617        'hostname',
20618        'id',
20619        'name',
20620        'password',
20621        'port',
20622        'port_override',
20623        'proxy_cluster_id',
20624        'secret_store_id',
20625        'subdomain',
20626        'tags',
20627        'tls_required',
20628        'username',
20629    ]
20630
20631    def __init__(
20632        self,
20633        auth_database=None,
20634        bind_interface=None,
20635        egress_filter=None,
20636        healthy=None,
20637        hostname=None,
20638        id=None,
20639        name=None,
20640        password=None,
20641        port=None,
20642        port_override=None,
20643        proxy_cluster_id=None,
20644        secret_store_id=None,
20645        subdomain=None,
20646        tags=None,
20647        tls_required=None,
20648        username=None,
20649    ):
20650        self.auth_database = auth_database if auth_database is not None else ''
20651        '''
20652         The authentication database to use.
20653        '''
20654        self.bind_interface = bind_interface if bind_interface is not None else ''
20655        '''
20656         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20657        '''
20658        self.egress_filter = egress_filter if egress_filter is not None else ''
20659        '''
20660         A filter applied to the routing logic to pin datasource to nodes.
20661        '''
20662        self.healthy = healthy if healthy is not None else False
20663        '''
20664         True if the datasource is reachable and the credentials are valid.
20665        '''
20666        self.hostname = hostname if hostname is not None else ''
20667        '''
20668         The host to dial to initiate a connection from the egress node to this resource.
20669        '''
20670        self.id = id if id is not None else ''
20671        '''
20672         Unique identifier of the Resource.
20673        '''
20674        self.name = name if name is not None else ''
20675        '''
20676         Unique human-readable name of the Resource.
20677        '''
20678        self.password = password if password is not None else ''
20679        '''
20680         The password to authenticate with.
20681        '''
20682        self.port = port if port is not None else 0
20683        '''
20684         The port to dial to initiate a connection from the egress node to this resource.
20685        '''
20686        self.port_override = port_override if port_override is not None else 0
20687        '''
20688         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20689        '''
20690        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20691        '''
20692         ID of the proxy cluster for this resource, if any.
20693        '''
20694        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20695        '''
20696         ID of the secret store containing credentials for this resource, if any.
20697        '''
20698        self.subdomain = subdomain if subdomain is not None else ''
20699        '''
20700         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20701        '''
20702        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20703        '''
20704         Tags is a map of key, value pairs.
20705        '''
20706        self.tls_required = tls_required if tls_required is not None else False
20707        '''
20708         If set, TLS must be used to connect to this resource.
20709        '''
20710        self.username = username if username is not None else ''
20711        '''
20712         The username to authenticate with.
20713        '''
20714
20715    def __repr__(self):
20716        return '<sdm.MongoLegacyHost ' + \
20717            'auth_database: ' + repr(self.auth_database) + ' ' +\
20718            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20719            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20720            'healthy: ' + repr(self.healthy) + ' ' +\
20721            'hostname: ' + repr(self.hostname) + ' ' +\
20722            'id: ' + repr(self.id) + ' ' +\
20723            'name: ' + repr(self.name) + ' ' +\
20724            'password: ' + repr(self.password) + ' ' +\
20725            'port: ' + repr(self.port) + ' ' +\
20726            'port_override: ' + repr(self.port_override) + ' ' +\
20727            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20728            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20729            'subdomain: ' + repr(self.subdomain) + ' ' +\
20730            'tags: ' + repr(self.tags) + ' ' +\
20731            'tls_required: ' + repr(self.tls_required) + ' ' +\
20732            'username: ' + repr(self.username) + ' ' +\
20733            '>'
20734
20735    def to_dict(self):
20736        return {
20737            'auth_database': self.auth_database,
20738            'bind_interface': self.bind_interface,
20739            'egress_filter': self.egress_filter,
20740            'healthy': self.healthy,
20741            'hostname': self.hostname,
20742            'id': self.id,
20743            'name': self.name,
20744            'password': self.password,
20745            'port': self.port,
20746            'port_override': self.port_override,
20747            'proxy_cluster_id': self.proxy_cluster_id,
20748            'secret_store_id': self.secret_store_id,
20749            'subdomain': self.subdomain,
20750            'tags': self.tags,
20751            'tls_required': self.tls_required,
20752            'username': self.username,
20753        }
20754
20755    @classmethod
20756    def from_dict(cls, d):
20757        return cls(
20758            auth_database=d.get('auth_database'),
20759            bind_interface=d.get('bind_interface'),
20760            egress_filter=d.get('egress_filter'),
20761            healthy=d.get('healthy'),
20762            hostname=d.get('hostname'),
20763            id=d.get('id'),
20764            name=d.get('name'),
20765            password=d.get('password'),
20766            port=d.get('port'),
20767            port_override=d.get('port_override'),
20768            proxy_cluster_id=d.get('proxy_cluster_id'),
20769            secret_store_id=d.get('secret_store_id'),
20770            subdomain=d.get('subdomain'),
20771            tags=d.get('tags'),
20772            tls_required=d.get('tls_required'),
20773            username=d.get('username'),
20774        )
20775
20776
20777class MongoLegacyReplicaset:
20778    '''
20779    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
20780    without a major version bump.
20781    '''
20782    __slots__ = [
20783        'auth_database',
20784        'bind_interface',
20785        'connect_to_replica',
20786        'egress_filter',
20787        'healthy',
20788        'hostname',
20789        'id',
20790        'name',
20791        'password',
20792        'port',
20793        'port_override',
20794        'proxy_cluster_id',
20795        'replica_set',
20796        'secret_store_id',
20797        'subdomain',
20798        'tags',
20799        'tls_required',
20800        'username',
20801    ]
20802
20803    def __init__(
20804        self,
20805        auth_database=None,
20806        bind_interface=None,
20807        connect_to_replica=None,
20808        egress_filter=None,
20809        healthy=None,
20810        hostname=None,
20811        id=None,
20812        name=None,
20813        password=None,
20814        port=None,
20815        port_override=None,
20816        proxy_cluster_id=None,
20817        replica_set=None,
20818        secret_store_id=None,
20819        subdomain=None,
20820        tags=None,
20821        tls_required=None,
20822        username=None,
20823    ):
20824        self.auth_database = auth_database if auth_database is not None else ''
20825        '''
20826         The authentication database to use.
20827        '''
20828        self.bind_interface = bind_interface if bind_interface is not None else ''
20829        '''
20830         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20831        '''
20832        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
20833        '''
20834         Set to connect to a replica instead of the primary node.
20835        '''
20836        self.egress_filter = egress_filter if egress_filter is not None else ''
20837        '''
20838         A filter applied to the routing logic to pin datasource to nodes.
20839        '''
20840        self.healthy = healthy if healthy is not None else False
20841        '''
20842         True if the datasource is reachable and the credentials are valid.
20843        '''
20844        self.hostname = hostname if hostname is not None else ''
20845        '''
20846         The host to dial to initiate a connection from the egress node to this resource.
20847        '''
20848        self.id = id if id is not None else ''
20849        '''
20850         Unique identifier of the Resource.
20851        '''
20852        self.name = name if name is not None else ''
20853        '''
20854         Unique human-readable name of the Resource.
20855        '''
20856        self.password = password if password is not None else ''
20857        '''
20858         The password to authenticate with.
20859        '''
20860        self.port = port if port is not None else 0
20861        '''
20862         The port to dial to initiate a connection from the egress node to this resource.
20863        '''
20864        self.port_override = port_override if port_override is not None else 0
20865        '''
20866         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20867        '''
20868        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20869        '''
20870         ID of the proxy cluster for this resource, if any.
20871        '''
20872        self.replica_set = replica_set if replica_set is not None else ''
20873        '''
20874         The name of the mongo replicaset.
20875        '''
20876        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20877        '''
20878         ID of the secret store containing credentials for this resource, if any.
20879        '''
20880        self.subdomain = subdomain if subdomain is not None else ''
20881        '''
20882         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20883        '''
20884        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20885        '''
20886         Tags is a map of key, value pairs.
20887        '''
20888        self.tls_required = tls_required if tls_required is not None else False
20889        '''
20890         If set, TLS must be used to connect to this resource.
20891        '''
20892        self.username = username if username is not None else ''
20893        '''
20894         The username to authenticate with.
20895        '''
20896
20897    def __repr__(self):
20898        return '<sdm.MongoLegacyReplicaset ' + \
20899            'auth_database: ' + repr(self.auth_database) + ' ' +\
20900            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20901            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
20902            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20903            'healthy: ' + repr(self.healthy) + ' ' +\
20904            'hostname: ' + repr(self.hostname) + ' ' +\
20905            'id: ' + repr(self.id) + ' ' +\
20906            'name: ' + repr(self.name) + ' ' +\
20907            'password: ' + repr(self.password) + ' ' +\
20908            'port: ' + repr(self.port) + ' ' +\
20909            'port_override: ' + repr(self.port_override) + ' ' +\
20910            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20911            'replica_set: ' + repr(self.replica_set) + ' ' +\
20912            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20913            'subdomain: ' + repr(self.subdomain) + ' ' +\
20914            'tags: ' + repr(self.tags) + ' ' +\
20915            'tls_required: ' + repr(self.tls_required) + ' ' +\
20916            'username: ' + repr(self.username) + ' ' +\
20917            '>'
20918
20919    def to_dict(self):
20920        return {
20921            'auth_database': self.auth_database,
20922            'bind_interface': self.bind_interface,
20923            'connect_to_replica': self.connect_to_replica,
20924            'egress_filter': self.egress_filter,
20925            'healthy': self.healthy,
20926            'hostname': self.hostname,
20927            'id': self.id,
20928            'name': self.name,
20929            'password': self.password,
20930            'port': self.port,
20931            'port_override': self.port_override,
20932            'proxy_cluster_id': self.proxy_cluster_id,
20933            'replica_set': self.replica_set,
20934            'secret_store_id': self.secret_store_id,
20935            'subdomain': self.subdomain,
20936            'tags': self.tags,
20937            'tls_required': self.tls_required,
20938            'username': self.username,
20939        }
20940
20941    @classmethod
20942    def from_dict(cls, d):
20943        return cls(
20944            auth_database=d.get('auth_database'),
20945            bind_interface=d.get('bind_interface'),
20946            connect_to_replica=d.get('connect_to_replica'),
20947            egress_filter=d.get('egress_filter'),
20948            healthy=d.get('healthy'),
20949            hostname=d.get('hostname'),
20950            id=d.get('id'),
20951            name=d.get('name'),
20952            password=d.get('password'),
20953            port=d.get('port'),
20954            port_override=d.get('port_override'),
20955            proxy_cluster_id=d.get('proxy_cluster_id'),
20956            replica_set=d.get('replica_set'),
20957            secret_store_id=d.get('secret_store_id'),
20958            subdomain=d.get('subdomain'),
20959            tags=d.get('tags'),
20960            tls_required=d.get('tls_required'),
20961            username=d.get('username'),
20962        )
20963
20964
20965class MongoReplicaSet:
20966    __slots__ = [
20967        'auth_database',
20968        'bind_interface',
20969        'connect_to_replica',
20970        'egress_filter',
20971        'healthy',
20972        'hostname',
20973        'id',
20974        'name',
20975        'password',
20976        'port',
20977        'port_override',
20978        'proxy_cluster_id',
20979        'replica_set',
20980        'secret_store_id',
20981        'subdomain',
20982        'tags',
20983        'tls_required',
20984        'username',
20985    ]
20986
20987    def __init__(
20988        self,
20989        auth_database=None,
20990        bind_interface=None,
20991        connect_to_replica=None,
20992        egress_filter=None,
20993        healthy=None,
20994        hostname=None,
20995        id=None,
20996        name=None,
20997        password=None,
20998        port=None,
20999        port_override=None,
21000        proxy_cluster_id=None,
21001        replica_set=None,
21002        secret_store_id=None,
21003        subdomain=None,
21004        tags=None,
21005        tls_required=None,
21006        username=None,
21007    ):
21008        self.auth_database = auth_database if auth_database is not None else ''
21009        '''
21010         The authentication database to use.
21011        '''
21012        self.bind_interface = bind_interface if bind_interface is not None else ''
21013        '''
21014         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21015        '''
21016        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
21017        '''
21018         Set to connect to a replica instead of the primary node.
21019        '''
21020        self.egress_filter = egress_filter if egress_filter is not None else ''
21021        '''
21022         A filter applied to the routing logic to pin datasource to nodes.
21023        '''
21024        self.healthy = healthy if healthy is not None else False
21025        '''
21026         True if the datasource is reachable and the credentials are valid.
21027        '''
21028        self.hostname = hostname if hostname is not None else ''
21029        '''
21030         The host to dial to initiate a connection from the egress node to this resource.
21031        '''
21032        self.id = id if id is not None else ''
21033        '''
21034         Unique identifier of the Resource.
21035        '''
21036        self.name = name if name is not None else ''
21037        '''
21038         Unique human-readable name of the Resource.
21039        '''
21040        self.password = password if password is not None else ''
21041        '''
21042         The password to authenticate with.
21043        '''
21044        self.port = port if port is not None else 0
21045        '''
21046         The port to dial to initiate a connection from the egress node to this resource.
21047        '''
21048        self.port_override = port_override if port_override is not None else 0
21049        '''
21050         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21051        '''
21052        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21053        '''
21054         ID of the proxy cluster for this resource, if any.
21055        '''
21056        self.replica_set = replica_set if replica_set is not None else ''
21057        '''
21058         The name of the mongo replicaset.
21059        '''
21060        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21061        '''
21062         ID of the secret store containing credentials for this resource, if any.
21063        '''
21064        self.subdomain = subdomain if subdomain is not None else ''
21065        '''
21066         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21067        '''
21068        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21069        '''
21070         Tags is a map of key, value pairs.
21071        '''
21072        self.tls_required = tls_required if tls_required is not None else False
21073        '''
21074         If set, TLS must be used to connect to this resource.
21075        '''
21076        self.username = username if username is not None else ''
21077        '''
21078         The username to authenticate with.
21079        '''
21080
21081    def __repr__(self):
21082        return '<sdm.MongoReplicaSet ' + \
21083            'auth_database: ' + repr(self.auth_database) + ' ' +\
21084            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21085            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
21086            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21087            'healthy: ' + repr(self.healthy) + ' ' +\
21088            'hostname: ' + repr(self.hostname) + ' ' +\
21089            'id: ' + repr(self.id) + ' ' +\
21090            'name: ' + repr(self.name) + ' ' +\
21091            'password: ' + repr(self.password) + ' ' +\
21092            'port: ' + repr(self.port) + ' ' +\
21093            'port_override: ' + repr(self.port_override) + ' ' +\
21094            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21095            'replica_set: ' + repr(self.replica_set) + ' ' +\
21096            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21097            'subdomain: ' + repr(self.subdomain) + ' ' +\
21098            'tags: ' + repr(self.tags) + ' ' +\
21099            'tls_required: ' + repr(self.tls_required) + ' ' +\
21100            'username: ' + repr(self.username) + ' ' +\
21101            '>'
21102
21103    def to_dict(self):
21104        return {
21105            'auth_database': self.auth_database,
21106            'bind_interface': self.bind_interface,
21107            'connect_to_replica': self.connect_to_replica,
21108            'egress_filter': self.egress_filter,
21109            'healthy': self.healthy,
21110            'hostname': self.hostname,
21111            'id': self.id,
21112            'name': self.name,
21113            'password': self.password,
21114            'port': self.port,
21115            'port_override': self.port_override,
21116            'proxy_cluster_id': self.proxy_cluster_id,
21117            'replica_set': self.replica_set,
21118            'secret_store_id': self.secret_store_id,
21119            'subdomain': self.subdomain,
21120            'tags': self.tags,
21121            'tls_required': self.tls_required,
21122            'username': self.username,
21123        }
21124
21125    @classmethod
21126    def from_dict(cls, d):
21127        return cls(
21128            auth_database=d.get('auth_database'),
21129            bind_interface=d.get('bind_interface'),
21130            connect_to_replica=d.get('connect_to_replica'),
21131            egress_filter=d.get('egress_filter'),
21132            healthy=d.get('healthy'),
21133            hostname=d.get('hostname'),
21134            id=d.get('id'),
21135            name=d.get('name'),
21136            password=d.get('password'),
21137            port=d.get('port'),
21138            port_override=d.get('port_override'),
21139            proxy_cluster_id=d.get('proxy_cluster_id'),
21140            replica_set=d.get('replica_set'),
21141            secret_store_id=d.get('secret_store_id'),
21142            subdomain=d.get('subdomain'),
21143            tags=d.get('tags'),
21144            tls_required=d.get('tls_required'),
21145            username=d.get('username'),
21146        )
21147
21148
21149class MongoShardedCluster:
21150    __slots__ = [
21151        'auth_database',
21152        'bind_interface',
21153        'egress_filter',
21154        'healthy',
21155        'hostname',
21156        'id',
21157        'name',
21158        'password',
21159        'port_override',
21160        'proxy_cluster_id',
21161        'secret_store_id',
21162        'subdomain',
21163        'tags',
21164        'tls_required',
21165        'username',
21166    ]
21167
21168    def __init__(
21169        self,
21170        auth_database=None,
21171        bind_interface=None,
21172        egress_filter=None,
21173        healthy=None,
21174        hostname=None,
21175        id=None,
21176        name=None,
21177        password=None,
21178        port_override=None,
21179        proxy_cluster_id=None,
21180        secret_store_id=None,
21181        subdomain=None,
21182        tags=None,
21183        tls_required=None,
21184        username=None,
21185    ):
21186        self.auth_database = auth_database if auth_database is not None else ''
21187        '''
21188         The authentication database to use.
21189        '''
21190        self.bind_interface = bind_interface if bind_interface is not None else ''
21191        '''
21192         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21193        '''
21194        self.egress_filter = egress_filter if egress_filter is not None else ''
21195        '''
21196         A filter applied to the routing logic to pin datasource to nodes.
21197        '''
21198        self.healthy = healthy if healthy is not None else False
21199        '''
21200         True if the datasource is reachable and the credentials are valid.
21201        '''
21202        self.hostname = hostname if hostname is not None else ''
21203        '''
21204         The host to dial to initiate a connection from the egress node to this resource.
21205        '''
21206        self.id = id if id is not None else ''
21207        '''
21208         Unique identifier of the Resource.
21209        '''
21210        self.name = name if name is not None else ''
21211        '''
21212         Unique human-readable name of the Resource.
21213        '''
21214        self.password = password if password is not None else ''
21215        '''
21216         The password to authenticate with.
21217        '''
21218        self.port_override = port_override if port_override is not None else 0
21219        '''
21220         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21221        '''
21222        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21223        '''
21224         ID of the proxy cluster for this resource, if any.
21225        '''
21226        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21227        '''
21228         ID of the secret store containing credentials for this resource, if any.
21229        '''
21230        self.subdomain = subdomain if subdomain is not None else ''
21231        '''
21232         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21233        '''
21234        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21235        '''
21236         Tags is a map of key, value pairs.
21237        '''
21238        self.tls_required = tls_required if tls_required is not None else False
21239        '''
21240         If set, TLS must be used to connect to this resource.
21241        '''
21242        self.username = username if username is not None else ''
21243        '''
21244         The username to authenticate with.
21245        '''
21246
21247    def __repr__(self):
21248        return '<sdm.MongoShardedCluster ' + \
21249            'auth_database: ' + repr(self.auth_database) + ' ' +\
21250            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21251            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21252            'healthy: ' + repr(self.healthy) + ' ' +\
21253            'hostname: ' + repr(self.hostname) + ' ' +\
21254            'id: ' + repr(self.id) + ' ' +\
21255            'name: ' + repr(self.name) + ' ' +\
21256            'password: ' + repr(self.password) + ' ' +\
21257            'port_override: ' + repr(self.port_override) + ' ' +\
21258            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21259            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21260            'subdomain: ' + repr(self.subdomain) + ' ' +\
21261            'tags: ' + repr(self.tags) + ' ' +\
21262            'tls_required: ' + repr(self.tls_required) + ' ' +\
21263            'username: ' + repr(self.username) + ' ' +\
21264            '>'
21265
21266    def to_dict(self):
21267        return {
21268            'auth_database': self.auth_database,
21269            'bind_interface': self.bind_interface,
21270            'egress_filter': self.egress_filter,
21271            'healthy': self.healthy,
21272            'hostname': self.hostname,
21273            'id': self.id,
21274            'name': self.name,
21275            'password': self.password,
21276            'port_override': self.port_override,
21277            'proxy_cluster_id': self.proxy_cluster_id,
21278            'secret_store_id': self.secret_store_id,
21279            'subdomain': self.subdomain,
21280            'tags': self.tags,
21281            'tls_required': self.tls_required,
21282            'username': self.username,
21283        }
21284
21285    @classmethod
21286    def from_dict(cls, d):
21287        return cls(
21288            auth_database=d.get('auth_database'),
21289            bind_interface=d.get('bind_interface'),
21290            egress_filter=d.get('egress_filter'),
21291            healthy=d.get('healthy'),
21292            hostname=d.get('hostname'),
21293            id=d.get('id'),
21294            name=d.get('name'),
21295            password=d.get('password'),
21296            port_override=d.get('port_override'),
21297            proxy_cluster_id=d.get('proxy_cluster_id'),
21298            secret_store_id=d.get('secret_store_id'),
21299            subdomain=d.get('subdomain'),
21300            tags=d.get('tags'),
21301            tls_required=d.get('tls_required'),
21302            username=d.get('username'),
21303        )
21304
21305
21306class Mysql:
21307    __slots__ = [
21308        'bind_interface',
21309        'database',
21310        'egress_filter',
21311        'healthy',
21312        'hostname',
21313        'id',
21314        'name',
21315        'password',
21316        'port',
21317        'port_override',
21318        'proxy_cluster_id',
21319        'require_native_auth',
21320        'secret_store_id',
21321        'subdomain',
21322        'tags',
21323        'use_azure_single_server_usernames',
21324        'username',
21325    ]
21326
21327    def __init__(
21328        self,
21329        bind_interface=None,
21330        database=None,
21331        egress_filter=None,
21332        healthy=None,
21333        hostname=None,
21334        id=None,
21335        name=None,
21336        password=None,
21337        port=None,
21338        port_override=None,
21339        proxy_cluster_id=None,
21340        require_native_auth=None,
21341        secret_store_id=None,
21342        subdomain=None,
21343        tags=None,
21344        use_azure_single_server_usernames=None,
21345        username=None,
21346    ):
21347        self.bind_interface = bind_interface if bind_interface is not None else ''
21348        '''
21349         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21350        '''
21351        self.database = database if database is not None else ''
21352        '''
21353         The database for healthchecks. Does not affect client requests.
21354        '''
21355        self.egress_filter = egress_filter if egress_filter is not None else ''
21356        '''
21357         A filter applied to the routing logic to pin datasource to nodes.
21358        '''
21359        self.healthy = healthy if healthy is not None else False
21360        '''
21361         True if the datasource is reachable and the credentials are valid.
21362        '''
21363        self.hostname = hostname if hostname is not None else ''
21364        '''
21365         The host to dial to initiate a connection from the egress node to this resource.
21366        '''
21367        self.id = id if id is not None else ''
21368        '''
21369         Unique identifier of the Resource.
21370        '''
21371        self.name = name if name is not None else ''
21372        '''
21373         Unique human-readable name of the Resource.
21374        '''
21375        self.password = password if password is not None else ''
21376        '''
21377         The password to authenticate with.
21378        '''
21379        self.port = port if port is not None else 0
21380        '''
21381         The port to dial to initiate a connection from the egress node to this resource.
21382        '''
21383        self.port_override = port_override if port_override is not None else 0
21384        '''
21385         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21386        '''
21387        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21388        '''
21389         ID of the proxy cluster for this resource, if any.
21390        '''
21391        self.require_native_auth = require_native_auth if require_native_auth is not None else False
21392        '''
21393         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
21394        '''
21395        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21396        '''
21397         ID of the secret store containing credentials for this resource, if any.
21398        '''
21399        self.subdomain = subdomain if subdomain is not None else ''
21400        '''
21401         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21402        '''
21403        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21404        '''
21405         Tags is a map of key, value pairs.
21406        '''
21407        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
21408        '''
21409         If true, appends the hostname to the username when hitting a database.azure.com address
21410        '''
21411        self.username = username if username is not None else ''
21412        '''
21413         The username to authenticate with.
21414        '''
21415
21416    def __repr__(self):
21417        return '<sdm.Mysql ' + \
21418            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21419            'database: ' + repr(self.database) + ' ' +\
21420            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21421            'healthy: ' + repr(self.healthy) + ' ' +\
21422            'hostname: ' + repr(self.hostname) + ' ' +\
21423            'id: ' + repr(self.id) + ' ' +\
21424            'name: ' + repr(self.name) + ' ' +\
21425            'password: ' + repr(self.password) + ' ' +\
21426            'port: ' + repr(self.port) + ' ' +\
21427            'port_override: ' + repr(self.port_override) + ' ' +\
21428            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21429            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
21430            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21431            'subdomain: ' + repr(self.subdomain) + ' ' +\
21432            'tags: ' + repr(self.tags) + ' ' +\
21433            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
21434            'username: ' + repr(self.username) + ' ' +\
21435            '>'
21436
21437    def to_dict(self):
21438        return {
21439            'bind_interface': self.bind_interface,
21440            'database': self.database,
21441            'egress_filter': self.egress_filter,
21442            'healthy': self.healthy,
21443            'hostname': self.hostname,
21444            'id': self.id,
21445            'name': self.name,
21446            'password': self.password,
21447            'port': self.port,
21448            'port_override': self.port_override,
21449            'proxy_cluster_id': self.proxy_cluster_id,
21450            'require_native_auth': self.require_native_auth,
21451            'secret_store_id': self.secret_store_id,
21452            'subdomain': self.subdomain,
21453            'tags': self.tags,
21454            'use_azure_single_server_usernames':
21455            self.use_azure_single_server_usernames,
21456            'username': self.username,
21457        }
21458
21459    @classmethod
21460    def from_dict(cls, d):
21461        return cls(
21462            bind_interface=d.get('bind_interface'),
21463            database=d.get('database'),
21464            egress_filter=d.get('egress_filter'),
21465            healthy=d.get('healthy'),
21466            hostname=d.get('hostname'),
21467            id=d.get('id'),
21468            name=d.get('name'),
21469            password=d.get('password'),
21470            port=d.get('port'),
21471            port_override=d.get('port_override'),
21472            proxy_cluster_id=d.get('proxy_cluster_id'),
21473            require_native_auth=d.get('require_native_auth'),
21474            secret_store_id=d.get('secret_store_id'),
21475            subdomain=d.get('subdomain'),
21476            tags=d.get('tags'),
21477            use_azure_single_server_usernames=d.get(
21478                'use_azure_single_server_usernames'),
21479            username=d.get('username'),
21480        )
21481
21482
21483class Neptune:
21484    __slots__ = [
21485        'bind_interface',
21486        'egress_filter',
21487        'endpoint',
21488        'healthy',
21489        'id',
21490        'name',
21491        'port',
21492        'port_override',
21493        'proxy_cluster_id',
21494        'secret_store_id',
21495        'subdomain',
21496        'tags',
21497    ]
21498
21499    def __init__(
21500        self,
21501        bind_interface=None,
21502        egress_filter=None,
21503        endpoint=None,
21504        healthy=None,
21505        id=None,
21506        name=None,
21507        port=None,
21508        port_override=None,
21509        proxy_cluster_id=None,
21510        secret_store_id=None,
21511        subdomain=None,
21512        tags=None,
21513    ):
21514        self.bind_interface = bind_interface if bind_interface is not None else ''
21515        '''
21516         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21517        '''
21518        self.egress_filter = egress_filter if egress_filter is not None else ''
21519        '''
21520         A filter applied to the routing logic to pin datasource to nodes.
21521        '''
21522        self.endpoint = endpoint if endpoint is not None else ''
21523        '''
21524         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
21525        '''
21526        self.healthy = healthy if healthy is not None else False
21527        '''
21528         True if the datasource is reachable and the credentials are valid.
21529        '''
21530        self.id = id if id is not None else ''
21531        '''
21532         Unique identifier of the Resource.
21533        '''
21534        self.name = name if name is not None else ''
21535        '''
21536         Unique human-readable name of the Resource.
21537        '''
21538        self.port = port if port is not None else 0
21539        '''
21540         The port to dial to initiate a connection from the egress node to this resource.
21541        '''
21542        self.port_override = port_override if port_override is not None else 0
21543        '''
21544         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21545        '''
21546        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21547        '''
21548         ID of the proxy cluster for this resource, if any.
21549        '''
21550        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21551        '''
21552         ID of the secret store containing credentials for this resource, if any.
21553        '''
21554        self.subdomain = subdomain if subdomain is not None else ''
21555        '''
21556         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21557        '''
21558        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21559        '''
21560         Tags is a map of key, value pairs.
21561        '''
21562
21563    def __repr__(self):
21564        return '<sdm.Neptune ' + \
21565            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21566            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21567            'endpoint: ' + repr(self.endpoint) + ' ' +\
21568            'healthy: ' + repr(self.healthy) + ' ' +\
21569            'id: ' + repr(self.id) + ' ' +\
21570            'name: ' + repr(self.name) + ' ' +\
21571            'port: ' + repr(self.port) + ' ' +\
21572            'port_override: ' + repr(self.port_override) + ' ' +\
21573            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21574            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21575            'subdomain: ' + repr(self.subdomain) + ' ' +\
21576            'tags: ' + repr(self.tags) + ' ' +\
21577            '>'
21578
21579    def to_dict(self):
21580        return {
21581            'bind_interface': self.bind_interface,
21582            'egress_filter': self.egress_filter,
21583            'endpoint': self.endpoint,
21584            'healthy': self.healthy,
21585            'id': self.id,
21586            'name': self.name,
21587            'port': self.port,
21588            'port_override': self.port_override,
21589            'proxy_cluster_id': self.proxy_cluster_id,
21590            'secret_store_id': self.secret_store_id,
21591            'subdomain': self.subdomain,
21592            'tags': self.tags,
21593        }
21594
21595    @classmethod
21596    def from_dict(cls, d):
21597        return cls(
21598            bind_interface=d.get('bind_interface'),
21599            egress_filter=d.get('egress_filter'),
21600            endpoint=d.get('endpoint'),
21601            healthy=d.get('healthy'),
21602            id=d.get('id'),
21603            name=d.get('name'),
21604            port=d.get('port'),
21605            port_override=d.get('port_override'),
21606            proxy_cluster_id=d.get('proxy_cluster_id'),
21607            secret_store_id=d.get('secret_store_id'),
21608            subdomain=d.get('subdomain'),
21609            tags=d.get('tags'),
21610        )
21611
21612
21613class NeptuneIAM:
21614    __slots__ = [
21615        'access_key',
21616        'bind_interface',
21617        'egress_filter',
21618        'endpoint',
21619        'healthy',
21620        'id',
21621        'name',
21622        'port',
21623        'port_override',
21624        'proxy_cluster_id',
21625        'region',
21626        'role_arn',
21627        'role_external_id',
21628        'secret_access_key',
21629        'secret_store_id',
21630        'subdomain',
21631        'tags',
21632    ]
21633
21634    def __init__(
21635        self,
21636        access_key=None,
21637        bind_interface=None,
21638        egress_filter=None,
21639        endpoint=None,
21640        healthy=None,
21641        id=None,
21642        name=None,
21643        port=None,
21644        port_override=None,
21645        proxy_cluster_id=None,
21646        region=None,
21647        role_arn=None,
21648        role_external_id=None,
21649        secret_access_key=None,
21650        secret_store_id=None,
21651        subdomain=None,
21652        tags=None,
21653    ):
21654        self.access_key = access_key if access_key is not None else ''
21655        '''
21656         The Access Key ID to use to authenticate.
21657        '''
21658        self.bind_interface = bind_interface if bind_interface is not None else ''
21659        '''
21660         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21661        '''
21662        self.egress_filter = egress_filter if egress_filter is not None else ''
21663        '''
21664         A filter applied to the routing logic to pin datasource to nodes.
21665        '''
21666        self.endpoint = endpoint if endpoint is not None else ''
21667        '''
21668         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
21669        '''
21670        self.healthy = healthy if healthy is not None else False
21671        '''
21672         True if the datasource is reachable and the credentials are valid.
21673        '''
21674        self.id = id if id is not None else ''
21675        '''
21676         Unique identifier of the Resource.
21677        '''
21678        self.name = name if name is not None else ''
21679        '''
21680         Unique human-readable name of the Resource.
21681        '''
21682        self.port = port if port is not None else 0
21683        '''
21684         The port to dial to initiate a connection from the egress node to this resource.
21685        '''
21686        self.port_override = port_override if port_override is not None else 0
21687        '''
21688         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21689        '''
21690        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21691        '''
21692         ID of the proxy cluster for this resource, if any.
21693        '''
21694        self.region = region if region is not None else ''
21695        '''
21696         The AWS region to connect to.
21697        '''
21698        self.role_arn = role_arn if role_arn is not None else ''
21699        '''
21700         The role to assume after logging in.
21701        '''
21702        self.role_external_id = role_external_id if role_external_id is not None else ''
21703        '''
21704         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
21705        '''
21706        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
21707        '''
21708         The Secret Access Key to use to authenticate.
21709        '''
21710        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21711        '''
21712         ID of the secret store containing credentials for this resource, if any.
21713        '''
21714        self.subdomain = subdomain if subdomain is not None else ''
21715        '''
21716         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21717        '''
21718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21719        '''
21720         Tags is a map of key, value pairs.
21721        '''
21722
21723    def __repr__(self):
21724        return '<sdm.NeptuneIAM ' + \
21725            'access_key: ' + repr(self.access_key) + ' ' +\
21726            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21727            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21728            'endpoint: ' + repr(self.endpoint) + ' ' +\
21729            'healthy: ' + repr(self.healthy) + ' ' +\
21730            'id: ' + repr(self.id) + ' ' +\
21731            'name: ' + repr(self.name) + ' ' +\
21732            'port: ' + repr(self.port) + ' ' +\
21733            'port_override: ' + repr(self.port_override) + ' ' +\
21734            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21735            'region: ' + repr(self.region) + ' ' +\
21736            'role_arn: ' + repr(self.role_arn) + ' ' +\
21737            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
21738            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
21739            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21740            'subdomain: ' + repr(self.subdomain) + ' ' +\
21741            'tags: ' + repr(self.tags) + ' ' +\
21742            '>'
21743
21744    def to_dict(self):
21745        return {
21746            'access_key': self.access_key,
21747            'bind_interface': self.bind_interface,
21748            'egress_filter': self.egress_filter,
21749            'endpoint': self.endpoint,
21750            'healthy': self.healthy,
21751            'id': self.id,
21752            'name': self.name,
21753            'port': self.port,
21754            'port_override': self.port_override,
21755            'proxy_cluster_id': self.proxy_cluster_id,
21756            'region': self.region,
21757            'role_arn': self.role_arn,
21758            'role_external_id': self.role_external_id,
21759            'secret_access_key': self.secret_access_key,
21760            'secret_store_id': self.secret_store_id,
21761            'subdomain': self.subdomain,
21762            'tags': self.tags,
21763        }
21764
21765    @classmethod
21766    def from_dict(cls, d):
21767        return cls(
21768            access_key=d.get('access_key'),
21769            bind_interface=d.get('bind_interface'),
21770            egress_filter=d.get('egress_filter'),
21771            endpoint=d.get('endpoint'),
21772            healthy=d.get('healthy'),
21773            id=d.get('id'),
21774            name=d.get('name'),
21775            port=d.get('port'),
21776            port_override=d.get('port_override'),
21777            proxy_cluster_id=d.get('proxy_cluster_id'),
21778            region=d.get('region'),
21779            role_arn=d.get('role_arn'),
21780            role_external_id=d.get('role_external_id'),
21781            secret_access_key=d.get('secret_access_key'),
21782            secret_store_id=d.get('secret_store_id'),
21783            subdomain=d.get('subdomain'),
21784            tags=d.get('tags'),
21785        )
21786
21787
21788class NodeCreateResponse:
21789    '''
21790         NodeCreateResponse reports how the Nodes were created in the system.
21791    '''
21792    __slots__ = [
21793        'meta',
21794        'node',
21795        'rate_limit',
21796        'token',
21797    ]
21798
21799    def __init__(
21800        self,
21801        meta=None,
21802        node=None,
21803        rate_limit=None,
21804        token=None,
21805    ):
21806        self.meta = meta if meta is not None else None
21807        '''
21808         Reserved for future use.
21809        '''
21810        self.node = node if node is not None else None
21811        '''
21812         The created Node.
21813        '''
21814        self.rate_limit = rate_limit if rate_limit is not None else None
21815        '''
21816         Rate limit information.
21817        '''
21818        self.token = token if token is not None else ''
21819        '''
21820         The auth token generated for the Node. The Node will use this token to
21821         authenticate with the strongDM API.
21822        '''
21823
21824    def __repr__(self):
21825        return '<sdm.NodeCreateResponse ' + \
21826            'meta: ' + repr(self.meta) + ' ' +\
21827            'node: ' + repr(self.node) + ' ' +\
21828            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21829            'token: ' + repr(self.token) + ' ' +\
21830            '>'
21831
21832    def to_dict(self):
21833        return {
21834            'meta': self.meta,
21835            'node': self.node,
21836            'rate_limit': self.rate_limit,
21837            'token': self.token,
21838        }
21839
21840    @classmethod
21841    def from_dict(cls, d):
21842        return cls(
21843            meta=d.get('meta'),
21844            node=d.get('node'),
21845            rate_limit=d.get('rate_limit'),
21846            token=d.get('token'),
21847        )
21848
21849
21850class NodeDeleteResponse:
21851    '''
21852         NodeDeleteResponse returns information about a Node that was deleted.
21853    '''
21854    __slots__ = [
21855        'meta',
21856        'rate_limit',
21857    ]
21858
21859    def __init__(
21860        self,
21861        meta=None,
21862        rate_limit=None,
21863    ):
21864        self.meta = meta if meta is not None else None
21865        '''
21866         Reserved for future use.
21867        '''
21868        self.rate_limit = rate_limit if rate_limit is not None else None
21869        '''
21870         Rate limit information.
21871        '''
21872
21873    def __repr__(self):
21874        return '<sdm.NodeDeleteResponse ' + \
21875            'meta: ' + repr(self.meta) + ' ' +\
21876            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21877            '>'
21878
21879    def to_dict(self):
21880        return {
21881            'meta': self.meta,
21882            'rate_limit': self.rate_limit,
21883        }
21884
21885    @classmethod
21886    def from_dict(cls, d):
21887        return cls(
21888            meta=d.get('meta'),
21889            rate_limit=d.get('rate_limit'),
21890        )
21891
21892
21893class NodeGetResponse:
21894    '''
21895         NodeGetResponse returns a requested Node.
21896    '''
21897    __slots__ = [
21898        'meta',
21899        'node',
21900        'rate_limit',
21901    ]
21902
21903    def __init__(
21904        self,
21905        meta=None,
21906        node=None,
21907        rate_limit=None,
21908    ):
21909        self.meta = meta if meta is not None else None
21910        '''
21911         Reserved for future use.
21912        '''
21913        self.node = node if node is not None else None
21914        '''
21915         The requested Node.
21916        '''
21917        self.rate_limit = rate_limit if rate_limit is not None else None
21918        '''
21919         Rate limit information.
21920        '''
21921
21922    def __repr__(self):
21923        return '<sdm.NodeGetResponse ' + \
21924            'meta: ' + repr(self.meta) + ' ' +\
21925            'node: ' + repr(self.node) + ' ' +\
21926            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21927            '>'
21928
21929    def to_dict(self):
21930        return {
21931            'meta': self.meta,
21932            'node': self.node,
21933            'rate_limit': self.rate_limit,
21934        }
21935
21936    @classmethod
21937    def from_dict(cls, d):
21938        return cls(
21939            meta=d.get('meta'),
21940            node=d.get('node'),
21941            rate_limit=d.get('rate_limit'),
21942        )
21943
21944
21945class NodeHistory:
21946    '''
21947         NodeHistory records the state of a Node at a given point in time,
21948     where every change (create, update and delete) to a Node produces an
21949     NodeHistory record.
21950    '''
21951    __slots__ = [
21952        'activity_id',
21953        'deleted_at',
21954        'node',
21955        'timestamp',
21956    ]
21957
21958    def __init__(
21959        self,
21960        activity_id=None,
21961        deleted_at=None,
21962        node=None,
21963        timestamp=None,
21964    ):
21965        self.activity_id = activity_id if activity_id is not None else ''
21966        '''
21967         The unique identifier of the Activity that produced this change to the Node.
21968         May be empty for some system-initiated updates.
21969        '''
21970        self.deleted_at = deleted_at if deleted_at is not None else None
21971        '''
21972         If this Node was deleted, the time it was deleted.
21973        '''
21974        self.node = node if node is not None else None
21975        '''
21976         The complete Node state at this time.
21977        '''
21978        self.timestamp = timestamp if timestamp is not None else None
21979        '''
21980         The time at which the Node state was recorded.
21981        '''
21982
21983    def __repr__(self):
21984        return '<sdm.NodeHistory ' + \
21985            'activity_id: ' + repr(self.activity_id) + ' ' +\
21986            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21987            'node: ' + repr(self.node) + ' ' +\
21988            'timestamp: ' + repr(self.timestamp) + ' ' +\
21989            '>'
21990
21991    def to_dict(self):
21992        return {
21993            'activity_id': self.activity_id,
21994            'deleted_at': self.deleted_at,
21995            'node': self.node,
21996            'timestamp': self.timestamp,
21997        }
21998
21999    @classmethod
22000    def from_dict(cls, d):
22001        return cls(
22002            activity_id=d.get('activity_id'),
22003            deleted_at=d.get('deleted_at'),
22004            node=d.get('node'),
22005            timestamp=d.get('timestamp'),
22006        )
22007
22008
22009class NodeMaintenanceWindow:
22010    __slots__ = [
22011        'cron_schedule',
22012        'require_idleness',
22013    ]
22014
22015    def __init__(
22016        self,
22017        cron_schedule=None,
22018        require_idleness=None,
22019    ):
22020        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
22021        '''
22022         Cron job syntax for when this maintenance window is active. On this schedule, associated
22023         nodes will restart if requested, provided other checks allow the restart to proceed. Times
22024         are represented in UTC.
22025         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
22026         Saturday. Not all possible inputs are supported: the month and day of month selections
22027         must be '*'.
22028        '''
22029        self.require_idleness = require_idleness if require_idleness is not None else False
22030        '''
22031         Require Idleness defines whether this window can sever live connections. If true,
22032         this window will not allow a node to be restarted unless it is serving no connections.
22033         If false, given a restart of the node has been requested (for an update, usually), the
22034         node will restart as soon as it enters an allowed day / hour combination. At least one
22035         maintenance window, out of all configured windows for a node, must have this as false.
22036        '''
22037
22038    def __repr__(self):
22039        return '<sdm.NodeMaintenanceWindow ' + \
22040            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
22041            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
22042            '>'
22043
22044    def to_dict(self):
22045        return {
22046            'cron_schedule': self.cron_schedule,
22047            'require_idleness': self.require_idleness,
22048        }
22049
22050    @classmethod
22051    def from_dict(cls, d):
22052        return cls(
22053            cron_schedule=d.get('cron_schedule'),
22054            require_idleness=d.get('require_idleness'),
22055        )
22056
22057
22058class NodeUpdateResponse:
22059    '''
22060         NodeUpdateResponse returns the fields of a Node after it has been updated by
22061     a NodeUpdateRequest.
22062    '''
22063    __slots__ = [
22064        'meta',
22065        'node',
22066        'rate_limit',
22067    ]
22068
22069    def __init__(
22070        self,
22071        meta=None,
22072        node=None,
22073        rate_limit=None,
22074    ):
22075        self.meta = meta if meta is not None else None
22076        '''
22077         Reserved for future use.
22078        '''
22079        self.node = node if node is not None else None
22080        '''
22081         The updated Node.
22082        '''
22083        self.rate_limit = rate_limit if rate_limit is not None else None
22084        '''
22085         Rate limit information.
22086        '''
22087
22088    def __repr__(self):
22089        return '<sdm.NodeUpdateResponse ' + \
22090            'meta: ' + repr(self.meta) + ' ' +\
22091            'node: ' + repr(self.node) + ' ' +\
22092            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22093            '>'
22094
22095    def to_dict(self):
22096        return {
22097            'meta': self.meta,
22098            'node': self.node,
22099            'rate_limit': self.rate_limit,
22100        }
22101
22102    @classmethod
22103    def from_dict(cls, d):
22104        return cls(
22105            meta=d.get('meta'),
22106            node=d.get('node'),
22107            rate_limit=d.get('rate_limit'),
22108        )
22109
22110
22111class Oracle:
22112    __slots__ = [
22113        'bind_interface',
22114        'database',
22115        'egress_filter',
22116        'healthy',
22117        'hostname',
22118        'id',
22119        'name',
22120        'password',
22121        'port',
22122        'port_override',
22123        'proxy_cluster_id',
22124        'secret_store_id',
22125        'subdomain',
22126        'tags',
22127        'tls_required',
22128        'username',
22129    ]
22130
22131    def __init__(
22132        self,
22133        bind_interface=None,
22134        database=None,
22135        egress_filter=None,
22136        healthy=None,
22137        hostname=None,
22138        id=None,
22139        name=None,
22140        password=None,
22141        port=None,
22142        port_override=None,
22143        proxy_cluster_id=None,
22144        secret_store_id=None,
22145        subdomain=None,
22146        tags=None,
22147        tls_required=None,
22148        username=None,
22149    ):
22150        self.bind_interface = bind_interface if bind_interface is not None else ''
22151        '''
22152         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22153        '''
22154        self.database = database if database is not None else ''
22155        '''
22156         Oracle service name to connect to
22157        '''
22158        self.egress_filter = egress_filter if egress_filter is not None else ''
22159        '''
22160         A filter applied to the routing logic to pin datasource to nodes.
22161        '''
22162        self.healthy = healthy if healthy is not None else False
22163        '''
22164         True if the datasource is reachable and the credentials are valid.
22165        '''
22166        self.hostname = hostname if hostname is not None else ''
22167        '''
22168         The host to dial to initiate a connection from the egress node to this resource.
22169        '''
22170        self.id = id if id is not None else ''
22171        '''
22172         Unique identifier of the Resource.
22173        '''
22174        self.name = name if name is not None else ''
22175        '''
22176         Unique human-readable name of the Resource.
22177        '''
22178        self.password = password if password is not None else ''
22179        '''
22180         The password to authenticate with.
22181        '''
22182        self.port = port if port is not None else 0
22183        '''
22184         The port to dial to initiate a connection from the egress node to this resource.
22185        '''
22186        self.port_override = port_override if port_override is not None else 0
22187        '''
22188         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22189        '''
22190        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22191        '''
22192         ID of the proxy cluster for this resource, if any.
22193        '''
22194        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22195        '''
22196         ID of the secret store containing credentials for this resource, if any.
22197        '''
22198        self.subdomain = subdomain if subdomain is not None else ''
22199        '''
22200         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22201        '''
22202        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22203        '''
22204         Tags is a map of key, value pairs.
22205        '''
22206        self.tls_required = tls_required if tls_required is not None else False
22207        '''
22208         If set, TLS must be used to connect to this resource.
22209        '''
22210        self.username = username if username is not None else ''
22211        '''
22212         The username to authenticate with.
22213        '''
22214
22215    def __repr__(self):
22216        return '<sdm.Oracle ' + \
22217            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22218            'database: ' + repr(self.database) + ' ' +\
22219            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22220            'healthy: ' + repr(self.healthy) + ' ' +\
22221            'hostname: ' + repr(self.hostname) + ' ' +\
22222            'id: ' + repr(self.id) + ' ' +\
22223            'name: ' + repr(self.name) + ' ' +\
22224            'password: ' + repr(self.password) + ' ' +\
22225            'port: ' + repr(self.port) + ' ' +\
22226            'port_override: ' + repr(self.port_override) + ' ' +\
22227            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22228            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22229            'subdomain: ' + repr(self.subdomain) + ' ' +\
22230            'tags: ' + repr(self.tags) + ' ' +\
22231            'tls_required: ' + repr(self.tls_required) + ' ' +\
22232            'username: ' + repr(self.username) + ' ' +\
22233            '>'
22234
22235    def to_dict(self):
22236        return {
22237            'bind_interface': self.bind_interface,
22238            'database': self.database,
22239            'egress_filter': self.egress_filter,
22240            'healthy': self.healthy,
22241            'hostname': self.hostname,
22242            'id': self.id,
22243            'name': self.name,
22244            'password': self.password,
22245            'port': self.port,
22246            'port_override': self.port_override,
22247            'proxy_cluster_id': self.proxy_cluster_id,
22248            'secret_store_id': self.secret_store_id,
22249            'subdomain': self.subdomain,
22250            'tags': self.tags,
22251            'tls_required': self.tls_required,
22252            'username': self.username,
22253        }
22254
22255    @classmethod
22256    def from_dict(cls, d):
22257        return cls(
22258            bind_interface=d.get('bind_interface'),
22259            database=d.get('database'),
22260            egress_filter=d.get('egress_filter'),
22261            healthy=d.get('healthy'),
22262            hostname=d.get('hostname'),
22263            id=d.get('id'),
22264            name=d.get('name'),
22265            password=d.get('password'),
22266            port=d.get('port'),
22267            port_override=d.get('port_override'),
22268            proxy_cluster_id=d.get('proxy_cluster_id'),
22269            secret_store_id=d.get('secret_store_id'),
22270            subdomain=d.get('subdomain'),
22271            tags=d.get('tags'),
22272            tls_required=d.get('tls_required'),
22273            username=d.get('username'),
22274        )
22275
22276
22277class OracleNNE:
22278    __slots__ = [
22279        'bind_interface',
22280        'database',
22281        'egress_filter',
22282        'healthy',
22283        'hostname',
22284        'id',
22285        'name',
22286        'password',
22287        'port',
22288        'port_override',
22289        'proxy_cluster_id',
22290        'secret_store_id',
22291        'subdomain',
22292        'tags',
22293        'tls_required',
22294        'username',
22295    ]
22296
22297    def __init__(
22298        self,
22299        bind_interface=None,
22300        database=None,
22301        egress_filter=None,
22302        healthy=None,
22303        hostname=None,
22304        id=None,
22305        name=None,
22306        password=None,
22307        port=None,
22308        port_override=None,
22309        proxy_cluster_id=None,
22310        secret_store_id=None,
22311        subdomain=None,
22312        tags=None,
22313        tls_required=None,
22314        username=None,
22315    ):
22316        self.bind_interface = bind_interface if bind_interface is not None else ''
22317        '''
22318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22319        '''
22320        self.database = database if database is not None else ''
22321        '''
22322         Oracle service name to connect to
22323        '''
22324        self.egress_filter = egress_filter if egress_filter is not None else ''
22325        '''
22326         A filter applied to the routing logic to pin datasource to nodes.
22327        '''
22328        self.healthy = healthy if healthy is not None else False
22329        '''
22330         True if the datasource is reachable and the credentials are valid.
22331        '''
22332        self.hostname = hostname if hostname is not None else ''
22333        '''
22334         The host to dial to initiate a connection from the egress node to this resource.
22335        '''
22336        self.id = id if id is not None else ''
22337        '''
22338         Unique identifier of the Resource.
22339        '''
22340        self.name = name if name is not None else ''
22341        '''
22342         Unique human-readable name of the Resource.
22343        '''
22344        self.password = password if password is not None else ''
22345        '''
22346         The password to authenticate with.
22347        '''
22348        self.port = port if port is not None else 0
22349        '''
22350         The port to dial to initiate a connection from the egress node to this resource.
22351        '''
22352        self.port_override = port_override if port_override is not None else 0
22353        '''
22354         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22355        '''
22356        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22357        '''
22358         ID of the proxy cluster for this resource, if any.
22359        '''
22360        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22361        '''
22362         ID of the secret store containing credentials for this resource, if any.
22363        '''
22364        self.subdomain = subdomain if subdomain is not None else ''
22365        '''
22366         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22367        '''
22368        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22369        '''
22370         Tags is a map of key, value pairs.
22371        '''
22372        self.tls_required = tls_required if tls_required is not None else False
22373        '''
22374         If set, TLS must be used to connect to this resource.
22375        '''
22376        self.username = username if username is not None else ''
22377        '''
22378         The username to authenticate with.
22379        '''
22380
22381    def __repr__(self):
22382        return '<sdm.OracleNNE ' + \
22383            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22384            'database: ' + repr(self.database) + ' ' +\
22385            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22386            'healthy: ' + repr(self.healthy) + ' ' +\
22387            'hostname: ' + repr(self.hostname) + ' ' +\
22388            'id: ' + repr(self.id) + ' ' +\
22389            'name: ' + repr(self.name) + ' ' +\
22390            'password: ' + repr(self.password) + ' ' +\
22391            'port: ' + repr(self.port) + ' ' +\
22392            'port_override: ' + repr(self.port_override) + ' ' +\
22393            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22394            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22395            'subdomain: ' + repr(self.subdomain) + ' ' +\
22396            'tags: ' + repr(self.tags) + ' ' +\
22397            'tls_required: ' + repr(self.tls_required) + ' ' +\
22398            'username: ' + repr(self.username) + ' ' +\
22399            '>'
22400
22401    def to_dict(self):
22402        return {
22403            'bind_interface': self.bind_interface,
22404            'database': self.database,
22405            'egress_filter': self.egress_filter,
22406            'healthy': self.healthy,
22407            'hostname': self.hostname,
22408            'id': self.id,
22409            'name': self.name,
22410            'password': self.password,
22411            'port': self.port,
22412            'port_override': self.port_override,
22413            'proxy_cluster_id': self.proxy_cluster_id,
22414            'secret_store_id': self.secret_store_id,
22415            'subdomain': self.subdomain,
22416            'tags': self.tags,
22417            'tls_required': self.tls_required,
22418            'username': self.username,
22419        }
22420
22421    @classmethod
22422    def from_dict(cls, d):
22423        return cls(
22424            bind_interface=d.get('bind_interface'),
22425            database=d.get('database'),
22426            egress_filter=d.get('egress_filter'),
22427            healthy=d.get('healthy'),
22428            hostname=d.get('hostname'),
22429            id=d.get('id'),
22430            name=d.get('name'),
22431            password=d.get('password'),
22432            port=d.get('port'),
22433            port_override=d.get('port_override'),
22434            proxy_cluster_id=d.get('proxy_cluster_id'),
22435            secret_store_id=d.get('secret_store_id'),
22436            subdomain=d.get('subdomain'),
22437            tags=d.get('tags'),
22438            tls_required=d.get('tls_required'),
22439            username=d.get('username'),
22440        )
22441
22442
22443class Organization:
22444    __slots__ = [
22445        'auth_provider',
22446        'created_at',
22447        'device_trust_enabled',
22448        'device_trust_provider',
22449        'discard_replays',
22450        'enforce_single_session',
22451        'idle_timeout',
22452        'idle_timeout_enabled',
22453        'kind',
22454        'log_config',
22455        'log_local_encoder',
22456        'log_local_format',
22457        'log_local_storage',
22458        'log_remote_encoder',
22459        'log_socket_path',
22460        'log_tcp_address',
22461        'loopback_range',
22462        'mfa_enabled',
22463        'mfa_provider',
22464        'name',
22465        'public_key_pem',
22466        'require_secret_store',
22467        'saml_metadata_url',
22468        'scim_provider',
22469        'sensitive_label',
22470        'session_timeout',
22471        'session_timeout_enabled',
22472        'ssh_certificate_authority_public_key',
22473        'ssh_certificate_authority_updated_at',
22474        'updated_at',
22475        'websites_subdomain',
22476    ]
22477
22478    def __init__(
22479        self,
22480        auth_provider=None,
22481        created_at=None,
22482        device_trust_enabled=None,
22483        device_trust_provider=None,
22484        discard_replays=None,
22485        enforce_single_session=None,
22486        idle_timeout=None,
22487        idle_timeout_enabled=None,
22488        kind=None,
22489        log_config=None,
22490        log_local_encoder=None,
22491        log_local_format=None,
22492        log_local_storage=None,
22493        log_remote_encoder=None,
22494        log_socket_path=None,
22495        log_tcp_address=None,
22496        loopback_range=None,
22497        mfa_enabled=None,
22498        mfa_provider=None,
22499        name=None,
22500        public_key_pem=None,
22501        require_secret_store=None,
22502        saml_metadata_url=None,
22503        scim_provider=None,
22504        sensitive_label=None,
22505        session_timeout=None,
22506        session_timeout_enabled=None,
22507        ssh_certificate_authority_public_key=None,
22508        ssh_certificate_authority_updated_at=None,
22509        updated_at=None,
22510        websites_subdomain=None,
22511    ):
22512        self.auth_provider = auth_provider if auth_provider is not None else ''
22513        '''
22514         The Organization's authentication provider, one of the AuthProvider constants.
22515        '''
22516        self.created_at = created_at if created_at is not None else None
22517        '''
22518         The time at which the Organization was created.
22519        '''
22520        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
22521        '''
22522         Indicates if the Organization has device trust enabled.
22523        '''
22524        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
22525        '''
22526         The Organization's device trust provider, one of the DeviceTrustProvider constants.
22527        '''
22528        self.discard_replays = discard_replays if discard_replays is not None else False
22529        '''
22530         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
22531         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
22532        '''
22533        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
22534        '''
22535         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
22536        '''
22537        self.idle_timeout = idle_timeout if idle_timeout is not None else None
22538        '''
22539         The Organization's idle timeout, if enabled.
22540        '''
22541        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
22542        '''
22543         Indicates if the Organization has idle timeouts enabled.
22544        '''
22545        self.kind = kind if kind is not None else ''
22546        '''
22547         The Organization's type, one of the OrgKind constants.
22548        '''
22549        self.log_config = log_config if log_config is not None else None
22550        '''
22551         The Organization's logging settings
22552        '''
22553        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
22554        '''
22555         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
22556         Deprecated: use log_config.local_encoder instead
22557        '''
22558        self.log_local_format = log_local_format if log_local_format is not None else ''
22559        '''
22560         The Organization's local log format, one of the LogLocalFormat constants.
22561         Deprecated: use log_config.local_format instead
22562        '''
22563        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
22564        '''
22565         The Organization's local log storage, one of the LogLocalStorage constants.
22566         Deprecated: use log_config.local_storage instead
22567        '''
22568        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
22569        '''
22570         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
22571         Deprecated: use categories specific log_config.categories[].remote_encoder instead
22572        '''
22573        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
22574        '''
22575         The Organization's socket path for Socket local log storage.
22576         Deprecated: use log_config.local_socket_path instead
22577        '''
22578        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
22579        '''
22580         The Organization's TCP address for TCP or Syslog local log storage.
22581         Deprecated: use log_config.local_tcp_address instead
22582        '''
22583        self.loopback_range = loopback_range if loopback_range is not None else ''
22584        '''
22585         The Organization's loopback range.
22586        '''
22587        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
22588        '''
22589         Indicates if the Organization has multi-factor authentication enabled.
22590        '''
22591        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
22592        '''
22593         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
22594        '''
22595        self.name = name if name is not None else ''
22596        '''
22597         The Organization's name.
22598        '''
22599        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
22600        '''
22601         The Organization's public key PEM for encrypting remote logs.
22602         Deprecated: use log_config.public_key instead
22603        '''
22604        self.require_secret_store = require_secret_store if require_secret_store is not None else False
22605        '''
22606         Indicates if the Organization requires secret stores.
22607        '''
22608        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
22609        '''
22610         The Organization's URL for SAML metadata.
22611        '''
22612        self.scim_provider = scim_provider if scim_provider is not None else ''
22613        '''
22614         The Organization's SCIM provider, one of the SCIMProvider constants.
22615        '''
22616        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
22617        '''
22618         The Organization's label for sensitive resources.
22619        '''
22620        self.session_timeout = session_timeout if session_timeout is not None else None
22621        '''
22622         The Organization's session timeout, if enabled.
22623        '''
22624        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
22625        '''
22626         Indicates if the Organization has session timeouts enabled.
22627        '''
22628        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
22629        '''
22630         The Organization's SSH certificate authority public key.
22631        '''
22632        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
22633        '''
22634         The time at which the Organization's SSH certificate authority was last updated.
22635        '''
22636        self.updated_at = updated_at if updated_at is not None else None
22637        '''
22638         The time at which the Organization was last updated.
22639        '''
22640        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
22641        '''
22642         The Organization's web site domain.
22643        '''
22644
22645    def __repr__(self):
22646        return '<sdm.Organization ' + \
22647            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
22648            'created_at: ' + repr(self.created_at) + ' ' +\
22649            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
22650            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
22651            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
22652            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
22653            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
22654            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
22655            'kind: ' + repr(self.kind) + ' ' +\
22656            'log_config: ' + repr(self.log_config) + ' ' +\
22657            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
22658            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
22659            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
22660            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
22661            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
22662            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
22663            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
22664            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
22665            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
22666            'name: ' + repr(self.name) + ' ' +\
22667            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
22668            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
22669            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
22670            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
22671            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
22672            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
22673            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
22674            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
22675            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
22676            'updated_at: ' + repr(self.updated_at) + ' ' +\
22677            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
22678            '>'
22679
22680    def to_dict(self):
22681        return {
22682            'auth_provider': self.auth_provider,
22683            'created_at': self.created_at,
22684            'device_trust_enabled': self.device_trust_enabled,
22685            'device_trust_provider': self.device_trust_provider,
22686            'discard_replays': self.discard_replays,
22687            'enforce_single_session': self.enforce_single_session,
22688            'idle_timeout': self.idle_timeout,
22689            'idle_timeout_enabled': self.idle_timeout_enabled,
22690            'kind': self.kind,
22691            'log_config': self.log_config,
22692            'log_local_encoder': self.log_local_encoder,
22693            'log_local_format': self.log_local_format,
22694            'log_local_storage': self.log_local_storage,
22695            'log_remote_encoder': self.log_remote_encoder,
22696            'log_socket_path': self.log_socket_path,
22697            'log_tcp_address': self.log_tcp_address,
22698            'loopback_range': self.loopback_range,
22699            'mfa_enabled': self.mfa_enabled,
22700            'mfa_provider': self.mfa_provider,
22701            'name': self.name,
22702            'public_key_pem': self.public_key_pem,
22703            'require_secret_store': self.require_secret_store,
22704            'saml_metadata_url': self.saml_metadata_url,
22705            'scim_provider': self.scim_provider,
22706            'sensitive_label': self.sensitive_label,
22707            'session_timeout': self.session_timeout,
22708            'session_timeout_enabled': self.session_timeout_enabled,
22709            'ssh_certificate_authority_public_key':
22710            self.ssh_certificate_authority_public_key,
22711            'ssh_certificate_authority_updated_at':
22712            self.ssh_certificate_authority_updated_at,
22713            'updated_at': self.updated_at,
22714            'websites_subdomain': self.websites_subdomain,
22715        }
22716
22717    @classmethod
22718    def from_dict(cls, d):
22719        return cls(
22720            auth_provider=d.get('auth_provider'),
22721            created_at=d.get('created_at'),
22722            device_trust_enabled=d.get('device_trust_enabled'),
22723            device_trust_provider=d.get('device_trust_provider'),
22724            discard_replays=d.get('discard_replays'),
22725            enforce_single_session=d.get('enforce_single_session'),
22726            idle_timeout=d.get('idle_timeout'),
22727            idle_timeout_enabled=d.get('idle_timeout_enabled'),
22728            kind=d.get('kind'),
22729            log_config=d.get('log_config'),
22730            log_local_encoder=d.get('log_local_encoder'),
22731            log_local_format=d.get('log_local_format'),
22732            log_local_storage=d.get('log_local_storage'),
22733            log_remote_encoder=d.get('log_remote_encoder'),
22734            log_socket_path=d.get('log_socket_path'),
22735            log_tcp_address=d.get('log_tcp_address'),
22736            loopback_range=d.get('loopback_range'),
22737            mfa_enabled=d.get('mfa_enabled'),
22738            mfa_provider=d.get('mfa_provider'),
22739            name=d.get('name'),
22740            public_key_pem=d.get('public_key_pem'),
22741            require_secret_store=d.get('require_secret_store'),
22742            saml_metadata_url=d.get('saml_metadata_url'),
22743            scim_provider=d.get('scim_provider'),
22744            sensitive_label=d.get('sensitive_label'),
22745            session_timeout=d.get('session_timeout'),
22746            session_timeout_enabled=d.get('session_timeout_enabled'),
22747            ssh_certificate_authority_public_key=d.get(
22748                'ssh_certificate_authority_public_key'),
22749            ssh_certificate_authority_updated_at=d.get(
22750                'ssh_certificate_authority_updated_at'),
22751            updated_at=d.get('updated_at'),
22752            websites_subdomain=d.get('websites_subdomain'),
22753        )
22754
22755
22756class OrganizationHistoryRecord:
22757    '''
22758         OrganizationHistoryRecord records the state of an Organization at a given point in time,
22759     where every change to an Organization produces an OrganizationHistoryRecord.
22760    '''
22761    __slots__ = [
22762        'activity_id',
22763        'organization',
22764        'timestamp',
22765    ]
22766
22767    def __init__(
22768        self,
22769        activity_id=None,
22770        organization=None,
22771        timestamp=None,
22772    ):
22773        self.activity_id = activity_id if activity_id is not None else ''
22774        '''
22775         The unique identifier of the Activity that produced this change to the Organization.
22776         May be empty for some system-initiated organization updates.
22777        '''
22778        self.organization = organization if organization is not None else None
22779        '''
22780         The complete Organization state at this time.
22781        '''
22782        self.timestamp = timestamp if timestamp is not None else None
22783        '''
22784         The time at which the Organization state was recorded.
22785        '''
22786
22787    def __repr__(self):
22788        return '<sdm.OrganizationHistoryRecord ' + \
22789            'activity_id: ' + repr(self.activity_id) + ' ' +\
22790            'organization: ' + repr(self.organization) + ' ' +\
22791            'timestamp: ' + repr(self.timestamp) + ' ' +\
22792            '>'
22793
22794    def to_dict(self):
22795        return {
22796            'activity_id': self.activity_id,
22797            'organization': self.organization,
22798            'timestamp': self.timestamp,
22799        }
22800
22801    @classmethod
22802    def from_dict(cls, d):
22803        return cls(
22804            activity_id=d.get('activity_id'),
22805            organization=d.get('organization'),
22806            timestamp=d.get('timestamp'),
22807        )
22808
22809
22810class PeeringGroup:
22811    '''
22812         PeeringGroups are the building blocks used for explicit network topology making.
22813     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
22814    '''
22815    __slots__ = [
22816        'id',
22817        'name',
22818    ]
22819
22820    def __init__(
22821        self,
22822        id=None,
22823        name=None,
22824    ):
22825        self.id = id if id is not None else ''
22826        '''
22827         Unique identifier of the PeeringGroup.
22828        '''
22829        self.name = name if name is not None else ''
22830        '''
22831         Unique human-readable name of the PeeringGroup.
22832        '''
22833
22834    def __repr__(self):
22835        return '<sdm.PeeringGroup ' + \
22836            'id: ' + repr(self.id) + ' ' +\
22837            'name: ' + repr(self.name) + ' ' +\
22838            '>'
22839
22840    def to_dict(self):
22841        return {
22842            'id': self.id,
22843            'name': self.name,
22844        }
22845
22846    @classmethod
22847    def from_dict(cls, d):
22848        return cls(
22849            id=d.get('id'),
22850            name=d.get('name'),
22851        )
22852
22853
22854class PeeringGroupCreateResponse:
22855    '''
22856         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
22857    '''
22858    __slots__ = [
22859        'meta',
22860        'peering_group',
22861        'rate_limit',
22862    ]
22863
22864    def __init__(
22865        self,
22866        meta=None,
22867        peering_group=None,
22868        rate_limit=None,
22869    ):
22870        self.meta = meta if meta is not None else None
22871        '''
22872         Reserved for future use.
22873        '''
22874        self.peering_group = peering_group if peering_group is not None else None
22875        '''
22876         The created PeeringGroup.
22877        '''
22878        self.rate_limit = rate_limit if rate_limit is not None else None
22879        '''
22880         Rate limit information.
22881        '''
22882
22883    def __repr__(self):
22884        return '<sdm.PeeringGroupCreateResponse ' + \
22885            'meta: ' + repr(self.meta) + ' ' +\
22886            'peering_group: ' + repr(self.peering_group) + ' ' +\
22887            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22888            '>'
22889
22890    def to_dict(self):
22891        return {
22892            'meta': self.meta,
22893            'peering_group': self.peering_group,
22894            'rate_limit': self.rate_limit,
22895        }
22896
22897    @classmethod
22898    def from_dict(cls, d):
22899        return cls(
22900            meta=d.get('meta'),
22901            peering_group=d.get('peering_group'),
22902            rate_limit=d.get('rate_limit'),
22903        )
22904
22905
22906class PeeringGroupDeleteResponse:
22907    '''
22908         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
22909    '''
22910    __slots__ = [
22911        'meta',
22912        'rate_limit',
22913    ]
22914
22915    def __init__(
22916        self,
22917        meta=None,
22918        rate_limit=None,
22919    ):
22920        self.meta = meta if meta is not None else None
22921        '''
22922         Reserved for future use.
22923        '''
22924        self.rate_limit = rate_limit if rate_limit is not None else None
22925        '''
22926         Rate limit information.
22927        '''
22928
22929    def __repr__(self):
22930        return '<sdm.PeeringGroupDeleteResponse ' + \
22931            'meta: ' + repr(self.meta) + ' ' +\
22932            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22933            '>'
22934
22935    def to_dict(self):
22936        return {
22937            'meta': self.meta,
22938            'rate_limit': self.rate_limit,
22939        }
22940
22941    @classmethod
22942    def from_dict(cls, d):
22943        return cls(
22944            meta=d.get('meta'),
22945            rate_limit=d.get('rate_limit'),
22946        )
22947
22948
22949class PeeringGroupGetResponse:
22950    '''
22951         PeeringGroupGetResponse returns a requested PeeringGroup.
22952    '''
22953    __slots__ = [
22954        'meta',
22955        'peering_group',
22956        'rate_limit',
22957    ]
22958
22959    def __init__(
22960        self,
22961        meta=None,
22962        peering_group=None,
22963        rate_limit=None,
22964    ):
22965        self.meta = meta if meta is not None else None
22966        '''
22967         Reserved for future use.
22968        '''
22969        self.peering_group = peering_group if peering_group is not None else None
22970        '''
22971         The requested PeeringGroup.
22972        '''
22973        self.rate_limit = rate_limit if rate_limit is not None else None
22974        '''
22975         Rate limit information.
22976        '''
22977
22978    def __repr__(self):
22979        return '<sdm.PeeringGroupGetResponse ' + \
22980            'meta: ' + repr(self.meta) + ' ' +\
22981            'peering_group: ' + repr(self.peering_group) + ' ' +\
22982            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22983            '>'
22984
22985    def to_dict(self):
22986        return {
22987            'meta': self.meta,
22988            'peering_group': self.peering_group,
22989            'rate_limit': self.rate_limit,
22990        }
22991
22992    @classmethod
22993    def from_dict(cls, d):
22994        return cls(
22995            meta=d.get('meta'),
22996            peering_group=d.get('peering_group'),
22997            rate_limit=d.get('rate_limit'),
22998        )
22999
23000
23001class PeeringGroupNode:
23002    '''
23003         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
23004    '''
23005    __slots__ = [
23006        'group_id',
23007        'id',
23008        'node_id',
23009    ]
23010
23011    def __init__(
23012        self,
23013        group_id=None,
23014        id=None,
23015        node_id=None,
23016    ):
23017        self.group_id = group_id if group_id is not None else ''
23018        '''
23019         Peering Group ID to which the node will be attached to.
23020        '''
23021        self.id = id if id is not None else ''
23022        '''
23023         Unique identifier of the Attachment.
23024        '''
23025        self.node_id = node_id if node_id is not None else ''
23026        '''
23027         Node ID to be attached.
23028        '''
23029
23030    def __repr__(self):
23031        return '<sdm.PeeringGroupNode ' + \
23032            'group_id: ' + repr(self.group_id) + ' ' +\
23033            'id: ' + repr(self.id) + ' ' +\
23034            'node_id: ' + repr(self.node_id) + ' ' +\
23035            '>'
23036
23037    def to_dict(self):
23038        return {
23039            'group_id': self.group_id,
23040            'id': self.id,
23041            'node_id': self.node_id,
23042        }
23043
23044    @classmethod
23045    def from_dict(cls, d):
23046        return cls(
23047            group_id=d.get('group_id'),
23048            id=d.get('id'),
23049            node_id=d.get('node_id'),
23050        )
23051
23052
23053class PeeringGroupNodeCreateResponse:
23054    '''
23055         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
23056    '''
23057    __slots__ = [
23058        'meta',
23059        'peering_group_node',
23060        'rate_limit',
23061    ]
23062
23063    def __init__(
23064        self,
23065        meta=None,
23066        peering_group_node=None,
23067        rate_limit=None,
23068    ):
23069        self.meta = meta if meta is not None else None
23070        '''
23071         Reserved for future use.
23072        '''
23073        self.peering_group_node = peering_group_node if peering_group_node is not None else None
23074        '''
23075         The created PeeringGroupNode.
23076        '''
23077        self.rate_limit = rate_limit if rate_limit is not None else None
23078        '''
23079         Rate limit information.
23080        '''
23081
23082    def __repr__(self):
23083        return '<sdm.PeeringGroupNodeCreateResponse ' + \
23084            'meta: ' + repr(self.meta) + ' ' +\
23085            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
23086            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23087            '>'
23088
23089    def to_dict(self):
23090        return {
23091            'meta': self.meta,
23092            'peering_group_node': self.peering_group_node,
23093            'rate_limit': self.rate_limit,
23094        }
23095
23096    @classmethod
23097    def from_dict(cls, d):
23098        return cls(
23099            meta=d.get('meta'),
23100            peering_group_node=d.get('peering_group_node'),
23101            rate_limit=d.get('rate_limit'),
23102        )
23103
23104
23105class PeeringGroupNodeDeleteResponse:
23106    '''
23107         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
23108    '''
23109    __slots__ = [
23110        'meta',
23111        'rate_limit',
23112    ]
23113
23114    def __init__(
23115        self,
23116        meta=None,
23117        rate_limit=None,
23118    ):
23119        self.meta = meta if meta is not None else None
23120        '''
23121         Reserved for future use.
23122        '''
23123        self.rate_limit = rate_limit if rate_limit is not None else None
23124        '''
23125         Rate limit information.
23126        '''
23127
23128    def __repr__(self):
23129        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
23130            'meta: ' + repr(self.meta) + ' ' +\
23131            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23132            '>'
23133
23134    def to_dict(self):
23135        return {
23136            'meta': self.meta,
23137            'rate_limit': self.rate_limit,
23138        }
23139
23140    @classmethod
23141    def from_dict(cls, d):
23142        return cls(
23143            meta=d.get('meta'),
23144            rate_limit=d.get('rate_limit'),
23145        )
23146
23147
23148class PeeringGroupNodeGetResponse:
23149    '''
23150         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
23151    '''
23152    __slots__ = [
23153        'meta',
23154        'peering_group_node',
23155        'rate_limit',
23156    ]
23157
23158    def __init__(
23159        self,
23160        meta=None,
23161        peering_group_node=None,
23162        rate_limit=None,
23163    ):
23164        self.meta = meta if meta is not None else None
23165        '''
23166         Reserved for future use.
23167        '''
23168        self.peering_group_node = peering_group_node if peering_group_node is not None else None
23169        '''
23170         The requested PeeringGroupNode.
23171        '''
23172        self.rate_limit = rate_limit if rate_limit is not None else None
23173        '''
23174         Rate limit information.
23175        '''
23176
23177    def __repr__(self):
23178        return '<sdm.PeeringGroupNodeGetResponse ' + \
23179            'meta: ' + repr(self.meta) + ' ' +\
23180            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
23181            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23182            '>'
23183
23184    def to_dict(self):
23185        return {
23186            'meta': self.meta,
23187            'peering_group_node': self.peering_group_node,
23188            'rate_limit': self.rate_limit,
23189        }
23190
23191    @classmethod
23192    def from_dict(cls, d):
23193        return cls(
23194            meta=d.get('meta'),
23195            peering_group_node=d.get('peering_group_node'),
23196            rate_limit=d.get('rate_limit'),
23197        )
23198
23199
23200class PeeringGroupPeer:
23201    '''
23202         PeeringGroupPeer represents the link between two PeeringGroups
23203    '''
23204    __slots__ = [
23205        'group_id',
23206        'id',
23207        'peers_with_group_id',
23208    ]
23209
23210    def __init__(
23211        self,
23212        group_id=None,
23213        id=None,
23214        peers_with_group_id=None,
23215    ):
23216        self.group_id = group_id if group_id is not None else ''
23217        '''
23218         Group ID from which the link will originate.
23219        '''
23220        self.id = id if id is not None else ''
23221        '''
23222         Unique identifier of the Attachment.
23223        '''
23224        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
23225        '''
23226         Peering Group ID to which Group ID will link.
23227        '''
23228
23229    def __repr__(self):
23230        return '<sdm.PeeringGroupPeer ' + \
23231            'group_id: ' + repr(self.group_id) + ' ' +\
23232            'id: ' + repr(self.id) + ' ' +\
23233            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
23234            '>'
23235
23236    def to_dict(self):
23237        return {
23238            'group_id': self.group_id,
23239            'id': self.id,
23240            'peers_with_group_id': self.peers_with_group_id,
23241        }
23242
23243    @classmethod
23244    def from_dict(cls, d):
23245        return cls(
23246            group_id=d.get('group_id'),
23247            id=d.get('id'),
23248            peers_with_group_id=d.get('peers_with_group_id'),
23249        )
23250
23251
23252class PeeringGroupPeerCreateResponse:
23253    '''
23254         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
23255    '''
23256    __slots__ = [
23257        'meta',
23258        'peering_group_peer',
23259        'rate_limit',
23260    ]
23261
23262    def __init__(
23263        self,
23264        meta=None,
23265        peering_group_peer=None,
23266        rate_limit=None,
23267    ):
23268        self.meta = meta if meta is not None else None
23269        '''
23270         Reserved for future use.
23271        '''
23272        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
23273        '''
23274         The created PeeringGroupPeer.
23275        '''
23276        self.rate_limit = rate_limit if rate_limit is not None else None
23277        '''
23278         Rate limit information.
23279        '''
23280
23281    def __repr__(self):
23282        return '<sdm.PeeringGroupPeerCreateResponse ' + \
23283            'meta: ' + repr(self.meta) + ' ' +\
23284            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
23285            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23286            '>'
23287
23288    def to_dict(self):
23289        return {
23290            'meta': self.meta,
23291            'peering_group_peer': self.peering_group_peer,
23292            'rate_limit': self.rate_limit,
23293        }
23294
23295    @classmethod
23296    def from_dict(cls, d):
23297        return cls(
23298            meta=d.get('meta'),
23299            peering_group_peer=d.get('peering_group_peer'),
23300            rate_limit=d.get('rate_limit'),
23301        )
23302
23303
23304class PeeringGroupPeerDeleteResponse:
23305    '''
23306         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
23307    '''
23308    __slots__ = [
23309        'meta',
23310        'rate_limit',
23311    ]
23312
23313    def __init__(
23314        self,
23315        meta=None,
23316        rate_limit=None,
23317    ):
23318        self.meta = meta if meta is not None else None
23319        '''
23320         Reserved for future use.
23321        '''
23322        self.rate_limit = rate_limit if rate_limit is not None else None
23323        '''
23324         Rate limit information.
23325        '''
23326
23327    def __repr__(self):
23328        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
23329            'meta: ' + repr(self.meta) + ' ' +\
23330            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23331            '>'
23332
23333    def to_dict(self):
23334        return {
23335            'meta': self.meta,
23336            'rate_limit': self.rate_limit,
23337        }
23338
23339    @classmethod
23340    def from_dict(cls, d):
23341        return cls(
23342            meta=d.get('meta'),
23343            rate_limit=d.get('rate_limit'),
23344        )
23345
23346
23347class PeeringGroupPeerGetResponse:
23348    '''
23349         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
23350    '''
23351    __slots__ = [
23352        'meta',
23353        'peering_group_peer',
23354        'rate_limit',
23355    ]
23356
23357    def __init__(
23358        self,
23359        meta=None,
23360        peering_group_peer=None,
23361        rate_limit=None,
23362    ):
23363        self.meta = meta if meta is not None else None
23364        '''
23365         Reserved for future use.
23366        '''
23367        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
23368        '''
23369         The requested PeeringGroupPeer.
23370        '''
23371        self.rate_limit = rate_limit if rate_limit is not None else None
23372        '''
23373         Rate limit information.
23374        '''
23375
23376    def __repr__(self):
23377        return '<sdm.PeeringGroupPeerGetResponse ' + \
23378            'meta: ' + repr(self.meta) + ' ' +\
23379            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
23380            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23381            '>'
23382
23383    def to_dict(self):
23384        return {
23385            'meta': self.meta,
23386            'peering_group_peer': self.peering_group_peer,
23387            'rate_limit': self.rate_limit,
23388        }
23389
23390    @classmethod
23391    def from_dict(cls, d):
23392        return cls(
23393            meta=d.get('meta'),
23394            peering_group_peer=d.get('peering_group_peer'),
23395            rate_limit=d.get('rate_limit'),
23396        )
23397
23398
23399class PeeringGroupResource:
23400    '''
23401         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
23402    '''
23403    __slots__ = [
23404        'group_id',
23405        'id',
23406        'resource_id',
23407    ]
23408
23409    def __init__(
23410        self,
23411        group_id=None,
23412        id=None,
23413        resource_id=None,
23414    ):
23415        self.group_id = group_id if group_id is not None else ''
23416        '''
23417         Peering Group ID to which the resource will be attached to.
23418        '''
23419        self.id = id if id is not None else ''
23420        '''
23421         Unique identifier of the Attachment.
23422        '''
23423        self.resource_id = resource_id if resource_id is not None else ''
23424        '''
23425         Resource ID to be attached.
23426        '''
23427
23428    def __repr__(self):
23429        return '<sdm.PeeringGroupResource ' + \
23430            'group_id: ' + repr(self.group_id) + ' ' +\
23431            'id: ' + repr(self.id) + ' ' +\
23432            'resource_id: ' + repr(self.resource_id) + ' ' +\
23433            '>'
23434
23435    def to_dict(self):
23436        return {
23437            'group_id': self.group_id,
23438            'id': self.id,
23439            'resource_id': self.resource_id,
23440        }
23441
23442    @classmethod
23443    def from_dict(cls, d):
23444        return cls(
23445            group_id=d.get('group_id'),
23446            id=d.get('id'),
23447            resource_id=d.get('resource_id'),
23448        )
23449
23450
23451class PeeringGroupResourceCreateResponse:
23452    '''
23453         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
23454    '''
23455    __slots__ = [
23456        'meta',
23457        'peering_group_resource',
23458        'rate_limit',
23459    ]
23460
23461    def __init__(
23462        self,
23463        meta=None,
23464        peering_group_resource=None,
23465        rate_limit=None,
23466    ):
23467        self.meta = meta if meta is not None else None
23468        '''
23469         Reserved for future use.
23470        '''
23471        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
23472        '''
23473         The created PeeringGroupResource.
23474        '''
23475        self.rate_limit = rate_limit if rate_limit is not None else None
23476        '''
23477         Rate limit information.
23478        '''
23479
23480    def __repr__(self):
23481        return '<sdm.PeeringGroupResourceCreateResponse ' + \
23482            'meta: ' + repr(self.meta) + ' ' +\
23483            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
23484            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23485            '>'
23486
23487    def to_dict(self):
23488        return {
23489            'meta': self.meta,
23490            'peering_group_resource': self.peering_group_resource,
23491            'rate_limit': self.rate_limit,
23492        }
23493
23494    @classmethod
23495    def from_dict(cls, d):
23496        return cls(
23497            meta=d.get('meta'),
23498            peering_group_resource=d.get('peering_group_resource'),
23499            rate_limit=d.get('rate_limit'),
23500        )
23501
23502
23503class PeeringGroupResourceDeleteResponse:
23504    '''
23505         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
23506    '''
23507    __slots__ = [
23508        'meta',
23509        'rate_limit',
23510    ]
23511
23512    def __init__(
23513        self,
23514        meta=None,
23515        rate_limit=None,
23516    ):
23517        self.meta = meta if meta is not None else None
23518        '''
23519         Reserved for future use.
23520        '''
23521        self.rate_limit = rate_limit if rate_limit is not None else None
23522        '''
23523         Rate limit information.
23524        '''
23525
23526    def __repr__(self):
23527        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
23528            'meta: ' + repr(self.meta) + ' ' +\
23529            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23530            '>'
23531
23532    def to_dict(self):
23533        return {
23534            'meta': self.meta,
23535            'rate_limit': self.rate_limit,
23536        }
23537
23538    @classmethod
23539    def from_dict(cls, d):
23540        return cls(
23541            meta=d.get('meta'),
23542            rate_limit=d.get('rate_limit'),
23543        )
23544
23545
23546class PeeringGroupResourceGetResponse:
23547    '''
23548         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
23549    '''
23550    __slots__ = [
23551        'meta',
23552        'peering_group_resource',
23553        'rate_limit',
23554    ]
23555
23556    def __init__(
23557        self,
23558        meta=None,
23559        peering_group_resource=None,
23560        rate_limit=None,
23561    ):
23562        self.meta = meta if meta is not None else None
23563        '''
23564         Reserved for future use.
23565        '''
23566        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
23567        '''
23568         The requested PeeringGroupResource.
23569        '''
23570        self.rate_limit = rate_limit if rate_limit is not None else None
23571        '''
23572         Rate limit information.
23573        '''
23574
23575    def __repr__(self):
23576        return '<sdm.PeeringGroupResourceGetResponse ' + \
23577            'meta: ' + repr(self.meta) + ' ' +\
23578            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
23579            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23580            '>'
23581
23582    def to_dict(self):
23583        return {
23584            'meta': self.meta,
23585            'peering_group_resource': self.peering_group_resource,
23586            'rate_limit': self.rate_limit,
23587        }
23588
23589    @classmethod
23590    def from_dict(cls, d):
23591        return cls(
23592            meta=d.get('meta'),
23593            peering_group_resource=d.get('peering_group_resource'),
23594            rate_limit=d.get('rate_limit'),
23595        )
23596
23597
23598class Policy:
23599    '''
23600         Policy is a collection of one or more statements that enforce fine-grained access control
23601     for the users of an organization.
23602    '''
23603    __slots__ = [
23604        'description',
23605        'id',
23606        'name',
23607        'policy',
23608    ]
23609
23610    def __init__(
23611        self,
23612        description=None,
23613        id=None,
23614        name=None,
23615        policy=None,
23616    ):
23617        self.description = description if description is not None else ''
23618        '''
23619         Optional description of the Policy.
23620        '''
23621        self.id = id if id is not None else ''
23622        '''
23623         Unique identifier of the Policy.
23624        '''
23625        self.name = name if name is not None else ''
23626        '''
23627         Unique human-readable name of the Policy.
23628        '''
23629        self.policy = policy if policy is not None else ''
23630        '''
23631         The content of the Policy, in Cedar policy language.
23632        '''
23633
23634    def __repr__(self):
23635        return '<sdm.Policy ' + \
23636            'description: ' + repr(self.description) + ' ' +\
23637            'id: ' + repr(self.id) + ' ' +\
23638            'name: ' + repr(self.name) + ' ' +\
23639            'policy: ' + repr(self.policy) + ' ' +\
23640            '>'
23641
23642    def to_dict(self):
23643        return {
23644            'description': self.description,
23645            'id': self.id,
23646            'name': self.name,
23647            'policy': self.policy,
23648        }
23649
23650    @classmethod
23651    def from_dict(cls, d):
23652        return cls(
23653            description=d.get('description'),
23654            id=d.get('id'),
23655            name=d.get('name'),
23656            policy=d.get('policy'),
23657        )
23658
23659
23660class PolicyCreateResponse:
23661    '''
23662         PolicyCreateResponse reports how the Policy was created in the system.
23663    '''
23664    __slots__ = [
23665        'policy',
23666        'rate_limit',
23667    ]
23668
23669    def __init__(
23670        self,
23671        policy=None,
23672        rate_limit=None,
23673    ):
23674        self.policy = policy if policy is not None else None
23675        '''
23676         The created Policy.
23677        '''
23678        self.rate_limit = rate_limit if rate_limit is not None else None
23679        '''
23680         Rate limit information.
23681        '''
23682
23683    def __repr__(self):
23684        return '<sdm.PolicyCreateResponse ' + \
23685            'policy: ' + repr(self.policy) + ' ' +\
23686            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23687            '>'
23688
23689    def to_dict(self):
23690        return {
23691            'policy': self.policy,
23692            'rate_limit': self.rate_limit,
23693        }
23694
23695    @classmethod
23696    def from_dict(cls, d):
23697        return cls(
23698            policy=d.get('policy'),
23699            rate_limit=d.get('rate_limit'),
23700        )
23701
23702
23703class PolicyDeleteResponse:
23704    '''
23705         PolicyDeleteResponse returns information about a Policy that was deleted.
23706    '''
23707    __slots__ = [
23708        'rate_limit',
23709    ]
23710
23711    def __init__(
23712        self,
23713        rate_limit=None,
23714    ):
23715        self.rate_limit = rate_limit if rate_limit is not None else None
23716        '''
23717         Rate limit information.
23718        '''
23719
23720    def __repr__(self):
23721        return '<sdm.PolicyDeleteResponse ' + \
23722            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23723            '>'
23724
23725    def to_dict(self):
23726        return {
23727            'rate_limit': self.rate_limit,
23728        }
23729
23730    @classmethod
23731    def from_dict(cls, d):
23732        return cls(rate_limit=d.get('rate_limit'), )
23733
23734
23735class PolicyGetResponse:
23736    '''
23737         PolicyGetResponse returns a requested Policy.
23738    '''
23739    __slots__ = [
23740        'meta',
23741        'policy',
23742        'rate_limit',
23743    ]
23744
23745    def __init__(
23746        self,
23747        meta=None,
23748        policy=None,
23749        rate_limit=None,
23750    ):
23751        self.meta = meta if meta is not None else None
23752        '''
23753         Reserved for future use.
23754        '''
23755        self.policy = policy if policy is not None else None
23756        '''
23757         The requested Policy.
23758        '''
23759        self.rate_limit = rate_limit if rate_limit is not None else None
23760        '''
23761         Rate limit information.
23762        '''
23763
23764    def __repr__(self):
23765        return '<sdm.PolicyGetResponse ' + \
23766            'meta: ' + repr(self.meta) + ' ' +\
23767            'policy: ' + repr(self.policy) + ' ' +\
23768            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23769            '>'
23770
23771    def to_dict(self):
23772        return {
23773            'meta': self.meta,
23774            'policy': self.policy,
23775            'rate_limit': self.rate_limit,
23776        }
23777
23778    @classmethod
23779    def from_dict(cls, d):
23780        return cls(
23781            meta=d.get('meta'),
23782            policy=d.get('policy'),
23783            rate_limit=d.get('rate_limit'),
23784        )
23785
23786
23787class PolicyHistory:
23788    '''
23789         PolicyHistory records the state of a Policy at a given point in time,
23790     where every change (create, update and delete) to a Policy produces a
23791     PolicyHistory record.
23792    '''
23793    __slots__ = [
23794        'activity_id',
23795        'deleted_at',
23796        'policy',
23797        'timestamp',
23798    ]
23799
23800    def __init__(
23801        self,
23802        activity_id=None,
23803        deleted_at=None,
23804        policy=None,
23805        timestamp=None,
23806    ):
23807        self.activity_id = activity_id if activity_id is not None else ''
23808        '''
23809         The unique identifier of the Activity that produced this change to the Policy.
23810         May be empty for some system-initiated updates.
23811        '''
23812        self.deleted_at = deleted_at if deleted_at is not None else None
23813        '''
23814         If this Policy was deleted, the time it was deleted.
23815        '''
23816        self.policy = policy if policy is not None else None
23817        '''
23818         The complete Policy state at this time.
23819        '''
23820        self.timestamp = timestamp if timestamp is not None else None
23821        '''
23822         The time at which the Policy state was recorded.
23823        '''
23824
23825    def __repr__(self):
23826        return '<sdm.PolicyHistory ' + \
23827            'activity_id: ' + repr(self.activity_id) + ' ' +\
23828            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23829            'policy: ' + repr(self.policy) + ' ' +\
23830            'timestamp: ' + repr(self.timestamp) + ' ' +\
23831            '>'
23832
23833    def to_dict(self):
23834        return {
23835            'activity_id': self.activity_id,
23836            'deleted_at': self.deleted_at,
23837            'policy': self.policy,
23838            'timestamp': self.timestamp,
23839        }
23840
23841    @classmethod
23842    def from_dict(cls, d):
23843        return cls(
23844            activity_id=d.get('activity_id'),
23845            deleted_at=d.get('deleted_at'),
23846            policy=d.get('policy'),
23847            timestamp=d.get('timestamp'),
23848        )
23849
23850
23851class PolicyListResponse:
23852    '''
23853         PolicyListResponse returns a list of Policy records that meet
23854     the criteria of a PolicyListRequest.
23855    '''
23856    __slots__ = [
23857        'rate_limit',
23858    ]
23859
23860    def __init__(
23861        self,
23862        rate_limit=None,
23863    ):
23864        self.rate_limit = rate_limit if rate_limit is not None else None
23865        '''
23866         Rate limit information.
23867        '''
23868
23869    def __repr__(self):
23870        return '<sdm.PolicyListResponse ' + \
23871            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23872            '>'
23873
23874    def to_dict(self):
23875        return {
23876            'rate_limit': self.rate_limit,
23877        }
23878
23879    @classmethod
23880    def from_dict(cls, d):
23881        return cls(rate_limit=d.get('rate_limit'), )
23882
23883
23884class PolicyUpdateResponse:
23885    '''
23886         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
23887     a PolicyUpdateRequest.
23888    '''
23889    __slots__ = [
23890        'policy',
23891        'rate_limit',
23892    ]
23893
23894    def __init__(
23895        self,
23896        policy=None,
23897        rate_limit=None,
23898    ):
23899        self.policy = policy if policy is not None else None
23900        '''
23901         The updated Policy.
23902        '''
23903        self.rate_limit = rate_limit if rate_limit is not None else None
23904        '''
23905         Rate limit information.
23906        '''
23907
23908    def __repr__(self):
23909        return '<sdm.PolicyUpdateResponse ' + \
23910            'policy: ' + repr(self.policy) + ' ' +\
23911            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23912            '>'
23913
23914    def to_dict(self):
23915        return {
23916            'policy': self.policy,
23917            'rate_limit': self.rate_limit,
23918        }
23919
23920    @classmethod
23921    def from_dict(cls, d):
23922        return cls(
23923            policy=d.get('policy'),
23924            rate_limit=d.get('rate_limit'),
23925        )
23926
23927
23928class Postgres:
23929    __slots__ = [
23930        'bind_interface',
23931        'database',
23932        'egress_filter',
23933        'healthy',
23934        'hostname',
23935        'id',
23936        'name',
23937        'override_database',
23938        'password',
23939        'port',
23940        'port_override',
23941        'proxy_cluster_id',
23942        'secret_store_id',
23943        'subdomain',
23944        'tags',
23945        'username',
23946    ]
23947
23948    def __init__(
23949        self,
23950        bind_interface=None,
23951        database=None,
23952        egress_filter=None,
23953        healthy=None,
23954        hostname=None,
23955        id=None,
23956        name=None,
23957        override_database=None,
23958        password=None,
23959        port=None,
23960        port_override=None,
23961        proxy_cluster_id=None,
23962        secret_store_id=None,
23963        subdomain=None,
23964        tags=None,
23965        username=None,
23966    ):
23967        self.bind_interface = bind_interface if bind_interface is not None else ''
23968        '''
23969         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23970        '''
23971        self.database = database if database is not None else ''
23972        '''
23973         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23974        '''
23975        self.egress_filter = egress_filter if egress_filter is not None else ''
23976        '''
23977         A filter applied to the routing logic to pin datasource to nodes.
23978        '''
23979        self.healthy = healthy if healthy is not None else False
23980        '''
23981         True if the datasource is reachable and the credentials are valid.
23982        '''
23983        self.hostname = hostname if hostname is not None else ''
23984        '''
23985         The host to dial to initiate a connection from the egress node to this resource.
23986        '''
23987        self.id = id if id is not None else ''
23988        '''
23989         Unique identifier of the Resource.
23990        '''
23991        self.name = name if name is not None else ''
23992        '''
23993         Unique human-readable name of the Resource.
23994        '''
23995        self.override_database = override_database if override_database is not None else False
23996        '''
23997         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23998        '''
23999        self.password = password if password is not None else ''
24000        '''
24001         The password to authenticate with.
24002        '''
24003        self.port = port if port is not None else 0
24004        '''
24005         The port to dial to initiate a connection from the egress node to this resource.
24006        '''
24007        self.port_override = port_override if port_override is not None else 0
24008        '''
24009         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24010        '''
24011        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24012        '''
24013         ID of the proxy cluster for this resource, if any.
24014        '''
24015        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24016        '''
24017         ID of the secret store containing credentials for this resource, if any.
24018        '''
24019        self.subdomain = subdomain if subdomain is not None else ''
24020        '''
24021         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24022        '''
24023        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24024        '''
24025         Tags is a map of key, value pairs.
24026        '''
24027        self.username = username if username is not None else ''
24028        '''
24029         The username to authenticate with.
24030        '''
24031
24032    def __repr__(self):
24033        return '<sdm.Postgres ' + \
24034            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24035            'database: ' + repr(self.database) + ' ' +\
24036            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24037            'healthy: ' + repr(self.healthy) + ' ' +\
24038            'hostname: ' + repr(self.hostname) + ' ' +\
24039            'id: ' + repr(self.id) + ' ' +\
24040            'name: ' + repr(self.name) + ' ' +\
24041            'override_database: ' + repr(self.override_database) + ' ' +\
24042            'password: ' + repr(self.password) + ' ' +\
24043            'port: ' + repr(self.port) + ' ' +\
24044            'port_override: ' + repr(self.port_override) + ' ' +\
24045            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24046            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24047            'subdomain: ' + repr(self.subdomain) + ' ' +\
24048            'tags: ' + repr(self.tags) + ' ' +\
24049            'username: ' + repr(self.username) + ' ' +\
24050            '>'
24051
24052    def to_dict(self):
24053        return {
24054            'bind_interface': self.bind_interface,
24055            'database': self.database,
24056            'egress_filter': self.egress_filter,
24057            'healthy': self.healthy,
24058            'hostname': self.hostname,
24059            'id': self.id,
24060            'name': self.name,
24061            'override_database': self.override_database,
24062            'password': self.password,
24063            'port': self.port,
24064            'port_override': self.port_override,
24065            'proxy_cluster_id': self.proxy_cluster_id,
24066            'secret_store_id': self.secret_store_id,
24067            'subdomain': self.subdomain,
24068            'tags': self.tags,
24069            'username': self.username,
24070        }
24071
24072    @classmethod
24073    def from_dict(cls, d):
24074        return cls(
24075            bind_interface=d.get('bind_interface'),
24076            database=d.get('database'),
24077            egress_filter=d.get('egress_filter'),
24078            healthy=d.get('healthy'),
24079            hostname=d.get('hostname'),
24080            id=d.get('id'),
24081            name=d.get('name'),
24082            override_database=d.get('override_database'),
24083            password=d.get('password'),
24084            port=d.get('port'),
24085            port_override=d.get('port_override'),
24086            proxy_cluster_id=d.get('proxy_cluster_id'),
24087            secret_store_id=d.get('secret_store_id'),
24088            subdomain=d.get('subdomain'),
24089            tags=d.get('tags'),
24090            username=d.get('username'),
24091        )
24092
24093
24094class PostgresEngine:
24095    '''
24096    PostgresEngine is currently unstable, and its API may change, or it may be removed,
24097    without a major version bump.
24098    '''
24099    __slots__ = [
24100        'after_read_ttl',
24101        'database',
24102        'hostname',
24103        'id',
24104        'key_rotation_interval_days',
24105        'name',
24106        'password',
24107        'policy',
24108        'port',
24109        'public_key',
24110        'secret_store_id',
24111        'secret_store_root_path',
24112        'tags',
24113        'tls',
24114        'ttl',
24115        'username',
24116    ]
24117
24118    def __init__(
24119        self,
24120        after_read_ttl=None,
24121        database=None,
24122        hostname=None,
24123        id=None,
24124        key_rotation_interval_days=None,
24125        name=None,
24126        password=None,
24127        policy=None,
24128        port=None,
24129        public_key=None,
24130        secret_store_id=None,
24131        secret_store_root_path=None,
24132        tags=None,
24133        tls=None,
24134        ttl=None,
24135        username=None,
24136    ):
24137        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
24138        '''
24139         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
24140        '''
24141        self.database = database if database is not None else ''
24142        '''
24143         Database is the database to verify credential against.
24144        '''
24145        self.hostname = hostname if hostname is not None else ''
24146        '''
24147         Hostname is the hostname or IP address of the Postgres server.
24148        '''
24149        self.id = id if id is not None else ''
24150        '''
24151         Unique identifier of the Secret Engine.
24152        '''
24153        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
24154        '''
24155         An interval of public/private key rotation for secret engine in days
24156        '''
24157        self.name = name if name is not None else ''
24158        '''
24159         Unique human-readable name of the Secret Engine.
24160        '''
24161        self.password = password if password is not None else ''
24162        '''
24163         Password is the password to connect to the Postgres server.
24164        '''
24165        self.policy = policy if policy is not None else None
24166        '''
24167         Policy for password creation
24168        '''
24169        self.port = port if port is not None else 0
24170        '''
24171         Port is the port number of the Postgres server.
24172        '''
24173        self.public_key = public_key if public_key is not None else b''
24174        '''
24175         Public key linked with a secret engine
24176        '''
24177        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24178        '''
24179         Backing secret store identifier
24180        '''
24181        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
24182        '''
24183         Backing Secret Store root path where managed secrets are going to be stored
24184        '''
24185        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24186        '''
24187         Tags is a map of key, value pairs.
24188        '''
24189        self.tls = tls if tls is not None else False
24190        '''
24191         TLS enables TLS/SSL when connecting to the Postgres server.
24192        '''
24193        self.ttl = ttl if ttl is not None else None
24194        '''
24195         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
24196        '''
24197        self.username = username if username is not None else ''
24198        '''
24199         Username is the username to connect to the Postgres server.
24200        '''
24201
24202    def __repr__(self):
24203        return '<sdm.PostgresEngine ' + \
24204            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
24205            'database: ' + repr(self.database) + ' ' +\
24206            'hostname: ' + repr(self.hostname) + ' ' +\
24207            'id: ' + repr(self.id) + ' ' +\
24208            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
24209            'name: ' + repr(self.name) + ' ' +\
24210            'password: ' + repr(self.password) + ' ' +\
24211            'policy: ' + repr(self.policy) + ' ' +\
24212            'port: ' + repr(self.port) + ' ' +\
24213            'public_key: ' + repr(self.public_key) + ' ' +\
24214            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24215            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
24216            'tags: ' + repr(self.tags) + ' ' +\
24217            'tls: ' + repr(self.tls) + ' ' +\
24218            'ttl: ' + repr(self.ttl) + ' ' +\
24219            'username: ' + repr(self.username) + ' ' +\
24220            '>'
24221
24222    def to_dict(self):
24223        return {
24224            'after_read_ttl': self.after_read_ttl,
24225            'database': self.database,
24226            'hostname': self.hostname,
24227            'id': self.id,
24228            'key_rotation_interval_days': self.key_rotation_interval_days,
24229            'name': self.name,
24230            'password': self.password,
24231            'policy': self.policy,
24232            'port': self.port,
24233            'public_key': self.public_key,
24234            'secret_store_id': self.secret_store_id,
24235            'secret_store_root_path': self.secret_store_root_path,
24236            'tags': self.tags,
24237            'tls': self.tls,
24238            'ttl': self.ttl,
24239            'username': self.username,
24240        }
24241
24242    @classmethod
24243    def from_dict(cls, d):
24244        return cls(
24245            after_read_ttl=d.get('after_read_ttl'),
24246            database=d.get('database'),
24247            hostname=d.get('hostname'),
24248            id=d.get('id'),
24249            key_rotation_interval_days=d.get('key_rotation_interval_days'),
24250            name=d.get('name'),
24251            password=d.get('password'),
24252            policy=d.get('policy'),
24253            port=d.get('port'),
24254            public_key=d.get('public_key'),
24255            secret_store_id=d.get('secret_store_id'),
24256            secret_store_root_path=d.get('secret_store_root_path'),
24257            tags=d.get('tags'),
24258            tls=d.get('tls'),
24259            ttl=d.get('ttl'),
24260            username=d.get('username'),
24261        )
24262
24263
24264class Presto:
24265    __slots__ = [
24266        'bind_interface',
24267        'database',
24268        'egress_filter',
24269        'healthy',
24270        'hostname',
24271        'id',
24272        'name',
24273        'password',
24274        'port',
24275        'port_override',
24276        'proxy_cluster_id',
24277        'secret_store_id',
24278        'subdomain',
24279        'tags',
24280        'tls_required',
24281        'username',
24282    ]
24283
24284    def __init__(
24285        self,
24286        bind_interface=None,
24287        database=None,
24288        egress_filter=None,
24289        healthy=None,
24290        hostname=None,
24291        id=None,
24292        name=None,
24293        password=None,
24294        port=None,
24295        port_override=None,
24296        proxy_cluster_id=None,
24297        secret_store_id=None,
24298        subdomain=None,
24299        tags=None,
24300        tls_required=None,
24301        username=None,
24302    ):
24303        self.bind_interface = bind_interface if bind_interface is not None else ''
24304        '''
24305         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24306        '''
24307        self.database = database if database is not None else ''
24308        '''
24309         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24310        '''
24311        self.egress_filter = egress_filter if egress_filter is not None else ''
24312        '''
24313         A filter applied to the routing logic to pin datasource to nodes.
24314        '''
24315        self.healthy = healthy if healthy is not None else False
24316        '''
24317         True if the datasource is reachable and the credentials are valid.
24318        '''
24319        self.hostname = hostname if hostname is not None else ''
24320        '''
24321         The host to dial to initiate a connection from the egress node to this resource.
24322        '''
24323        self.id = id if id is not None else ''
24324        '''
24325         Unique identifier of the Resource.
24326        '''
24327        self.name = name if name is not None else ''
24328        '''
24329         Unique human-readable name of the Resource.
24330        '''
24331        self.password = password if password is not None else ''
24332        '''
24333         The password to authenticate with.
24334        '''
24335        self.port = port if port is not None else 0
24336        '''
24337         The port to dial to initiate a connection from the egress node to this resource.
24338        '''
24339        self.port_override = port_override if port_override is not None else 0
24340        '''
24341         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24342        '''
24343        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24344        '''
24345         ID of the proxy cluster for this resource, if any.
24346        '''
24347        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24348        '''
24349         ID of the secret store containing credentials for this resource, if any.
24350        '''
24351        self.subdomain = subdomain if subdomain is not None else ''
24352        '''
24353         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24354        '''
24355        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24356        '''
24357         Tags is a map of key, value pairs.
24358        '''
24359        self.tls_required = tls_required if tls_required is not None else False
24360        '''
24361         If set, TLS must be used to connect to this resource.
24362        '''
24363        self.username = username if username is not None else ''
24364        '''
24365         The username to authenticate with.
24366        '''
24367
24368    def __repr__(self):
24369        return '<sdm.Presto ' + \
24370            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24371            'database: ' + repr(self.database) + ' ' +\
24372            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24373            'healthy: ' + repr(self.healthy) + ' ' +\
24374            'hostname: ' + repr(self.hostname) + ' ' +\
24375            'id: ' + repr(self.id) + ' ' +\
24376            'name: ' + repr(self.name) + ' ' +\
24377            'password: ' + repr(self.password) + ' ' +\
24378            'port: ' + repr(self.port) + ' ' +\
24379            'port_override: ' + repr(self.port_override) + ' ' +\
24380            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24381            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24382            'subdomain: ' + repr(self.subdomain) + ' ' +\
24383            'tags: ' + repr(self.tags) + ' ' +\
24384            'tls_required: ' + repr(self.tls_required) + ' ' +\
24385            'username: ' + repr(self.username) + ' ' +\
24386            '>'
24387
24388    def to_dict(self):
24389        return {
24390            'bind_interface': self.bind_interface,
24391            'database': self.database,
24392            'egress_filter': self.egress_filter,
24393            'healthy': self.healthy,
24394            'hostname': self.hostname,
24395            'id': self.id,
24396            'name': self.name,
24397            'password': self.password,
24398            'port': self.port,
24399            'port_override': self.port_override,
24400            'proxy_cluster_id': self.proxy_cluster_id,
24401            'secret_store_id': self.secret_store_id,
24402            'subdomain': self.subdomain,
24403            'tags': self.tags,
24404            'tls_required': self.tls_required,
24405            'username': self.username,
24406        }
24407
24408    @classmethod
24409    def from_dict(cls, d):
24410        return cls(
24411            bind_interface=d.get('bind_interface'),
24412            database=d.get('database'),
24413            egress_filter=d.get('egress_filter'),
24414            healthy=d.get('healthy'),
24415            hostname=d.get('hostname'),
24416            id=d.get('id'),
24417            name=d.get('name'),
24418            password=d.get('password'),
24419            port=d.get('port'),
24420            port_override=d.get('port_override'),
24421            proxy_cluster_id=d.get('proxy_cluster_id'),
24422            secret_store_id=d.get('secret_store_id'),
24423            subdomain=d.get('subdomain'),
24424            tags=d.get('tags'),
24425            tls_required=d.get('tls_required'),
24426            username=d.get('username'),
24427        )
24428
24429
24430class ProxyCluster:
24431    '''
24432         ProxyCluster represents a cluster of StrongDM proxies.
24433    '''
24434    __slots__ = [
24435        'address',
24436        'id',
24437        'maintenance_windows',
24438        'name',
24439        'tags',
24440    ]
24441
24442    def __init__(
24443        self,
24444        address=None,
24445        id=None,
24446        maintenance_windows=None,
24447        name=None,
24448        tags=None,
24449    ):
24450        self.address = address if address is not None else ''
24451        '''
24452         The public hostname/port tuple at which the proxy cluster will be
24453         accessible to clients.
24454        '''
24455        self.id = id if id is not None else ''
24456        '''
24457         Unique identifier of the Proxy Cluster.
24458        '''
24459        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24460        '''
24461         Maintenance Windows define when this node is allowed to restart. If a node
24462         is requested to restart, it will check each window to determine if any of
24463         them permit it to restart, and if any do, it will. This check is repeated
24464         per window until the restart is successfully completed.
24465         
24466         If not set here, may be set on the command line or via an environment variable
24467         on the process itself; any server setting will take precedence over local
24468         settings. This setting is ineffective for nodes below version 38.44.0.
24469         
24470         If this setting is not applied via this remote configuration or via local
24471         configuration, the default setting is used: always allow restarts if serving
24472         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24473        '''
24474        self.name = name if name is not None else ''
24475        '''
24476         Unique human-readable name of the proxy cluster. Names must
24477         include only letters, numbers, and hyphens (no spaces, underscores, or
24478         other special characters). Generated if not provided on create.
24479        '''
24480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24481        '''
24482         Tags is a map of key, value pairs.
24483        '''
24484
24485    def __repr__(self):
24486        return '<sdm.ProxyCluster ' + \
24487            'address: ' + repr(self.address) + ' ' +\
24488            'id: ' + repr(self.id) + ' ' +\
24489            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24490            'name: ' + repr(self.name) + ' ' +\
24491            'tags: ' + repr(self.tags) + ' ' +\
24492            '>'
24493
24494    def to_dict(self):
24495        return {
24496            'address': self.address,
24497            'id': self.id,
24498            'maintenance_windows': self.maintenance_windows,
24499            'name': self.name,
24500            'tags': self.tags,
24501        }
24502
24503    @classmethod
24504    def from_dict(cls, d):
24505        return cls(
24506            address=d.get('address'),
24507            id=d.get('id'),
24508            maintenance_windows=d.get('maintenance_windows'),
24509            name=d.get('name'),
24510            tags=d.get('tags'),
24511        )
24512
24513
24514class ProxyClusterKey:
24515    '''
24516         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
24517     The proxies within a cluster share the same key. One cluster can have
24518     multiple keys in order to facilitate key rotation.
24519    '''
24520    __slots__ = [
24521        'created_at',
24522        'id',
24523        'last_used_at',
24524        'proxy_cluster_id',
24525    ]
24526
24527    def __init__(
24528        self,
24529        created_at=None,
24530        id=None,
24531        last_used_at=None,
24532        proxy_cluster_id=None,
24533    ):
24534        self.created_at = created_at if created_at is not None else None
24535        '''
24536         The timestamp when this key was created.
24537        '''
24538        self.id = id if id is not None else ''
24539        '''
24540         Unique identifier of the Relay.
24541        '''
24542        self.last_used_at = last_used_at if last_used_at is not None else None
24543        '''
24544         The timestamp when this key was last used, if at all.
24545        '''
24546        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24547        '''
24548         The ID of the proxy cluster which this key authenticates to.
24549        '''
24550
24551    def __repr__(self):
24552        return '<sdm.ProxyClusterKey ' + \
24553            'created_at: ' + repr(self.created_at) + ' ' +\
24554            'id: ' + repr(self.id) + ' ' +\
24555            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
24556            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24557            '>'
24558
24559    def to_dict(self):
24560        return {
24561            'created_at': self.created_at,
24562            'id': self.id,
24563            'last_used_at': self.last_used_at,
24564            'proxy_cluster_id': self.proxy_cluster_id,
24565        }
24566
24567    @classmethod
24568    def from_dict(cls, d):
24569        return cls(
24570            created_at=d.get('created_at'),
24571            id=d.get('id'),
24572            last_used_at=d.get('last_used_at'),
24573            proxy_cluster_id=d.get('proxy_cluster_id'),
24574        )
24575
24576
24577class ProxyClusterKeyCreateResponse:
24578    '''
24579         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
24580    '''
24581    __slots__ = [
24582        'meta',
24583        'proxy_cluster_key',
24584        'rate_limit',
24585        'secret_key',
24586    ]
24587
24588    def __init__(
24589        self,
24590        meta=None,
24591        proxy_cluster_key=None,
24592        rate_limit=None,
24593        secret_key=None,
24594    ):
24595        self.meta = meta if meta is not None else None
24596        '''
24597         Reserved for future use.
24598        '''
24599        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
24600        '''
24601         The created ProxyClusterKey.
24602        '''
24603        self.rate_limit = rate_limit if rate_limit is not None else None
24604        '''
24605         Rate limit information.
24606        '''
24607        self.secret_key = secret_key if secret_key is not None else ''
24608        '''
24609         The secret key component of this key. It must be saved upon creation
24610         because it will not be available for retrieval later.
24611        '''
24612
24613    def __repr__(self):
24614        return '<sdm.ProxyClusterKeyCreateResponse ' + \
24615            'meta: ' + repr(self.meta) + ' ' +\
24616            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
24617            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24618            'secret_key: ' + repr(self.secret_key) + ' ' +\
24619            '>'
24620
24621    def to_dict(self):
24622        return {
24623            'meta': self.meta,
24624            'proxy_cluster_key': self.proxy_cluster_key,
24625            'rate_limit': self.rate_limit,
24626            'secret_key': self.secret_key,
24627        }
24628
24629    @classmethod
24630    def from_dict(cls, d):
24631        return cls(
24632            meta=d.get('meta'),
24633            proxy_cluster_key=d.get('proxy_cluster_key'),
24634            rate_limit=d.get('rate_limit'),
24635            secret_key=d.get('secret_key'),
24636        )
24637
24638
24639class ProxyClusterKeyDeleteResponse:
24640    '''
24641         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
24642    '''
24643    __slots__ = [
24644        'meta',
24645        'rate_limit',
24646    ]
24647
24648    def __init__(
24649        self,
24650        meta=None,
24651        rate_limit=None,
24652    ):
24653        self.meta = meta if meta is not None else None
24654        '''
24655         Reserved for future use.
24656        '''
24657        self.rate_limit = rate_limit if rate_limit is not None else None
24658        '''
24659         Rate limit information.
24660        '''
24661
24662    def __repr__(self):
24663        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
24664            'meta: ' + repr(self.meta) + ' ' +\
24665            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24666            '>'
24667
24668    def to_dict(self):
24669        return {
24670            'meta': self.meta,
24671            'rate_limit': self.rate_limit,
24672        }
24673
24674    @classmethod
24675    def from_dict(cls, d):
24676        return cls(
24677            meta=d.get('meta'),
24678            rate_limit=d.get('rate_limit'),
24679        )
24680
24681
24682class ProxyClusterKeyGetResponse:
24683    '''
24684         ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
24685    '''
24686    __slots__ = [
24687        'meta',
24688        'proxy_cluster_key',
24689        'rate_limit',
24690    ]
24691
24692    def __init__(
24693        self,
24694        meta=None,
24695        proxy_cluster_key=None,
24696        rate_limit=None,
24697    ):
24698        self.meta = meta if meta is not None else None
24699        '''
24700         Reserved for future use.
24701        '''
24702        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
24703        '''
24704         The requested ProxyClusterKey.
24705        '''
24706        self.rate_limit = rate_limit if rate_limit is not None else None
24707        '''
24708         Rate limit information.
24709        '''
24710
24711    def __repr__(self):
24712        return '<sdm.ProxyClusterKeyGetResponse ' + \
24713            'meta: ' + repr(self.meta) + ' ' +\
24714            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
24715            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24716            '>'
24717
24718    def to_dict(self):
24719        return {
24720            'meta': self.meta,
24721            'proxy_cluster_key': self.proxy_cluster_key,
24722            'rate_limit': self.rate_limit,
24723        }
24724
24725    @classmethod
24726    def from_dict(cls, d):
24727        return cls(
24728            meta=d.get('meta'),
24729            proxy_cluster_key=d.get('proxy_cluster_key'),
24730            rate_limit=d.get('rate_limit'),
24731        )
24732
24733
24734class Query:
24735    '''
24736         A Query is a record of a single client request to a resource, such as a SQL query.
24737     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
24738     interactive sessions will return two Query records with the same identifier, one record
24739     at the start of the query and a second record upon the completion of the query with
24740     additional detail.
24741    '''
24742    __slots__ = [
24743        'account_email',
24744        'account_first_name',
24745        'account_id',
24746        'account_last_name',
24747        'account_tags',
24748        'authzjson',
24749        'capture',
24750        'client_ip',
24751        'completed_at',
24752        'duration',
24753        'egress_node_id',
24754        'encrypted',
24755        'id',
24756        'identity_alias_username',
24757        'metadata_json',
24758        'query_body',
24759        'query_category',
24760        'query_hash',
24761        'query_key',
24762        'record_count',
24763        'remote_identity_username',
24764        'replayable',
24765        'resource_id',
24766        'resource_name',
24767        'resource_tags',
24768        'resource_type',
24769        'source_ip',
24770        'target',
24771        'timestamp',
24772    ]
24773
24774    def __init__(
24775        self,
24776        account_email=None,
24777        account_first_name=None,
24778        account_id=None,
24779        account_last_name=None,
24780        account_tags=None,
24781        authzjson=None,
24782        capture=None,
24783        client_ip=None,
24784        completed_at=None,
24785        duration=None,
24786        egress_node_id=None,
24787        encrypted=None,
24788        id=None,
24789        identity_alias_username=None,
24790        metadata_json=None,
24791        query_body=None,
24792        query_category=None,
24793        query_hash=None,
24794        query_key=None,
24795        record_count=None,
24796        remote_identity_username=None,
24797        replayable=None,
24798        resource_id=None,
24799        resource_name=None,
24800        resource_tags=None,
24801        resource_type=None,
24802        source_ip=None,
24803        target=None,
24804        timestamp=None,
24805    ):
24806        self.account_email = account_email if account_email is not None else ''
24807        '''
24808         The email of the account performing this query, at the time the query was executed.
24809         If the account email is later changed, that change will not be reflected via this field.
24810        '''
24811        self.account_first_name = account_first_name if account_first_name is not None else ''
24812        '''
24813         The given name of the account performing this query, at the time the query was executed.
24814         If the account is later renamed, that change will not be reflected via this field.
24815        '''
24816        self.account_id = account_id if account_id is not None else ''
24817        '''
24818         Unique identifier of the Account that performed the Query.
24819        '''
24820        self.account_last_name = account_last_name if account_last_name is not None else ''
24821        '''
24822         The family name of the account performing this query, at the time the query was executed.
24823         If the account is later renamed, that change will not be reflected via this field.
24824        '''
24825        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
24826        )
24827        '''
24828         The tags of the account accessed, at the time the query was executed. If the account
24829         tags are later changed, that change will not be reflected via this field.
24830        '''
24831        self.authzjson = authzjson if authzjson is not None else ''
24832        '''
24833         Authorization metadata associated with this query.
24834        '''
24835        self.capture = capture if capture is not None else None
24836        '''
24837         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
24838         about the captured query.
24839        '''
24840        self.client_ip = client_ip if client_ip is not None else ''
24841        '''
24842         The IP address the Query was performed from, as detected at the StrongDM control plane.
24843        '''
24844        self.completed_at = completed_at if completed_at is not None else None
24845        '''
24846         The time at which the Query was completed.
24847         Empty if this record indicates the start of a long-running query.
24848        '''
24849        self.duration = duration if duration is not None else None
24850        '''
24851         The duration of the Query.
24852        '''
24853        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
24854        '''
24855         The unique ID of the node through which the Resource was accessed.
24856        '''
24857        self.encrypted = encrypted if encrypted is not None else False
24858        '''
24859         Indicates that the body of the Query is encrypted.
24860        '''
24861        self.id = id if id is not None else ''
24862        '''
24863         Unique identifier of the Query.
24864        '''
24865        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
24866        '''
24867         The username of the IdentityAlias used to access the Resource.
24868        '''
24869        self.metadata_json = metadata_json if metadata_json is not None else ''
24870        '''
24871         Driver specific metadata associated with this query.
24872        '''
24873        self.query_body = query_body if query_body is not None else ''
24874        '''
24875         The captured content of the Query.
24876         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
24877        '''
24878        self.query_category = query_category if query_category is not None else ''
24879        '''
24880         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
24881        '''
24882        self.query_hash = query_hash if query_hash is not None else ''
24883        '''
24884         The hash of the body of the Query.
24885        '''
24886        self.query_key = query_key if query_key is not None else ''
24887        '''
24888         The symmetric key used to encrypt the body of this Query and its replay if replayable.
24889         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
24890         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
24891         If the Query is not encrypted, this field is empty.
24892        '''
24893        self.record_count = record_count if record_count is not None else 0
24894        '''
24895         The number of records returned by the Query, for a database Resource.
24896        '''
24897        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
24898        '''
24899         The username of the RemoteIdentity used to access the Resource.
24900        '''
24901        self.replayable = replayable if replayable is not None else False
24902        '''
24903         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
24904        '''
24905        self.resource_id = resource_id if resource_id is not None else ''
24906        '''
24907         Unique identifier of the Resource against which the Query was performed.
24908        '''
24909        self.resource_name = resource_name if resource_name is not None else ''
24910        '''
24911         The name of the resource accessed, at the time the query was executed. If the resource
24912         is later renamed, that change will not be reflected via this field.
24913        '''
24914        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
24915        )
24916        '''
24917         The tags of the resource accessed, at the time the query was executed. If the resource
24918         tags are later changed, that change will not be reflected via this field.
24919        '''
24920        self.resource_type = resource_type if resource_type is not None else ''
24921        '''
24922         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
24923        '''
24924        self.source_ip = source_ip if source_ip is not None else ''
24925        '''
24926         The IP address the Query was performed from, as detected at the ingress gateway.
24927        '''
24928        self.target = target if target is not None else ''
24929        '''
24930         The target destination of the query, in host:port format.
24931        '''
24932        self.timestamp = timestamp if timestamp is not None else None
24933        '''
24934         The time at which the Query was started.
24935        '''
24936
24937    def __repr__(self):
24938        return '<sdm.Query ' + \
24939            'account_email: ' + repr(self.account_email) + ' ' +\
24940            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
24941            'account_id: ' + repr(self.account_id) + ' ' +\
24942            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
24943            'account_tags: ' + repr(self.account_tags) + ' ' +\
24944            'authzjson: ' + repr(self.authzjson) + ' ' +\
24945            'capture: ' + repr(self.capture) + ' ' +\
24946            'client_ip: ' + repr(self.client_ip) + ' ' +\
24947            'completed_at: ' + repr(self.completed_at) + ' ' +\
24948            'duration: ' + repr(self.duration) + ' ' +\
24949            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
24950            'encrypted: ' + repr(self.encrypted) + ' ' +\
24951            'id: ' + repr(self.id) + ' ' +\
24952            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
24953            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
24954            'query_body: ' + repr(self.query_body) + ' ' +\
24955            'query_category: ' + repr(self.query_category) + ' ' +\
24956            'query_hash: ' + repr(self.query_hash) + ' ' +\
24957            'query_key: ' + repr(self.query_key) + ' ' +\
24958            'record_count: ' + repr(self.record_count) + ' ' +\
24959            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
24960            'replayable: ' + repr(self.replayable) + ' ' +\
24961            'resource_id: ' + repr(self.resource_id) + ' ' +\
24962            'resource_name: ' + repr(self.resource_name) + ' ' +\
24963            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
24964            'resource_type: ' + repr(self.resource_type) + ' ' +\
24965            'source_ip: ' + repr(self.source_ip) + ' ' +\
24966            'target: ' + repr(self.target) + ' ' +\
24967            'timestamp: ' + repr(self.timestamp) + ' ' +\
24968            '>'
24969
24970    def to_dict(self):
24971        return {
24972            'account_email': self.account_email,
24973            'account_first_name': self.account_first_name,
24974            'account_id': self.account_id,
24975            'account_last_name': self.account_last_name,
24976            'account_tags': self.account_tags,
24977            'authzjson': self.authzjson,
24978            'capture': self.capture,
24979            'client_ip': self.client_ip,
24980            'completed_at': self.completed_at,
24981            'duration': self.duration,
24982            'egress_node_id': self.egress_node_id,
24983            'encrypted': self.encrypted,
24984            'id': self.id,
24985            'identity_alias_username': self.identity_alias_username,
24986            'metadata_json': self.metadata_json,
24987            'query_body': self.query_body,
24988            'query_category': self.query_category,
24989            'query_hash': self.query_hash,
24990            'query_key': self.query_key,
24991            'record_count': self.record_count,
24992            'remote_identity_username': self.remote_identity_username,
24993            'replayable': self.replayable,
24994            'resource_id': self.resource_id,
24995            'resource_name': self.resource_name,
24996            'resource_tags': self.resource_tags,
24997            'resource_type': self.resource_type,
24998            'source_ip': self.source_ip,
24999            'target': self.target,
25000            'timestamp': self.timestamp,
25001        }
25002
25003    @classmethod
25004    def from_dict(cls, d):
25005        return cls(
25006            account_email=d.get('account_email'),
25007            account_first_name=d.get('account_first_name'),
25008            account_id=d.get('account_id'),
25009            account_last_name=d.get('account_last_name'),
25010            account_tags=d.get('account_tags'),
25011            authzjson=d.get('authzjson'),
25012            capture=d.get('capture'),
25013            client_ip=d.get('client_ip'),
25014            completed_at=d.get('completed_at'),
25015            duration=d.get('duration'),
25016            egress_node_id=d.get('egress_node_id'),
25017            encrypted=d.get('encrypted'),
25018            id=d.get('id'),
25019            identity_alias_username=d.get('identity_alias_username'),
25020            metadata_json=d.get('metadata_json'),
25021            query_body=d.get('query_body'),
25022            query_category=d.get('query_category'),
25023            query_hash=d.get('query_hash'),
25024            query_key=d.get('query_key'),
25025            record_count=d.get('record_count'),
25026            remote_identity_username=d.get('remote_identity_username'),
25027            replayable=d.get('replayable'),
25028            resource_id=d.get('resource_id'),
25029            resource_name=d.get('resource_name'),
25030            resource_tags=d.get('resource_tags'),
25031            resource_type=d.get('resource_type'),
25032            source_ip=d.get('source_ip'),
25033            target=d.get('target'),
25034            timestamp=d.get('timestamp'),
25035        )
25036
25037
25038class QueryCapture:
25039    '''
25040         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
25041    '''
25042    __slots__ = [
25043        'client_command',
25044        'command',
25045        'container',
25046        'env',
25047        'file_name',
25048        'file_size',
25049        'height',
25050        'impersonation_groups',
25051        'impersonation_user',
25052        'pod',
25053        'privilege_groups',
25054        'request_body',
25055        'request_method',
25056        'request_uri',
25057        'type',
25058        'width',
25059    ]
25060
25061    def __init__(
25062        self,
25063        client_command=None,
25064        command=None,
25065        container=None,
25066        env=None,
25067        file_name=None,
25068        file_size=None,
25069        height=None,
25070        impersonation_groups=None,
25071        impersonation_user=None,
25072        pod=None,
25073        privilege_groups=None,
25074        request_body=None,
25075        request_method=None,
25076        request_uri=None,
25077        type=None,
25078        width=None,
25079    ):
25080        self.client_command = client_command if client_command is not None else ''
25081        '''
25082         The command executed on the client for a Kubernetes session.
25083        '''
25084        self.command = command if command is not None else ''
25085        '''
25086         The command executed over an SSH or Kubernetes session.
25087        '''
25088        self.container = container if container is not None else ''
25089        '''
25090         The target container of a Kubernetes operation.
25091        '''
25092        self.env = env if env is not None else {}
25093        '''
25094         The environment variables for an SSH or Kubernetes session.
25095        '''
25096        self.file_name = file_name if file_name is not None else ''
25097        '''
25098         The remote file name of an SCP operation.
25099        '''
25100        self.file_size = file_size if file_size is not None else 0
25101        '''
25102         The file size transferred for an SCP operation.
25103        '''
25104        self.height = height if height is not None else 0
25105        '''
25106         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
25107        '''
25108        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
25109        '''
25110         The impersonation groups of a Kubernetes operation.
25111        '''
25112        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
25113        '''
25114         The impersonation user of a Kubernetes operation.
25115        '''
25116        self.pod = pod if pod is not None else ''
25117        '''
25118         The target pod of a Kubernetes operation.
25119        '''
25120        self.privilege_groups = privilege_groups if privilege_groups is not None else []
25121        '''
25122         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
25123        '''
25124        self.request_body = request_body if request_body is not None else b''
25125        '''
25126         The HTTP request body of a Kubernetes operation.
25127        '''
25128        self.request_method = request_method if request_method is not None else ''
25129        '''
25130         The HTTP request method of a Kubernetes operation.
25131        '''
25132        self.request_uri = request_uri if request_uri is not None else ''
25133        '''
25134         The HTTP request URI of a Kubernetes operation.
25135        '''
25136        self.type = type if type is not None else ''
25137        '''
25138         The CaptureType of this query capture, one of the CaptureType constants.
25139        '''
25140        self.width = width if width is not None else 0
25141        '''
25142         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
25143        '''
25144
25145    def __repr__(self):
25146        return '<sdm.QueryCapture ' + \
25147            'client_command: ' + repr(self.client_command) + ' ' +\
25148            'command: ' + repr(self.command) + ' ' +\
25149            'container: ' + repr(self.container) + ' ' +\
25150            'env: ' + repr(self.env) + ' ' +\
25151            'file_name: ' + repr(self.file_name) + ' ' +\
25152            'file_size: ' + repr(self.file_size) + ' ' +\
25153            'height: ' + repr(self.height) + ' ' +\
25154            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
25155            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
25156            'pod: ' + repr(self.pod) + ' ' +\
25157            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
25158            'request_body: ' + repr(self.request_body) + ' ' +\
25159            'request_method: ' + repr(self.request_method) + ' ' +\
25160            'request_uri: ' + repr(self.request_uri) + ' ' +\
25161            'type: ' + repr(self.type) + ' ' +\
25162            'width: ' + repr(self.width) + ' ' +\
25163            '>'
25164
25165    def to_dict(self):
25166        return {
25167            'client_command': self.client_command,
25168            'command': self.command,
25169            'container': self.container,
25170            'env': self.env,
25171            'file_name': self.file_name,
25172            'file_size': self.file_size,
25173            'height': self.height,
25174            'impersonation_groups': self.impersonation_groups,
25175            'impersonation_user': self.impersonation_user,
25176            'pod': self.pod,
25177            'privilege_groups': self.privilege_groups,
25178            'request_body': self.request_body,
25179            'request_method': self.request_method,
25180            'request_uri': self.request_uri,
25181            'type': self.type,
25182            'width': self.width,
25183        }
25184
25185    @classmethod
25186    def from_dict(cls, d):
25187        return cls(
25188            client_command=d.get('client_command'),
25189            command=d.get('command'),
25190            container=d.get('container'),
25191            env=d.get('env'),
25192            file_name=d.get('file_name'),
25193            file_size=d.get('file_size'),
25194            height=d.get('height'),
25195            impersonation_groups=d.get('impersonation_groups'),
25196            impersonation_user=d.get('impersonation_user'),
25197            pod=d.get('pod'),
25198            privilege_groups=d.get('privilege_groups'),
25199            request_body=d.get('request_body'),
25200            request_method=d.get('request_method'),
25201            request_uri=d.get('request_uri'),
25202            type=d.get('type'),
25203            width=d.get('width'),
25204        )
25205
25206
25207class RDP:
25208    __slots__ = [
25209        'bind_interface',
25210        'downgrade_nla_connections',
25211        'egress_filter',
25212        'healthy',
25213        'hostname',
25214        'id',
25215        'lock_required',
25216        'name',
25217        'password',
25218        'port',
25219        'port_override',
25220        'proxy_cluster_id',
25221        'secret_store_id',
25222        'subdomain',
25223        'tags',
25224        'username',
25225    ]
25226
25227    def __init__(
25228        self,
25229        bind_interface=None,
25230        downgrade_nla_connections=None,
25231        egress_filter=None,
25232        healthy=None,
25233        hostname=None,
25234        id=None,
25235        lock_required=None,
25236        name=None,
25237        password=None,
25238        port=None,
25239        port_override=None,
25240        proxy_cluster_id=None,
25241        secret_store_id=None,
25242        subdomain=None,
25243        tags=None,
25244        username=None,
25245    ):
25246        self.bind_interface = bind_interface if bind_interface is not None else ''
25247        '''
25248         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25249        '''
25250        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
25251        '''
25252         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.
25253        '''
25254        self.egress_filter = egress_filter if egress_filter is not None else ''
25255        '''
25256         A filter applied to the routing logic to pin datasource to nodes.
25257        '''
25258        self.healthy = healthy if healthy is not None else False
25259        '''
25260         True if the datasource is reachable and the credentials are valid.
25261        '''
25262        self.hostname = hostname if hostname is not None else ''
25263        '''
25264         The host to dial to initiate a connection from the egress node to this resource.
25265        '''
25266        self.id = id if id is not None else ''
25267        '''
25268         Unique identifier of the Resource.
25269        '''
25270        self.lock_required = lock_required if lock_required is not None else False
25271        '''
25272         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
25273        '''
25274        self.name = name if name is not None else ''
25275        '''
25276         Unique human-readable name of the Resource.
25277        '''
25278        self.password = password if password is not None else ''
25279        '''
25280         The password to authenticate with.
25281        '''
25282        self.port = port if port is not None else 0
25283        '''
25284         The port to dial to initiate a connection from the egress node to this resource.
25285        '''
25286        self.port_override = port_override if port_override is not None else 0
25287        '''
25288         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25289        '''
25290        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25291        '''
25292         ID of the proxy cluster for this resource, if any.
25293        '''
25294        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25295        '''
25296         ID of the secret store containing credentials for this resource, if any.
25297        '''
25298        self.subdomain = subdomain if subdomain is not None else ''
25299        '''
25300         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25301        '''
25302        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25303        '''
25304         Tags is a map of key, value pairs.
25305        '''
25306        self.username = username if username is not None else ''
25307        '''
25308         The username to authenticate with.
25309        '''
25310
25311    def __repr__(self):
25312        return '<sdm.RDP ' + \
25313            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25314            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
25315            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25316            'healthy: ' + repr(self.healthy) + ' ' +\
25317            'hostname: ' + repr(self.hostname) + ' ' +\
25318            'id: ' + repr(self.id) + ' ' +\
25319            'lock_required: ' + repr(self.lock_required) + ' ' +\
25320            'name: ' + repr(self.name) + ' ' +\
25321            'password: ' + repr(self.password) + ' ' +\
25322            'port: ' + repr(self.port) + ' ' +\
25323            'port_override: ' + repr(self.port_override) + ' ' +\
25324            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25325            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25326            'subdomain: ' + repr(self.subdomain) + ' ' +\
25327            'tags: ' + repr(self.tags) + ' ' +\
25328            'username: ' + repr(self.username) + ' ' +\
25329            '>'
25330
25331    def to_dict(self):
25332        return {
25333            'bind_interface': self.bind_interface,
25334            'downgrade_nla_connections': self.downgrade_nla_connections,
25335            'egress_filter': self.egress_filter,
25336            'healthy': self.healthy,
25337            'hostname': self.hostname,
25338            'id': self.id,
25339            'lock_required': self.lock_required,
25340            'name': self.name,
25341            'password': self.password,
25342            'port': self.port,
25343            'port_override': self.port_override,
25344            'proxy_cluster_id': self.proxy_cluster_id,
25345            'secret_store_id': self.secret_store_id,
25346            'subdomain': self.subdomain,
25347            'tags': self.tags,
25348            'username': self.username,
25349        }
25350
25351    @classmethod
25352    def from_dict(cls, d):
25353        return cls(
25354            bind_interface=d.get('bind_interface'),
25355            downgrade_nla_connections=d.get('downgrade_nla_connections'),
25356            egress_filter=d.get('egress_filter'),
25357            healthy=d.get('healthy'),
25358            hostname=d.get('hostname'),
25359            id=d.get('id'),
25360            lock_required=d.get('lock_required'),
25361            name=d.get('name'),
25362            password=d.get('password'),
25363            port=d.get('port'),
25364            port_override=d.get('port_override'),
25365            proxy_cluster_id=d.get('proxy_cluster_id'),
25366            secret_store_id=d.get('secret_store_id'),
25367            subdomain=d.get('subdomain'),
25368            tags=d.get('tags'),
25369            username=d.get('username'),
25370        )
25371
25372
25373class RDPCert:
25374    __slots__ = [
25375        'bind_interface',
25376        'dc_hostnames',
25377        'egress_filter',
25378        'healthy',
25379        'hostname',
25380        'id',
25381        'identity_alias_healthcheck_username',
25382        'identity_set_id',
25383        'lock_required',
25384        'name',
25385        'port',
25386        'port_override',
25387        'proxy_cluster_id',
25388        'secret_store_id',
25389        'sid',
25390        'subdomain',
25391        'tags',
25392        'username',
25393    ]
25394
25395    def __init__(
25396        self,
25397        bind_interface=None,
25398        dc_hostnames=None,
25399        egress_filter=None,
25400        healthy=None,
25401        hostname=None,
25402        id=None,
25403        identity_alias_healthcheck_username=None,
25404        identity_set_id=None,
25405        lock_required=None,
25406        name=None,
25407        port=None,
25408        port_override=None,
25409        proxy_cluster_id=None,
25410        secret_store_id=None,
25411        sid=None,
25412        subdomain=None,
25413        tags=None,
25414        username=None,
25415    ):
25416        self.bind_interface = bind_interface if bind_interface is not None else ''
25417        '''
25418         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25419        '''
25420        self.dc_hostnames = dc_hostnames if dc_hostnames is not None else ''
25421        '''
25422         Comma-separated list of Active Directory Domain Controller hostnames for LDAPS SID resolution. Utilized for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID.
25423        '''
25424        self.egress_filter = egress_filter if egress_filter is not None else ''
25425        '''
25426         A filter applied to the routing logic to pin datasource to nodes.
25427        '''
25428        self.healthy = healthy if healthy is not None else False
25429        '''
25430         True if the datasource is reachable and the credentials are valid.
25431        '''
25432        self.hostname = hostname if hostname is not None else ''
25433        '''
25434         The host to dial to initiate a connection from the egress node to this resource.
25435        '''
25436        self.id = id if id is not None else ''
25437        '''
25438         Unique identifier of the Resource.
25439        '''
25440        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
25441        '''
25442         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
25443        '''
25444        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
25445        '''
25446         The ID of the identity set to use for identity connections.
25447        '''
25448        self.lock_required = lock_required if lock_required is not None else False
25449        '''
25450         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
25451        '''
25452        self.name = name if name is not None else ''
25453        '''
25454         Unique human-readable name of the Resource.
25455        '''
25456        self.port = port if port is not None else 0
25457        '''
25458         The port to dial to initiate a connection from the egress node to this resource.
25459        '''
25460        self.port_override = port_override if port_override is not None else 0
25461        '''
25462         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25463        '''
25464        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25465        '''
25466         ID of the proxy cluster for this resource, if any.
25467        '''
25468        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25469        '''
25470         ID of the secret store containing credentials for this resource, if any.
25471        '''
25472        self.sid = sid if sid is not None else ''
25473        '''
25474         Windows Security Identifier (SID) of the configured Username, required for strong certificate mapping in full enforcement mode.
25475        '''
25476        self.subdomain = subdomain if subdomain is not None else ''
25477        '''
25478         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25479        '''
25480        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25481        '''
25482         Tags is a map of key, value pairs.
25483        '''
25484        self.username = username if username is not None else ''
25485        '''
25486         The username to authenticate with.
25487        '''
25488
25489    def __repr__(self):
25490        return '<sdm.RDPCert ' + \
25491            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25492            'dc_hostnames: ' + repr(self.dc_hostnames) + ' ' +\
25493            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25494            'healthy: ' + repr(self.healthy) + ' ' +\
25495            'hostname: ' + repr(self.hostname) + ' ' +\
25496            'id: ' + repr(self.id) + ' ' +\
25497            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
25498            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
25499            'lock_required: ' + repr(self.lock_required) + ' ' +\
25500            'name: ' + repr(self.name) + ' ' +\
25501            'port: ' + repr(self.port) + ' ' +\
25502            'port_override: ' + repr(self.port_override) + ' ' +\
25503            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25504            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25505            'sid: ' + repr(self.sid) + ' ' +\
25506            'subdomain: ' + repr(self.subdomain) + ' ' +\
25507            'tags: ' + repr(self.tags) + ' ' +\
25508            'username: ' + repr(self.username) + ' ' +\
25509            '>'
25510
25511    def to_dict(self):
25512        return {
25513            'bind_interface': self.bind_interface,
25514            'dc_hostnames': self.dc_hostnames,
25515            'egress_filter': self.egress_filter,
25516            'healthy': self.healthy,
25517            'hostname': self.hostname,
25518            'id': self.id,
25519            'identity_alias_healthcheck_username':
25520            self.identity_alias_healthcheck_username,
25521            'identity_set_id': self.identity_set_id,
25522            'lock_required': self.lock_required,
25523            'name': self.name,
25524            'port': self.port,
25525            'port_override': self.port_override,
25526            'proxy_cluster_id': self.proxy_cluster_id,
25527            'secret_store_id': self.secret_store_id,
25528            'sid': self.sid,
25529            'subdomain': self.subdomain,
25530            'tags': self.tags,
25531            'username': self.username,
25532        }
25533
25534    @classmethod
25535    def from_dict(cls, d):
25536        return cls(
25537            bind_interface=d.get('bind_interface'),
25538            dc_hostnames=d.get('dc_hostnames'),
25539            egress_filter=d.get('egress_filter'),
25540            healthy=d.get('healthy'),
25541            hostname=d.get('hostname'),
25542            id=d.get('id'),
25543            identity_alias_healthcheck_username=d.get(
25544                'identity_alias_healthcheck_username'),
25545            identity_set_id=d.get('identity_set_id'),
25546            lock_required=d.get('lock_required'),
25547            name=d.get('name'),
25548            port=d.get('port'),
25549            port_override=d.get('port_override'),
25550            proxy_cluster_id=d.get('proxy_cluster_id'),
25551            secret_store_id=d.get('secret_store_id'),
25552            sid=d.get('sid'),
25553            subdomain=d.get('subdomain'),
25554            tags=d.get('tags'),
25555            username=d.get('username'),
25556        )
25557
25558
25559class RDSPostgresIAM:
25560    __slots__ = [
25561        'bind_interface',
25562        'database',
25563        'egress_filter',
25564        'healthy',
25565        'hostname',
25566        'id',
25567        'name',
25568        'override_database',
25569        'port',
25570        'port_override',
25571        'proxy_cluster_id',
25572        'region',
25573        'role_assumption_arn',
25574        'secret_store_id',
25575        'subdomain',
25576        'tags',
25577        'username',
25578    ]
25579
25580    def __init__(
25581        self,
25582        bind_interface=None,
25583        database=None,
25584        egress_filter=None,
25585        healthy=None,
25586        hostname=None,
25587        id=None,
25588        name=None,
25589        override_database=None,
25590        port=None,
25591        port_override=None,
25592        proxy_cluster_id=None,
25593        region=None,
25594        role_assumption_arn=None,
25595        secret_store_id=None,
25596        subdomain=None,
25597        tags=None,
25598        username=None,
25599    ):
25600        self.bind_interface = bind_interface if bind_interface is not None else ''
25601        '''
25602         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25603        '''
25604        self.database = database if database is not None else ''
25605        '''
25606         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
25607        '''
25608        self.egress_filter = egress_filter if egress_filter is not None else ''
25609        '''
25610         A filter applied to the routing logic to pin datasource to nodes.
25611        '''
25612        self.healthy = healthy if healthy is not None else False
25613        '''
25614         True if the datasource is reachable and the credentials are valid.
25615        '''
25616        self.hostname = hostname if hostname is not None else ''
25617        '''
25618         The host to dial to initiate a connection from the egress node to this resource.
25619        '''
25620        self.id = id if id is not None else ''
25621        '''
25622         Unique identifier of the Resource.
25623        '''
25624        self.name = name if name is not None else ''
25625        '''
25626         Unique human-readable name of the Resource.
25627        '''
25628        self.override_database = override_database if override_database is not None else False
25629        '''
25630         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
25631        '''
25632        self.port = port if port is not None else 0
25633        '''
25634         The port to dial to initiate a connection from the egress node to this resource.
25635        '''
25636        self.port_override = port_override if port_override is not None else 0
25637        '''
25638         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25639        '''
25640        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25641        '''
25642         ID of the proxy cluster for this resource, if any.
25643        '''
25644        self.region = region if region is not None else ''
25645        '''
25646         The AWS region to connect to.
25647        '''
25648        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
25649        '''
25650         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
25651        '''
25652        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25653        '''
25654         ID of the secret store containing credentials for this resource, if any.
25655        '''
25656        self.subdomain = subdomain if subdomain is not None else ''
25657        '''
25658         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25659        '''
25660        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25661        '''
25662         Tags is a map of key, value pairs.
25663        '''
25664        self.username = username if username is not None else ''
25665        '''
25666         The username to authenticate with.
25667        '''
25668
25669    def __repr__(self):
25670        return '<sdm.RDSPostgresIAM ' + \
25671            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25672            'database: ' + repr(self.database) + ' ' +\
25673            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25674            'healthy: ' + repr(self.healthy) + ' ' +\
25675            'hostname: ' + repr(self.hostname) + ' ' +\
25676            'id: ' + repr(self.id) + ' ' +\
25677            'name: ' + repr(self.name) + ' ' +\
25678            'override_database: ' + repr(self.override_database) + ' ' +\
25679            'port: ' + repr(self.port) + ' ' +\
25680            'port_override: ' + repr(self.port_override) + ' ' +\
25681            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25682            'region: ' + repr(self.region) + ' ' +\
25683            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
25684            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25685            'subdomain: ' + repr(self.subdomain) + ' ' +\
25686            'tags: ' + repr(self.tags) + ' ' +\
25687            'username: ' + repr(self.username) + ' ' +\
25688            '>'
25689
25690    def to_dict(self):
25691        return {
25692            'bind_interface': self.bind_interface,
25693            'database': self.database,
25694            'egress_filter': self.egress_filter,
25695            'healthy': self.healthy,
25696            'hostname': self.hostname,
25697            'id': self.id,
25698            'name': self.name,
25699            'override_database': self.override_database,
25700            'port': self.port,
25701            'port_override': self.port_override,
25702            'proxy_cluster_id': self.proxy_cluster_id,
25703            'region': self.region,
25704            'role_assumption_arn': self.role_assumption_arn,
25705            'secret_store_id': self.secret_store_id,
25706            'subdomain': self.subdomain,
25707            'tags': self.tags,
25708            'username': self.username,
25709        }
25710
25711    @classmethod
25712    def from_dict(cls, d):
25713        return cls(
25714            bind_interface=d.get('bind_interface'),
25715            database=d.get('database'),
25716            egress_filter=d.get('egress_filter'),
25717            healthy=d.get('healthy'),
25718            hostname=d.get('hostname'),
25719            id=d.get('id'),
25720            name=d.get('name'),
25721            override_database=d.get('override_database'),
25722            port=d.get('port'),
25723            port_override=d.get('port_override'),
25724            proxy_cluster_id=d.get('proxy_cluster_id'),
25725            region=d.get('region'),
25726            role_assumption_arn=d.get('role_assumption_arn'),
25727            secret_store_id=d.get('secret_store_id'),
25728            subdomain=d.get('subdomain'),
25729            tags=d.get('tags'),
25730            username=d.get('username'),
25731        )
25732
25733
25734class RabbitMQAMQP091:
25735    __slots__ = [
25736        'bind_interface',
25737        'egress_filter',
25738        'healthy',
25739        'hostname',
25740        'id',
25741        'name',
25742        'password',
25743        'port',
25744        'port_override',
25745        'proxy_cluster_id',
25746        'secret_store_id',
25747        'subdomain',
25748        'tags',
25749        'tls_required',
25750        'username',
25751    ]
25752
25753    def __init__(
25754        self,
25755        bind_interface=None,
25756        egress_filter=None,
25757        healthy=None,
25758        hostname=None,
25759        id=None,
25760        name=None,
25761        password=None,
25762        port=None,
25763        port_override=None,
25764        proxy_cluster_id=None,
25765        secret_store_id=None,
25766        subdomain=None,
25767        tags=None,
25768        tls_required=None,
25769        username=None,
25770    ):
25771        self.bind_interface = bind_interface if bind_interface is not None else ''
25772        '''
25773         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25774        '''
25775        self.egress_filter = egress_filter if egress_filter is not None else ''
25776        '''
25777         A filter applied to the routing logic to pin datasource to nodes.
25778        '''
25779        self.healthy = healthy if healthy is not None else False
25780        '''
25781         True if the datasource is reachable and the credentials are valid.
25782        '''
25783        self.hostname = hostname if hostname is not None else ''
25784        '''
25785         The host to dial to initiate a connection from the egress node to this resource.
25786        '''
25787        self.id = id if id is not None else ''
25788        '''
25789         Unique identifier of the Resource.
25790        '''
25791        self.name = name if name is not None else ''
25792        '''
25793         Unique human-readable name of the Resource.
25794        '''
25795        self.password = password if password is not None else ''
25796        '''
25797         The password to authenticate with.
25798        '''
25799        self.port = port if port is not None else 0
25800        '''
25801         The port to dial to initiate a connection from the egress node to this resource.
25802        '''
25803        self.port_override = port_override if port_override is not None else 0
25804        '''
25805         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25806        '''
25807        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25808        '''
25809         ID of the proxy cluster for this resource, if any.
25810        '''
25811        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25812        '''
25813         ID of the secret store containing credentials for this resource, if any.
25814        '''
25815        self.subdomain = subdomain if subdomain is not None else ''
25816        '''
25817         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25818        '''
25819        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25820        '''
25821         Tags is a map of key, value pairs.
25822        '''
25823        self.tls_required = tls_required if tls_required is not None else False
25824        '''
25825         If set, TLS must be used to connect to this resource.
25826        '''
25827        self.username = username if username is not None else ''
25828        '''
25829         The username to authenticate with.
25830        '''
25831
25832    def __repr__(self):
25833        return '<sdm.RabbitMQAMQP091 ' + \
25834            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25835            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25836            'healthy: ' + repr(self.healthy) + ' ' +\
25837            'hostname: ' + repr(self.hostname) + ' ' +\
25838            'id: ' + repr(self.id) + ' ' +\
25839            'name: ' + repr(self.name) + ' ' +\
25840            'password: ' + repr(self.password) + ' ' +\
25841            'port: ' + repr(self.port) + ' ' +\
25842            'port_override: ' + repr(self.port_override) + ' ' +\
25843            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25844            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25845            'subdomain: ' + repr(self.subdomain) + ' ' +\
25846            'tags: ' + repr(self.tags) + ' ' +\
25847            'tls_required: ' + repr(self.tls_required) + ' ' +\
25848            'username: ' + repr(self.username) + ' ' +\
25849            '>'
25850
25851    def to_dict(self):
25852        return {
25853            'bind_interface': self.bind_interface,
25854            'egress_filter': self.egress_filter,
25855            'healthy': self.healthy,
25856            'hostname': self.hostname,
25857            'id': self.id,
25858            'name': self.name,
25859            'password': self.password,
25860            'port': self.port,
25861            'port_override': self.port_override,
25862            'proxy_cluster_id': self.proxy_cluster_id,
25863            'secret_store_id': self.secret_store_id,
25864            'subdomain': self.subdomain,
25865            'tags': self.tags,
25866            'tls_required': self.tls_required,
25867            'username': self.username,
25868        }
25869
25870    @classmethod
25871    def from_dict(cls, d):
25872        return cls(
25873            bind_interface=d.get('bind_interface'),
25874            egress_filter=d.get('egress_filter'),
25875            healthy=d.get('healthy'),
25876            hostname=d.get('hostname'),
25877            id=d.get('id'),
25878            name=d.get('name'),
25879            password=d.get('password'),
25880            port=d.get('port'),
25881            port_override=d.get('port_override'),
25882            proxy_cluster_id=d.get('proxy_cluster_id'),
25883            secret_store_id=d.get('secret_store_id'),
25884            subdomain=d.get('subdomain'),
25885            tags=d.get('tags'),
25886            tls_required=d.get('tls_required'),
25887            username=d.get('username'),
25888        )
25889
25890
25891class RateLimitMetadata:
25892    '''
25893         RateLimitMetadata contains information about remaining requests avaialable
25894     to the user over some timeframe.
25895    '''
25896    __slots__ = [
25897        'bucket',
25898        'limit',
25899        'remaining',
25900        'reset_at',
25901    ]
25902
25903    def __init__(
25904        self,
25905        bucket=None,
25906        limit=None,
25907        remaining=None,
25908        reset_at=None,
25909    ):
25910        self.bucket = bucket if bucket is not None else ''
25911        '''
25912         The bucket this user/token is associated with, which may be shared between
25913         multiple users/tokens.
25914        '''
25915        self.limit = limit if limit is not None else 0
25916        '''
25917         How many total requests the user/token is authorized to make before being
25918         rate limited.
25919        '''
25920        self.remaining = remaining if remaining is not None else 0
25921        '''
25922         How many remaining requests out of the limit are still avaialable.
25923        '''
25924        self.reset_at = reset_at if reset_at is not None else None
25925        '''
25926         The time when remaining will be reset to limit.
25927        '''
25928
25929    def __repr__(self):
25930        return '<sdm.RateLimitMetadata ' + \
25931            'bucket: ' + repr(self.bucket) + ' ' +\
25932            'limit: ' + repr(self.limit) + ' ' +\
25933            'remaining: ' + repr(self.remaining) + ' ' +\
25934            'reset_at: ' + repr(self.reset_at) + ' ' +\
25935            '>'
25936
25937    def to_dict(self):
25938        return {
25939            'bucket': self.bucket,
25940            'limit': self.limit,
25941            'remaining': self.remaining,
25942            'reset_at': self.reset_at,
25943        }
25944
25945    @classmethod
25946    def from_dict(cls, d):
25947        return cls(
25948            bucket=d.get('bucket'),
25949            limit=d.get('limit'),
25950            remaining=d.get('remaining'),
25951            reset_at=d.get('reset_at'),
25952        )
25953
25954
25955class RawTCP:
25956    __slots__ = [
25957        'bind_interface',
25958        'egress_filter',
25959        'healthy',
25960        'hostname',
25961        'id',
25962        'name',
25963        'port',
25964        'port_override',
25965        'proxy_cluster_id',
25966        'secret_store_id',
25967        'subdomain',
25968        'tags',
25969    ]
25970
25971    def __init__(
25972        self,
25973        bind_interface=None,
25974        egress_filter=None,
25975        healthy=None,
25976        hostname=None,
25977        id=None,
25978        name=None,
25979        port=None,
25980        port_override=None,
25981        proxy_cluster_id=None,
25982        secret_store_id=None,
25983        subdomain=None,
25984        tags=None,
25985    ):
25986        self.bind_interface = bind_interface if bind_interface is not None else ''
25987        '''
25988         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25989        '''
25990        self.egress_filter = egress_filter if egress_filter is not None else ''
25991        '''
25992         A filter applied to the routing logic to pin datasource to nodes.
25993        '''
25994        self.healthy = healthy if healthy is not None else False
25995        '''
25996         True if the datasource is reachable and the credentials are valid.
25997        '''
25998        self.hostname = hostname if hostname is not None else ''
25999        '''
26000         The host to dial to initiate a connection from the egress node to this resource.
26001        '''
26002        self.id = id if id is not None else ''
26003        '''
26004         Unique identifier of the Resource.
26005        '''
26006        self.name = name if name is not None else ''
26007        '''
26008         Unique human-readable name of the Resource.
26009        '''
26010        self.port = port if port is not None else 0
26011        '''
26012         The port to dial to initiate a connection from the egress node to this resource.
26013        '''
26014        self.port_override = port_override if port_override is not None else 0
26015        '''
26016         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26017        '''
26018        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26019        '''
26020         ID of the proxy cluster for this resource, if any.
26021        '''
26022        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26023        '''
26024         ID of the secret store containing credentials for this resource, if any.
26025        '''
26026        self.subdomain = subdomain if subdomain is not None else ''
26027        '''
26028         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26029        '''
26030        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26031        '''
26032         Tags is a map of key, value pairs.
26033        '''
26034
26035    def __repr__(self):
26036        return '<sdm.RawTCP ' + \
26037            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26038            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26039            'healthy: ' + repr(self.healthy) + ' ' +\
26040            'hostname: ' + repr(self.hostname) + ' ' +\
26041            'id: ' + repr(self.id) + ' ' +\
26042            'name: ' + repr(self.name) + ' ' +\
26043            'port: ' + repr(self.port) + ' ' +\
26044            'port_override: ' + repr(self.port_override) + ' ' +\
26045            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26046            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26047            'subdomain: ' + repr(self.subdomain) + ' ' +\
26048            'tags: ' + repr(self.tags) + ' ' +\
26049            '>'
26050
26051    def to_dict(self):
26052        return {
26053            'bind_interface': self.bind_interface,
26054            'egress_filter': self.egress_filter,
26055            'healthy': self.healthy,
26056            'hostname': self.hostname,
26057            'id': self.id,
26058            'name': self.name,
26059            'port': self.port,
26060            'port_override': self.port_override,
26061            'proxy_cluster_id': self.proxy_cluster_id,
26062            'secret_store_id': self.secret_store_id,
26063            'subdomain': self.subdomain,
26064            'tags': self.tags,
26065        }
26066
26067    @classmethod
26068    def from_dict(cls, d):
26069        return cls(
26070            bind_interface=d.get('bind_interface'),
26071            egress_filter=d.get('egress_filter'),
26072            healthy=d.get('healthy'),
26073            hostname=d.get('hostname'),
26074            id=d.get('id'),
26075            name=d.get('name'),
26076            port=d.get('port'),
26077            port_override=d.get('port_override'),
26078            proxy_cluster_id=d.get('proxy_cluster_id'),
26079            secret_store_id=d.get('secret_store_id'),
26080            subdomain=d.get('subdomain'),
26081            tags=d.get('tags'),
26082        )
26083
26084
26085class Redis:
26086    __slots__ = [
26087        'bind_interface',
26088        'egress_filter',
26089        'healthy',
26090        'hostname',
26091        'id',
26092        'name',
26093        'password',
26094        'port',
26095        'port_override',
26096        'proxy_cluster_id',
26097        'secret_store_id',
26098        'subdomain',
26099        'tags',
26100        'tls_required',
26101        'username',
26102    ]
26103
26104    def __init__(
26105        self,
26106        bind_interface=None,
26107        egress_filter=None,
26108        healthy=None,
26109        hostname=None,
26110        id=None,
26111        name=None,
26112        password=None,
26113        port=None,
26114        port_override=None,
26115        proxy_cluster_id=None,
26116        secret_store_id=None,
26117        subdomain=None,
26118        tags=None,
26119        tls_required=None,
26120        username=None,
26121    ):
26122        self.bind_interface = bind_interface if bind_interface is not None else ''
26123        '''
26124         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26125        '''
26126        self.egress_filter = egress_filter if egress_filter is not None else ''
26127        '''
26128         A filter applied to the routing logic to pin datasource to nodes.
26129        '''
26130        self.healthy = healthy if healthy is not None else False
26131        '''
26132         True if the datasource is reachable and the credentials are valid.
26133        '''
26134        self.hostname = hostname if hostname is not None else ''
26135        '''
26136         The host to dial to initiate a connection from the egress node to this resource.
26137        '''
26138        self.id = id if id is not None else ''
26139        '''
26140         Unique identifier of the Resource.
26141        '''
26142        self.name = name if name is not None else ''
26143        '''
26144         Unique human-readable name of the Resource.
26145        '''
26146        self.password = password if password is not None else ''
26147        '''
26148         The password to authenticate with.
26149        '''
26150        self.port = port if port is not None else 0
26151        '''
26152         The port to dial to initiate a connection from the egress node to this resource.
26153        '''
26154        self.port_override = port_override if port_override is not None else 0
26155        '''
26156         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26157        '''
26158        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26159        '''
26160         ID of the proxy cluster for this resource, if any.
26161        '''
26162        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26163        '''
26164         ID of the secret store containing credentials for this resource, if any.
26165        '''
26166        self.subdomain = subdomain if subdomain is not None else ''
26167        '''
26168         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26169        '''
26170        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26171        '''
26172         Tags is a map of key, value pairs.
26173        '''
26174        self.tls_required = tls_required if tls_required is not None else False
26175        '''
26176         If set, TLS must be used to connect to this resource.
26177        '''
26178        self.username = username if username is not None else ''
26179        '''
26180         The username to authenticate with.
26181        '''
26182
26183    def __repr__(self):
26184        return '<sdm.Redis ' + \
26185            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26186            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26187            'healthy: ' + repr(self.healthy) + ' ' +\
26188            'hostname: ' + repr(self.hostname) + ' ' +\
26189            'id: ' + repr(self.id) + ' ' +\
26190            'name: ' + repr(self.name) + ' ' +\
26191            'password: ' + repr(self.password) + ' ' +\
26192            'port: ' + repr(self.port) + ' ' +\
26193            'port_override: ' + repr(self.port_override) + ' ' +\
26194            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26195            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26196            'subdomain: ' + repr(self.subdomain) + ' ' +\
26197            'tags: ' + repr(self.tags) + ' ' +\
26198            'tls_required: ' + repr(self.tls_required) + ' ' +\
26199            'username: ' + repr(self.username) + ' ' +\
26200            '>'
26201
26202    def to_dict(self):
26203        return {
26204            'bind_interface': self.bind_interface,
26205            'egress_filter': self.egress_filter,
26206            'healthy': self.healthy,
26207            'hostname': self.hostname,
26208            'id': self.id,
26209            'name': self.name,
26210            'password': self.password,
26211            'port': self.port,
26212            'port_override': self.port_override,
26213            'proxy_cluster_id': self.proxy_cluster_id,
26214            'secret_store_id': self.secret_store_id,
26215            'subdomain': self.subdomain,
26216            'tags': self.tags,
26217            'tls_required': self.tls_required,
26218            'username': self.username,
26219        }
26220
26221    @classmethod
26222    def from_dict(cls, d):
26223        return cls(
26224            bind_interface=d.get('bind_interface'),
26225            egress_filter=d.get('egress_filter'),
26226            healthy=d.get('healthy'),
26227            hostname=d.get('hostname'),
26228            id=d.get('id'),
26229            name=d.get('name'),
26230            password=d.get('password'),
26231            port=d.get('port'),
26232            port_override=d.get('port_override'),
26233            proxy_cluster_id=d.get('proxy_cluster_id'),
26234            secret_store_id=d.get('secret_store_id'),
26235            subdomain=d.get('subdomain'),
26236            tags=d.get('tags'),
26237            tls_required=d.get('tls_required'),
26238            username=d.get('username'),
26239        )
26240
26241
26242class RedisCluster:
26243    __slots__ = [
26244        'bind_interface',
26245        'egress_filter',
26246        'healthy',
26247        'hostname',
26248        'id',
26249        'name',
26250        'password',
26251        'port',
26252        'port_override',
26253        'proxy_cluster_id',
26254        'secret_store_id',
26255        'subdomain',
26256        'tags',
26257        'tls_required',
26258        'username',
26259    ]
26260
26261    def __init__(
26262        self,
26263        bind_interface=None,
26264        egress_filter=None,
26265        healthy=None,
26266        hostname=None,
26267        id=None,
26268        name=None,
26269        password=None,
26270        port=None,
26271        port_override=None,
26272        proxy_cluster_id=None,
26273        secret_store_id=None,
26274        subdomain=None,
26275        tags=None,
26276        tls_required=None,
26277        username=None,
26278    ):
26279        self.bind_interface = bind_interface if bind_interface is not None else ''
26280        '''
26281         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26282        '''
26283        self.egress_filter = egress_filter if egress_filter is not None else ''
26284        '''
26285         A filter applied to the routing logic to pin datasource to nodes.
26286        '''
26287        self.healthy = healthy if healthy is not None else False
26288        '''
26289         True if the datasource is reachable and the credentials are valid.
26290        '''
26291        self.hostname = hostname if hostname is not None else ''
26292        '''
26293         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
26294        '''
26295        self.id = id if id is not None else ''
26296        '''
26297         Unique identifier of the Resource.
26298        '''
26299        self.name = name if name is not None else ''
26300        '''
26301         Unique human-readable name of the Resource.
26302        '''
26303        self.password = password if password is not None else ''
26304        '''
26305         The password to authenticate with.
26306        '''
26307        self.port = port if port is not None else 0
26308        '''
26309         The port to dial to initiate a connection from the egress node to this resource.
26310        '''
26311        self.port_override = port_override if port_override is not None else 0
26312        '''
26313         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26314        '''
26315        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26316        '''
26317         ID of the proxy cluster for this resource, if any.
26318        '''
26319        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26320        '''
26321         ID of the secret store containing credentials for this resource, if any.
26322        '''
26323        self.subdomain = subdomain if subdomain is not None else ''
26324        '''
26325         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26326        '''
26327        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26328        '''
26329         Tags is a map of key, value pairs.
26330        '''
26331        self.tls_required = tls_required if tls_required is not None else False
26332        '''
26333         If set, TLS must be used to connect to this resource.
26334        '''
26335        self.username = username if username is not None else ''
26336        '''
26337         The username to authenticate with.
26338        '''
26339
26340    def __repr__(self):
26341        return '<sdm.RedisCluster ' + \
26342            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26343            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26344            'healthy: ' + repr(self.healthy) + ' ' +\
26345            'hostname: ' + repr(self.hostname) + ' ' +\
26346            'id: ' + repr(self.id) + ' ' +\
26347            'name: ' + repr(self.name) + ' ' +\
26348            'password: ' + repr(self.password) + ' ' +\
26349            'port: ' + repr(self.port) + ' ' +\
26350            'port_override: ' + repr(self.port_override) + ' ' +\
26351            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26352            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26353            'subdomain: ' + repr(self.subdomain) + ' ' +\
26354            'tags: ' + repr(self.tags) + ' ' +\
26355            'tls_required: ' + repr(self.tls_required) + ' ' +\
26356            'username: ' + repr(self.username) + ' ' +\
26357            '>'
26358
26359    def to_dict(self):
26360        return {
26361            'bind_interface': self.bind_interface,
26362            'egress_filter': self.egress_filter,
26363            'healthy': self.healthy,
26364            'hostname': self.hostname,
26365            'id': self.id,
26366            'name': self.name,
26367            'password': self.password,
26368            'port': self.port,
26369            'port_override': self.port_override,
26370            'proxy_cluster_id': self.proxy_cluster_id,
26371            'secret_store_id': self.secret_store_id,
26372            'subdomain': self.subdomain,
26373            'tags': self.tags,
26374            'tls_required': self.tls_required,
26375            'username': self.username,
26376        }
26377
26378    @classmethod
26379    def from_dict(cls, d):
26380        return cls(
26381            bind_interface=d.get('bind_interface'),
26382            egress_filter=d.get('egress_filter'),
26383            healthy=d.get('healthy'),
26384            hostname=d.get('hostname'),
26385            id=d.get('id'),
26386            name=d.get('name'),
26387            password=d.get('password'),
26388            port=d.get('port'),
26389            port_override=d.get('port_override'),
26390            proxy_cluster_id=d.get('proxy_cluster_id'),
26391            secret_store_id=d.get('secret_store_id'),
26392            subdomain=d.get('subdomain'),
26393            tags=d.get('tags'),
26394            tls_required=d.get('tls_required'),
26395            username=d.get('username'),
26396        )
26397
26398
26399class Redshift:
26400    __slots__ = [
26401        'bind_interface',
26402        'database',
26403        'egress_filter',
26404        'healthy',
26405        'hostname',
26406        'id',
26407        'name',
26408        'override_database',
26409        'password',
26410        'port',
26411        'port_override',
26412        'proxy_cluster_id',
26413        'secret_store_id',
26414        'subdomain',
26415        'tags',
26416        'username',
26417    ]
26418
26419    def __init__(
26420        self,
26421        bind_interface=None,
26422        database=None,
26423        egress_filter=None,
26424        healthy=None,
26425        hostname=None,
26426        id=None,
26427        name=None,
26428        override_database=None,
26429        password=None,
26430        port=None,
26431        port_override=None,
26432        proxy_cluster_id=None,
26433        secret_store_id=None,
26434        subdomain=None,
26435        tags=None,
26436        username=None,
26437    ):
26438        self.bind_interface = bind_interface if bind_interface is not None else ''
26439        '''
26440         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26441        '''
26442        self.database = database if database is not None else ''
26443        '''
26444         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26445        '''
26446        self.egress_filter = egress_filter if egress_filter is not None else ''
26447        '''
26448         A filter applied to the routing logic to pin datasource to nodes.
26449        '''
26450        self.healthy = healthy if healthy is not None else False
26451        '''
26452         True if the datasource is reachable and the credentials are valid.
26453        '''
26454        self.hostname = hostname if hostname is not None else ''
26455        '''
26456         The host to dial to initiate a connection from the egress node to this resource.
26457        '''
26458        self.id = id if id is not None else ''
26459        '''
26460         Unique identifier of the Resource.
26461        '''
26462        self.name = name if name is not None else ''
26463        '''
26464         Unique human-readable name of the Resource.
26465        '''
26466        self.override_database = override_database if override_database is not None else False
26467        '''
26468         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26469        '''
26470        self.password = password if password is not None else ''
26471        '''
26472         The password to authenticate with.
26473        '''
26474        self.port = port if port is not None else 0
26475        '''
26476         The port to dial to initiate a connection from the egress node to this resource.
26477        '''
26478        self.port_override = port_override if port_override is not None else 0
26479        '''
26480         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26481        '''
26482        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26483        '''
26484         ID of the proxy cluster for this resource, if any.
26485        '''
26486        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26487        '''
26488         ID of the secret store containing credentials for this resource, if any.
26489        '''
26490        self.subdomain = subdomain if subdomain is not None else ''
26491        '''
26492         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26493        '''
26494        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26495        '''
26496         Tags is a map of key, value pairs.
26497        '''
26498        self.username = username if username is not None else ''
26499        '''
26500         The username to authenticate with.
26501        '''
26502
26503    def __repr__(self):
26504        return '<sdm.Redshift ' + \
26505            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26506            'database: ' + repr(self.database) + ' ' +\
26507            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26508            'healthy: ' + repr(self.healthy) + ' ' +\
26509            'hostname: ' + repr(self.hostname) + ' ' +\
26510            'id: ' + repr(self.id) + ' ' +\
26511            'name: ' + repr(self.name) + ' ' +\
26512            'override_database: ' + repr(self.override_database) + ' ' +\
26513            'password: ' + repr(self.password) + ' ' +\
26514            'port: ' + repr(self.port) + ' ' +\
26515            'port_override: ' + repr(self.port_override) + ' ' +\
26516            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26517            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26518            'subdomain: ' + repr(self.subdomain) + ' ' +\
26519            'tags: ' + repr(self.tags) + ' ' +\
26520            'username: ' + repr(self.username) + ' ' +\
26521            '>'
26522
26523    def to_dict(self):
26524        return {
26525            'bind_interface': self.bind_interface,
26526            'database': self.database,
26527            'egress_filter': self.egress_filter,
26528            'healthy': self.healthy,
26529            'hostname': self.hostname,
26530            'id': self.id,
26531            'name': self.name,
26532            'override_database': self.override_database,
26533            'password': self.password,
26534            'port': self.port,
26535            'port_override': self.port_override,
26536            'proxy_cluster_id': self.proxy_cluster_id,
26537            'secret_store_id': self.secret_store_id,
26538            'subdomain': self.subdomain,
26539            'tags': self.tags,
26540            'username': self.username,
26541        }
26542
26543    @classmethod
26544    def from_dict(cls, d):
26545        return cls(
26546            bind_interface=d.get('bind_interface'),
26547            database=d.get('database'),
26548            egress_filter=d.get('egress_filter'),
26549            healthy=d.get('healthy'),
26550            hostname=d.get('hostname'),
26551            id=d.get('id'),
26552            name=d.get('name'),
26553            override_database=d.get('override_database'),
26554            password=d.get('password'),
26555            port=d.get('port'),
26556            port_override=d.get('port_override'),
26557            proxy_cluster_id=d.get('proxy_cluster_id'),
26558            secret_store_id=d.get('secret_store_id'),
26559            subdomain=d.get('subdomain'),
26560            tags=d.get('tags'),
26561            username=d.get('username'),
26562        )
26563
26564
26565class RedshiftIAM:
26566    __slots__ = [
26567        'bind_interface',
26568        'cluster_id',
26569        'database',
26570        'egress_filter',
26571        'healthy',
26572        'hostname',
26573        'id',
26574        'name',
26575        'override_database',
26576        'port',
26577        'port_override',
26578        'proxy_cluster_id',
26579        'region',
26580        'role_assumption_arn',
26581        'secret_store_id',
26582        'subdomain',
26583        'tags',
26584    ]
26585
26586    def __init__(
26587        self,
26588        bind_interface=None,
26589        cluster_id=None,
26590        database=None,
26591        egress_filter=None,
26592        healthy=None,
26593        hostname=None,
26594        id=None,
26595        name=None,
26596        override_database=None,
26597        port=None,
26598        port_override=None,
26599        proxy_cluster_id=None,
26600        region=None,
26601        role_assumption_arn=None,
26602        secret_store_id=None,
26603        subdomain=None,
26604        tags=None,
26605    ):
26606        self.bind_interface = bind_interface if bind_interface is not None else ''
26607        '''
26608         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26609        '''
26610        self.cluster_id = cluster_id if cluster_id is not None else ''
26611        '''
26612         Cluster Identified of Redshift cluster
26613        '''
26614        self.database = database if database is not None else ''
26615        '''
26616         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26617        '''
26618        self.egress_filter = egress_filter if egress_filter is not None else ''
26619        '''
26620         A filter applied to the routing logic to pin datasource to nodes.
26621        '''
26622        self.healthy = healthy if healthy is not None else False
26623        '''
26624         True if the datasource is reachable and the credentials are valid.
26625        '''
26626        self.hostname = hostname if hostname is not None else ''
26627        '''
26628         The host to dial to initiate a connection from the egress node to this resource.
26629        '''
26630        self.id = id if id is not None else ''
26631        '''
26632         Unique identifier of the Resource.
26633        '''
26634        self.name = name if name is not None else ''
26635        '''
26636         Unique human-readable name of the Resource.
26637        '''
26638        self.override_database = override_database if override_database is not None else False
26639        '''
26640         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26641        '''
26642        self.port = port if port is not None else 0
26643        '''
26644         The port to dial to initiate a connection from the egress node to this resource.
26645        '''
26646        self.port_override = port_override if port_override is not None else 0
26647        '''
26648         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26649        '''
26650        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26651        '''
26652         ID of the proxy cluster for this resource, if any.
26653        '''
26654        self.region = region if region is not None else ''
26655        '''
26656         The AWS region to connect to.
26657        '''
26658        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
26659        '''
26660         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
26661        '''
26662        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26663        '''
26664         ID of the secret store containing credentials for this resource, if any.
26665        '''
26666        self.subdomain = subdomain if subdomain is not None else ''
26667        '''
26668         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26669        '''
26670        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26671        '''
26672         Tags is a map of key, value pairs.
26673        '''
26674
26675    def __repr__(self):
26676        return '<sdm.RedshiftIAM ' + \
26677            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26678            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
26679            'database: ' + repr(self.database) + ' ' +\
26680            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26681            'healthy: ' + repr(self.healthy) + ' ' +\
26682            'hostname: ' + repr(self.hostname) + ' ' +\
26683            'id: ' + repr(self.id) + ' ' +\
26684            'name: ' + repr(self.name) + ' ' +\
26685            'override_database: ' + repr(self.override_database) + ' ' +\
26686            'port: ' + repr(self.port) + ' ' +\
26687            'port_override: ' + repr(self.port_override) + ' ' +\
26688            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26689            'region: ' + repr(self.region) + ' ' +\
26690            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
26691            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26692            'subdomain: ' + repr(self.subdomain) + ' ' +\
26693            'tags: ' + repr(self.tags) + ' ' +\
26694            '>'
26695
26696    def to_dict(self):
26697        return {
26698            'bind_interface': self.bind_interface,
26699            'cluster_id': self.cluster_id,
26700            'database': self.database,
26701            'egress_filter': self.egress_filter,
26702            'healthy': self.healthy,
26703            'hostname': self.hostname,
26704            'id': self.id,
26705            'name': self.name,
26706            'override_database': self.override_database,
26707            'port': self.port,
26708            'port_override': self.port_override,
26709            'proxy_cluster_id': self.proxy_cluster_id,
26710            'region': self.region,
26711            'role_assumption_arn': self.role_assumption_arn,
26712            'secret_store_id': self.secret_store_id,
26713            'subdomain': self.subdomain,
26714            'tags': self.tags,
26715        }
26716
26717    @classmethod
26718    def from_dict(cls, d):
26719        return cls(
26720            bind_interface=d.get('bind_interface'),
26721            cluster_id=d.get('cluster_id'),
26722            database=d.get('database'),
26723            egress_filter=d.get('egress_filter'),
26724            healthy=d.get('healthy'),
26725            hostname=d.get('hostname'),
26726            id=d.get('id'),
26727            name=d.get('name'),
26728            override_database=d.get('override_database'),
26729            port=d.get('port'),
26730            port_override=d.get('port_override'),
26731            proxy_cluster_id=d.get('proxy_cluster_id'),
26732            region=d.get('region'),
26733            role_assumption_arn=d.get('role_assumption_arn'),
26734            secret_store_id=d.get('secret_store_id'),
26735            subdomain=d.get('subdomain'),
26736            tags=d.get('tags'),
26737        )
26738
26739
26740class RedshiftServerlessIAM:
26741    __slots__ = [
26742        'bind_interface',
26743        'database',
26744        'egress_filter',
26745        'healthy',
26746        'hostname',
26747        'id',
26748        'name',
26749        'override_database',
26750        'port',
26751        'port_override',
26752        'proxy_cluster_id',
26753        'region',
26754        'role_assumption_arn',
26755        'secret_store_id',
26756        'subdomain',
26757        'tags',
26758        'workgroup',
26759    ]
26760
26761    def __init__(
26762        self,
26763        bind_interface=None,
26764        database=None,
26765        egress_filter=None,
26766        healthy=None,
26767        hostname=None,
26768        id=None,
26769        name=None,
26770        override_database=None,
26771        port=None,
26772        port_override=None,
26773        proxy_cluster_id=None,
26774        region=None,
26775        role_assumption_arn=None,
26776        secret_store_id=None,
26777        subdomain=None,
26778        tags=None,
26779        workgroup=None,
26780    ):
26781        self.bind_interface = bind_interface if bind_interface is not None else ''
26782        '''
26783         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26784        '''
26785        self.database = database if database is not None else ''
26786        '''
26787         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26788        '''
26789        self.egress_filter = egress_filter if egress_filter is not None else ''
26790        '''
26791         A filter applied to the routing logic to pin datasource to nodes.
26792        '''
26793        self.healthy = healthy if healthy is not None else False
26794        '''
26795         True if the datasource is reachable and the credentials are valid.
26796        '''
26797        self.hostname = hostname if hostname is not None else ''
26798        '''
26799         The host to dial to initiate a connection from the egress node to this resource.
26800        '''
26801        self.id = id if id is not None else ''
26802        '''
26803         Unique identifier of the Resource.
26804        '''
26805        self.name = name if name is not None else ''
26806        '''
26807         Unique human-readable name of the Resource.
26808        '''
26809        self.override_database = override_database if override_database is not None else False
26810        '''
26811         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26812        '''
26813        self.port = port if port is not None else 0
26814        '''
26815         The port to dial to initiate a connection from the egress node to this resource.
26816        '''
26817        self.port_override = port_override if port_override is not None else 0
26818        '''
26819         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26820        '''
26821        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26822        '''
26823         ID of the proxy cluster for this resource, if any.
26824        '''
26825        self.region = region if region is not None else ''
26826        '''
26827         The AWS region to connect to.
26828        '''
26829        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
26830        '''
26831         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
26832        '''
26833        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26834        '''
26835         ID of the secret store containing credentials for this resource, if any.
26836        '''
26837        self.subdomain = subdomain if subdomain is not None else ''
26838        '''
26839         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26840        '''
26841        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26842        '''
26843         Tags is a map of key, value pairs.
26844        '''
26845        self.workgroup = workgroup if workgroup is not None else ''
26846        '''
26847         Workgroup name in the serverless Redshift
26848        '''
26849
26850    def __repr__(self):
26851        return '<sdm.RedshiftServerlessIAM ' + \
26852            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26853            'database: ' + repr(self.database) + ' ' +\
26854            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26855            'healthy: ' + repr(self.healthy) + ' ' +\
26856            'hostname: ' + repr(self.hostname) + ' ' +\
26857            'id: ' + repr(self.id) + ' ' +\
26858            'name: ' + repr(self.name) + ' ' +\
26859            'override_database: ' + repr(self.override_database) + ' ' +\
26860            'port: ' + repr(self.port) + ' ' +\
26861            'port_override: ' + repr(self.port_override) + ' ' +\
26862            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26863            'region: ' + repr(self.region) + ' ' +\
26864            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
26865            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26866            'subdomain: ' + repr(self.subdomain) + ' ' +\
26867            'tags: ' + repr(self.tags) + ' ' +\
26868            'workgroup: ' + repr(self.workgroup) + ' ' +\
26869            '>'
26870
26871    def to_dict(self):
26872        return {
26873            'bind_interface': self.bind_interface,
26874            'database': self.database,
26875            'egress_filter': self.egress_filter,
26876            'healthy': self.healthy,
26877            'hostname': self.hostname,
26878            'id': self.id,
26879            'name': self.name,
26880            'override_database': self.override_database,
26881            'port': self.port,
26882            'port_override': self.port_override,
26883            'proxy_cluster_id': self.proxy_cluster_id,
26884            'region': self.region,
26885            'role_assumption_arn': self.role_assumption_arn,
26886            'secret_store_id': self.secret_store_id,
26887            'subdomain': self.subdomain,
26888            'tags': self.tags,
26889            'workgroup': self.workgroup,
26890        }
26891
26892    @classmethod
26893    def from_dict(cls, d):
26894        return cls(
26895            bind_interface=d.get('bind_interface'),
26896            database=d.get('database'),
26897            egress_filter=d.get('egress_filter'),
26898            healthy=d.get('healthy'),
26899            hostname=d.get('hostname'),
26900            id=d.get('id'),
26901            name=d.get('name'),
26902            override_database=d.get('override_database'),
26903            port=d.get('port'),
26904            port_override=d.get('port_override'),
26905            proxy_cluster_id=d.get('proxy_cluster_id'),
26906            region=d.get('region'),
26907            role_assumption_arn=d.get('role_assumption_arn'),
26908            secret_store_id=d.get('secret_store_id'),
26909            subdomain=d.get('subdomain'),
26910            tags=d.get('tags'),
26911            workgroup=d.get('workgroup'),
26912        )
26913
26914
26915class Relay:
26916    '''
26917         Relay represents a StrongDM CLI installation running in relay mode.
26918    '''
26919    __slots__ = [
26920        'device',
26921        'gateway_filter',
26922        'id',
26923        'location',
26924        'maintenance_windows',
26925        'name',
26926        'state',
26927        'tags',
26928        'version',
26929    ]
26930
26931    def __init__(
26932        self,
26933        device=None,
26934        gateway_filter=None,
26935        id=None,
26936        location=None,
26937        maintenance_windows=None,
26938        name=None,
26939        state=None,
26940        tags=None,
26941        version=None,
26942    ):
26943        self.device = device if device is not None else ''
26944        '''
26945         Device is a read only device name uploaded by the gateway process when
26946         it comes online.
26947        '''
26948        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
26949        '''
26950         GatewayFilter can be used to restrict the peering between relays and
26951         gateways. Deprecated.
26952        '''
26953        self.id = id if id is not None else ''
26954        '''
26955         Unique identifier of the Relay.
26956        '''
26957        self.location = location if location is not None else ''
26958        '''
26959         Location is a read only network location uploaded by the gateway process
26960         when it comes online.
26961        '''
26962        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
26963        '''
26964         Maintenance Windows define when this node is allowed to restart. If a node
26965         is requested to restart, it will check each window to determine if any of
26966         them permit it to restart, and if any do, it will. This check is repeated
26967         per window until the restart is successfully completed.
26968         
26969         If not set here, may be set on the command line or via an environment variable
26970         on the process itself; any server setting will take precedence over local
26971         settings. This setting is ineffective for nodes below version 38.44.0.
26972         
26973         If this setting is not applied via this remote configuration or via local
26974         configuration, the default setting is used: always allow restarts if serving
26975         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
26976        '''
26977        self.name = name if name is not None else ''
26978        '''
26979         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.
26980        '''
26981        self.state = state if state is not None else ''
26982        '''
26983         The current state of the relay, one of the NodeState constants.
26984        '''
26985        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26986        '''
26987         Tags is a map of key, value pairs.
26988        '''
26989        self.version = version if version is not None else ''
26990        '''
26991         Version is a read only sdm binary version uploaded by the gateway process
26992         when it comes online.
26993        '''
26994
26995    def __repr__(self):
26996        return '<sdm.Relay ' + \
26997            'device: ' + repr(self.device) + ' ' +\
26998            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
26999            'id: ' + repr(self.id) + ' ' +\
27000            'location: ' + repr(self.location) + ' ' +\
27001            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
27002            'name: ' + repr(self.name) + ' ' +\
27003            'state: ' + repr(self.state) + ' ' +\
27004            'tags: ' + repr(self.tags) + ' ' +\
27005            'version: ' + repr(self.version) + ' ' +\
27006            '>'
27007
27008    def to_dict(self):
27009        return {
27010            'device': self.device,
27011            'gateway_filter': self.gateway_filter,
27012            'id': self.id,
27013            'location': self.location,
27014            'maintenance_windows': self.maintenance_windows,
27015            'name': self.name,
27016            'state': self.state,
27017            'tags': self.tags,
27018            'version': self.version,
27019        }
27020
27021    @classmethod
27022    def from_dict(cls, d):
27023        return cls(
27024            device=d.get('device'),
27025            gateway_filter=d.get('gateway_filter'),
27026            id=d.get('id'),
27027            location=d.get('location'),
27028            maintenance_windows=d.get('maintenance_windows'),
27029            name=d.get('name'),
27030            state=d.get('state'),
27031            tags=d.get('tags'),
27032            version=d.get('version'),
27033        )
27034
27035
27036class RemoteIdentity:
27037    '''
27038         RemoteIdentities define the username to be used for a specific account
27039     when connecting to a remote resource using that group.
27040    '''
27041    __slots__ = [
27042        'account_id',
27043        'id',
27044        'remote_identity_group_id',
27045        'username',
27046    ]
27047
27048    def __init__(
27049        self,
27050        account_id=None,
27051        id=None,
27052        remote_identity_group_id=None,
27053        username=None,
27054    ):
27055        self.account_id = account_id if account_id is not None else ''
27056        '''
27057         The account for this remote identity.
27058        '''
27059        self.id = id if id is not None else ''
27060        '''
27061         Unique identifier of the RemoteIdentity.
27062        '''
27063        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
27064        '''
27065         The remote identity group.
27066        '''
27067        self.username = username if username is not None else ''
27068        '''
27069         The username to be used as the remote identity for this account.
27070        '''
27071
27072    def __repr__(self):
27073        return '<sdm.RemoteIdentity ' + \
27074            'account_id: ' + repr(self.account_id) + ' ' +\
27075            'id: ' + repr(self.id) + ' ' +\
27076            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
27077            'username: ' + repr(self.username) + ' ' +\
27078            '>'
27079
27080    def to_dict(self):
27081        return {
27082            'account_id': self.account_id,
27083            'id': self.id,
27084            'remote_identity_group_id': self.remote_identity_group_id,
27085            'username': self.username,
27086        }
27087
27088    @classmethod
27089    def from_dict(cls, d):
27090        return cls(
27091            account_id=d.get('account_id'),
27092            id=d.get('id'),
27093            remote_identity_group_id=d.get('remote_identity_group_id'),
27094            username=d.get('username'),
27095        )
27096
27097
27098class RemoteIdentityCreateResponse:
27099    '''
27100         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
27101    '''
27102    __slots__ = [
27103        'meta',
27104        'rate_limit',
27105        'remote_identity',
27106    ]
27107
27108    def __init__(
27109        self,
27110        meta=None,
27111        rate_limit=None,
27112        remote_identity=None,
27113    ):
27114        self.meta = meta if meta is not None else None
27115        '''
27116         Reserved for future use.
27117        '''
27118        self.rate_limit = rate_limit if rate_limit is not None else None
27119        '''
27120         Rate limit information.
27121        '''
27122        self.remote_identity = remote_identity if remote_identity is not None else None
27123        '''
27124         The created RemoteIdentity.
27125        '''
27126
27127    def __repr__(self):
27128        return '<sdm.RemoteIdentityCreateResponse ' + \
27129            'meta: ' + repr(self.meta) + ' ' +\
27130            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27131            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27132            '>'
27133
27134    def to_dict(self):
27135        return {
27136            'meta': self.meta,
27137            'rate_limit': self.rate_limit,
27138            'remote_identity': self.remote_identity,
27139        }
27140
27141    @classmethod
27142    def from_dict(cls, d):
27143        return cls(
27144            meta=d.get('meta'),
27145            rate_limit=d.get('rate_limit'),
27146            remote_identity=d.get('remote_identity'),
27147        )
27148
27149
27150class RemoteIdentityDeleteResponse:
27151    '''
27152         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
27153    '''
27154    __slots__ = [
27155        'meta',
27156        'rate_limit',
27157    ]
27158
27159    def __init__(
27160        self,
27161        meta=None,
27162        rate_limit=None,
27163    ):
27164        self.meta = meta if meta is not None else None
27165        '''
27166         Reserved for future use.
27167        '''
27168        self.rate_limit = rate_limit if rate_limit is not None else None
27169        '''
27170         Rate limit information.
27171        '''
27172
27173    def __repr__(self):
27174        return '<sdm.RemoteIdentityDeleteResponse ' + \
27175            'meta: ' + repr(self.meta) + ' ' +\
27176            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27177            '>'
27178
27179    def to_dict(self):
27180        return {
27181            'meta': self.meta,
27182            'rate_limit': self.rate_limit,
27183        }
27184
27185    @classmethod
27186    def from_dict(cls, d):
27187        return cls(
27188            meta=d.get('meta'),
27189            rate_limit=d.get('rate_limit'),
27190        )
27191
27192
27193class RemoteIdentityGetResponse:
27194    '''
27195         RemoteIdentityGetResponse returns a requested RemoteIdentity.
27196    '''
27197    __slots__ = [
27198        'meta',
27199        'rate_limit',
27200        'remote_identity',
27201    ]
27202
27203    def __init__(
27204        self,
27205        meta=None,
27206        rate_limit=None,
27207        remote_identity=None,
27208    ):
27209        self.meta = meta if meta is not None else None
27210        '''
27211         Reserved for future use.
27212        '''
27213        self.rate_limit = rate_limit if rate_limit is not None else None
27214        '''
27215         Rate limit information.
27216        '''
27217        self.remote_identity = remote_identity if remote_identity is not None else None
27218        '''
27219         The requested RemoteIdentity.
27220        '''
27221
27222    def __repr__(self):
27223        return '<sdm.RemoteIdentityGetResponse ' + \
27224            'meta: ' + repr(self.meta) + ' ' +\
27225            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27226            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27227            '>'
27228
27229    def to_dict(self):
27230        return {
27231            'meta': self.meta,
27232            'rate_limit': self.rate_limit,
27233            'remote_identity': self.remote_identity,
27234        }
27235
27236    @classmethod
27237    def from_dict(cls, d):
27238        return cls(
27239            meta=d.get('meta'),
27240            rate_limit=d.get('rate_limit'),
27241            remote_identity=d.get('remote_identity'),
27242        )
27243
27244
27245class RemoteIdentityGroup:
27246    '''
27247         A RemoteIdentityGroup defines a group of remote identities.
27248    '''
27249    __slots__ = [
27250        'id',
27251        'name',
27252    ]
27253
27254    def __init__(
27255        self,
27256        id=None,
27257        name=None,
27258    ):
27259        self.id = id if id is not None else ''
27260        '''
27261         Unique identifier of the RemoteIdentityGroup.
27262        '''
27263        self.name = name if name is not None else ''
27264        '''
27265         Unique human-readable name of the RemoteIdentityGroup.
27266        '''
27267
27268    def __repr__(self):
27269        return '<sdm.RemoteIdentityGroup ' + \
27270            'id: ' + repr(self.id) + ' ' +\
27271            'name: ' + repr(self.name) + ' ' +\
27272            '>'
27273
27274    def to_dict(self):
27275        return {
27276            'id': self.id,
27277            'name': self.name,
27278        }
27279
27280    @classmethod
27281    def from_dict(cls, d):
27282        return cls(
27283            id=d.get('id'),
27284            name=d.get('name'),
27285        )
27286
27287
27288class RemoteIdentityGroupGetResponse:
27289    '''
27290         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
27291    '''
27292    __slots__ = [
27293        'meta',
27294        'rate_limit',
27295        'remote_identity_group',
27296    ]
27297
27298    def __init__(
27299        self,
27300        meta=None,
27301        rate_limit=None,
27302        remote_identity_group=None,
27303    ):
27304        self.meta = meta if meta is not None else None
27305        '''
27306         Reserved for future use.
27307        '''
27308        self.rate_limit = rate_limit if rate_limit is not None else None
27309        '''
27310         Rate limit information.
27311        '''
27312        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
27313        '''
27314         The requested RemoteIdentityGroup.
27315        '''
27316
27317    def __repr__(self):
27318        return '<sdm.RemoteIdentityGroupGetResponse ' + \
27319            'meta: ' + repr(self.meta) + ' ' +\
27320            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27321            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
27322            '>'
27323
27324    def to_dict(self):
27325        return {
27326            'meta': self.meta,
27327            'rate_limit': self.rate_limit,
27328            'remote_identity_group': self.remote_identity_group,
27329        }
27330
27331    @classmethod
27332    def from_dict(cls, d):
27333        return cls(
27334            meta=d.get('meta'),
27335            rate_limit=d.get('rate_limit'),
27336            remote_identity_group=d.get('remote_identity_group'),
27337        )
27338
27339
27340class RemoteIdentityGroupHistory:
27341    '''
27342         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
27343     where every change (create, update and delete) to a RemoteIdentityGroup produces an
27344     RemoteIdentityGroupHistory record.
27345    '''
27346    __slots__ = [
27347        'activity_id',
27348        'deleted_at',
27349        'remote_identity_group',
27350        'timestamp',
27351    ]
27352
27353    def __init__(
27354        self,
27355        activity_id=None,
27356        deleted_at=None,
27357        remote_identity_group=None,
27358        timestamp=None,
27359    ):
27360        self.activity_id = activity_id if activity_id is not None else ''
27361        '''
27362         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
27363         May be empty for some system-initiated updates.
27364        '''
27365        self.deleted_at = deleted_at if deleted_at is not None else None
27366        '''
27367         If this RemoteIdentityGroup was deleted, the time it was deleted.
27368        '''
27369        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
27370        '''
27371         The complete RemoteIdentityGroup state at this time.
27372        '''
27373        self.timestamp = timestamp if timestamp is not None else None
27374        '''
27375         The time at which the RemoteIdentityGroup state was recorded.
27376        '''
27377
27378    def __repr__(self):
27379        return '<sdm.RemoteIdentityGroupHistory ' + \
27380            'activity_id: ' + repr(self.activity_id) + ' ' +\
27381            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
27382            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
27383            'timestamp: ' + repr(self.timestamp) + ' ' +\
27384            '>'
27385
27386    def to_dict(self):
27387        return {
27388            'activity_id': self.activity_id,
27389            'deleted_at': self.deleted_at,
27390            'remote_identity_group': self.remote_identity_group,
27391            'timestamp': self.timestamp,
27392        }
27393
27394    @classmethod
27395    def from_dict(cls, d):
27396        return cls(
27397            activity_id=d.get('activity_id'),
27398            deleted_at=d.get('deleted_at'),
27399            remote_identity_group=d.get('remote_identity_group'),
27400            timestamp=d.get('timestamp'),
27401        )
27402
27403
27404class RemoteIdentityHistory:
27405    '''
27406         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
27407     where every change (create, update and delete) to a RemoteIdentity produces an
27408     RemoteIdentityHistory record.
27409    '''
27410    __slots__ = [
27411        'activity_id',
27412        'deleted_at',
27413        'remote_identity',
27414        'timestamp',
27415    ]
27416
27417    def __init__(
27418        self,
27419        activity_id=None,
27420        deleted_at=None,
27421        remote_identity=None,
27422        timestamp=None,
27423    ):
27424        self.activity_id = activity_id if activity_id is not None else ''
27425        '''
27426         The unique identifier of the Activity that produced this change to the RemoteIdentity.
27427         May be empty for some system-initiated updates.
27428        '''
27429        self.deleted_at = deleted_at if deleted_at is not None else None
27430        '''
27431         If this RemoteIdentity was deleted, the time it was deleted.
27432        '''
27433        self.remote_identity = remote_identity if remote_identity is not None else None
27434        '''
27435         The complete RemoteIdentity state at this time.
27436        '''
27437        self.timestamp = timestamp if timestamp is not None else None
27438        '''
27439         The time at which the RemoteIdentity state was recorded.
27440        '''
27441
27442    def __repr__(self):
27443        return '<sdm.RemoteIdentityHistory ' + \
27444            'activity_id: ' + repr(self.activity_id) + ' ' +\
27445            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
27446            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27447            'timestamp: ' + repr(self.timestamp) + ' ' +\
27448            '>'
27449
27450    def to_dict(self):
27451        return {
27452            'activity_id': self.activity_id,
27453            'deleted_at': self.deleted_at,
27454            'remote_identity': self.remote_identity,
27455            'timestamp': self.timestamp,
27456        }
27457
27458    @classmethod
27459    def from_dict(cls, d):
27460        return cls(
27461            activity_id=d.get('activity_id'),
27462            deleted_at=d.get('deleted_at'),
27463            remote_identity=d.get('remote_identity'),
27464            timestamp=d.get('timestamp'),
27465        )
27466
27467
27468class RemoteIdentityUpdateResponse:
27469    '''
27470         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
27471     a RemoteIdentityUpdateRequest.
27472    '''
27473    __slots__ = [
27474        'meta',
27475        'rate_limit',
27476        'remote_identity',
27477    ]
27478
27479    def __init__(
27480        self,
27481        meta=None,
27482        rate_limit=None,
27483        remote_identity=None,
27484    ):
27485        self.meta = meta if meta is not None else None
27486        '''
27487         Reserved for future use.
27488        '''
27489        self.rate_limit = rate_limit if rate_limit is not None else None
27490        '''
27491         Rate limit information.
27492        '''
27493        self.remote_identity = remote_identity if remote_identity is not None else None
27494        '''
27495         The updated RemoteIdentity.
27496        '''
27497
27498    def __repr__(self):
27499        return '<sdm.RemoteIdentityUpdateResponse ' + \
27500            'meta: ' + repr(self.meta) + ' ' +\
27501            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27502            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27503            '>'
27504
27505    def to_dict(self):
27506        return {
27507            'meta': self.meta,
27508            'rate_limit': self.rate_limit,
27509            'remote_identity': self.remote_identity,
27510        }
27511
27512    @classmethod
27513    def from_dict(cls, d):
27514        return cls(
27515            meta=d.get('meta'),
27516            rate_limit=d.get('rate_limit'),
27517            remote_identity=d.get('remote_identity'),
27518        )
27519
27520
27521class ReplayChunk:
27522    '''
27523         A ReplayChunk represents a single "chunk" of data from the query replay.
27524    '''
27525    __slots__ = [
27526        'data',
27527        'events',
27528        'symmetric_key',
27529    ]
27530
27531    def __init__(
27532        self,
27533        data=None,
27534        events=None,
27535        symmetric_key=None,
27536    ):
27537        self.data = data if data is not None else b''
27538        '''
27539         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
27540        '''
27541        self.events = events if events is not None else []
27542        '''
27543         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
27544         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
27545        '''
27546        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
27547        '''
27548         If the data is encrypted, this contains the encrypted symmetric key
27549        '''
27550
27551    def __repr__(self):
27552        return '<sdm.ReplayChunk ' + \
27553            'data: ' + repr(self.data) + ' ' +\
27554            'events: ' + repr(self.events) + ' ' +\
27555            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
27556            '>'
27557
27558    def to_dict(self):
27559        return {
27560            'data': self.data,
27561            'events': self.events,
27562            'symmetric_key': self.symmetric_key,
27563        }
27564
27565    @classmethod
27566    def from_dict(cls, d):
27567        return cls(
27568            data=d.get('data'),
27569            events=d.get('events'),
27570            symmetric_key=d.get('symmetric_key'),
27571        )
27572
27573
27574class ReplayChunkEvent:
27575    '''
27576         A ReplayChunkEvent represents a single event within a query replay.
27577     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
27578    '''
27579    __slots__ = [
27580        'data',
27581        'duration',
27582    ]
27583
27584    def __init__(
27585        self,
27586        data=None,
27587        duration=None,
27588    ):
27589        self.data = data if data is not None else b''
27590        '''
27591         The raw data of the ReplayChunkEvent.
27592        '''
27593        self.duration = duration if duration is not None else None
27594        '''
27595         The time duration over which the data in this ReplayChunkEvent was transferred.
27596        '''
27597
27598    def __repr__(self):
27599        return '<sdm.ReplayChunkEvent ' + \
27600            'data: ' + repr(self.data) + ' ' +\
27601            'duration: ' + repr(self.duration) + ' ' +\
27602            '>'
27603
27604    def to_dict(self):
27605        return {
27606            'data': self.data,
27607            'duration': self.duration,
27608        }
27609
27610    @classmethod
27611    def from_dict(cls, d):
27612        return cls(
27613            data=d.get('data'),
27614            duration=d.get('duration'),
27615        )
27616
27617
27618class RequestableResource:
27619    '''
27620         RequestableResource is a resource that can be requested via an AccessRequestConfig
27621    '''
27622    __slots__ = [
27623        'access',
27624        'authentication',
27625        'healthy',
27626        'id',
27627        'name',
27628        'tags',
27629        'type',
27630    ]
27631
27632    def __init__(
27633        self,
27634        access=None,
27635        authentication=None,
27636        healthy=None,
27637        id=None,
27638        name=None,
27639        tags=None,
27640        type=None,
27641    ):
27642        self.access = access if access is not None else ''
27643        '''
27644         The current state of the user's access to the resources
27645        '''
27646        self.authentication = authentication if authentication is not None else ''
27647        '''
27648         The type of authentication for the resource
27649        '''
27650        self.healthy = healthy if healthy is not None else False
27651        '''
27652         The health check status of the reasource
27653        '''
27654        self.id = id if id is not None else ''
27655        '''
27656         The resource id.
27657        '''
27658        self.name = name if name is not None else ''
27659        '''
27660         The resource name.
27661        '''
27662        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27663        '''
27664         Any tags attached to this resource
27665        '''
27666        self.type = type if type is not None else ''
27667        '''
27668         The resource type
27669        '''
27670
27671    def __repr__(self):
27672        return '<sdm.RequestableResource ' + \
27673            'access: ' + repr(self.access) + ' ' +\
27674            'authentication: ' + repr(self.authentication) + ' ' +\
27675            'healthy: ' + repr(self.healthy) + ' ' +\
27676            'id: ' + repr(self.id) + ' ' +\
27677            'name: ' + repr(self.name) + ' ' +\
27678            'tags: ' + repr(self.tags) + ' ' +\
27679            'type: ' + repr(self.type) + ' ' +\
27680            '>'
27681
27682    def to_dict(self):
27683        return {
27684            'access': self.access,
27685            'authentication': self.authentication,
27686            'healthy': self.healthy,
27687            'id': self.id,
27688            'name': self.name,
27689            'tags': self.tags,
27690            'type': self.type,
27691        }
27692
27693    @classmethod
27694    def from_dict(cls, d):
27695        return cls(
27696            access=d.get('access'),
27697            authentication=d.get('authentication'),
27698            healthy=d.get('healthy'),
27699            id=d.get('id'),
27700            name=d.get('name'),
27701            tags=d.get('tags'),
27702            type=d.get('type'),
27703        )
27704
27705
27706class ResourceCreateResponse:
27707    '''
27708         ResourceCreateResponse reports how the Resources were created in the system.
27709    '''
27710    __slots__ = [
27711        'meta',
27712        'rate_limit',
27713        'resource',
27714    ]
27715
27716    def __init__(
27717        self,
27718        meta=None,
27719        rate_limit=None,
27720        resource=None,
27721    ):
27722        self.meta = meta if meta is not None else None
27723        '''
27724         Reserved for future use.
27725        '''
27726        self.rate_limit = rate_limit if rate_limit is not None else None
27727        '''
27728         Rate limit information.
27729        '''
27730        self.resource = resource if resource is not None else None
27731        '''
27732         The created Resource.
27733        '''
27734
27735    def __repr__(self):
27736        return '<sdm.ResourceCreateResponse ' + \
27737            'meta: ' + repr(self.meta) + ' ' +\
27738            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27739            'resource: ' + repr(self.resource) + ' ' +\
27740            '>'
27741
27742    def to_dict(self):
27743        return {
27744            'meta': self.meta,
27745            'rate_limit': self.rate_limit,
27746            'resource': self.resource,
27747        }
27748
27749    @classmethod
27750    def from_dict(cls, d):
27751        return cls(
27752            meta=d.get('meta'),
27753            rate_limit=d.get('rate_limit'),
27754            resource=d.get('resource'),
27755        )
27756
27757
27758class ResourceDeleteResponse:
27759    '''
27760         ResourceDeleteResponse returns information about a Resource that was deleted.
27761    '''
27762    __slots__ = [
27763        'meta',
27764        'rate_limit',
27765    ]
27766
27767    def __init__(
27768        self,
27769        meta=None,
27770        rate_limit=None,
27771    ):
27772        self.meta = meta if meta is not None else None
27773        '''
27774         Reserved for future use.
27775        '''
27776        self.rate_limit = rate_limit if rate_limit is not None else None
27777        '''
27778         Rate limit information.
27779        '''
27780
27781    def __repr__(self):
27782        return '<sdm.ResourceDeleteResponse ' + \
27783            'meta: ' + repr(self.meta) + ' ' +\
27784            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27785            '>'
27786
27787    def to_dict(self):
27788        return {
27789            'meta': self.meta,
27790            'rate_limit': self.rate_limit,
27791        }
27792
27793    @classmethod
27794    def from_dict(cls, d):
27795        return cls(
27796            meta=d.get('meta'),
27797            rate_limit=d.get('rate_limit'),
27798        )
27799
27800
27801class ResourceGetResponse:
27802    '''
27803         ResourceGetResponse returns a requested Resource.
27804    '''
27805    __slots__ = [
27806        'meta',
27807        'rate_limit',
27808        'resource',
27809    ]
27810
27811    def __init__(
27812        self,
27813        meta=None,
27814        rate_limit=None,
27815        resource=None,
27816    ):
27817        self.meta = meta if meta is not None else None
27818        '''
27819         Reserved for future use.
27820        '''
27821        self.rate_limit = rate_limit if rate_limit is not None else None
27822        '''
27823         Rate limit information.
27824        '''
27825        self.resource = resource if resource is not None else None
27826        '''
27827         The requested Resource.
27828        '''
27829
27830    def __repr__(self):
27831        return '<sdm.ResourceGetResponse ' + \
27832            'meta: ' + repr(self.meta) + ' ' +\
27833            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27834            'resource: ' + repr(self.resource) + ' ' +\
27835            '>'
27836
27837    def to_dict(self):
27838        return {
27839            'meta': self.meta,
27840            'rate_limit': self.rate_limit,
27841            'resource': self.resource,
27842        }
27843
27844    @classmethod
27845    def from_dict(cls, d):
27846        return cls(
27847            meta=d.get('meta'),
27848            rate_limit=d.get('rate_limit'),
27849            resource=d.get('resource'),
27850        )
27851
27852
27853class ResourceHealthcheckRequest:
27854    '''
27855         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
27856    '''
27857    __slots__ = [
27858        'id',
27859    ]
27860
27861    def __init__(
27862        self,
27863        id=None,
27864    ):
27865        self.id = id if id is not None else ''
27866        '''
27867         The unique identifier of the Resource to healthcheck.
27868        '''
27869
27870    def __repr__(self):
27871        return '<sdm.ResourceHealthcheckRequest ' + \
27872            'id: ' + repr(self.id) + ' ' +\
27873            '>'
27874
27875    def to_dict(self):
27876        return {
27877            'id': self.id,
27878        }
27879
27880    @classmethod
27881    def from_dict(cls, d):
27882        return cls(id=d.get('id'), )
27883
27884
27885class ResourceHealthcheckResponse:
27886    '''
27887         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
27888     Healthchecks are non blocking, and this contains no non-metadata.
27889    '''
27890    __slots__ = [
27891        'meta',
27892        'rate_limit',
27893    ]
27894
27895    def __init__(
27896        self,
27897        meta=None,
27898        rate_limit=None,
27899    ):
27900        self.meta = meta if meta is not None else None
27901        '''
27902         Reserved for future use.
27903        '''
27904        self.rate_limit = rate_limit if rate_limit is not None else None
27905        '''
27906         Rate limit information.
27907        '''
27908
27909    def __repr__(self):
27910        return '<sdm.ResourceHealthcheckResponse ' + \
27911            'meta: ' + repr(self.meta) + ' ' +\
27912            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27913            '>'
27914
27915    def to_dict(self):
27916        return {
27917            'meta': self.meta,
27918            'rate_limit': self.rate_limit,
27919        }
27920
27921    @classmethod
27922    def from_dict(cls, d):
27923        return cls(
27924            meta=d.get('meta'),
27925            rate_limit=d.get('rate_limit'),
27926        )
27927
27928
27929class ResourceHistory:
27930    '''
27931         ResourceHistory records the state of a Resource at a given point in time,
27932     where every change (create, update and delete) to a Resource produces an
27933     ResourceHistory record.
27934    '''
27935    __slots__ = [
27936        'activity_id',
27937        'deleted_at',
27938        'resource',
27939        'timestamp',
27940    ]
27941
27942    def __init__(
27943        self,
27944        activity_id=None,
27945        deleted_at=None,
27946        resource=None,
27947        timestamp=None,
27948    ):
27949        self.activity_id = activity_id if activity_id is not None else ''
27950        '''
27951         The unique identifier of the Activity that produced this change to the Resource.
27952         May be empty for some system-initiated updates.
27953        '''
27954        self.deleted_at = deleted_at if deleted_at is not None else None
27955        '''
27956         If this Resource was deleted, the time it was deleted.
27957        '''
27958        self.resource = resource if resource is not None else None
27959        '''
27960         The complete Resource state at this time.
27961        '''
27962        self.timestamp = timestamp if timestamp is not None else None
27963        '''
27964         The time at which the Resource state was recorded.
27965        '''
27966
27967    def __repr__(self):
27968        return '<sdm.ResourceHistory ' + \
27969            'activity_id: ' + repr(self.activity_id) + ' ' +\
27970            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
27971            'resource: ' + repr(self.resource) + ' ' +\
27972            'timestamp: ' + repr(self.timestamp) + ' ' +\
27973            '>'
27974
27975    def to_dict(self):
27976        return {
27977            'activity_id': self.activity_id,
27978            'deleted_at': self.deleted_at,
27979            'resource': self.resource,
27980            'timestamp': self.timestamp,
27981        }
27982
27983    @classmethod
27984    def from_dict(cls, d):
27985        return cls(
27986            activity_id=d.get('activity_id'),
27987            deleted_at=d.get('deleted_at'),
27988            resource=d.get('resource'),
27989            timestamp=d.get('timestamp'),
27990        )
27991
27992
27993class ResourceUpdateResponse:
27994    '''
27995         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
27996     a ResourceUpdateRequest.
27997    '''
27998    __slots__ = [
27999        'meta',
28000        'rate_limit',
28001        'resource',
28002    ]
28003
28004    def __init__(
28005        self,
28006        meta=None,
28007        rate_limit=None,
28008        resource=None,
28009    ):
28010        self.meta = meta if meta is not None else None
28011        '''
28012         Reserved for future use.
28013        '''
28014        self.rate_limit = rate_limit if rate_limit is not None else None
28015        '''
28016         Rate limit information.
28017        '''
28018        self.resource = resource if resource is not None else None
28019        '''
28020         The updated Resource.
28021        '''
28022
28023    def __repr__(self):
28024        return '<sdm.ResourceUpdateResponse ' + \
28025            'meta: ' + repr(self.meta) + ' ' +\
28026            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28027            'resource: ' + repr(self.resource) + ' ' +\
28028            '>'
28029
28030    def to_dict(self):
28031        return {
28032            'meta': self.meta,
28033            'rate_limit': self.rate_limit,
28034            'resource': self.resource,
28035        }
28036
28037    @classmethod
28038    def from_dict(cls, d):
28039        return cls(
28040            meta=d.get('meta'),
28041            rate_limit=d.get('rate_limit'),
28042            resource=d.get('resource'),
28043        )
28044
28045
28046class Role:
28047    '''
28048         A Role has a list of access rules which determine which Resources the members
28049     of the Role have access to. An Account can be a member of multiple Roles via
28050     AccountAttachments.
28051    '''
28052    __slots__ = [
28053        'access_rules',
28054        'id',
28055        'managed_by',
28056        'name',
28057        'tags',
28058    ]
28059
28060    def __init__(
28061        self,
28062        access_rules=None,
28063        id=None,
28064        managed_by=None,
28065        name=None,
28066        tags=None,
28067    ):
28068        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
28069        )
28070        '''
28071         AccessRules is a list of access rules defining the resources this Role has access to.
28072        '''
28073        self.id = id if id is not None else ''
28074        '''
28075         Unique identifier of the Role.
28076        '''
28077        self.managed_by = managed_by if managed_by is not None else ''
28078        '''
28079         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
28080        '''
28081        self.name = name if name is not None else ''
28082        '''
28083         Unique human-readable name of the Role.
28084        '''
28085        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28086        '''
28087         Tags is a map of key, value pairs.
28088        '''
28089
28090    def __repr__(self):
28091        return '<sdm.Role ' + \
28092            'access_rules: ' + repr(self.access_rules) + ' ' +\
28093            'id: ' + repr(self.id) + ' ' +\
28094            'managed_by: ' + repr(self.managed_by) + ' ' +\
28095            'name: ' + repr(self.name) + ' ' +\
28096            'tags: ' + repr(self.tags) + ' ' +\
28097            '>'
28098
28099    def to_dict(self):
28100        return {
28101            'access_rules': self.access_rules,
28102            'id': self.id,
28103            'managed_by': self.managed_by,
28104            'name': self.name,
28105            'tags': self.tags,
28106        }
28107
28108    @classmethod
28109    def from_dict(cls, d):
28110        return cls(
28111            access_rules=d.get('access_rules'),
28112            id=d.get('id'),
28113            managed_by=d.get('managed_by'),
28114            name=d.get('name'),
28115            tags=d.get('tags'),
28116        )
28117
28118
28119class RoleCreateResponse:
28120    '''
28121         RoleCreateResponse reports how the Roles were created in the system. It can
28122     communicate partial successes or failures.
28123    '''
28124    __slots__ = [
28125        'meta',
28126        'rate_limit',
28127        'role',
28128    ]
28129
28130    def __init__(
28131        self,
28132        meta=None,
28133        rate_limit=None,
28134        role=None,
28135    ):
28136        self.meta = meta if meta is not None else None
28137        '''
28138         Reserved for future use.
28139        '''
28140        self.rate_limit = rate_limit if rate_limit is not None else None
28141        '''
28142         Rate limit information.
28143        '''
28144        self.role = role if role is not None else None
28145        '''
28146         The created Role.
28147        '''
28148
28149    def __repr__(self):
28150        return '<sdm.RoleCreateResponse ' + \
28151            'meta: ' + repr(self.meta) + ' ' +\
28152            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28153            'role: ' + repr(self.role) + ' ' +\
28154            '>'
28155
28156    def to_dict(self):
28157        return {
28158            'meta': self.meta,
28159            'rate_limit': self.rate_limit,
28160            'role': self.role,
28161        }
28162
28163    @classmethod
28164    def from_dict(cls, d):
28165        return cls(
28166            meta=d.get('meta'),
28167            rate_limit=d.get('rate_limit'),
28168            role=d.get('role'),
28169        )
28170
28171
28172class RoleDeleteResponse:
28173    '''
28174         RoleDeleteResponse returns information about a Role that was deleted.
28175    '''
28176    __slots__ = [
28177        'meta',
28178        'rate_limit',
28179    ]
28180
28181    def __init__(
28182        self,
28183        meta=None,
28184        rate_limit=None,
28185    ):
28186        self.meta = meta if meta is not None else None
28187        '''
28188         Reserved for future use.
28189        '''
28190        self.rate_limit = rate_limit if rate_limit is not None else None
28191        '''
28192         Rate limit information.
28193        '''
28194
28195    def __repr__(self):
28196        return '<sdm.RoleDeleteResponse ' + \
28197            'meta: ' + repr(self.meta) + ' ' +\
28198            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28199            '>'
28200
28201    def to_dict(self):
28202        return {
28203            'meta': self.meta,
28204            'rate_limit': self.rate_limit,
28205        }
28206
28207    @classmethod
28208    def from_dict(cls, d):
28209        return cls(
28210            meta=d.get('meta'),
28211            rate_limit=d.get('rate_limit'),
28212        )
28213
28214
28215class RoleGetResponse:
28216    '''
28217         RoleGetResponse returns a requested Role.
28218    '''
28219    __slots__ = [
28220        'meta',
28221        'rate_limit',
28222        'role',
28223    ]
28224
28225    def __init__(
28226        self,
28227        meta=None,
28228        rate_limit=None,
28229        role=None,
28230    ):
28231        self.meta = meta if meta is not None else None
28232        '''
28233         Reserved for future use.
28234        '''
28235        self.rate_limit = rate_limit if rate_limit is not None else None
28236        '''
28237         Rate limit information.
28238        '''
28239        self.role = role if role is not None else None
28240        '''
28241         The requested Role.
28242        '''
28243
28244    def __repr__(self):
28245        return '<sdm.RoleGetResponse ' + \
28246            'meta: ' + repr(self.meta) + ' ' +\
28247            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28248            'role: ' + repr(self.role) + ' ' +\
28249            '>'
28250
28251    def to_dict(self):
28252        return {
28253            'meta': self.meta,
28254            'rate_limit': self.rate_limit,
28255            'role': self.role,
28256        }
28257
28258    @classmethod
28259    def from_dict(cls, d):
28260        return cls(
28261            meta=d.get('meta'),
28262            rate_limit=d.get('rate_limit'),
28263            role=d.get('role'),
28264        )
28265
28266
28267class RoleHistory:
28268    '''
28269         RoleHistory records the state of a Role at a given point in time,
28270     where every change (create, update and delete) to a Role produces an
28271     RoleHistory record.
28272    '''
28273    __slots__ = [
28274        'activity_id',
28275        'deleted_at',
28276        'role',
28277        'timestamp',
28278    ]
28279
28280    def __init__(
28281        self,
28282        activity_id=None,
28283        deleted_at=None,
28284        role=None,
28285        timestamp=None,
28286    ):
28287        self.activity_id = activity_id if activity_id is not None else ''
28288        '''
28289         The unique identifier of the Activity that produced this change to the Role.
28290         May be empty for some system-initiated updates.
28291        '''
28292        self.deleted_at = deleted_at if deleted_at is not None else None
28293        '''
28294         If this Role was deleted, the time it was deleted.
28295        '''
28296        self.role = role if role is not None else None
28297        '''
28298         The complete Role state at this time.
28299        '''
28300        self.timestamp = timestamp if timestamp is not None else None
28301        '''
28302         The time at which the Role state was recorded.
28303        '''
28304
28305    def __repr__(self):
28306        return '<sdm.RoleHistory ' + \
28307            'activity_id: ' + repr(self.activity_id) + ' ' +\
28308            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28309            'role: ' + repr(self.role) + ' ' +\
28310            'timestamp: ' + repr(self.timestamp) + ' ' +\
28311            '>'
28312
28313    def to_dict(self):
28314        return {
28315            'activity_id': self.activity_id,
28316            'deleted_at': self.deleted_at,
28317            'role': self.role,
28318            'timestamp': self.timestamp,
28319        }
28320
28321    @classmethod
28322    def from_dict(cls, d):
28323        return cls(
28324            activity_id=d.get('activity_id'),
28325            deleted_at=d.get('deleted_at'),
28326            role=d.get('role'),
28327            timestamp=d.get('timestamp'),
28328        )
28329
28330
28331class RoleResource:
28332    '''
28333         RoleResource represents an individual access grant of a Role to a Resource.
28334    '''
28335    __slots__ = [
28336        'granted_at',
28337        'resource_id',
28338        'role_id',
28339    ]
28340
28341    def __init__(
28342        self,
28343        granted_at=None,
28344        resource_id=None,
28345        role_id=None,
28346    ):
28347        self.granted_at = granted_at if granted_at is not None else None
28348        '''
28349         The most recent time at which access was granted. If access was granted,
28350         revoked, and granted again, this will reflect the later time.
28351        '''
28352        self.resource_id = resource_id if resource_id is not None else ''
28353        '''
28354         The unique identifier of the Resource to which access is granted.
28355        '''
28356        self.role_id = role_id if role_id is not None else ''
28357        '''
28358         The unique identifier of the Role to which access is granted.
28359        '''
28360
28361    def __repr__(self):
28362        return '<sdm.RoleResource ' + \
28363            'granted_at: ' + repr(self.granted_at) + ' ' +\
28364            'resource_id: ' + repr(self.resource_id) + ' ' +\
28365            'role_id: ' + repr(self.role_id) + ' ' +\
28366            '>'
28367
28368    def to_dict(self):
28369        return {
28370            'granted_at': self.granted_at,
28371            'resource_id': self.resource_id,
28372            'role_id': self.role_id,
28373        }
28374
28375    @classmethod
28376    def from_dict(cls, d):
28377        return cls(
28378            granted_at=d.get('granted_at'),
28379            resource_id=d.get('resource_id'),
28380            role_id=d.get('role_id'),
28381        )
28382
28383
28384class RoleResourceHistory:
28385    '''
28386         RoleResourceHistory records the state of a RoleResource at a given point in time,
28387     where every change (create or delete) to a RoleResource produces an
28388     RoleResourceHistory record.
28389    '''
28390    __slots__ = [
28391        'activity_id',
28392        'deleted_at',
28393        'role_resource',
28394        'timestamp',
28395    ]
28396
28397    def __init__(
28398        self,
28399        activity_id=None,
28400        deleted_at=None,
28401        role_resource=None,
28402        timestamp=None,
28403    ):
28404        self.activity_id = activity_id if activity_id is not None else ''
28405        '''
28406         The unique identifier of the Activity that produced this change to the RoleResource.
28407         May be empty for some system-initiated updates.
28408        '''
28409        self.deleted_at = deleted_at if deleted_at is not None else None
28410        '''
28411         If this RoleResource was deleted, the time it was deleted.
28412        '''
28413        self.role_resource = role_resource if role_resource is not None else None
28414        '''
28415         The complete RoleResource state at this time.
28416        '''
28417        self.timestamp = timestamp if timestamp is not None else None
28418        '''
28419         The time at which the RoleResource state was recorded.
28420        '''
28421
28422    def __repr__(self):
28423        return '<sdm.RoleResourceHistory ' + \
28424            'activity_id: ' + repr(self.activity_id) + ' ' +\
28425            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28426            'role_resource: ' + repr(self.role_resource) + ' ' +\
28427            'timestamp: ' + repr(self.timestamp) + ' ' +\
28428            '>'
28429
28430    def to_dict(self):
28431        return {
28432            'activity_id': self.activity_id,
28433            'deleted_at': self.deleted_at,
28434            'role_resource': self.role_resource,
28435            'timestamp': self.timestamp,
28436        }
28437
28438    @classmethod
28439    def from_dict(cls, d):
28440        return cls(
28441            activity_id=d.get('activity_id'),
28442            deleted_at=d.get('deleted_at'),
28443            role_resource=d.get('role_resource'),
28444            timestamp=d.get('timestamp'),
28445        )
28446
28447
28448class RoleUpdateResponse:
28449    '''
28450         RoleUpdateResponse returns the fields of a Role after it has been updated by
28451     a RoleUpdateRequest.
28452    '''
28453    __slots__ = [
28454        'meta',
28455        'rate_limit',
28456        'role',
28457    ]
28458
28459    def __init__(
28460        self,
28461        meta=None,
28462        rate_limit=None,
28463        role=None,
28464    ):
28465        self.meta = meta if meta is not None else None
28466        '''
28467         Reserved for future use.
28468        '''
28469        self.rate_limit = rate_limit if rate_limit is not None else None
28470        '''
28471         Rate limit information.
28472        '''
28473        self.role = role if role is not None else None
28474        '''
28475         The updated Role.
28476        '''
28477
28478    def __repr__(self):
28479        return '<sdm.RoleUpdateResponse ' + \
28480            'meta: ' + repr(self.meta) + ' ' +\
28481            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28482            'role: ' + repr(self.role) + ' ' +\
28483            '>'
28484
28485    def to_dict(self):
28486        return {
28487            'meta': self.meta,
28488            'rate_limit': self.rate_limit,
28489            'role': self.role,
28490        }
28491
28492    @classmethod
28493    def from_dict(cls, d):
28494        return cls(
28495            meta=d.get('meta'),
28496            rate_limit=d.get('rate_limit'),
28497            role=d.get('role'),
28498        )
28499
28500
28501class SQLServer:
28502    __slots__ = [
28503        'allow_deprecated_encryption',
28504        'bind_interface',
28505        'database',
28506        'egress_filter',
28507        'healthy',
28508        'hostname',
28509        'id',
28510        'name',
28511        'override_database',
28512        'password',
28513        'port',
28514        'port_override',
28515        'proxy_cluster_id',
28516        'schema',
28517        'secret_store_id',
28518        'subdomain',
28519        'tags',
28520        'username',
28521    ]
28522
28523    def __init__(
28524        self,
28525        allow_deprecated_encryption=None,
28526        bind_interface=None,
28527        database=None,
28528        egress_filter=None,
28529        healthy=None,
28530        hostname=None,
28531        id=None,
28532        name=None,
28533        override_database=None,
28534        password=None,
28535        port=None,
28536        port_override=None,
28537        proxy_cluster_id=None,
28538        schema=None,
28539        secret_store_id=None,
28540        subdomain=None,
28541        tags=None,
28542        username=None,
28543    ):
28544        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28545        '''
28546         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28547         TLS 1.0.
28548        '''
28549        self.bind_interface = bind_interface if bind_interface is not None else ''
28550        '''
28551         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28552        '''
28553        self.database = database if database is not None else ''
28554        '''
28555         The database for healthchecks, and used for clients if Override Default Database is true.
28556        '''
28557        self.egress_filter = egress_filter if egress_filter is not None else ''
28558        '''
28559         A filter applied to the routing logic to pin datasource to nodes.
28560        '''
28561        self.healthy = healthy if healthy is not None else False
28562        '''
28563         True if the datasource is reachable and the credentials are valid.
28564        '''
28565        self.hostname = hostname if hostname is not None else ''
28566        '''
28567         The host to dial to initiate a connection from the egress node to this resource.
28568        '''
28569        self.id = id if id is not None else ''
28570        '''
28571         Unique identifier of the Resource.
28572        '''
28573        self.name = name if name is not None else ''
28574        '''
28575         Unique human-readable name of the Resource.
28576        '''
28577        self.override_database = override_database if override_database is not None else False
28578        '''
28579         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28580        '''
28581        self.password = password if password is not None else ''
28582        '''
28583         The password to authenticate with.
28584        '''
28585        self.port = port if port is not None else 0
28586        '''
28587         The port to dial to initiate a connection from the egress node to this resource.
28588        '''
28589        self.port_override = port_override if port_override is not None else 0
28590        '''
28591         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28592        '''
28593        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28594        '''
28595         ID of the proxy cluster for this resource, if any.
28596        '''
28597        self.schema = schema if schema is not None else ''
28598        '''
28599         The Schema to use to direct initial requests.
28600        '''
28601        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28602        '''
28603         ID of the secret store containing credentials for this resource, if any.
28604        '''
28605        self.subdomain = subdomain if subdomain is not None else ''
28606        '''
28607         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28608        '''
28609        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28610        '''
28611         Tags is a map of key, value pairs.
28612        '''
28613        self.username = username if username is not None else ''
28614        '''
28615         The username to authenticate with.
28616        '''
28617
28618    def __repr__(self):
28619        return '<sdm.SQLServer ' + \
28620            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
28621            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28622            'database: ' + repr(self.database) + ' ' +\
28623            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28624            'healthy: ' + repr(self.healthy) + ' ' +\
28625            'hostname: ' + repr(self.hostname) + ' ' +\
28626            'id: ' + repr(self.id) + ' ' +\
28627            'name: ' + repr(self.name) + ' ' +\
28628            'override_database: ' + repr(self.override_database) + ' ' +\
28629            'password: ' + repr(self.password) + ' ' +\
28630            'port: ' + repr(self.port) + ' ' +\
28631            'port_override: ' + repr(self.port_override) + ' ' +\
28632            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28633            'schema: ' + repr(self.schema) + ' ' +\
28634            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28635            'subdomain: ' + repr(self.subdomain) + ' ' +\
28636            'tags: ' + repr(self.tags) + ' ' +\
28637            'username: ' + repr(self.username) + ' ' +\
28638            '>'
28639
28640    def to_dict(self):
28641        return {
28642            'allow_deprecated_encryption': self.allow_deprecated_encryption,
28643            'bind_interface': self.bind_interface,
28644            'database': self.database,
28645            'egress_filter': self.egress_filter,
28646            'healthy': self.healthy,
28647            'hostname': self.hostname,
28648            'id': self.id,
28649            'name': self.name,
28650            'override_database': self.override_database,
28651            'password': self.password,
28652            'port': self.port,
28653            'port_override': self.port_override,
28654            'proxy_cluster_id': self.proxy_cluster_id,
28655            'schema': self.schema,
28656            'secret_store_id': self.secret_store_id,
28657            'subdomain': self.subdomain,
28658            'tags': self.tags,
28659            'username': self.username,
28660        }
28661
28662    @classmethod
28663    def from_dict(cls, d):
28664        return cls(
28665            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
28666            bind_interface=d.get('bind_interface'),
28667            database=d.get('database'),
28668            egress_filter=d.get('egress_filter'),
28669            healthy=d.get('healthy'),
28670            hostname=d.get('hostname'),
28671            id=d.get('id'),
28672            name=d.get('name'),
28673            override_database=d.get('override_database'),
28674            password=d.get('password'),
28675            port=d.get('port'),
28676            port_override=d.get('port_override'),
28677            proxy_cluster_id=d.get('proxy_cluster_id'),
28678            schema=d.get('schema'),
28679            secret_store_id=d.get('secret_store_id'),
28680            subdomain=d.get('subdomain'),
28681            tags=d.get('tags'),
28682            username=d.get('username'),
28683        )
28684
28685
28686class SQLServerAzureAD:
28687    __slots__ = [
28688        'allow_deprecated_encryption',
28689        'bind_interface',
28690        'client_id',
28691        'database',
28692        'egress_filter',
28693        'healthy',
28694        'hostname',
28695        'id',
28696        'name',
28697        'override_database',
28698        'port',
28699        'port_override',
28700        'proxy_cluster_id',
28701        'schema',
28702        'secret',
28703        'secret_store_id',
28704        'subdomain',
28705        'tags',
28706        'tenant_id',
28707    ]
28708
28709    def __init__(
28710        self,
28711        allow_deprecated_encryption=None,
28712        bind_interface=None,
28713        client_id=None,
28714        database=None,
28715        egress_filter=None,
28716        healthy=None,
28717        hostname=None,
28718        id=None,
28719        name=None,
28720        override_database=None,
28721        port=None,
28722        port_override=None,
28723        proxy_cluster_id=None,
28724        schema=None,
28725        secret=None,
28726        secret_store_id=None,
28727        subdomain=None,
28728        tags=None,
28729        tenant_id=None,
28730    ):
28731        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28732        '''
28733         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28734         TLS 1.0.
28735        '''
28736        self.bind_interface = bind_interface if bind_interface is not None else ''
28737        '''
28738         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28739        '''
28740        self.client_id = client_id if client_id is not None else ''
28741        '''
28742         The Azure AD application (client) ID with which to authenticate.
28743        '''
28744        self.database = database if database is not None else ''
28745        '''
28746         The database for healthchecks, and used for clients if Override Default Database is true.
28747        '''
28748        self.egress_filter = egress_filter if egress_filter is not None else ''
28749        '''
28750         A filter applied to the routing logic to pin datasource to nodes.
28751        '''
28752        self.healthy = healthy if healthy is not None else False
28753        '''
28754         True if the datasource is reachable and the credentials are valid.
28755        '''
28756        self.hostname = hostname if hostname is not None else ''
28757        '''
28758         The host to dial to initiate a connection from the egress node to this resource.
28759        '''
28760        self.id = id if id is not None else ''
28761        '''
28762         Unique identifier of the Resource.
28763        '''
28764        self.name = name if name is not None else ''
28765        '''
28766         Unique human-readable name of the Resource.
28767        '''
28768        self.override_database = override_database if override_database is not None else False
28769        '''
28770         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28771        '''
28772        self.port = port if port is not None else 0
28773        '''
28774         The port to dial to initiate a connection from the egress node to this resource.
28775        '''
28776        self.port_override = port_override if port_override is not None else 0
28777        '''
28778         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28779        '''
28780        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28781        '''
28782         ID of the proxy cluster for this resource, if any.
28783        '''
28784        self.schema = schema if schema is not None else ''
28785        '''
28786         The Schema to use to direct initial requests.
28787        '''
28788        self.secret = secret if secret is not None else ''
28789        '''
28790         The Azure AD client secret (application password) with which to authenticate.
28791        '''
28792        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28793        '''
28794         ID of the secret store containing credentials for this resource, if any.
28795        '''
28796        self.subdomain = subdomain if subdomain is not None else ''
28797        '''
28798         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28799        '''
28800        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28801        '''
28802         Tags is a map of key, value pairs.
28803        '''
28804        self.tenant_id = tenant_id if tenant_id is not None else ''
28805        '''
28806         The Azure AD directory (tenant) ID with which to authenticate.
28807        '''
28808
28809    def __repr__(self):
28810        return '<sdm.SQLServerAzureAD ' + \
28811            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
28812            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28813            'client_id: ' + repr(self.client_id) + ' ' +\
28814            'database: ' + repr(self.database) + ' ' +\
28815            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28816            'healthy: ' + repr(self.healthy) + ' ' +\
28817            'hostname: ' + repr(self.hostname) + ' ' +\
28818            'id: ' + repr(self.id) + ' ' +\
28819            'name: ' + repr(self.name) + ' ' +\
28820            'override_database: ' + repr(self.override_database) + ' ' +\
28821            'port: ' + repr(self.port) + ' ' +\
28822            'port_override: ' + repr(self.port_override) + ' ' +\
28823            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28824            'schema: ' + repr(self.schema) + ' ' +\
28825            'secret: ' + repr(self.secret) + ' ' +\
28826            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28827            'subdomain: ' + repr(self.subdomain) + ' ' +\
28828            'tags: ' + repr(self.tags) + ' ' +\
28829            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
28830            '>'
28831
28832    def to_dict(self):
28833        return {
28834            'allow_deprecated_encryption': self.allow_deprecated_encryption,
28835            'bind_interface': self.bind_interface,
28836            'client_id': self.client_id,
28837            'database': self.database,
28838            'egress_filter': self.egress_filter,
28839            'healthy': self.healthy,
28840            'hostname': self.hostname,
28841            'id': self.id,
28842            'name': self.name,
28843            'override_database': self.override_database,
28844            'port': self.port,
28845            'port_override': self.port_override,
28846            'proxy_cluster_id': self.proxy_cluster_id,
28847            'schema': self.schema,
28848            'secret': self.secret,
28849            'secret_store_id': self.secret_store_id,
28850            'subdomain': self.subdomain,
28851            'tags': self.tags,
28852            'tenant_id': self.tenant_id,
28853        }
28854
28855    @classmethod
28856    def from_dict(cls, d):
28857        return cls(
28858            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
28859            bind_interface=d.get('bind_interface'),
28860            client_id=d.get('client_id'),
28861            database=d.get('database'),
28862            egress_filter=d.get('egress_filter'),
28863            healthy=d.get('healthy'),
28864            hostname=d.get('hostname'),
28865            id=d.get('id'),
28866            name=d.get('name'),
28867            override_database=d.get('override_database'),
28868            port=d.get('port'),
28869            port_override=d.get('port_override'),
28870            proxy_cluster_id=d.get('proxy_cluster_id'),
28871            schema=d.get('schema'),
28872            secret=d.get('secret'),
28873            secret_store_id=d.get('secret_store_id'),
28874            subdomain=d.get('subdomain'),
28875            tags=d.get('tags'),
28876            tenant_id=d.get('tenant_id'),
28877        )
28878
28879
28880class SQLServerKerberosAD:
28881    __slots__ = [
28882        'allow_deprecated_encryption',
28883        'bind_interface',
28884        'database',
28885        'egress_filter',
28886        'healthy',
28887        'hostname',
28888        'id',
28889        'keytab',
28890        'krb_config',
28891        'name',
28892        'override_database',
28893        'port',
28894        'port_override',
28895        'proxy_cluster_id',
28896        'realm',
28897        'schema',
28898        'secret_store_id',
28899        'server_spn',
28900        'subdomain',
28901        'tags',
28902        'username',
28903    ]
28904
28905    def __init__(
28906        self,
28907        allow_deprecated_encryption=None,
28908        bind_interface=None,
28909        database=None,
28910        egress_filter=None,
28911        healthy=None,
28912        hostname=None,
28913        id=None,
28914        keytab=None,
28915        krb_config=None,
28916        name=None,
28917        override_database=None,
28918        port=None,
28919        port_override=None,
28920        proxy_cluster_id=None,
28921        realm=None,
28922        schema=None,
28923        secret_store_id=None,
28924        server_spn=None,
28925        subdomain=None,
28926        tags=None,
28927        username=None,
28928    ):
28929        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28930        '''
28931         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28932         TLS 1.0.
28933        '''
28934        self.bind_interface = bind_interface if bind_interface is not None else ''
28935        '''
28936         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28937        '''
28938        self.database = database if database is not None else ''
28939        '''
28940         The database for healthchecks, and used for clients if Override Default Database is true.
28941        '''
28942        self.egress_filter = egress_filter if egress_filter is not None else ''
28943        '''
28944         A filter applied to the routing logic to pin datasource to nodes.
28945        '''
28946        self.healthy = healthy if healthy is not None else False
28947        '''
28948         True if the datasource is reachable and the credentials are valid.
28949        '''
28950        self.hostname = hostname if hostname is not None else ''
28951        '''
28952         The host to dial to initiate a connection from the egress node to this resource.
28953        '''
28954        self.id = id if id is not None else ''
28955        '''
28956         Unique identifier of the Resource.
28957        '''
28958        self.keytab = keytab if keytab is not None else ''
28959        '''
28960         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
28961        '''
28962        self.krb_config = krb_config if krb_config is not None else ''
28963        '''
28964         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
28965        '''
28966        self.name = name if name is not None else ''
28967        '''
28968         Unique human-readable name of the Resource.
28969        '''
28970        self.override_database = override_database if override_database is not None else False
28971        '''
28972         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28973        '''
28974        self.port = port if port is not None else 0
28975        '''
28976         The port to dial to initiate a connection from the egress node to this resource.
28977        '''
28978        self.port_override = port_override if port_override is not None else 0
28979        '''
28980         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28981        '''
28982        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28983        '''
28984         ID of the proxy cluster for this resource, if any.
28985        '''
28986        self.realm = realm if realm is not None else ''
28987        '''
28988         The Active Directory domain (realm) to which the configured username belongs.
28989        '''
28990        self.schema = schema if schema is not None else ''
28991        '''
28992         The Schema to use to direct initial requests.
28993        '''
28994        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28995        '''
28996         ID of the secret store containing credentials for this resource, if any.
28997        '''
28998        self.server_spn = server_spn if server_spn is not None else ''
28999        '''
29000         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
29001        '''
29002        self.subdomain = subdomain if subdomain is not None else ''
29003        '''
29004         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29005        '''
29006        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29007        '''
29008         Tags is a map of key, value pairs.
29009        '''
29010        self.username = username if username is not None else ''
29011        '''
29012         The username to authenticate with.
29013        '''
29014
29015    def __repr__(self):
29016        return '<sdm.SQLServerKerberosAD ' + \
29017            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
29018            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29019            'database: ' + repr(self.database) + ' ' +\
29020            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29021            'healthy: ' + repr(self.healthy) + ' ' +\
29022            'hostname: ' + repr(self.hostname) + ' ' +\
29023            'id: ' + repr(self.id) + ' ' +\
29024            'keytab: ' + repr(self.keytab) + ' ' +\
29025            'krb_config: ' + repr(self.krb_config) + ' ' +\
29026            'name: ' + repr(self.name) + ' ' +\
29027            'override_database: ' + repr(self.override_database) + ' ' +\
29028            'port: ' + repr(self.port) + ' ' +\
29029            'port_override: ' + repr(self.port_override) + ' ' +\
29030            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29031            'realm: ' + repr(self.realm) + ' ' +\
29032            'schema: ' + repr(self.schema) + ' ' +\
29033            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29034            'server_spn: ' + repr(self.server_spn) + ' ' +\
29035            'subdomain: ' + repr(self.subdomain) + ' ' +\
29036            'tags: ' + repr(self.tags) + ' ' +\
29037            'username: ' + repr(self.username) + ' ' +\
29038            '>'
29039
29040    def to_dict(self):
29041        return {
29042            'allow_deprecated_encryption': self.allow_deprecated_encryption,
29043            'bind_interface': self.bind_interface,
29044            'database': self.database,
29045            'egress_filter': self.egress_filter,
29046            'healthy': self.healthy,
29047            'hostname': self.hostname,
29048            'id': self.id,
29049            'keytab': self.keytab,
29050            'krb_config': self.krb_config,
29051            'name': self.name,
29052            'override_database': self.override_database,
29053            'port': self.port,
29054            'port_override': self.port_override,
29055            'proxy_cluster_id': self.proxy_cluster_id,
29056            'realm': self.realm,
29057            'schema': self.schema,
29058            'secret_store_id': self.secret_store_id,
29059            'server_spn': self.server_spn,
29060            'subdomain': self.subdomain,
29061            'tags': self.tags,
29062            'username': self.username,
29063        }
29064
29065    @classmethod
29066    def from_dict(cls, d):
29067        return cls(
29068            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
29069            bind_interface=d.get('bind_interface'),
29070            database=d.get('database'),
29071            egress_filter=d.get('egress_filter'),
29072            healthy=d.get('healthy'),
29073            hostname=d.get('hostname'),
29074            id=d.get('id'),
29075            keytab=d.get('keytab'),
29076            krb_config=d.get('krb_config'),
29077            name=d.get('name'),
29078            override_database=d.get('override_database'),
29079            port=d.get('port'),
29080            port_override=d.get('port_override'),
29081            proxy_cluster_id=d.get('proxy_cluster_id'),
29082            realm=d.get('realm'),
29083            schema=d.get('schema'),
29084            secret_store_id=d.get('secret_store_id'),
29085            server_spn=d.get('server_spn'),
29086            subdomain=d.get('subdomain'),
29087            tags=d.get('tags'),
29088            username=d.get('username'),
29089        )
29090
29091
29092class SSH:
29093    __slots__ = [
29094        'allow_deprecated_key_exchanges',
29095        'bind_interface',
29096        'egress_filter',
29097        'healthy',
29098        'hostname',
29099        'id',
29100        'key_type',
29101        'name',
29102        'port',
29103        'port_forwarding',
29104        'port_override',
29105        'proxy_cluster_id',
29106        'public_key',
29107        'secret_store_id',
29108        'subdomain',
29109        'tags',
29110        'username',
29111    ]
29112
29113    def __init__(
29114        self,
29115        allow_deprecated_key_exchanges=None,
29116        bind_interface=None,
29117        egress_filter=None,
29118        healthy=None,
29119        hostname=None,
29120        id=None,
29121        key_type=None,
29122        name=None,
29123        port=None,
29124        port_forwarding=None,
29125        port_override=None,
29126        proxy_cluster_id=None,
29127        public_key=None,
29128        secret_store_id=None,
29129        subdomain=None,
29130        tags=None,
29131        username=None,
29132    ):
29133        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29134        '''
29135         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29136        '''
29137        self.bind_interface = bind_interface if bind_interface is not None else ''
29138        '''
29139         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29140        '''
29141        self.egress_filter = egress_filter if egress_filter is not None else ''
29142        '''
29143         A filter applied to the routing logic to pin datasource to nodes.
29144        '''
29145        self.healthy = healthy if healthy is not None else False
29146        '''
29147         True if the datasource is reachable and the credentials are valid.
29148        '''
29149        self.hostname = hostname if hostname is not None else ''
29150        '''
29151         The host to dial to initiate a connection from the egress node to this resource.
29152        '''
29153        self.id = id if id is not None else ''
29154        '''
29155         Unique identifier of the Resource.
29156        '''
29157        self.key_type = key_type if key_type is not None else ''
29158        '''
29159         The key type to use e.g. rsa-2048 or ed25519
29160        '''
29161        self.name = name if name is not None else ''
29162        '''
29163         Unique human-readable name of the Resource.
29164        '''
29165        self.port = port if port is not None else 0
29166        '''
29167         The port to dial to initiate a connection from the egress node to this resource.
29168        '''
29169        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29170        '''
29171         Whether port forwarding is allowed through this server.
29172        '''
29173        self.port_override = port_override if port_override is not None else 0
29174        '''
29175         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29176        '''
29177        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29178        '''
29179         ID of the proxy cluster for this resource, if any.
29180        '''
29181        self.public_key = public_key if public_key is not None else ''
29182        '''
29183         The public key to append to a server's authorized keys. This will be generated after resource creation.
29184        '''
29185        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29186        '''
29187         ID of the secret store containing credentials for this resource, if any.
29188        '''
29189        self.subdomain = subdomain if subdomain is not None else ''
29190        '''
29191         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29192        '''
29193        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29194        '''
29195         Tags is a map of key, value pairs.
29196        '''
29197        self.username = username if username is not None else ''
29198        '''
29199         The username to authenticate with.
29200        '''
29201
29202    def __repr__(self):
29203        return '<sdm.SSH ' + \
29204            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29205            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29206            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29207            'healthy: ' + repr(self.healthy) + ' ' +\
29208            'hostname: ' + repr(self.hostname) + ' ' +\
29209            'id: ' + repr(self.id) + ' ' +\
29210            'key_type: ' + repr(self.key_type) + ' ' +\
29211            'name: ' + repr(self.name) + ' ' +\
29212            'port: ' + repr(self.port) + ' ' +\
29213            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29214            'port_override: ' + repr(self.port_override) + ' ' +\
29215            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29216            'public_key: ' + repr(self.public_key) + ' ' +\
29217            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29218            'subdomain: ' + repr(self.subdomain) + ' ' +\
29219            'tags: ' + repr(self.tags) + ' ' +\
29220            'username: ' + repr(self.username) + ' ' +\
29221            '>'
29222
29223    def to_dict(self):
29224        return {
29225            'allow_deprecated_key_exchanges':
29226            self.allow_deprecated_key_exchanges,
29227            'bind_interface': self.bind_interface,
29228            'egress_filter': self.egress_filter,
29229            'healthy': self.healthy,
29230            'hostname': self.hostname,
29231            'id': self.id,
29232            'key_type': self.key_type,
29233            'name': self.name,
29234            'port': self.port,
29235            'port_forwarding': self.port_forwarding,
29236            'port_override': self.port_override,
29237            'proxy_cluster_id': self.proxy_cluster_id,
29238            'public_key': self.public_key,
29239            'secret_store_id': self.secret_store_id,
29240            'subdomain': self.subdomain,
29241            'tags': self.tags,
29242            'username': self.username,
29243        }
29244
29245    @classmethod
29246    def from_dict(cls, d):
29247        return cls(
29248            allow_deprecated_key_exchanges=d.get(
29249                'allow_deprecated_key_exchanges'),
29250            bind_interface=d.get('bind_interface'),
29251            egress_filter=d.get('egress_filter'),
29252            healthy=d.get('healthy'),
29253            hostname=d.get('hostname'),
29254            id=d.get('id'),
29255            key_type=d.get('key_type'),
29256            name=d.get('name'),
29257            port=d.get('port'),
29258            port_forwarding=d.get('port_forwarding'),
29259            port_override=d.get('port_override'),
29260            proxy_cluster_id=d.get('proxy_cluster_id'),
29261            public_key=d.get('public_key'),
29262            secret_store_id=d.get('secret_store_id'),
29263            subdomain=d.get('subdomain'),
29264            tags=d.get('tags'),
29265            username=d.get('username'),
29266        )
29267
29268
29269class SSHCert:
29270    __slots__ = [
29271        'allow_deprecated_key_exchanges',
29272        'bind_interface',
29273        'egress_filter',
29274        'healthy',
29275        'hostname',
29276        'id',
29277        'identity_alias_healthcheck_username',
29278        'identity_set_id',
29279        'key_type',
29280        'name',
29281        'port',
29282        'port_forwarding',
29283        'port_override',
29284        'proxy_cluster_id',
29285        'secret_store_id',
29286        'subdomain',
29287        'tags',
29288        'username',
29289    ]
29290
29291    def __init__(
29292        self,
29293        allow_deprecated_key_exchanges=None,
29294        bind_interface=None,
29295        egress_filter=None,
29296        healthy=None,
29297        hostname=None,
29298        id=None,
29299        identity_alias_healthcheck_username=None,
29300        identity_set_id=None,
29301        key_type=None,
29302        name=None,
29303        port=None,
29304        port_forwarding=None,
29305        port_override=None,
29306        proxy_cluster_id=None,
29307        secret_store_id=None,
29308        subdomain=None,
29309        tags=None,
29310        username=None,
29311    ):
29312        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29313        '''
29314         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29315        '''
29316        self.bind_interface = bind_interface if bind_interface is not None else ''
29317        '''
29318         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29319        '''
29320        self.egress_filter = egress_filter if egress_filter is not None else ''
29321        '''
29322         A filter applied to the routing logic to pin datasource to nodes.
29323        '''
29324        self.healthy = healthy if healthy is not None else False
29325        '''
29326         True if the datasource is reachable and the credentials are valid.
29327        '''
29328        self.hostname = hostname if hostname is not None else ''
29329        '''
29330         The host to dial to initiate a connection from the egress node to this resource.
29331        '''
29332        self.id = id if id is not None else ''
29333        '''
29334         Unique identifier of the Resource.
29335        '''
29336        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
29337        '''
29338         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
29339        '''
29340        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
29341        '''
29342         The ID of the identity set to use for identity connections.
29343        '''
29344        self.key_type = key_type if key_type is not None else ''
29345        '''
29346         The key type to use e.g. rsa-2048 or ed25519
29347        '''
29348        self.name = name if name is not None else ''
29349        '''
29350         Unique human-readable name of the Resource.
29351        '''
29352        self.port = port if port is not None else 0
29353        '''
29354         The port to dial to initiate a connection from the egress node to this resource.
29355        '''
29356        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29357        '''
29358         Whether port forwarding is allowed through this server.
29359        '''
29360        self.port_override = port_override if port_override is not None else 0
29361        '''
29362         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29363        '''
29364        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29365        '''
29366         ID of the proxy cluster for this resource, if any.
29367        '''
29368        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29369        '''
29370         ID of the secret store containing credentials for this resource, if any.
29371        '''
29372        self.subdomain = subdomain if subdomain is not None else ''
29373        '''
29374         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29375        '''
29376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29377        '''
29378         Tags is a map of key, value pairs.
29379        '''
29380        self.username = username if username is not None else ''
29381        '''
29382         The username to authenticate with.
29383        '''
29384
29385    def __repr__(self):
29386        return '<sdm.SSHCert ' + \
29387            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29388            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29389            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29390            'healthy: ' + repr(self.healthy) + ' ' +\
29391            'hostname: ' + repr(self.hostname) + ' ' +\
29392            'id: ' + repr(self.id) + ' ' +\
29393            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
29394            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
29395            'key_type: ' + repr(self.key_type) + ' ' +\
29396            'name: ' + repr(self.name) + ' ' +\
29397            'port: ' + repr(self.port) + ' ' +\
29398            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29399            'port_override: ' + repr(self.port_override) + ' ' +\
29400            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29401            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29402            'subdomain: ' + repr(self.subdomain) + ' ' +\
29403            'tags: ' + repr(self.tags) + ' ' +\
29404            'username: ' + repr(self.username) + ' ' +\
29405            '>'
29406
29407    def to_dict(self):
29408        return {
29409            'allow_deprecated_key_exchanges':
29410            self.allow_deprecated_key_exchanges,
29411            'bind_interface': self.bind_interface,
29412            'egress_filter': self.egress_filter,
29413            'healthy': self.healthy,
29414            'hostname': self.hostname,
29415            'id': self.id,
29416            'identity_alias_healthcheck_username':
29417            self.identity_alias_healthcheck_username,
29418            'identity_set_id': self.identity_set_id,
29419            'key_type': self.key_type,
29420            'name': self.name,
29421            'port': self.port,
29422            'port_forwarding': self.port_forwarding,
29423            'port_override': self.port_override,
29424            'proxy_cluster_id': self.proxy_cluster_id,
29425            'secret_store_id': self.secret_store_id,
29426            'subdomain': self.subdomain,
29427            'tags': self.tags,
29428            'username': self.username,
29429        }
29430
29431    @classmethod
29432    def from_dict(cls, d):
29433        return cls(
29434            allow_deprecated_key_exchanges=d.get(
29435                'allow_deprecated_key_exchanges'),
29436            bind_interface=d.get('bind_interface'),
29437            egress_filter=d.get('egress_filter'),
29438            healthy=d.get('healthy'),
29439            hostname=d.get('hostname'),
29440            id=d.get('id'),
29441            identity_alias_healthcheck_username=d.get(
29442                'identity_alias_healthcheck_username'),
29443            identity_set_id=d.get('identity_set_id'),
29444            key_type=d.get('key_type'),
29445            name=d.get('name'),
29446            port=d.get('port'),
29447            port_forwarding=d.get('port_forwarding'),
29448            port_override=d.get('port_override'),
29449            proxy_cluster_id=d.get('proxy_cluster_id'),
29450            secret_store_id=d.get('secret_store_id'),
29451            subdomain=d.get('subdomain'),
29452            tags=d.get('tags'),
29453            username=d.get('username'),
29454        )
29455
29456
29457class SSHCustomerKey:
29458    __slots__ = [
29459        'allow_deprecated_key_exchanges',
29460        'bind_interface',
29461        'egress_filter',
29462        'healthy',
29463        'hostname',
29464        'id',
29465        'identity_alias_healthcheck_username',
29466        'identity_set_id',
29467        'name',
29468        'port',
29469        'port_forwarding',
29470        'port_override',
29471        'private_key',
29472        'proxy_cluster_id',
29473        'secret_store_id',
29474        'subdomain',
29475        'tags',
29476        'username',
29477    ]
29478
29479    def __init__(
29480        self,
29481        allow_deprecated_key_exchanges=None,
29482        bind_interface=None,
29483        egress_filter=None,
29484        healthy=None,
29485        hostname=None,
29486        id=None,
29487        identity_alias_healthcheck_username=None,
29488        identity_set_id=None,
29489        name=None,
29490        port=None,
29491        port_forwarding=None,
29492        port_override=None,
29493        private_key=None,
29494        proxy_cluster_id=None,
29495        secret_store_id=None,
29496        subdomain=None,
29497        tags=None,
29498        username=None,
29499    ):
29500        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29501        '''
29502         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29503        '''
29504        self.bind_interface = bind_interface if bind_interface is not None else ''
29505        '''
29506         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29507        '''
29508        self.egress_filter = egress_filter if egress_filter is not None else ''
29509        '''
29510         A filter applied to the routing logic to pin datasource to nodes.
29511        '''
29512        self.healthy = healthy if healthy is not None else False
29513        '''
29514         True if the datasource is reachable and the credentials are valid.
29515        '''
29516        self.hostname = hostname if hostname is not None else ''
29517        '''
29518         The host to dial to initiate a connection from the egress node to this resource.
29519        '''
29520        self.id = id if id is not None else ''
29521        '''
29522         Unique identifier of the Resource.
29523        '''
29524        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
29525        '''
29526         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
29527        '''
29528        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
29529        '''
29530         The ID of the identity set to use for identity connections.
29531        '''
29532        self.name = name if name is not None else ''
29533        '''
29534         Unique human-readable name of the Resource.
29535        '''
29536        self.port = port if port is not None else 0
29537        '''
29538         The port to dial to initiate a connection from the egress node to this resource.
29539        '''
29540        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29541        '''
29542         Whether port forwarding is allowed through this server.
29543        '''
29544        self.port_override = port_override if port_override is not None else 0
29545        '''
29546         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29547        '''
29548        self.private_key = private_key if private_key is not None else ''
29549        '''
29550         The private key used to authenticate with the server.
29551        '''
29552        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29553        '''
29554         ID of the proxy cluster for this resource, if any.
29555        '''
29556        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29557        '''
29558         ID of the secret store containing credentials for this resource, if any.
29559        '''
29560        self.subdomain = subdomain if subdomain is not None else ''
29561        '''
29562         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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        self.username = username if username is not None else ''
29569        '''
29570         The username to authenticate with.
29571        '''
29572
29573    def __repr__(self):
29574        return '<sdm.SSHCustomerKey ' + \
29575            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29576            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29577            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29578            'healthy: ' + repr(self.healthy) + ' ' +\
29579            'hostname: ' + repr(self.hostname) + ' ' +\
29580            'id: ' + repr(self.id) + ' ' +\
29581            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
29582            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
29583            'name: ' + repr(self.name) + ' ' +\
29584            'port: ' + repr(self.port) + ' ' +\
29585            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29586            'port_override: ' + repr(self.port_override) + ' ' +\
29587            'private_key: ' + repr(self.private_key) + ' ' +\
29588            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29589            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29590            'subdomain: ' + repr(self.subdomain) + ' ' +\
29591            'tags: ' + repr(self.tags) + ' ' +\
29592            'username: ' + repr(self.username) + ' ' +\
29593            '>'
29594
29595    def to_dict(self):
29596        return {
29597            'allow_deprecated_key_exchanges':
29598            self.allow_deprecated_key_exchanges,
29599            'bind_interface': self.bind_interface,
29600            'egress_filter': self.egress_filter,
29601            'healthy': self.healthy,
29602            'hostname': self.hostname,
29603            'id': self.id,
29604            'identity_alias_healthcheck_username':
29605            self.identity_alias_healthcheck_username,
29606            'identity_set_id': self.identity_set_id,
29607            'name': self.name,
29608            'port': self.port,
29609            'port_forwarding': self.port_forwarding,
29610            'port_override': self.port_override,
29611            'private_key': self.private_key,
29612            'proxy_cluster_id': self.proxy_cluster_id,
29613            'secret_store_id': self.secret_store_id,
29614            'subdomain': self.subdomain,
29615            'tags': self.tags,
29616            'username': self.username,
29617        }
29618
29619    @classmethod
29620    def from_dict(cls, d):
29621        return cls(
29622            allow_deprecated_key_exchanges=d.get(
29623                'allow_deprecated_key_exchanges'),
29624            bind_interface=d.get('bind_interface'),
29625            egress_filter=d.get('egress_filter'),
29626            healthy=d.get('healthy'),
29627            hostname=d.get('hostname'),
29628            id=d.get('id'),
29629            identity_alias_healthcheck_username=d.get(
29630                'identity_alias_healthcheck_username'),
29631            identity_set_id=d.get('identity_set_id'),
29632            name=d.get('name'),
29633            port=d.get('port'),
29634            port_forwarding=d.get('port_forwarding'),
29635            port_override=d.get('port_override'),
29636            private_key=d.get('private_key'),
29637            proxy_cluster_id=d.get('proxy_cluster_id'),
29638            secret_store_id=d.get('secret_store_id'),
29639            subdomain=d.get('subdomain'),
29640            tags=d.get('tags'),
29641            username=d.get('username'),
29642        )
29643
29644
29645class SSHPassword:
29646    __slots__ = [
29647        'allow_deprecated_key_exchanges',
29648        'bind_interface',
29649        'egress_filter',
29650        'healthy',
29651        'hostname',
29652        'id',
29653        'name',
29654        'password',
29655        'port',
29656        'port_forwarding',
29657        'port_override',
29658        'proxy_cluster_id',
29659        'secret_store_id',
29660        'subdomain',
29661        'tags',
29662        'username',
29663    ]
29664
29665    def __init__(
29666        self,
29667        allow_deprecated_key_exchanges=None,
29668        bind_interface=None,
29669        egress_filter=None,
29670        healthy=None,
29671        hostname=None,
29672        id=None,
29673        name=None,
29674        password=None,
29675        port=None,
29676        port_forwarding=None,
29677        port_override=None,
29678        proxy_cluster_id=None,
29679        secret_store_id=None,
29680        subdomain=None,
29681        tags=None,
29682        username=None,
29683    ):
29684        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29685        '''
29686         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29687        '''
29688        self.bind_interface = bind_interface if bind_interface is not None else ''
29689        '''
29690         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29691        '''
29692        self.egress_filter = egress_filter if egress_filter is not None else ''
29693        '''
29694         A filter applied to the routing logic to pin datasource to nodes.
29695        '''
29696        self.healthy = healthy if healthy is not None else False
29697        '''
29698         True if the datasource is reachable and the credentials are valid.
29699        '''
29700        self.hostname = hostname if hostname is not None else ''
29701        '''
29702         The host to dial to initiate a connection from the egress node to this resource.
29703        '''
29704        self.id = id if id is not None else ''
29705        '''
29706         Unique identifier of the Resource.
29707        '''
29708        self.name = name if name is not None else ''
29709        '''
29710         Unique human-readable name of the Resource.
29711        '''
29712        self.password = password if password is not None else ''
29713        '''
29714         The password to authenticate with.
29715        '''
29716        self.port = port if port is not None else 0
29717        '''
29718         The port to dial to initiate a connection from the egress node to this resource.
29719        '''
29720        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29721        '''
29722         Whether port forwarding is allowed through this server.
29723        '''
29724        self.port_override = port_override if port_override is not None else 0
29725        '''
29726         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29727        '''
29728        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29729        '''
29730         ID of the proxy cluster for this resource, if any.
29731        '''
29732        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29733        '''
29734         ID of the secret store containing credentials for this resource, if any.
29735        '''
29736        self.subdomain = subdomain if subdomain is not None else ''
29737        '''
29738         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29739        '''
29740        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29741        '''
29742         Tags is a map of key, value pairs.
29743        '''
29744        self.username = username if username is not None else ''
29745        '''
29746         The username to authenticate with.
29747        '''
29748
29749    def __repr__(self):
29750        return '<sdm.SSHPassword ' + \
29751            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29752            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29753            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29754            'healthy: ' + repr(self.healthy) + ' ' +\
29755            'hostname: ' + repr(self.hostname) + ' ' +\
29756            'id: ' + repr(self.id) + ' ' +\
29757            'name: ' + repr(self.name) + ' ' +\
29758            'password: ' + repr(self.password) + ' ' +\
29759            'port: ' + repr(self.port) + ' ' +\
29760            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29761            'port_override: ' + repr(self.port_override) + ' ' +\
29762            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29763            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29764            'subdomain: ' + repr(self.subdomain) + ' ' +\
29765            'tags: ' + repr(self.tags) + ' ' +\
29766            'username: ' + repr(self.username) + ' ' +\
29767            '>'
29768
29769    def to_dict(self):
29770        return {
29771            'allow_deprecated_key_exchanges':
29772            self.allow_deprecated_key_exchanges,
29773            'bind_interface': self.bind_interface,
29774            'egress_filter': self.egress_filter,
29775            'healthy': self.healthy,
29776            'hostname': self.hostname,
29777            'id': self.id,
29778            'name': self.name,
29779            'password': self.password,
29780            'port': self.port,
29781            'port_forwarding': self.port_forwarding,
29782            'port_override': self.port_override,
29783            'proxy_cluster_id': self.proxy_cluster_id,
29784            'secret_store_id': self.secret_store_id,
29785            'subdomain': self.subdomain,
29786            'tags': self.tags,
29787            'username': self.username,
29788        }
29789
29790    @classmethod
29791    def from_dict(cls, d):
29792        return cls(
29793            allow_deprecated_key_exchanges=d.get(
29794                'allow_deprecated_key_exchanges'),
29795            bind_interface=d.get('bind_interface'),
29796            egress_filter=d.get('egress_filter'),
29797            healthy=d.get('healthy'),
29798            hostname=d.get('hostname'),
29799            id=d.get('id'),
29800            name=d.get('name'),
29801            password=d.get('password'),
29802            port=d.get('port'),
29803            port_forwarding=d.get('port_forwarding'),
29804            port_override=d.get('port_override'),
29805            proxy_cluster_id=d.get('proxy_cluster_id'),
29806            secret_store_id=d.get('secret_store_id'),
29807            subdomain=d.get('subdomain'),
29808            tags=d.get('tags'),
29809            username=d.get('username'),
29810        )
29811
29812
29813class SecretEngineCreateRequest:
29814    '''
29815         SecretEngineCreateRequest specifies a Secret Engine to create.
29816    '''
29817    __slots__ = [
29818        'secret_engine',
29819    ]
29820
29821    def __init__(
29822        self,
29823        secret_engine=None,
29824    ):
29825        self.secret_engine = secret_engine if secret_engine is not None else None
29826        '''
29827         Parameters to define the new Secret Engine.
29828        '''
29829
29830    def __repr__(self):
29831        return '<sdm.SecretEngineCreateRequest ' + \
29832            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
29833            '>'
29834
29835    def to_dict(self):
29836        return {
29837            'secret_engine': self.secret_engine,
29838        }
29839
29840    @classmethod
29841    def from_dict(cls, d):
29842        return cls(secret_engine=d.get('secret_engine'), )
29843
29844
29845class SecretEngineCreateResponse:
29846    '''
29847         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
29848    '''
29849    __slots__ = [
29850        'meta',
29851        'rate_limit',
29852        'secret_engine',
29853    ]
29854
29855    def __init__(
29856        self,
29857        meta=None,
29858        rate_limit=None,
29859        secret_engine=None,
29860    ):
29861        self.meta = meta if meta is not None else None
29862        '''
29863         Reserved for future use.
29864        '''
29865        self.rate_limit = rate_limit if rate_limit is not None else None
29866        '''
29867         Rate limit information.
29868        '''
29869        self.secret_engine = secret_engine if secret_engine is not None else None
29870        '''
29871         The requested Secret Engine.
29872        '''
29873
29874    def __repr__(self):
29875        return '<sdm.SecretEngineCreateResponse ' + \
29876            'meta: ' + repr(self.meta) + ' ' +\
29877            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29878            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
29879            '>'
29880
29881    def to_dict(self):
29882        return {
29883            'meta': self.meta,
29884            'rate_limit': self.rate_limit,
29885            'secret_engine': self.secret_engine,
29886        }
29887
29888    @classmethod
29889    def from_dict(cls, d):
29890        return cls(
29891            meta=d.get('meta'),
29892            rate_limit=d.get('rate_limit'),
29893            secret_engine=d.get('secret_engine'),
29894        )
29895
29896
29897class SecretEngineDeleteRequest:
29898    '''
29899         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
29900    '''
29901    __slots__ = [
29902        'id',
29903    ]
29904
29905    def __init__(
29906        self,
29907        id=None,
29908    ):
29909        self.id = id if id is not None else ''
29910        '''
29911         The unique identifier of the Secret Engine to delete.
29912        '''
29913
29914    def __repr__(self):
29915        return '<sdm.SecretEngineDeleteRequest ' + \
29916            'id: ' + repr(self.id) + ' ' +\
29917            '>'
29918
29919    def to_dict(self):
29920        return {
29921            'id': self.id,
29922        }
29923
29924    @classmethod
29925    def from_dict(cls, d):
29926        return cls(id=d.get('id'), )
29927
29928
29929class SecretEngineDeleteResponse:
29930    '''
29931         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
29932    '''
29933    __slots__ = [
29934        'rate_limit',
29935    ]
29936
29937    def __init__(
29938        self,
29939        rate_limit=None,
29940    ):
29941        self.rate_limit = rate_limit if rate_limit is not None else None
29942        '''
29943         Rate limit information.
29944        '''
29945
29946    def __repr__(self):
29947        return '<sdm.SecretEngineDeleteResponse ' + \
29948            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29949            '>'
29950
29951    def to_dict(self):
29952        return {
29953            'rate_limit': self.rate_limit,
29954        }
29955
29956    @classmethod
29957    def from_dict(cls, d):
29958        return cls(rate_limit=d.get('rate_limit'), )
29959
29960
29961class SecretEngineGetRequest:
29962    '''
29963         SecretEngineGetRequest specifies which Secret Engine to retrieve
29964    '''
29965    __slots__ = [
29966        'id',
29967    ]
29968
29969    def __init__(
29970        self,
29971        id=None,
29972    ):
29973        self.id = id if id is not None else ''
29974        '''
29975         The unique identifier of the Secret Engine to retrieve.
29976        '''
29977
29978    def __repr__(self):
29979        return '<sdm.SecretEngineGetRequest ' + \
29980            'id: ' + repr(self.id) + ' ' +\
29981            '>'
29982
29983    def to_dict(self):
29984        return {
29985            'id': self.id,
29986        }
29987
29988    @classmethod
29989    def from_dict(cls, d):
29990        return cls(id=d.get('id'), )
29991
29992
29993class SecretEngineGetResponse:
29994    '''
29995         SecretEngineGetResponse contains information about requested Secret Engine
29996    '''
29997    __slots__ = [
29998        'meta',
29999        'rate_limit',
30000        'secret_engine',
30001    ]
30002
30003    def __init__(
30004        self,
30005        meta=None,
30006        rate_limit=None,
30007        secret_engine=None,
30008    ):
30009        self.meta = meta if meta is not None else None
30010        '''
30011         Reserved for future use.
30012        '''
30013        self.rate_limit = rate_limit if rate_limit is not None else None
30014        '''
30015         Rate limit information.
30016        '''
30017        self.secret_engine = secret_engine if secret_engine is not None else None
30018        '''
30019         The requested Secret Engine.
30020        '''
30021
30022    def __repr__(self):
30023        return '<sdm.SecretEngineGetResponse ' + \
30024            'meta: ' + repr(self.meta) + ' ' +\
30025            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30026            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
30027            '>'
30028
30029    def to_dict(self):
30030        return {
30031            'meta': self.meta,
30032            'rate_limit': self.rate_limit,
30033            'secret_engine': self.secret_engine,
30034        }
30035
30036    @classmethod
30037    def from_dict(cls, d):
30038        return cls(
30039            meta=d.get('meta'),
30040            rate_limit=d.get('rate_limit'),
30041            secret_engine=d.get('secret_engine'),
30042        )
30043
30044
30045class SecretEngineListRequest:
30046    '''
30047         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
30048    '''
30049    __slots__ = [
30050        'filter',
30051    ]
30052
30053    def __init__(
30054        self,
30055        filter=None,
30056    ):
30057        self.filter = filter if filter is not None else ''
30058        '''
30059         A human-readable filter query string.
30060        '''
30061
30062    def __repr__(self):
30063        return '<sdm.SecretEngineListRequest ' + \
30064            'filter: ' + repr(self.filter) + ' ' +\
30065            '>'
30066
30067    def to_dict(self):
30068        return {
30069            'filter': self.filter,
30070        }
30071
30072    @classmethod
30073    def from_dict(cls, d):
30074        return cls(filter=d.get('filter'), )
30075
30076
30077class SecretEngineListResponse:
30078    '''
30079         SecretEngineListResponse contains a list of requested Secret Engine
30080    '''
30081    __slots__ = [
30082        'rate_limit',
30083    ]
30084
30085    def __init__(
30086        self,
30087        rate_limit=None,
30088    ):
30089        self.rate_limit = rate_limit if rate_limit is not None else None
30090        '''
30091         Rate limit information.
30092        '''
30093
30094    def __repr__(self):
30095        return '<sdm.SecretEngineListResponse ' + \
30096            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30097            '>'
30098
30099    def to_dict(self):
30100        return {
30101            'rate_limit': self.rate_limit,
30102        }
30103
30104    @classmethod
30105    def from_dict(cls, d):
30106        return cls(rate_limit=d.get('rate_limit'), )
30107
30108
30109class SecretEnginePasswordPolicy:
30110    __slots__ = [
30111        'allow_repeat',
30112        'exclude_characters',
30113        'exclude_upper_case',
30114        'length',
30115        'num_digits',
30116        'num_symbols',
30117    ]
30118
30119    def __init__(
30120        self,
30121        allow_repeat=None,
30122        exclude_characters=None,
30123        exclude_upper_case=None,
30124        length=None,
30125        num_digits=None,
30126        num_symbols=None,
30127    ):
30128        self.allow_repeat = allow_repeat if allow_repeat is not None else False
30129        '''
30130         If set to true allows for consecutive characters to repeat itself
30131        '''
30132        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
30133        '''
30134         Characters to exclude when generating password
30135        '''
30136        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
30137        '''
30138         If set to true do not include upper case letters when generating password
30139        '''
30140        self.length = length if length is not None else 0
30141        '''
30142         Password length.
30143        '''
30144        self.num_digits = num_digits if num_digits is not None else 0
30145        '''
30146         Numbers of digits to use when generating password
30147        '''
30148        self.num_symbols = num_symbols if num_symbols is not None else 0
30149        '''
30150         Number of symbols to use when generating password
30151        '''
30152
30153    def __repr__(self):
30154        return '<sdm.SecretEnginePasswordPolicy ' + \
30155            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
30156            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
30157            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
30158            'length: ' + repr(self.length) + ' ' +\
30159            'num_digits: ' + repr(self.num_digits) + ' ' +\
30160            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
30161            '>'
30162
30163    def to_dict(self):
30164        return {
30165            'allow_repeat': self.allow_repeat,
30166            'exclude_characters': self.exclude_characters,
30167            'exclude_upper_case': self.exclude_upper_case,
30168            'length': self.length,
30169            'num_digits': self.num_digits,
30170            'num_symbols': self.num_symbols,
30171        }
30172
30173    @classmethod
30174    def from_dict(cls, d):
30175        return cls(
30176            allow_repeat=d.get('allow_repeat'),
30177            exclude_characters=d.get('exclude_characters'),
30178            exclude_upper_case=d.get('exclude_upper_case'),
30179            length=d.get('length'),
30180            num_digits=d.get('num_digits'),
30181            num_symbols=d.get('num_symbols'),
30182        )
30183
30184
30185class SecretEnginePolicy:
30186    __slots__ = [
30187        'password_policy',
30188    ]
30189
30190    def __init__(
30191        self,
30192        password_policy=None,
30193    ):
30194        self.password_policy = password_policy if password_policy is not None else None
30195        '''
30196         Policy for password
30197        '''
30198
30199    def __repr__(self):
30200        return '<sdm.SecretEnginePolicy ' + \
30201            'password_policy: ' + repr(self.password_policy) + ' ' +\
30202            '>'
30203
30204    def to_dict(self):
30205        return {
30206            'password_policy': self.password_policy,
30207        }
30208
30209    @classmethod
30210    def from_dict(cls, d):
30211        return cls(password_policy=d.get('password_policy'), )
30212
30213
30214class SecretEngineRotateRequest:
30215    __slots__ = [
30216        'id',
30217        'password_policy',
30218    ]
30219
30220    def __init__(
30221        self,
30222        id=None,
30223        password_policy=None,
30224    ):
30225        self.id = id if id is not None else ''
30226        '''
30227         The unique identifier of the Secret Engine to rotate credentials for.
30228        '''
30229        self.password_policy = password_policy if password_policy is not None else None
30230        '''
30231         Optional password policy to use when generating a password
30232         If not provided it will use secret engine's password_policy
30233        '''
30234
30235    def __repr__(self):
30236        return '<sdm.SecretEngineRotateRequest ' + \
30237            'id: ' + repr(self.id) + ' ' +\
30238            'password_policy: ' + repr(self.password_policy) + ' ' +\
30239            '>'
30240
30241    def to_dict(self):
30242        return {
30243            'id': self.id,
30244            'password_policy': self.password_policy,
30245        }
30246
30247    @classmethod
30248    def from_dict(cls, d):
30249        return cls(
30250            id=d.get('id'),
30251            password_policy=d.get('password_policy'),
30252        )
30253
30254
30255class SecretEngineRotateResponse:
30256    __slots__ = [
30257        'rate_limit',
30258    ]
30259
30260    def __init__(
30261        self,
30262        rate_limit=None,
30263    ):
30264        self.rate_limit = rate_limit if rate_limit is not None else None
30265        '''
30266         Rate limit information.
30267        '''
30268
30269    def __repr__(self):
30270        return '<sdm.SecretEngineRotateResponse ' + \
30271            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30272            '>'
30273
30274    def to_dict(self):
30275        return {
30276            'rate_limit': self.rate_limit,
30277        }
30278
30279    @classmethod
30280    def from_dict(cls, d):
30281        return cls(rate_limit=d.get('rate_limit'), )
30282
30283
30284class SecretEngineUpdateRequest:
30285    '''
30286         SecretEngineUpdateRequest specifies secret engine to update
30287    '''
30288    __slots__ = [
30289        'secret_engine',
30290    ]
30291
30292    def __init__(
30293        self,
30294        secret_engine=None,
30295    ):
30296        self.secret_engine = secret_engine if secret_engine is not None else None
30297        '''
30298         Secret engine to update
30299        '''
30300
30301    def __repr__(self):
30302        return '<sdm.SecretEngineUpdateRequest ' + \
30303            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
30304            '>'
30305
30306    def to_dict(self):
30307        return {
30308            'secret_engine': self.secret_engine,
30309        }
30310
30311    @classmethod
30312    def from_dict(cls, d):
30313        return cls(secret_engine=d.get('secret_engine'), )
30314
30315
30316class SecretEngineUpdateResponse:
30317    '''
30318         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
30319    '''
30320    __slots__ = [
30321        'meta',
30322        'rate_limit',
30323        'secret_engine',
30324    ]
30325
30326    def __init__(
30327        self,
30328        meta=None,
30329        rate_limit=None,
30330        secret_engine=None,
30331    ):
30332        self.meta = meta if meta is not None else None
30333        '''
30334         Reserved for future use.
30335        '''
30336        self.rate_limit = rate_limit if rate_limit is not None else None
30337        '''
30338         Rate limit information.
30339        '''
30340        self.secret_engine = secret_engine if secret_engine is not None else None
30341        '''
30342         The requested Secret Engine.
30343        '''
30344
30345    def __repr__(self):
30346        return '<sdm.SecretEngineUpdateResponse ' + \
30347            'meta: ' + repr(self.meta) + ' ' +\
30348            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30349            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
30350            '>'
30351
30352    def to_dict(self):
30353        return {
30354            'meta': self.meta,
30355            'rate_limit': self.rate_limit,
30356            'secret_engine': self.secret_engine,
30357        }
30358
30359    @classmethod
30360    def from_dict(cls, d):
30361        return cls(
30362            meta=d.get('meta'),
30363            rate_limit=d.get('rate_limit'),
30364            secret_engine=d.get('secret_engine'),
30365        )
30366
30367
30368class SecretStoreCreateResponse:
30369    '''
30370         SecretStoreCreateResponse reports how the SecretStores were created in the system.
30371    '''
30372    __slots__ = [
30373        'meta',
30374        'rate_limit',
30375        'secret_store',
30376    ]
30377
30378    def __init__(
30379        self,
30380        meta=None,
30381        rate_limit=None,
30382        secret_store=None,
30383    ):
30384        self.meta = meta if meta is not None else None
30385        '''
30386         Reserved for future use.
30387        '''
30388        self.rate_limit = rate_limit if rate_limit is not None else None
30389        '''
30390         Rate limit information.
30391        '''
30392        self.secret_store = secret_store if secret_store is not None else None
30393        '''
30394         The created SecretStore.
30395        '''
30396
30397    def __repr__(self):
30398        return '<sdm.SecretStoreCreateResponse ' + \
30399            'meta: ' + repr(self.meta) + ' ' +\
30400            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30401            'secret_store: ' + repr(self.secret_store) + ' ' +\
30402            '>'
30403
30404    def to_dict(self):
30405        return {
30406            'meta': self.meta,
30407            'rate_limit': self.rate_limit,
30408            'secret_store': self.secret_store,
30409        }
30410
30411    @classmethod
30412    def from_dict(cls, d):
30413        return cls(
30414            meta=d.get('meta'),
30415            rate_limit=d.get('rate_limit'),
30416            secret_store=d.get('secret_store'),
30417        )
30418
30419
30420class SecretStoreDeleteResponse:
30421    '''
30422         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
30423    '''
30424    __slots__ = [
30425        'meta',
30426        'rate_limit',
30427    ]
30428
30429    def __init__(
30430        self,
30431        meta=None,
30432        rate_limit=None,
30433    ):
30434        self.meta = meta if meta is not None else None
30435        '''
30436         Reserved for future use.
30437        '''
30438        self.rate_limit = rate_limit if rate_limit is not None else None
30439        '''
30440         Rate limit information.
30441        '''
30442
30443    def __repr__(self):
30444        return '<sdm.SecretStoreDeleteResponse ' + \
30445            'meta: ' + repr(self.meta) + ' ' +\
30446            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30447            '>'
30448
30449    def to_dict(self):
30450        return {
30451            'meta': self.meta,
30452            'rate_limit': self.rate_limit,
30453        }
30454
30455    @classmethod
30456    def from_dict(cls, d):
30457        return cls(
30458            meta=d.get('meta'),
30459            rate_limit=d.get('rate_limit'),
30460        )
30461
30462
30463class SecretStoreGetResponse:
30464    '''
30465         SecretStoreGetResponse returns a requested SecretStore.
30466    '''
30467    __slots__ = [
30468        'meta',
30469        'rate_limit',
30470        'secret_store',
30471    ]
30472
30473    def __init__(
30474        self,
30475        meta=None,
30476        rate_limit=None,
30477        secret_store=None,
30478    ):
30479        self.meta = meta if meta is not None else None
30480        '''
30481         Reserved for future use.
30482        '''
30483        self.rate_limit = rate_limit if rate_limit is not None else None
30484        '''
30485         Rate limit information.
30486        '''
30487        self.secret_store = secret_store if secret_store is not None else None
30488        '''
30489         The requested SecretStore.
30490        '''
30491
30492    def __repr__(self):
30493        return '<sdm.SecretStoreGetResponse ' + \
30494            'meta: ' + repr(self.meta) + ' ' +\
30495            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30496            'secret_store: ' + repr(self.secret_store) + ' ' +\
30497            '>'
30498
30499    def to_dict(self):
30500        return {
30501            'meta': self.meta,
30502            'rate_limit': self.rate_limit,
30503            'secret_store': self.secret_store,
30504        }
30505
30506    @classmethod
30507    def from_dict(cls, d):
30508        return cls(
30509            meta=d.get('meta'),
30510            rate_limit=d.get('rate_limit'),
30511            secret_store=d.get('secret_store'),
30512        )
30513
30514
30515class SecretStoreHealth:
30516    '''
30517         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
30518     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
30519     or set of nodes.
30520    '''
30521    __slots__ = [
30522        'changed_at',
30523        'checked_at',
30524        'error',
30525        'flags',
30526        'node_id',
30527        'reachability',
30528        'secret_store_id',
30529        'status',
30530    ]
30531
30532    def __init__(
30533        self,
30534        changed_at=None,
30535        checked_at=None,
30536        error=None,
30537        flags=None,
30538        node_id=None,
30539        reachability=None,
30540        secret_store_id=None,
30541        status=None,
30542    ):
30543        self.changed_at = changed_at if changed_at is not None else None
30544        '''
30545         The time when the status last changed
30546        '''
30547        self.checked_at = checked_at if checked_at is not None else None
30548        '''
30549         The time when the status was last checked by the node
30550        '''
30551        self.error = error if error is not None else ''
30552        '''
30553         The error associated with this health check, if it occurred after reachability checks succeeded.
30554        '''
30555        self.flags = flags if flags is not None else []
30556        '''
30557         Any specific status or error flags associated with this health check.
30558        '''
30559        self.node_id = node_id if node_id is not None else ''
30560        '''
30561         Associated node id for this health
30562        '''
30563        self.reachability = reachability if reachability is not None else ''
30564        '''
30565         The error associated with this health check, if it occurred during reachability checks.
30566        '''
30567        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30568        '''
30569         Associated secret store for this health
30570        '''
30571        self.status = status if status is not None else ''
30572        '''
30573         The status of the link between the node and secret store
30574        '''
30575
30576    def __repr__(self):
30577        return '<sdm.SecretStoreHealth ' + \
30578            'changed_at: ' + repr(self.changed_at) + ' ' +\
30579            'checked_at: ' + repr(self.checked_at) + ' ' +\
30580            'error: ' + repr(self.error) + ' ' +\
30581            'flags: ' + repr(self.flags) + ' ' +\
30582            'node_id: ' + repr(self.node_id) + ' ' +\
30583            'reachability: ' + repr(self.reachability) + ' ' +\
30584            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30585            'status: ' + repr(self.status) + ' ' +\
30586            '>'
30587
30588    def to_dict(self):
30589        return {
30590            'changed_at': self.changed_at,
30591            'checked_at': self.checked_at,
30592            'error': self.error,
30593            'flags': self.flags,
30594            'node_id': self.node_id,
30595            'reachability': self.reachability,
30596            'secret_store_id': self.secret_store_id,
30597            'status': self.status,
30598        }
30599
30600    @classmethod
30601    def from_dict(cls, d):
30602        return cls(
30603            changed_at=d.get('changed_at'),
30604            checked_at=d.get('checked_at'),
30605            error=d.get('error'),
30606            flags=d.get('flags'),
30607            node_id=d.get('node_id'),
30608            reachability=d.get('reachability'),
30609            secret_store_id=d.get('secret_store_id'),
30610            status=d.get('status'),
30611        )
30612
30613
30614class SecretStoreHealthListResponse:
30615    __slots__ = [
30616        'rate_limit',
30617    ]
30618
30619    def __init__(
30620        self,
30621        rate_limit=None,
30622    ):
30623        self.rate_limit = rate_limit if rate_limit is not None else None
30624        '''
30625         Rate limit information.
30626        '''
30627
30628    def __repr__(self):
30629        return '<sdm.SecretStoreHealthListResponse ' + \
30630            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30631            '>'
30632
30633    def to_dict(self):
30634        return {
30635            'rate_limit': self.rate_limit,
30636        }
30637
30638    @classmethod
30639    def from_dict(cls, d):
30640        return cls(rate_limit=d.get('rate_limit'), )
30641
30642
30643class SecretStoreHealthcheckResponse:
30644    __slots__ = [
30645        'rate_limit',
30646    ]
30647
30648    def __init__(
30649        self,
30650        rate_limit=None,
30651    ):
30652        self.rate_limit = rate_limit if rate_limit is not None else None
30653        '''
30654         Rate limit information.
30655        '''
30656
30657    def __repr__(self):
30658        return '<sdm.SecretStoreHealthcheckResponse ' + \
30659            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30660            '>'
30661
30662    def to_dict(self):
30663        return {
30664            'rate_limit': self.rate_limit,
30665        }
30666
30667    @classmethod
30668    def from_dict(cls, d):
30669        return cls(rate_limit=d.get('rate_limit'), )
30670
30671
30672class SecretStoreHistory:
30673    '''
30674         SecretStoreHistory records the state of a SecretStore at a given point in time,
30675     where every change (create, update and delete) to a SecretStore produces an
30676     SecretStoreHistory record.
30677    '''
30678    __slots__ = [
30679        'activity_id',
30680        'deleted_at',
30681        'secret_store',
30682        'timestamp',
30683    ]
30684
30685    def __init__(
30686        self,
30687        activity_id=None,
30688        deleted_at=None,
30689        secret_store=None,
30690        timestamp=None,
30691    ):
30692        self.activity_id = activity_id if activity_id is not None else ''
30693        '''
30694         The unique identifier of the Activity that produced this change to the SecretStore.
30695         May be empty for some system-initiated updates.
30696        '''
30697        self.deleted_at = deleted_at if deleted_at is not None else None
30698        '''
30699         If this SecretStore was deleted, the time it was deleted.
30700        '''
30701        self.secret_store = secret_store if secret_store is not None else None
30702        '''
30703         The complete SecretStore state at this time.
30704        '''
30705        self.timestamp = timestamp if timestamp is not None else None
30706        '''
30707         The time at which the SecretStore state was recorded.
30708        '''
30709
30710    def __repr__(self):
30711        return '<sdm.SecretStoreHistory ' + \
30712            'activity_id: ' + repr(self.activity_id) + ' ' +\
30713            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
30714            'secret_store: ' + repr(self.secret_store) + ' ' +\
30715            'timestamp: ' + repr(self.timestamp) + ' ' +\
30716            '>'
30717
30718    def to_dict(self):
30719        return {
30720            'activity_id': self.activity_id,
30721            'deleted_at': self.deleted_at,
30722            'secret_store': self.secret_store,
30723            'timestamp': self.timestamp,
30724        }
30725
30726    @classmethod
30727    def from_dict(cls, d):
30728        return cls(
30729            activity_id=d.get('activity_id'),
30730            deleted_at=d.get('deleted_at'),
30731            secret_store=d.get('secret_store'),
30732            timestamp=d.get('timestamp'),
30733        )
30734
30735
30736class SecretStoreUpdateResponse:
30737    '''
30738         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
30739     a SecretStoreUpdateRequest.
30740    '''
30741    __slots__ = [
30742        'meta',
30743        'rate_limit',
30744        'secret_store',
30745    ]
30746
30747    def __init__(
30748        self,
30749        meta=None,
30750        rate_limit=None,
30751        secret_store=None,
30752    ):
30753        self.meta = meta if meta is not None else None
30754        '''
30755         Reserved for future use.
30756        '''
30757        self.rate_limit = rate_limit if rate_limit is not None else None
30758        '''
30759         Rate limit information.
30760        '''
30761        self.secret_store = secret_store if secret_store is not None else None
30762        '''
30763         The updated SecretStore.
30764        '''
30765
30766    def __repr__(self):
30767        return '<sdm.SecretStoreUpdateResponse ' + \
30768            'meta: ' + repr(self.meta) + ' ' +\
30769            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30770            'secret_store: ' + repr(self.secret_store) + ' ' +\
30771            '>'
30772
30773    def to_dict(self):
30774        return {
30775            'meta': self.meta,
30776            'rate_limit': self.rate_limit,
30777            'secret_store': self.secret_store,
30778        }
30779
30780    @classmethod
30781    def from_dict(cls, d):
30782        return cls(
30783            meta=d.get('meta'),
30784            rate_limit=d.get('rate_limit'),
30785            secret_store=d.get('secret_store'),
30786        )
30787
30788
30789class Service:
30790    '''
30791         A Service is a service account that can connect to resources they are granted
30792     directly, or granted via roles. Services are typically automated jobs.
30793    '''
30794    __slots__ = [
30795        'id',
30796        'name',
30797        'suspended',
30798        'tags',
30799    ]
30800
30801    def __init__(
30802        self,
30803        id=None,
30804        name=None,
30805        suspended=None,
30806        tags=None,
30807    ):
30808        self.id = id if id is not None else ''
30809        '''
30810         Unique identifier of the Service.
30811        '''
30812        self.name = name if name is not None else ''
30813        '''
30814         Unique human-readable name of the Service.
30815        '''
30816        self.suspended = suspended if suspended is not None else False
30817        '''
30818         The Service's suspended state.
30819        '''
30820        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30821        '''
30822         Tags is a map of key, value pairs.
30823        '''
30824
30825    def __repr__(self):
30826        return '<sdm.Service ' + \
30827            'id: ' + repr(self.id) + ' ' +\
30828            'name: ' + repr(self.name) + ' ' +\
30829            'suspended: ' + repr(self.suspended) + ' ' +\
30830            'tags: ' + repr(self.tags) + ' ' +\
30831            '>'
30832
30833    def to_dict(self):
30834        return {
30835            'id': self.id,
30836            'name': self.name,
30837            'suspended': self.suspended,
30838            'tags': self.tags,
30839        }
30840
30841    @classmethod
30842    def from_dict(cls, d):
30843        return cls(
30844            id=d.get('id'),
30845            name=d.get('name'),
30846            suspended=d.get('suspended'),
30847            tags=d.get('tags'),
30848        )
30849
30850
30851class SingleStore:
30852    __slots__ = [
30853        'bind_interface',
30854        'database',
30855        'egress_filter',
30856        'healthy',
30857        'hostname',
30858        'id',
30859        'name',
30860        'password',
30861        'port',
30862        'port_override',
30863        'proxy_cluster_id',
30864        'require_native_auth',
30865        'secret_store_id',
30866        'subdomain',
30867        'tags',
30868        'use_azure_single_server_usernames',
30869        'username',
30870    ]
30871
30872    def __init__(
30873        self,
30874        bind_interface=None,
30875        database=None,
30876        egress_filter=None,
30877        healthy=None,
30878        hostname=None,
30879        id=None,
30880        name=None,
30881        password=None,
30882        port=None,
30883        port_override=None,
30884        proxy_cluster_id=None,
30885        require_native_auth=None,
30886        secret_store_id=None,
30887        subdomain=None,
30888        tags=None,
30889        use_azure_single_server_usernames=None,
30890        username=None,
30891    ):
30892        self.bind_interface = bind_interface if bind_interface is not None else ''
30893        '''
30894         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
30895        '''
30896        self.database = database if database is not None else ''
30897        '''
30898         The database for healthchecks. Does not affect client requests.
30899        '''
30900        self.egress_filter = egress_filter if egress_filter is not None else ''
30901        '''
30902         A filter applied to the routing logic to pin datasource to nodes.
30903        '''
30904        self.healthy = healthy if healthy is not None else False
30905        '''
30906         True if the datasource is reachable and the credentials are valid.
30907        '''
30908        self.hostname = hostname if hostname is not None else ''
30909        '''
30910         The host to dial to initiate a connection from the egress node to this resource.
30911        '''
30912        self.id = id if id is not None else ''
30913        '''
30914         Unique identifier of the Resource.
30915        '''
30916        self.name = name if name is not None else ''
30917        '''
30918         Unique human-readable name of the Resource.
30919        '''
30920        self.password = password if password is not None else ''
30921        '''
30922         The password to authenticate with.
30923        '''
30924        self.port = port if port is not None else 0
30925        '''
30926         The port to dial to initiate a connection from the egress node to this resource.
30927        '''
30928        self.port_override = port_override if port_override is not None else 0
30929        '''
30930         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
30931        '''
30932        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30933        '''
30934         ID of the proxy cluster for this resource, if any.
30935        '''
30936        self.require_native_auth = require_native_auth if require_native_auth is not None else False
30937        '''
30938         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
30939        '''
30940        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30941        '''
30942         ID of the secret store containing credentials for this resource, if any.
30943        '''
30944        self.subdomain = subdomain if subdomain is not None else ''
30945        '''
30946         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
30947        '''
30948        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30949        '''
30950         Tags is a map of key, value pairs.
30951        '''
30952        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
30953        '''
30954         If true, appends the hostname to the username when hitting a database.azure.com address
30955        '''
30956        self.username = username if username is not None else ''
30957        '''
30958         The username to authenticate with.
30959        '''
30960
30961    def __repr__(self):
30962        return '<sdm.SingleStore ' + \
30963            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30964            'database: ' + repr(self.database) + ' ' +\
30965            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30966            'healthy: ' + repr(self.healthy) + ' ' +\
30967            'hostname: ' + repr(self.hostname) + ' ' +\
30968            'id: ' + repr(self.id) + ' ' +\
30969            'name: ' + repr(self.name) + ' ' +\
30970            'password: ' + repr(self.password) + ' ' +\
30971            'port: ' + repr(self.port) + ' ' +\
30972            'port_override: ' + repr(self.port_override) + ' ' +\
30973            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30974            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
30975            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30976            'subdomain: ' + repr(self.subdomain) + ' ' +\
30977            'tags: ' + repr(self.tags) + ' ' +\
30978            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
30979            'username: ' + repr(self.username) + ' ' +\
30980            '>'
30981
30982    def to_dict(self):
30983        return {
30984            'bind_interface': self.bind_interface,
30985            'database': self.database,
30986            'egress_filter': self.egress_filter,
30987            'healthy': self.healthy,
30988            'hostname': self.hostname,
30989            'id': self.id,
30990            'name': self.name,
30991            'password': self.password,
30992            'port': self.port,
30993            'port_override': self.port_override,
30994            'proxy_cluster_id': self.proxy_cluster_id,
30995            'require_native_auth': self.require_native_auth,
30996            'secret_store_id': self.secret_store_id,
30997            'subdomain': self.subdomain,
30998            'tags': self.tags,
30999            'use_azure_single_server_usernames':
31000            self.use_azure_single_server_usernames,
31001            'username': self.username,
31002        }
31003
31004    @classmethod
31005    def from_dict(cls, d):
31006        return cls(
31007            bind_interface=d.get('bind_interface'),
31008            database=d.get('database'),
31009            egress_filter=d.get('egress_filter'),
31010            healthy=d.get('healthy'),
31011            hostname=d.get('hostname'),
31012            id=d.get('id'),
31013            name=d.get('name'),
31014            password=d.get('password'),
31015            port=d.get('port'),
31016            port_override=d.get('port_override'),
31017            proxy_cluster_id=d.get('proxy_cluster_id'),
31018            require_native_auth=d.get('require_native_auth'),
31019            secret_store_id=d.get('secret_store_id'),
31020            subdomain=d.get('subdomain'),
31021            tags=d.get('tags'),
31022            use_azure_single_server_usernames=d.get(
31023                'use_azure_single_server_usernames'),
31024            username=d.get('username'),
31025        )
31026
31027
31028class Snowflake:
31029    __slots__ = [
31030        'bind_interface',
31031        'database',
31032        'egress_filter',
31033        'healthy',
31034        'hostname',
31035        'id',
31036        'name',
31037        'password',
31038        'port_override',
31039        'private_key',
31040        'proxy_cluster_id',
31041        'schema',
31042        'secret_store_id',
31043        'subdomain',
31044        'tags',
31045        'username',
31046    ]
31047
31048    def __init__(
31049        self,
31050        bind_interface=None,
31051        database=None,
31052        egress_filter=None,
31053        healthy=None,
31054        hostname=None,
31055        id=None,
31056        name=None,
31057        password=None,
31058        port_override=None,
31059        private_key=None,
31060        proxy_cluster_id=None,
31061        schema=None,
31062        secret_store_id=None,
31063        subdomain=None,
31064        tags=None,
31065        username=None,
31066    ):
31067        self.bind_interface = bind_interface if bind_interface is not None else ''
31068        '''
31069         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31070        '''
31071        self.database = database if database is not None else ''
31072        '''
31073         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
31074        '''
31075        self.egress_filter = egress_filter if egress_filter is not None else ''
31076        '''
31077         A filter applied to the routing logic to pin datasource to nodes.
31078        '''
31079        self.healthy = healthy if healthy is not None else False
31080        '''
31081         True if the datasource is reachable and the credentials are valid.
31082        '''
31083        self.hostname = hostname if hostname is not None else ''
31084        '''
31085         The host to dial to initiate a connection from the egress node to this resource.
31086        '''
31087        self.id = id if id is not None else ''
31088        '''
31089         Unique identifier of the Resource.
31090        '''
31091        self.name = name if name is not None else ''
31092        '''
31093         Unique human-readable name of the Resource.
31094        '''
31095        self.password = password if password is not None else ''
31096        '''
31097         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
31098        '''
31099        self.port_override = port_override if port_override is not None else 0
31100        '''
31101         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31102        '''
31103        self.private_key = private_key if private_key is not None else ''
31104        '''
31105         RSA Private Key for authentication
31106        '''
31107        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31108        '''
31109         ID of the proxy cluster for this resource, if any.
31110        '''
31111        self.schema = schema if schema is not None else ''
31112        '''
31113         The schema to provide on authentication.
31114        '''
31115        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31116        '''
31117         ID of the secret store containing credentials for this resource, if any.
31118        '''
31119        self.subdomain = subdomain if subdomain is not None else ''
31120        '''
31121         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31122        '''
31123        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31124        '''
31125         Tags is a map of key, value pairs.
31126        '''
31127        self.username = username if username is not None else ''
31128        '''
31129         The username to authenticate with.
31130        '''
31131
31132    def __repr__(self):
31133        return '<sdm.Snowflake ' + \
31134            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31135            'database: ' + repr(self.database) + ' ' +\
31136            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31137            'healthy: ' + repr(self.healthy) + ' ' +\
31138            'hostname: ' + repr(self.hostname) + ' ' +\
31139            'id: ' + repr(self.id) + ' ' +\
31140            'name: ' + repr(self.name) + ' ' +\
31141            'password: ' + repr(self.password) + ' ' +\
31142            'port_override: ' + repr(self.port_override) + ' ' +\
31143            'private_key: ' + repr(self.private_key) + ' ' +\
31144            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31145            'schema: ' + repr(self.schema) + ' ' +\
31146            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31147            'subdomain: ' + repr(self.subdomain) + ' ' +\
31148            'tags: ' + repr(self.tags) + ' ' +\
31149            'username: ' + repr(self.username) + ' ' +\
31150            '>'
31151
31152    def to_dict(self):
31153        return {
31154            'bind_interface': self.bind_interface,
31155            'database': self.database,
31156            'egress_filter': self.egress_filter,
31157            'healthy': self.healthy,
31158            'hostname': self.hostname,
31159            'id': self.id,
31160            'name': self.name,
31161            'password': self.password,
31162            'port_override': self.port_override,
31163            'private_key': self.private_key,
31164            'proxy_cluster_id': self.proxy_cluster_id,
31165            'schema': self.schema,
31166            'secret_store_id': self.secret_store_id,
31167            'subdomain': self.subdomain,
31168            'tags': self.tags,
31169            'username': self.username,
31170        }
31171
31172    @classmethod
31173    def from_dict(cls, d):
31174        return cls(
31175            bind_interface=d.get('bind_interface'),
31176            database=d.get('database'),
31177            egress_filter=d.get('egress_filter'),
31178            healthy=d.get('healthy'),
31179            hostname=d.get('hostname'),
31180            id=d.get('id'),
31181            name=d.get('name'),
31182            password=d.get('password'),
31183            port_override=d.get('port_override'),
31184            private_key=d.get('private_key'),
31185            proxy_cluster_id=d.get('proxy_cluster_id'),
31186            schema=d.get('schema'),
31187            secret_store_id=d.get('secret_store_id'),
31188            subdomain=d.get('subdomain'),
31189            tags=d.get('tags'),
31190            username=d.get('username'),
31191        )
31192
31193
31194class Snowsight:
31195    __slots__ = [
31196        'bind_interface',
31197        'connecttodefault',
31198        'egress_filter',
31199        'healthcheck_username',
31200        'healthy',
31201        'id',
31202        'name',
31203        'port_override',
31204        'proxy_cluster_id',
31205        'samlmetadata',
31206        'secret_store_id',
31207        'subdomain',
31208        'tags',
31209    ]
31210
31211    def __init__(
31212        self,
31213        bind_interface=None,
31214        connecttodefault=None,
31215        egress_filter=None,
31216        healthcheck_username=None,
31217        healthy=None,
31218        id=None,
31219        name=None,
31220        port_override=None,
31221        proxy_cluster_id=None,
31222        samlmetadata=None,
31223        secret_store_id=None,
31224        subdomain=None,
31225        tags=None,
31226    ):
31227        self.bind_interface = bind_interface if bind_interface is not None else ''
31228        '''
31229         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31230        '''
31231        self.connecttodefault = connecttodefault if connecttodefault is not None else False
31232        '''
31233         If true, select the ACS with isDefault=true
31234        '''
31235        self.egress_filter = egress_filter if egress_filter is not None else ''
31236        '''
31237         A filter applied to the routing logic to pin datasource to nodes.
31238        '''
31239        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
31240        '''
31241         The StrongDM user email to use for healthchecks.
31242        '''
31243        self.healthy = healthy if healthy is not None else False
31244        '''
31245         True if the datasource is reachable and the credentials are valid.
31246        '''
31247        self.id = id if id is not None else ''
31248        '''
31249         Unique identifier of the Resource.
31250        '''
31251        self.name = name if name is not None else ''
31252        '''
31253         Unique human-readable name of the Resource.
31254        '''
31255        self.port_override = port_override if port_override is not None else 0
31256        '''
31257         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31258        '''
31259        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31260        '''
31261         ID of the proxy cluster for this resource, if any.
31262        '''
31263        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
31264        '''
31265         The Metadata for your snowflake IDP integration
31266        '''
31267        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31268        '''
31269         ID of the secret store containing credentials for this resource, if any.
31270        '''
31271        self.subdomain = subdomain if subdomain is not None else ''
31272        '''
31273         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
31274        '''
31275        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31276        '''
31277         Tags is a map of key, value pairs.
31278        '''
31279
31280    def __repr__(self):
31281        return '<sdm.Snowsight ' + \
31282            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31283            'connecttodefault: ' + repr(self.connecttodefault) + ' ' +\
31284            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31285            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
31286            'healthy: ' + repr(self.healthy) + ' ' +\
31287            'id: ' + repr(self.id) + ' ' +\
31288            'name: ' + repr(self.name) + ' ' +\
31289            'port_override: ' + repr(self.port_override) + ' ' +\
31290            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31291            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
31292            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31293            'subdomain: ' + repr(self.subdomain) + ' ' +\
31294            'tags: ' + repr(self.tags) + ' ' +\
31295            '>'
31296
31297    def to_dict(self):
31298        return {
31299            'bind_interface': self.bind_interface,
31300            'connecttodefault': self.connecttodefault,
31301            'egress_filter': self.egress_filter,
31302            'healthcheck_username': self.healthcheck_username,
31303            'healthy': self.healthy,
31304            'id': self.id,
31305            'name': self.name,
31306            'port_override': self.port_override,
31307            'proxy_cluster_id': self.proxy_cluster_id,
31308            'samlmetadata': self.samlmetadata,
31309            'secret_store_id': self.secret_store_id,
31310            'subdomain': self.subdomain,
31311            'tags': self.tags,
31312        }
31313
31314    @classmethod
31315    def from_dict(cls, d):
31316        return cls(
31317            bind_interface=d.get('bind_interface'),
31318            connecttodefault=d.get('connecttodefault'),
31319            egress_filter=d.get('egress_filter'),
31320            healthcheck_username=d.get('healthcheck_username'),
31321            healthy=d.get('healthy'),
31322            id=d.get('id'),
31323            name=d.get('name'),
31324            port_override=d.get('port_override'),
31325            proxy_cluster_id=d.get('proxy_cluster_id'),
31326            samlmetadata=d.get('samlmetadata'),
31327            secret_store_id=d.get('secret_store_id'),
31328            subdomain=d.get('subdomain'),
31329            tags=d.get('tags'),
31330        )
31331
31332
31333class StrongVaultStore:
31334    '''
31335    StrongVaultStore is currently unstable, and its API may change, or it may be removed,
31336    without a major version bump.
31337    '''
31338    __slots__ = [
31339        'id',
31340        'name',
31341        'tags',
31342    ]
31343
31344    def __init__(
31345        self,
31346        id=None,
31347        name=None,
31348        tags=None,
31349    ):
31350        self.id = id if id is not None else ''
31351        '''
31352         Unique identifier of the SecretStore.
31353        '''
31354        self.name = name if name is not None else ''
31355        '''
31356         Unique human-readable name of the SecretStore.
31357        '''
31358        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31359        '''
31360         Tags is a map of key, value pairs.
31361        '''
31362
31363    def __repr__(self):
31364        return '<sdm.StrongVaultStore ' + \
31365            'id: ' + repr(self.id) + ' ' +\
31366            'name: ' + repr(self.name) + ' ' +\
31367            'tags: ' + repr(self.tags) + ' ' +\
31368            '>'
31369
31370    def to_dict(self):
31371        return {
31372            'id': self.id,
31373            'name': self.name,
31374            'tags': self.tags,
31375        }
31376
31377    @classmethod
31378    def from_dict(cls, d):
31379        return cls(
31380            id=d.get('id'),
31381            name=d.get('name'),
31382            tags=d.get('tags'),
31383        )
31384
31385
31386class Sybase:
31387    __slots__ = [
31388        'bind_interface',
31389        'egress_filter',
31390        'healthy',
31391        'hostname',
31392        'id',
31393        'name',
31394        'password',
31395        'port',
31396        'port_override',
31397        'proxy_cluster_id',
31398        'secret_store_id',
31399        'subdomain',
31400        'tags',
31401        'username',
31402    ]
31403
31404    def __init__(
31405        self,
31406        bind_interface=None,
31407        egress_filter=None,
31408        healthy=None,
31409        hostname=None,
31410        id=None,
31411        name=None,
31412        password=None,
31413        port=None,
31414        port_override=None,
31415        proxy_cluster_id=None,
31416        secret_store_id=None,
31417        subdomain=None,
31418        tags=None,
31419        username=None,
31420    ):
31421        self.bind_interface = bind_interface if bind_interface is not None else ''
31422        '''
31423         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31424        '''
31425        self.egress_filter = egress_filter if egress_filter is not None else ''
31426        '''
31427         A filter applied to the routing logic to pin datasource to nodes.
31428        '''
31429        self.healthy = healthy if healthy is not None else False
31430        '''
31431         True if the datasource is reachable and the credentials are valid.
31432        '''
31433        self.hostname = hostname if hostname is not None else ''
31434        '''
31435         The host to dial to initiate a connection from the egress node to this resource.
31436        '''
31437        self.id = id if id is not None else ''
31438        '''
31439         Unique identifier of the Resource.
31440        '''
31441        self.name = name if name is not None else ''
31442        '''
31443         Unique human-readable name of the Resource.
31444        '''
31445        self.password = password if password is not None else ''
31446        '''
31447         The password to authenticate with.
31448        '''
31449        self.port = port if port is not None else 0
31450        '''
31451         The port to dial to initiate a connection from the egress node to this resource.
31452        '''
31453        self.port_override = port_override if port_override is not None else 0
31454        '''
31455         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31456        '''
31457        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31458        '''
31459         ID of the proxy cluster for this resource, if any.
31460        '''
31461        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31462        '''
31463         ID of the secret store containing credentials for this resource, if any.
31464        '''
31465        self.subdomain = subdomain if subdomain is not None else ''
31466        '''
31467         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31468        '''
31469        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31470        '''
31471         Tags is a map of key, value pairs.
31472        '''
31473        self.username = username if username is not None else ''
31474        '''
31475         The username to authenticate with.
31476        '''
31477
31478    def __repr__(self):
31479        return '<sdm.Sybase ' + \
31480            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31481            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31482            'healthy: ' + repr(self.healthy) + ' ' +\
31483            'hostname: ' + repr(self.hostname) + ' ' +\
31484            'id: ' + repr(self.id) + ' ' +\
31485            'name: ' + repr(self.name) + ' ' +\
31486            'password: ' + repr(self.password) + ' ' +\
31487            'port: ' + repr(self.port) + ' ' +\
31488            'port_override: ' + repr(self.port_override) + ' ' +\
31489            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31490            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31491            'subdomain: ' + repr(self.subdomain) + ' ' +\
31492            'tags: ' + repr(self.tags) + ' ' +\
31493            'username: ' + repr(self.username) + ' ' +\
31494            '>'
31495
31496    def to_dict(self):
31497        return {
31498            'bind_interface': self.bind_interface,
31499            'egress_filter': self.egress_filter,
31500            'healthy': self.healthy,
31501            'hostname': self.hostname,
31502            'id': self.id,
31503            'name': self.name,
31504            'password': self.password,
31505            'port': self.port,
31506            'port_override': self.port_override,
31507            'proxy_cluster_id': self.proxy_cluster_id,
31508            'secret_store_id': self.secret_store_id,
31509            'subdomain': self.subdomain,
31510            'tags': self.tags,
31511            'username': self.username,
31512        }
31513
31514    @classmethod
31515    def from_dict(cls, d):
31516        return cls(
31517            bind_interface=d.get('bind_interface'),
31518            egress_filter=d.get('egress_filter'),
31519            healthy=d.get('healthy'),
31520            hostname=d.get('hostname'),
31521            id=d.get('id'),
31522            name=d.get('name'),
31523            password=d.get('password'),
31524            port=d.get('port'),
31525            port_override=d.get('port_override'),
31526            proxy_cluster_id=d.get('proxy_cluster_id'),
31527            secret_store_id=d.get('secret_store_id'),
31528            subdomain=d.get('subdomain'),
31529            tags=d.get('tags'),
31530            username=d.get('username'),
31531        )
31532
31533
31534class SybaseIQ:
31535    __slots__ = [
31536        'bind_interface',
31537        'egress_filter',
31538        'healthy',
31539        'hostname',
31540        'id',
31541        'name',
31542        'password',
31543        'port',
31544        'port_override',
31545        'proxy_cluster_id',
31546        'secret_store_id',
31547        'subdomain',
31548        'tags',
31549        'username',
31550    ]
31551
31552    def __init__(
31553        self,
31554        bind_interface=None,
31555        egress_filter=None,
31556        healthy=None,
31557        hostname=None,
31558        id=None,
31559        name=None,
31560        password=None,
31561        port=None,
31562        port_override=None,
31563        proxy_cluster_id=None,
31564        secret_store_id=None,
31565        subdomain=None,
31566        tags=None,
31567        username=None,
31568    ):
31569        self.bind_interface = bind_interface if bind_interface is not None else ''
31570        '''
31571         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31572        '''
31573        self.egress_filter = egress_filter if egress_filter is not None else ''
31574        '''
31575         A filter applied to the routing logic to pin datasource to nodes.
31576        '''
31577        self.healthy = healthy if healthy is not None else False
31578        '''
31579         True if the datasource is reachable and the credentials are valid.
31580        '''
31581        self.hostname = hostname if hostname is not None else ''
31582        '''
31583         The host to dial to initiate a connection from the egress node to this resource.
31584        '''
31585        self.id = id if id is not None else ''
31586        '''
31587         Unique identifier of the Resource.
31588        '''
31589        self.name = name if name is not None else ''
31590        '''
31591         Unique human-readable name of the Resource.
31592        '''
31593        self.password = password if password is not None else ''
31594        '''
31595         The password to authenticate with.
31596        '''
31597        self.port = port if port is not None else 0
31598        '''
31599         The port to dial to initiate a connection from the egress node to this resource.
31600        '''
31601        self.port_override = port_override if port_override is not None else 0
31602        '''
31603         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31604        '''
31605        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31606        '''
31607         ID of the proxy cluster for this resource, if any.
31608        '''
31609        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31610        '''
31611         ID of the secret store containing credentials for this resource, if any.
31612        '''
31613        self.subdomain = subdomain if subdomain is not None else ''
31614        '''
31615         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31616        '''
31617        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31618        '''
31619         Tags is a map of key, value pairs.
31620        '''
31621        self.username = username if username is not None else ''
31622        '''
31623         The username to authenticate with.
31624        '''
31625
31626    def __repr__(self):
31627        return '<sdm.SybaseIQ ' + \
31628            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31629            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31630            'healthy: ' + repr(self.healthy) + ' ' +\
31631            'hostname: ' + repr(self.hostname) + ' ' +\
31632            'id: ' + repr(self.id) + ' ' +\
31633            'name: ' + repr(self.name) + ' ' +\
31634            'password: ' + repr(self.password) + ' ' +\
31635            'port: ' + repr(self.port) + ' ' +\
31636            'port_override: ' + repr(self.port_override) + ' ' +\
31637            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31638            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31639            'subdomain: ' + repr(self.subdomain) + ' ' +\
31640            'tags: ' + repr(self.tags) + ' ' +\
31641            'username: ' + repr(self.username) + ' ' +\
31642            '>'
31643
31644    def to_dict(self):
31645        return {
31646            'bind_interface': self.bind_interface,
31647            'egress_filter': self.egress_filter,
31648            'healthy': self.healthy,
31649            'hostname': self.hostname,
31650            'id': self.id,
31651            'name': self.name,
31652            'password': self.password,
31653            'port': self.port,
31654            'port_override': self.port_override,
31655            'proxy_cluster_id': self.proxy_cluster_id,
31656            'secret_store_id': self.secret_store_id,
31657            'subdomain': self.subdomain,
31658            'tags': self.tags,
31659            'username': self.username,
31660        }
31661
31662    @classmethod
31663    def from_dict(cls, d):
31664        return cls(
31665            bind_interface=d.get('bind_interface'),
31666            egress_filter=d.get('egress_filter'),
31667            healthy=d.get('healthy'),
31668            hostname=d.get('hostname'),
31669            id=d.get('id'),
31670            name=d.get('name'),
31671            password=d.get('password'),
31672            port=d.get('port'),
31673            port_override=d.get('port_override'),
31674            proxy_cluster_id=d.get('proxy_cluster_id'),
31675            secret_store_id=d.get('secret_store_id'),
31676            subdomain=d.get('subdomain'),
31677            tags=d.get('tags'),
31678            username=d.get('username'),
31679        )
31680
31681
31682class Tag:
31683    __slots__ = [
31684        'name',
31685        'value',
31686    ]
31687
31688    def __init__(
31689        self,
31690        name=None,
31691        value=None,
31692    ):
31693        self.name = name if name is not None else ''
31694        '''
31695         The name or key of this tag. Each name can only refer to one value on a tagged entity.
31696        '''
31697        self.value = value if value is not None else ''
31698        '''
31699         The value of this tag.
31700        '''
31701
31702    def __repr__(self):
31703        return '<sdm.Tag ' + \
31704            'name: ' + repr(self.name) + ' ' +\
31705            'value: ' + repr(self.value) + ' ' +\
31706            '>'
31707
31708    def to_dict(self):
31709        return {
31710            'name': self.name,
31711            'value': self.value,
31712        }
31713
31714    @classmethod
31715    def from_dict(cls, d):
31716        return cls(
31717            name=d.get('name'),
31718            value=d.get('value'),
31719        )
31720
31721
31722class Teradata:
31723    __slots__ = [
31724        'bind_interface',
31725        'egress_filter',
31726        'healthy',
31727        'hostname',
31728        'id',
31729        'name',
31730        'password',
31731        'port',
31732        'port_override',
31733        'proxy_cluster_id',
31734        'secret_store_id',
31735        'subdomain',
31736        'tags',
31737        'username',
31738    ]
31739
31740    def __init__(
31741        self,
31742        bind_interface=None,
31743        egress_filter=None,
31744        healthy=None,
31745        hostname=None,
31746        id=None,
31747        name=None,
31748        password=None,
31749        port=None,
31750        port_override=None,
31751        proxy_cluster_id=None,
31752        secret_store_id=None,
31753        subdomain=None,
31754        tags=None,
31755        username=None,
31756    ):
31757        self.bind_interface = bind_interface if bind_interface is not None else ''
31758        '''
31759         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31760        '''
31761        self.egress_filter = egress_filter if egress_filter is not None else ''
31762        '''
31763         A filter applied to the routing logic to pin datasource to nodes.
31764        '''
31765        self.healthy = healthy if healthy is not None else False
31766        '''
31767         True if the datasource is reachable and the credentials are valid.
31768        '''
31769        self.hostname = hostname if hostname is not None else ''
31770        '''
31771         The host to dial to initiate a connection from the egress node to this resource.
31772        '''
31773        self.id = id if id is not None else ''
31774        '''
31775         Unique identifier of the Resource.
31776        '''
31777        self.name = name if name is not None else ''
31778        '''
31779         Unique human-readable name of the Resource.
31780        '''
31781        self.password = password if password is not None else ''
31782        '''
31783         The password to authenticate with.
31784        '''
31785        self.port = port if port is not None else 0
31786        '''
31787         The port to dial to initiate a connection from the egress node to this resource.
31788        '''
31789        self.port_override = port_override if port_override is not None else 0
31790        '''
31791         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31792        '''
31793        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31794        '''
31795         ID of the proxy cluster for this resource, if any.
31796        '''
31797        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31798        '''
31799         ID of the secret store containing credentials for this resource, if any.
31800        '''
31801        self.subdomain = subdomain if subdomain is not None else ''
31802        '''
31803         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31804        '''
31805        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31806        '''
31807         Tags is a map of key, value pairs.
31808        '''
31809        self.username = username if username is not None else ''
31810        '''
31811         The username to authenticate with.
31812        '''
31813
31814    def __repr__(self):
31815        return '<sdm.Teradata ' + \
31816            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31817            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31818            'healthy: ' + repr(self.healthy) + ' ' +\
31819            'hostname: ' + repr(self.hostname) + ' ' +\
31820            'id: ' + repr(self.id) + ' ' +\
31821            'name: ' + repr(self.name) + ' ' +\
31822            'password: ' + repr(self.password) + ' ' +\
31823            'port: ' + repr(self.port) + ' ' +\
31824            'port_override: ' + repr(self.port_override) + ' ' +\
31825            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31826            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31827            'subdomain: ' + repr(self.subdomain) + ' ' +\
31828            'tags: ' + repr(self.tags) + ' ' +\
31829            'username: ' + repr(self.username) + ' ' +\
31830            '>'
31831
31832    def to_dict(self):
31833        return {
31834            'bind_interface': self.bind_interface,
31835            'egress_filter': self.egress_filter,
31836            'healthy': self.healthy,
31837            'hostname': self.hostname,
31838            'id': self.id,
31839            'name': self.name,
31840            'password': self.password,
31841            'port': self.port,
31842            'port_override': self.port_override,
31843            'proxy_cluster_id': self.proxy_cluster_id,
31844            'secret_store_id': self.secret_store_id,
31845            'subdomain': self.subdomain,
31846            'tags': self.tags,
31847            'username': self.username,
31848        }
31849
31850    @classmethod
31851    def from_dict(cls, d):
31852        return cls(
31853            bind_interface=d.get('bind_interface'),
31854            egress_filter=d.get('egress_filter'),
31855            healthy=d.get('healthy'),
31856            hostname=d.get('hostname'),
31857            id=d.get('id'),
31858            name=d.get('name'),
31859            password=d.get('password'),
31860            port=d.get('port'),
31861            port_override=d.get('port_override'),
31862            proxy_cluster_id=d.get('proxy_cluster_id'),
31863            secret_store_id=d.get('secret_store_id'),
31864            subdomain=d.get('subdomain'),
31865            tags=d.get('tags'),
31866            username=d.get('username'),
31867        )
31868
31869
31870class Token:
31871    '''
31872         A Token is an account providing tokenized access for automation or integration use.
31873     Tokens include admin tokens, API keys, and SCIM tokens.
31874    '''
31875    __slots__ = [
31876        'account_type',
31877        'deadline',
31878        'duration',
31879        'id',
31880        'name',
31881        'permissions',
31882        'rekeyed',
31883        'suspended',
31884        'tags',
31885    ]
31886
31887    def __init__(
31888        self,
31889        account_type=None,
31890        deadline=None,
31891        duration=None,
31892        id=None,
31893        name=None,
31894        permissions=None,
31895        rekeyed=None,
31896        suspended=None,
31897        tags=None,
31898    ):
31899        self.account_type = account_type if account_type is not None else ''
31900        '''
31901         Corresponds to the type of token, e.g. api or admin-token.
31902        '''
31903        self.deadline = deadline if deadline is not None else None
31904        '''
31905         The timestamp when the Token will expire.
31906        '''
31907        self.duration = duration if duration is not None else None
31908        '''
31909         Duration from token creation to expiration.
31910        '''
31911        self.id = id if id is not None else ''
31912        '''
31913         Unique identifier of the Token.
31914        '''
31915        self.name = name if name is not None else ''
31916        '''
31917         Unique human-readable name of the Token.
31918        '''
31919        self.permissions = permissions if permissions is not None else []
31920        '''
31921         Permissions assigned to the token, e.g. role:create.
31922        '''
31923        self.rekeyed = rekeyed if rekeyed is not None else None
31924        '''
31925         The timestamp when the Token was last rekeyed.
31926        '''
31927        self.suspended = suspended if suspended is not None else False
31928        '''
31929         Reserved for future use.  Always false for tokens.
31930        '''
31931        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31932        '''
31933         Tags is a map of key, value pairs.
31934        '''
31935
31936    def __repr__(self):
31937        return '<sdm.Token ' + \
31938            'account_type: ' + repr(self.account_type) + ' ' +\
31939            'deadline: ' + repr(self.deadline) + ' ' +\
31940            'duration: ' + repr(self.duration) + ' ' +\
31941            'id: ' + repr(self.id) + ' ' +\
31942            'name: ' + repr(self.name) + ' ' +\
31943            'permissions: ' + repr(self.permissions) + ' ' +\
31944            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
31945            'suspended: ' + repr(self.suspended) + ' ' +\
31946            'tags: ' + repr(self.tags) + ' ' +\
31947            '>'
31948
31949    def to_dict(self):
31950        return {
31951            'account_type': self.account_type,
31952            'deadline': self.deadline,
31953            'duration': self.duration,
31954            'id': self.id,
31955            'name': self.name,
31956            'permissions': self.permissions,
31957            'rekeyed': self.rekeyed,
31958            'suspended': self.suspended,
31959            'tags': self.tags,
31960        }
31961
31962    @classmethod
31963    def from_dict(cls, d):
31964        return cls(
31965            account_type=d.get('account_type'),
31966            deadline=d.get('deadline'),
31967            duration=d.get('duration'),
31968            id=d.get('id'),
31969            name=d.get('name'),
31970            permissions=d.get('permissions'),
31971            rekeyed=d.get('rekeyed'),
31972            suspended=d.get('suspended'),
31973            tags=d.get('tags'),
31974        )
31975
31976
31977class Trino:
31978    __slots__ = [
31979        'bind_interface',
31980        'egress_filter',
31981        'healthy',
31982        'hostname',
31983        'id',
31984        'name',
31985        'password',
31986        'port',
31987        'port_override',
31988        'proxy_cluster_id',
31989        'secret_store_id',
31990        'subdomain',
31991        'tags',
31992        'tls_required',
31993        'username',
31994    ]
31995
31996    def __init__(
31997        self,
31998        bind_interface=None,
31999        egress_filter=None,
32000        healthy=None,
32001        hostname=None,
32002        id=None,
32003        name=None,
32004        password=None,
32005        port=None,
32006        port_override=None,
32007        proxy_cluster_id=None,
32008        secret_store_id=None,
32009        subdomain=None,
32010        tags=None,
32011        tls_required=None,
32012        username=None,
32013    ):
32014        self.bind_interface = bind_interface if bind_interface is not None else ''
32015        '''
32016         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32017        '''
32018        self.egress_filter = egress_filter if egress_filter is not None else ''
32019        '''
32020         A filter applied to the routing logic to pin datasource to nodes.
32021        '''
32022        self.healthy = healthy if healthy is not None else False
32023        '''
32024         True if the datasource is reachable and the credentials are valid.
32025        '''
32026        self.hostname = hostname if hostname is not None else ''
32027        '''
32028         The host to dial to initiate a connection from the egress node to this resource.
32029        '''
32030        self.id = id if id is not None else ''
32031        '''
32032         Unique identifier of the Resource.
32033        '''
32034        self.name = name if name is not None else ''
32035        '''
32036         Unique human-readable name of the Resource.
32037        '''
32038        self.password = password if password is not None else ''
32039        '''
32040         The password to authenticate with.
32041        '''
32042        self.port = port if port is not None else 0
32043        '''
32044         The port to dial to initiate a connection from the egress node to this resource.
32045        '''
32046        self.port_override = port_override if port_override is not None else 0
32047        '''
32048         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32049        '''
32050        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32051        '''
32052         ID of the proxy cluster for this resource, if any.
32053        '''
32054        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32055        '''
32056         ID of the secret store containing credentials for this resource, if any.
32057        '''
32058        self.subdomain = subdomain if subdomain is not None else ''
32059        '''
32060         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32061        '''
32062        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32063        '''
32064         Tags is a map of key, value pairs.
32065        '''
32066        self.tls_required = tls_required if tls_required is not None else False
32067        '''
32068         If set, TLS must be used to connect to this resource.
32069        '''
32070        self.username = username if username is not None else ''
32071        '''
32072         The username to authenticate with.
32073        '''
32074
32075    def __repr__(self):
32076        return '<sdm.Trino ' + \
32077            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32078            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32079            'healthy: ' + repr(self.healthy) + ' ' +\
32080            'hostname: ' + repr(self.hostname) + ' ' +\
32081            'id: ' + repr(self.id) + ' ' +\
32082            'name: ' + repr(self.name) + ' ' +\
32083            'password: ' + repr(self.password) + ' ' +\
32084            'port: ' + repr(self.port) + ' ' +\
32085            'port_override: ' + repr(self.port_override) + ' ' +\
32086            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32087            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32088            'subdomain: ' + repr(self.subdomain) + ' ' +\
32089            'tags: ' + repr(self.tags) + ' ' +\
32090            'tls_required: ' + repr(self.tls_required) + ' ' +\
32091            'username: ' + repr(self.username) + ' ' +\
32092            '>'
32093
32094    def to_dict(self):
32095        return {
32096            'bind_interface': self.bind_interface,
32097            'egress_filter': self.egress_filter,
32098            'healthy': self.healthy,
32099            'hostname': self.hostname,
32100            'id': self.id,
32101            'name': self.name,
32102            'password': self.password,
32103            'port': self.port,
32104            'port_override': self.port_override,
32105            'proxy_cluster_id': self.proxy_cluster_id,
32106            'secret_store_id': self.secret_store_id,
32107            'subdomain': self.subdomain,
32108            'tags': self.tags,
32109            'tls_required': self.tls_required,
32110            'username': self.username,
32111        }
32112
32113    @classmethod
32114    def from_dict(cls, d):
32115        return cls(
32116            bind_interface=d.get('bind_interface'),
32117            egress_filter=d.get('egress_filter'),
32118            healthy=d.get('healthy'),
32119            hostname=d.get('hostname'),
32120            id=d.get('id'),
32121            name=d.get('name'),
32122            password=d.get('password'),
32123            port=d.get('port'),
32124            port_override=d.get('port_override'),
32125            proxy_cluster_id=d.get('proxy_cluster_id'),
32126            secret_store_id=d.get('secret_store_id'),
32127            subdomain=d.get('subdomain'),
32128            tags=d.get('tags'),
32129            tls_required=d.get('tls_required'),
32130            username=d.get('username'),
32131        )
32132
32133
32134class UpdateResponseMetadata:
32135    '''
32136         UpdateResponseMetadata is reserved for future use.
32137    '''
32138    __slots__ = []
32139
32140    def __init__(self, ):
32141        pass
32142
32143    def __repr__(self):
32144        return '<sdm.UpdateResponseMetadata ' + \
32145            '>'
32146
32147    def to_dict(self):
32148        return {}
32149
32150    @classmethod
32151    def from_dict(cls, d):
32152        return cls()
32153
32154
32155class User:
32156    '''
32157         A User can connect to resources they are granted directly, or granted
32158     via roles.
32159    '''
32160    __slots__ = [
32161        'scim',
32162        'email',
32163        'external_id',
32164        'first_name',
32165        'id',
32166        'last_name',
32167        'managed_by',
32168        'manager_id',
32169        'password',
32170        'permission_level',
32171        'resolved_manager_id',
32172        'suspended',
32173        'tags',
32174    ]
32175
32176    def __init__(
32177        self,
32178        scim=None,
32179        email=None,
32180        external_id=None,
32181        first_name=None,
32182        id=None,
32183        last_name=None,
32184        managed_by=None,
32185        manager_id=None,
32186        password=None,
32187        permission_level=None,
32188        resolved_manager_id=None,
32189        suspended=None,
32190        tags=None,
32191    ):
32192        self.scim = scim if scim is not None else ''
32193        '''
32194         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
32195        '''
32196        self.email = email if email is not None else ''
32197        '''
32198         The User's email address. Must be unique.
32199        '''
32200        self.external_id = external_id if external_id is not None else ''
32201        '''
32202         External ID is an alternative unique ID this user is represented by within an external service.
32203        '''
32204        self.first_name = first_name if first_name is not None else ''
32205        '''
32206         The User's first name.
32207        '''
32208        self.id = id if id is not None else ''
32209        '''
32210         Unique identifier of the User.
32211        '''
32212        self.last_name = last_name if last_name is not None else ''
32213        '''
32214         The User's last name.
32215        '''
32216        self.managed_by = managed_by if managed_by is not None else ''
32217        '''
32218         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
32219        '''
32220        self.manager_id = manager_id if manager_id is not None else ''
32221        '''
32222         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
32223        '''
32224        self.password = password if password is not None else ''
32225        '''
32226         Password is a write-only field that can be used to set the user's password.
32227         Currently only supported for update.
32228        '''
32229        self.permission_level = permission_level if permission_level is not None else ''
32230        '''
32231         PermissionLevel is the user's permission level e.g. admin, DBA, user.
32232        '''
32233        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
32234        '''
32235         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
32236         if present, or from the SCIM metadata.
32237         This is a read-only field that's only populated for get and list.
32238        '''
32239        self.suspended = suspended if suspended is not None else False
32240        '''
32241         Suspended is a read only field for the User's suspended state.
32242        '''
32243        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32244        '''
32245         Tags is a map of key, value pairs.
32246        '''
32247
32248    def __repr__(self):
32249        return '<sdm.User ' + \
32250            'scim: ' + repr(self.scim) + ' ' +\
32251            'email: ' + repr(self.email) + ' ' +\
32252            'external_id: ' + repr(self.external_id) + ' ' +\
32253            'first_name: ' + repr(self.first_name) + ' ' +\
32254            'id: ' + repr(self.id) + ' ' +\
32255            'last_name: ' + repr(self.last_name) + ' ' +\
32256            'managed_by: ' + repr(self.managed_by) + ' ' +\
32257            'manager_id: ' + repr(self.manager_id) + ' ' +\
32258            'password: ' + repr(self.password) + ' ' +\
32259            'permission_level: ' + repr(self.permission_level) + ' ' +\
32260            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
32261            'suspended: ' + repr(self.suspended) + ' ' +\
32262            'tags: ' + repr(self.tags) + ' ' +\
32263            '>'
32264
32265    def to_dict(self):
32266        return {
32267            'scim': self.scim,
32268            'email': self.email,
32269            'external_id': self.external_id,
32270            'first_name': self.first_name,
32271            'id': self.id,
32272            'last_name': self.last_name,
32273            'managed_by': self.managed_by,
32274            'manager_id': self.manager_id,
32275            'password': self.password,
32276            'permission_level': self.permission_level,
32277            'resolved_manager_id': self.resolved_manager_id,
32278            'suspended': self.suspended,
32279            'tags': self.tags,
32280        }
32281
32282    @classmethod
32283    def from_dict(cls, d):
32284        return cls(
32285            scim=d.get('scim'),
32286            email=d.get('email'),
32287            external_id=d.get('external_id'),
32288            first_name=d.get('first_name'),
32289            id=d.get('id'),
32290            last_name=d.get('last_name'),
32291            managed_by=d.get('managed_by'),
32292            manager_id=d.get('manager_id'),
32293            password=d.get('password'),
32294            permission_level=d.get('permission_level'),
32295            resolved_manager_id=d.get('resolved_manager_id'),
32296            suspended=d.get('suspended'),
32297            tags=d.get('tags'),
32298        )
32299
32300
32301class VaultAWSEC2CertSSHStore:
32302    '''
32303    VaultAWSEC2CertSSHStore is currently unstable, and its API may change, or it may be removed,
32304    without a major version bump.
32305    '''
32306    __slots__ = [
32307        'id',
32308        'issuedcertttlminutes',
32309        'name',
32310        'namespace',
32311        'server_address',
32312        'signing_role',
32313        'ssh_mount_point',
32314        'tags',
32315    ]
32316
32317    def __init__(
32318        self,
32319        id=None,
32320        issuedcertttlminutes=None,
32321        name=None,
32322        namespace=None,
32323        server_address=None,
32324        signing_role=None,
32325        ssh_mount_point=None,
32326        tags=None,
32327    ):
32328        self.id = id if id is not None else ''
32329        '''
32330         Unique identifier of the SecretStore.
32331        '''
32332        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32333        '''
32334         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32335        '''
32336        self.name = name if name is not None else ''
32337        '''
32338         Unique human-readable name of the SecretStore.
32339        '''
32340        self.namespace = namespace if namespace is not None else ''
32341        '''
32342         The namespace to make requests within
32343        '''
32344        self.server_address = server_address if server_address is not None else ''
32345        '''
32346         The URL of the Vault to target
32347        '''
32348        self.signing_role = signing_role if signing_role is not None else ''
32349        '''
32350         The signing role to be used for signing certificates
32351        '''
32352        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32353        '''
32354         The mount point of the SSH engine configured with the desired CA
32355        '''
32356        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32357        '''
32358         Tags is a map of key, value pairs.
32359        '''
32360
32361    def __repr__(self):
32362        return '<sdm.VaultAWSEC2CertSSHStore ' + \
32363            'id: ' + repr(self.id) + ' ' +\
32364            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32365            'name: ' + repr(self.name) + ' ' +\
32366            'namespace: ' + repr(self.namespace) + ' ' +\
32367            'server_address: ' + repr(self.server_address) + ' ' +\
32368            'signing_role: ' + repr(self.signing_role) + ' ' +\
32369            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
32370            'tags: ' + repr(self.tags) + ' ' +\
32371            '>'
32372
32373    def to_dict(self):
32374        return {
32375            'id': self.id,
32376            'issuedcertttlminutes': self.issuedcertttlminutes,
32377            'name': self.name,
32378            'namespace': self.namespace,
32379            'server_address': self.server_address,
32380            'signing_role': self.signing_role,
32381            'ssh_mount_point': self.ssh_mount_point,
32382            'tags': self.tags,
32383        }
32384
32385    @classmethod
32386    def from_dict(cls, d):
32387        return cls(
32388            id=d.get('id'),
32389            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32390            name=d.get('name'),
32391            namespace=d.get('namespace'),
32392            server_address=d.get('server_address'),
32393            signing_role=d.get('signing_role'),
32394            ssh_mount_point=d.get('ssh_mount_point'),
32395            tags=d.get('tags'),
32396        )
32397
32398
32399class VaultAWSEC2CertX509Store:
32400    '''
32401    VaultAWSEC2CertX509Store is currently unstable, and its API may change, or it may be removed,
32402    without a major version bump.
32403    '''
32404    __slots__ = [
32405        'id',
32406        'issuedcertttlminutes',
32407        'name',
32408        'namespace',
32409        'pki_mount_point',
32410        'server_address',
32411        'signing_role',
32412        'tags',
32413    ]
32414
32415    def __init__(
32416        self,
32417        id=None,
32418        issuedcertttlminutes=None,
32419        name=None,
32420        namespace=None,
32421        pki_mount_point=None,
32422        server_address=None,
32423        signing_role=None,
32424        tags=None,
32425    ):
32426        self.id = id if id is not None else ''
32427        '''
32428         Unique identifier of the SecretStore.
32429        '''
32430        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32431        '''
32432         The lifetime of certificates issued by this CA represented in minutes.
32433        '''
32434        self.name = name if name is not None else ''
32435        '''
32436         Unique human-readable name of the SecretStore.
32437        '''
32438        self.namespace = namespace if namespace is not None else ''
32439        '''
32440         The namespace to make requests within
32441        '''
32442        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32443        '''
32444         The mount point of the PKI engine configured with the desired CA
32445        '''
32446        self.server_address = server_address if server_address is not None else ''
32447        '''
32448         The URL of the Vault to target
32449        '''
32450        self.signing_role = signing_role if signing_role is not None else ''
32451        '''
32452         The signing role to be used for signing certificates
32453        '''
32454        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32455        '''
32456         Tags is a map of key, value pairs.
32457        '''
32458
32459    def __repr__(self):
32460        return '<sdm.VaultAWSEC2CertX509Store ' + \
32461            'id: ' + repr(self.id) + ' ' +\
32462            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32463            'name: ' + repr(self.name) + ' ' +\
32464            'namespace: ' + repr(self.namespace) + ' ' +\
32465            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
32466            'server_address: ' + repr(self.server_address) + ' ' +\
32467            'signing_role: ' + repr(self.signing_role) + ' ' +\
32468            'tags: ' + repr(self.tags) + ' ' +\
32469            '>'
32470
32471    def to_dict(self):
32472        return {
32473            'id': self.id,
32474            'issuedcertttlminutes': self.issuedcertttlminutes,
32475            'name': self.name,
32476            'namespace': self.namespace,
32477            'pki_mount_point': self.pki_mount_point,
32478            'server_address': self.server_address,
32479            'signing_role': self.signing_role,
32480            'tags': self.tags,
32481        }
32482
32483    @classmethod
32484    def from_dict(cls, d):
32485        return cls(
32486            id=d.get('id'),
32487            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32488            name=d.get('name'),
32489            namespace=d.get('namespace'),
32490            pki_mount_point=d.get('pki_mount_point'),
32491            server_address=d.get('server_address'),
32492            signing_role=d.get('signing_role'),
32493            tags=d.get('tags'),
32494        )
32495
32496
32497class VaultAWSEC2Store:
32498    __slots__ = [
32499        'id',
32500        'name',
32501        'namespace',
32502        'server_address',
32503        'tags',
32504    ]
32505
32506    def __init__(
32507        self,
32508        id=None,
32509        name=None,
32510        namespace=None,
32511        server_address=None,
32512        tags=None,
32513    ):
32514        self.id = id if id is not None else ''
32515        '''
32516         Unique identifier of the SecretStore.
32517        '''
32518        self.name = name if name is not None else ''
32519        '''
32520         Unique human-readable name of the SecretStore.
32521        '''
32522        self.namespace = namespace if namespace is not None else ''
32523        '''
32524         The namespace to make requests within
32525        '''
32526        self.server_address = server_address if server_address is not None else ''
32527        '''
32528         The URL of the Vault to target
32529        '''
32530        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32531        '''
32532         Tags is a map of key, value pairs.
32533        '''
32534
32535    def __repr__(self):
32536        return '<sdm.VaultAWSEC2Store ' + \
32537            'id: ' + repr(self.id) + ' ' +\
32538            'name: ' + repr(self.name) + ' ' +\
32539            'namespace: ' + repr(self.namespace) + ' ' +\
32540            'server_address: ' + repr(self.server_address) + ' ' +\
32541            'tags: ' + repr(self.tags) + ' ' +\
32542            '>'
32543
32544    def to_dict(self):
32545        return {
32546            'id': self.id,
32547            'name': self.name,
32548            'namespace': self.namespace,
32549            'server_address': self.server_address,
32550            'tags': self.tags,
32551        }
32552
32553    @classmethod
32554    def from_dict(cls, d):
32555        return cls(
32556            id=d.get('id'),
32557            name=d.get('name'),
32558            namespace=d.get('namespace'),
32559            server_address=d.get('server_address'),
32560            tags=d.get('tags'),
32561        )
32562
32563
32564class VaultAWSIAMCertSSHStore:
32565    '''
32566    VaultAWSIAMCertSSHStore is currently unstable, and its API may change, or it may be removed,
32567    without a major version bump.
32568    '''
32569    __slots__ = [
32570        'id',
32571        'issuedcertttlminutes',
32572        'name',
32573        'namespace',
32574        'server_address',
32575        'signing_role',
32576        'ssh_mount_point',
32577        'tags',
32578    ]
32579
32580    def __init__(
32581        self,
32582        id=None,
32583        issuedcertttlminutes=None,
32584        name=None,
32585        namespace=None,
32586        server_address=None,
32587        signing_role=None,
32588        ssh_mount_point=None,
32589        tags=None,
32590    ):
32591        self.id = id if id is not None else ''
32592        '''
32593         Unique identifier of the SecretStore.
32594        '''
32595        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32596        '''
32597         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32598        '''
32599        self.name = name if name is not None else ''
32600        '''
32601         Unique human-readable name of the SecretStore.
32602        '''
32603        self.namespace = namespace if namespace is not None else ''
32604        '''
32605         The namespace to make requests within
32606        '''
32607        self.server_address = server_address if server_address is not None else ''
32608        '''
32609         The URL of the Vault to target
32610        '''
32611        self.signing_role = signing_role if signing_role is not None else ''
32612        '''
32613         The signing role to be used for signing certificates
32614        '''
32615        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32616        '''
32617         The mount point of the SSH engine configured with the desired CA
32618        '''
32619        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32620        '''
32621         Tags is a map of key, value pairs.
32622        '''
32623
32624    def __repr__(self):
32625        return '<sdm.VaultAWSIAMCertSSHStore ' + \
32626            'id: ' + repr(self.id) + ' ' +\
32627            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32628            'name: ' + repr(self.name) + ' ' +\
32629            'namespace: ' + repr(self.namespace) + ' ' +\
32630            'server_address: ' + repr(self.server_address) + ' ' +\
32631            'signing_role: ' + repr(self.signing_role) + ' ' +\
32632            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
32633            'tags: ' + repr(self.tags) + ' ' +\
32634            '>'
32635
32636    def to_dict(self):
32637        return {
32638            'id': self.id,
32639            'issuedcertttlminutes': self.issuedcertttlminutes,
32640            'name': self.name,
32641            'namespace': self.namespace,
32642            'server_address': self.server_address,
32643            'signing_role': self.signing_role,
32644            'ssh_mount_point': self.ssh_mount_point,
32645            'tags': self.tags,
32646        }
32647
32648    @classmethod
32649    def from_dict(cls, d):
32650        return cls(
32651            id=d.get('id'),
32652            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32653            name=d.get('name'),
32654            namespace=d.get('namespace'),
32655            server_address=d.get('server_address'),
32656            signing_role=d.get('signing_role'),
32657            ssh_mount_point=d.get('ssh_mount_point'),
32658            tags=d.get('tags'),
32659        )
32660
32661
32662class VaultAWSIAMCertX509Store:
32663    '''
32664    VaultAWSIAMCertX509Store is currently unstable, and its API may change, or it may be removed,
32665    without a major version bump.
32666    '''
32667    __slots__ = [
32668        'id',
32669        'issuedcertttlminutes',
32670        'name',
32671        'namespace',
32672        'pki_mount_point',
32673        'server_address',
32674        'signing_role',
32675        'tags',
32676    ]
32677
32678    def __init__(
32679        self,
32680        id=None,
32681        issuedcertttlminutes=None,
32682        name=None,
32683        namespace=None,
32684        pki_mount_point=None,
32685        server_address=None,
32686        signing_role=None,
32687        tags=None,
32688    ):
32689        self.id = id if id is not None else ''
32690        '''
32691         Unique identifier of the SecretStore.
32692        '''
32693        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32694        '''
32695         The lifetime of certificates issued by this CA represented in minutes.
32696        '''
32697        self.name = name if name is not None else ''
32698        '''
32699         Unique human-readable name of the SecretStore.
32700        '''
32701        self.namespace = namespace if namespace is not None else ''
32702        '''
32703         The namespace to make requests within
32704        '''
32705        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32706        '''
32707         The mount point of the PKI engine configured with the desired CA
32708        '''
32709        self.server_address = server_address if server_address is not None else ''
32710        '''
32711         The URL of the Vault to target
32712        '''
32713        self.signing_role = signing_role if signing_role is not None else ''
32714        '''
32715         The signing role to be used for signing certificates
32716        '''
32717        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32718        '''
32719         Tags is a map of key, value pairs.
32720        '''
32721
32722    def __repr__(self):
32723        return '<sdm.VaultAWSIAMCertX509Store ' + \
32724            'id: ' + repr(self.id) + ' ' +\
32725            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32726            'name: ' + repr(self.name) + ' ' +\
32727            'namespace: ' + repr(self.namespace) + ' ' +\
32728            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
32729            'server_address: ' + repr(self.server_address) + ' ' +\
32730            'signing_role: ' + repr(self.signing_role) + ' ' +\
32731            'tags: ' + repr(self.tags) + ' ' +\
32732            '>'
32733
32734    def to_dict(self):
32735        return {
32736            'id': self.id,
32737            'issuedcertttlminutes': self.issuedcertttlminutes,
32738            'name': self.name,
32739            'namespace': self.namespace,
32740            'pki_mount_point': self.pki_mount_point,
32741            'server_address': self.server_address,
32742            'signing_role': self.signing_role,
32743            'tags': self.tags,
32744        }
32745
32746    @classmethod
32747    def from_dict(cls, d):
32748        return cls(
32749            id=d.get('id'),
32750            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32751            name=d.get('name'),
32752            namespace=d.get('namespace'),
32753            pki_mount_point=d.get('pki_mount_point'),
32754            server_address=d.get('server_address'),
32755            signing_role=d.get('signing_role'),
32756            tags=d.get('tags'),
32757        )
32758
32759
32760class VaultAWSIAMStore:
32761    __slots__ = [
32762        'id',
32763        'name',
32764        'namespace',
32765        'server_address',
32766        'tags',
32767    ]
32768
32769    def __init__(
32770        self,
32771        id=None,
32772        name=None,
32773        namespace=None,
32774        server_address=None,
32775        tags=None,
32776    ):
32777        self.id = id if id is not None else ''
32778        '''
32779         Unique identifier of the SecretStore.
32780        '''
32781        self.name = name if name is not None else ''
32782        '''
32783         Unique human-readable name of the SecretStore.
32784        '''
32785        self.namespace = namespace if namespace is not None else ''
32786        '''
32787         The namespace to make requests within
32788        '''
32789        self.server_address = server_address if server_address is not None else ''
32790        '''
32791         The URL of the Vault to target
32792        '''
32793        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32794        '''
32795         Tags is a map of key, value pairs.
32796        '''
32797
32798    def __repr__(self):
32799        return '<sdm.VaultAWSIAMStore ' + \
32800            'id: ' + repr(self.id) + ' ' +\
32801            'name: ' + repr(self.name) + ' ' +\
32802            'namespace: ' + repr(self.namespace) + ' ' +\
32803            'server_address: ' + repr(self.server_address) + ' ' +\
32804            'tags: ' + repr(self.tags) + ' ' +\
32805            '>'
32806
32807    def to_dict(self):
32808        return {
32809            'id': self.id,
32810            'name': self.name,
32811            'namespace': self.namespace,
32812            'server_address': self.server_address,
32813            'tags': self.tags,
32814        }
32815
32816    @classmethod
32817    def from_dict(cls, d):
32818        return cls(
32819            id=d.get('id'),
32820            name=d.get('name'),
32821            namespace=d.get('namespace'),
32822            server_address=d.get('server_address'),
32823            tags=d.get('tags'),
32824        )
32825
32826
32827class VaultAppRoleCertSSHStore:
32828    __slots__ = [
32829        'id',
32830        'issuedcertttlminutes',
32831        'name',
32832        'namespace',
32833        'server_address',
32834        'signing_role',
32835        'ssh_mount_point',
32836        'tags',
32837    ]
32838
32839    def __init__(
32840        self,
32841        id=None,
32842        issuedcertttlminutes=None,
32843        name=None,
32844        namespace=None,
32845        server_address=None,
32846        signing_role=None,
32847        ssh_mount_point=None,
32848        tags=None,
32849    ):
32850        self.id = id if id is not None else ''
32851        '''
32852         Unique identifier of the SecretStore.
32853        '''
32854        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32855        '''
32856         The lifetime of certificates issued by this CA represented in minutes.
32857        '''
32858        self.name = name if name is not None else ''
32859        '''
32860         Unique human-readable name of the SecretStore.
32861        '''
32862        self.namespace = namespace if namespace is not None else ''
32863        '''
32864         The namespace to make requests within
32865        '''
32866        self.server_address = server_address if server_address is not None else ''
32867        '''
32868         The URL of the Vault to target
32869        '''
32870        self.signing_role = signing_role if signing_role is not None else ''
32871        '''
32872         The signing role to be used for signing certificates
32873        '''
32874        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32875        '''
32876         The mount point of the SSH engine configured with the desired CA
32877        '''
32878        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32879        '''
32880         Tags is a map of key, value pairs.
32881        '''
32882
32883    def __repr__(self):
32884        return '<sdm.VaultAppRoleCertSSHStore ' + \
32885            'id: ' + repr(self.id) + ' ' +\
32886            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32887            'name: ' + repr(self.name) + ' ' +\
32888            'namespace: ' + repr(self.namespace) + ' ' +\
32889            'server_address: ' + repr(self.server_address) + ' ' +\
32890            'signing_role: ' + repr(self.signing_role) + ' ' +\
32891            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
32892            'tags: ' + repr(self.tags) + ' ' +\
32893            '>'
32894
32895    def to_dict(self):
32896        return {
32897            'id': self.id,
32898            'issuedcertttlminutes': self.issuedcertttlminutes,
32899            'name': self.name,
32900            'namespace': self.namespace,
32901            'server_address': self.server_address,
32902            'signing_role': self.signing_role,
32903            'ssh_mount_point': self.ssh_mount_point,
32904            'tags': self.tags,
32905        }
32906
32907    @classmethod
32908    def from_dict(cls, d):
32909        return cls(
32910            id=d.get('id'),
32911            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32912            name=d.get('name'),
32913            namespace=d.get('namespace'),
32914            server_address=d.get('server_address'),
32915            signing_role=d.get('signing_role'),
32916            ssh_mount_point=d.get('ssh_mount_point'),
32917            tags=d.get('tags'),
32918        )
32919
32920
32921class VaultAppRoleCertX509Store:
32922    __slots__ = [
32923        'id',
32924        'issuedcertttlminutes',
32925        'name',
32926        'namespace',
32927        'pki_mount_point',
32928        'server_address',
32929        'signing_role',
32930        'tags',
32931    ]
32932
32933    def __init__(
32934        self,
32935        id=None,
32936        issuedcertttlminutes=None,
32937        name=None,
32938        namespace=None,
32939        pki_mount_point=None,
32940        server_address=None,
32941        signing_role=None,
32942        tags=None,
32943    ):
32944        self.id = id if id is not None else ''
32945        '''
32946         Unique identifier of the SecretStore.
32947        '''
32948        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32949        '''
32950         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32951        '''
32952        self.name = name if name is not None else ''
32953        '''
32954         Unique human-readable name of the SecretStore.
32955        '''
32956        self.namespace = namespace if namespace is not None else ''
32957        '''
32958         The namespace to make requests within
32959        '''
32960        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32961        '''
32962         The mount point of the PKI engine configured with the desired CA
32963        '''
32964        self.server_address = server_address if server_address is not None else ''
32965        '''
32966         The URL of the Vault to target
32967        '''
32968        self.signing_role = signing_role if signing_role is not None else ''
32969        '''
32970         The signing role to be used for signing certificates
32971        '''
32972        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32973        '''
32974         Tags is a map of key, value pairs.
32975        '''
32976
32977    def __repr__(self):
32978        return '<sdm.VaultAppRoleCertX509Store ' + \
32979            'id: ' + repr(self.id) + ' ' +\
32980            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32981            'name: ' + repr(self.name) + ' ' +\
32982            'namespace: ' + repr(self.namespace) + ' ' +\
32983            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
32984            'server_address: ' + repr(self.server_address) + ' ' +\
32985            'signing_role: ' + repr(self.signing_role) + ' ' +\
32986            'tags: ' + repr(self.tags) + ' ' +\
32987            '>'
32988
32989    def to_dict(self):
32990        return {
32991            'id': self.id,
32992            'issuedcertttlminutes': self.issuedcertttlminutes,
32993            'name': self.name,
32994            'namespace': self.namespace,
32995            'pki_mount_point': self.pki_mount_point,
32996            'server_address': self.server_address,
32997            'signing_role': self.signing_role,
32998            'tags': self.tags,
32999        }
33000
33001    @classmethod
33002    def from_dict(cls, d):
33003        return cls(
33004            id=d.get('id'),
33005            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33006            name=d.get('name'),
33007            namespace=d.get('namespace'),
33008            pki_mount_point=d.get('pki_mount_point'),
33009            server_address=d.get('server_address'),
33010            signing_role=d.get('signing_role'),
33011            tags=d.get('tags'),
33012        )
33013
33014
33015class VaultAppRoleStore:
33016    __slots__ = [
33017        'id',
33018        'name',
33019        'namespace',
33020        'server_address',
33021        'tags',
33022    ]
33023
33024    def __init__(
33025        self,
33026        id=None,
33027        name=None,
33028        namespace=None,
33029        server_address=None,
33030        tags=None,
33031    ):
33032        self.id = id if id is not None else ''
33033        '''
33034         Unique identifier of the SecretStore.
33035        '''
33036        self.name = name if name is not None else ''
33037        '''
33038         Unique human-readable name of the SecretStore.
33039        '''
33040        self.namespace = namespace if namespace is not None else ''
33041        '''
33042         The namespace to make requests within
33043        '''
33044        self.server_address = server_address if server_address is not None else ''
33045        '''
33046         The URL of the Vault to target
33047        '''
33048        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33049        '''
33050         Tags is a map of key, value pairs.
33051        '''
33052
33053    def __repr__(self):
33054        return '<sdm.VaultAppRoleStore ' + \
33055            'id: ' + repr(self.id) + ' ' +\
33056            'name: ' + repr(self.name) + ' ' +\
33057            'namespace: ' + repr(self.namespace) + ' ' +\
33058            'server_address: ' + repr(self.server_address) + ' ' +\
33059            'tags: ' + repr(self.tags) + ' ' +\
33060            '>'
33061
33062    def to_dict(self):
33063        return {
33064            'id': self.id,
33065            'name': self.name,
33066            'namespace': self.namespace,
33067            'server_address': self.server_address,
33068            'tags': self.tags,
33069        }
33070
33071    @classmethod
33072    def from_dict(cls, d):
33073        return cls(
33074            id=d.get('id'),
33075            name=d.get('name'),
33076            namespace=d.get('namespace'),
33077            server_address=d.get('server_address'),
33078            tags=d.get('tags'),
33079        )
33080
33081
33082class VaultTLSCertSSHStore:
33083    __slots__ = [
33084        'ca_cert_path',
33085        'client_cert_path',
33086        'client_key_path',
33087        'id',
33088        'issuedcertttlminutes',
33089        'name',
33090        'namespace',
33091        'server_address',
33092        'signing_role',
33093        'ssh_mount_point',
33094        'tags',
33095    ]
33096
33097    def __init__(
33098        self,
33099        ca_cert_path=None,
33100        client_cert_path=None,
33101        client_key_path=None,
33102        id=None,
33103        issuedcertttlminutes=None,
33104        name=None,
33105        namespace=None,
33106        server_address=None,
33107        signing_role=None,
33108        ssh_mount_point=None,
33109        tags=None,
33110    ):
33111        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33112        '''
33113         A path to a CA file accessible by a Node
33114        '''
33115        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33116        '''
33117         A path to a client certificate file accessible by a Node
33118        '''
33119        self.client_key_path = client_key_path if client_key_path is not None else ''
33120        '''
33121         A path to a client key file accessible by a Node
33122        '''
33123        self.id = id if id is not None else ''
33124        '''
33125         Unique identifier of the SecretStore.
33126        '''
33127        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33128        '''
33129         The lifetime of certificates issued by this CA represented in minutes.
33130        '''
33131        self.name = name if name is not None else ''
33132        '''
33133         Unique human-readable name of the SecretStore.
33134        '''
33135        self.namespace = namespace if namespace is not None else ''
33136        '''
33137         The namespace to make requests within
33138        '''
33139        self.server_address = server_address if server_address is not None else ''
33140        '''
33141         The URL of the Vault to target
33142        '''
33143        self.signing_role = signing_role if signing_role is not None else ''
33144        '''
33145         The signing role to be used for signing certificates
33146        '''
33147        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
33148        '''
33149         The mount point of the SSH engine configured with the desired CA
33150        '''
33151        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33152        '''
33153         Tags is a map of key, value pairs.
33154        '''
33155
33156    def __repr__(self):
33157        return '<sdm.VaultTLSCertSSHStore ' + \
33158            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
33159            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
33160            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
33161            'id: ' + repr(self.id) + ' ' +\
33162            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33163            'name: ' + repr(self.name) + ' ' +\
33164            'namespace: ' + repr(self.namespace) + ' ' +\
33165            'server_address: ' + repr(self.server_address) + ' ' +\
33166            'signing_role: ' + repr(self.signing_role) + ' ' +\
33167            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
33168            'tags: ' + repr(self.tags) + ' ' +\
33169            '>'
33170
33171    def to_dict(self):
33172        return {
33173            'ca_cert_path': self.ca_cert_path,
33174            'client_cert_path': self.client_cert_path,
33175            'client_key_path': self.client_key_path,
33176            'id': self.id,
33177            'issuedcertttlminutes': self.issuedcertttlminutes,
33178            'name': self.name,
33179            'namespace': self.namespace,
33180            'server_address': self.server_address,
33181            'signing_role': self.signing_role,
33182            'ssh_mount_point': self.ssh_mount_point,
33183            'tags': self.tags,
33184        }
33185
33186    @classmethod
33187    def from_dict(cls, d):
33188        return cls(
33189            ca_cert_path=d.get('ca_cert_path'),
33190            client_cert_path=d.get('client_cert_path'),
33191            client_key_path=d.get('client_key_path'),
33192            id=d.get('id'),
33193            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33194            name=d.get('name'),
33195            namespace=d.get('namespace'),
33196            server_address=d.get('server_address'),
33197            signing_role=d.get('signing_role'),
33198            ssh_mount_point=d.get('ssh_mount_point'),
33199            tags=d.get('tags'),
33200        )
33201
33202
33203class VaultTLSCertX509Store:
33204    __slots__ = [
33205        'ca_cert_path',
33206        'client_cert_path',
33207        'client_key_path',
33208        'id',
33209        'issuedcertttlminutes',
33210        'name',
33211        'namespace',
33212        'pki_mount_point',
33213        'server_address',
33214        'signing_role',
33215        'tags',
33216    ]
33217
33218    def __init__(
33219        self,
33220        ca_cert_path=None,
33221        client_cert_path=None,
33222        client_key_path=None,
33223        id=None,
33224        issuedcertttlminutes=None,
33225        name=None,
33226        namespace=None,
33227        pki_mount_point=None,
33228        server_address=None,
33229        signing_role=None,
33230        tags=None,
33231    ):
33232        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33233        '''
33234         A path to a CA file accessible by a Node
33235        '''
33236        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33237        '''
33238         A path to a client certificate file accessible by a Node
33239        '''
33240        self.client_key_path = client_key_path if client_key_path is not None else ''
33241        '''
33242         A path to a client key file accessible by a Node
33243        '''
33244        self.id = id if id is not None else ''
33245        '''
33246         Unique identifier of the SecretStore.
33247        '''
33248        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33249        '''
33250         The lifetime of certificates issued by this CA represented in minutes.
33251        '''
33252        self.name = name if name is not None else ''
33253        '''
33254         Unique human-readable name of the SecretStore.
33255        '''
33256        self.namespace = namespace if namespace is not None else ''
33257        '''
33258         The namespace to make requests within
33259        '''
33260        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
33261        '''
33262         The mount point of the PKI engine configured with the desired CA
33263        '''
33264        self.server_address = server_address if server_address is not None else ''
33265        '''
33266         The URL of the Vault to target
33267        '''
33268        self.signing_role = signing_role if signing_role is not None else ''
33269        '''
33270         The signing role to be used for signing certificates
33271        '''
33272        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33273        '''
33274         Tags is a map of key, value pairs.
33275        '''
33276
33277    def __repr__(self):
33278        return '<sdm.VaultTLSCertX509Store ' + \
33279            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
33280            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
33281            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
33282            'id: ' + repr(self.id) + ' ' +\
33283            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33284            'name: ' + repr(self.name) + ' ' +\
33285            'namespace: ' + repr(self.namespace) + ' ' +\
33286            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
33287            'server_address: ' + repr(self.server_address) + ' ' +\
33288            'signing_role: ' + repr(self.signing_role) + ' ' +\
33289            'tags: ' + repr(self.tags) + ' ' +\
33290            '>'
33291
33292    def to_dict(self):
33293        return {
33294            'ca_cert_path': self.ca_cert_path,
33295            'client_cert_path': self.client_cert_path,
33296            'client_key_path': self.client_key_path,
33297            'id': self.id,
33298            'issuedcertttlminutes': self.issuedcertttlminutes,
33299            'name': self.name,
33300            'namespace': self.namespace,
33301            'pki_mount_point': self.pki_mount_point,
33302            'server_address': self.server_address,
33303            'signing_role': self.signing_role,
33304            'tags': self.tags,
33305        }
33306
33307    @classmethod
33308    def from_dict(cls, d):
33309        return cls(
33310            ca_cert_path=d.get('ca_cert_path'),
33311            client_cert_path=d.get('client_cert_path'),
33312            client_key_path=d.get('client_key_path'),
33313            id=d.get('id'),
33314            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33315            name=d.get('name'),
33316            namespace=d.get('namespace'),
33317            pki_mount_point=d.get('pki_mount_point'),
33318            server_address=d.get('server_address'),
33319            signing_role=d.get('signing_role'),
33320            tags=d.get('tags'),
33321        )
33322
33323
33324class VaultTLSStore:
33325    __slots__ = [
33326        'ca_cert_path',
33327        'client_cert_path',
33328        'client_key_path',
33329        'id',
33330        'name',
33331        'namespace',
33332        'server_address',
33333        'tags',
33334    ]
33335
33336    def __init__(
33337        self,
33338        ca_cert_path=None,
33339        client_cert_path=None,
33340        client_key_path=None,
33341        id=None,
33342        name=None,
33343        namespace=None,
33344        server_address=None,
33345        tags=None,
33346    ):
33347        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33348        '''
33349         A path to a CA file accessible by a Node
33350        '''
33351        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33352        '''
33353         A path to a client certificate file accessible by a Node
33354        '''
33355        self.client_key_path = client_key_path if client_key_path is not None else ''
33356        '''
33357         A path to a client key file accessible by a Node
33358        '''
33359        self.id = id if id is not None else ''
33360        '''
33361         Unique identifier of the SecretStore.
33362        '''
33363        self.name = name if name is not None else ''
33364        '''
33365         Unique human-readable name of the SecretStore.
33366        '''
33367        self.namespace = namespace if namespace is not None else ''
33368        '''
33369         The namespace to make requests within
33370        '''
33371        self.server_address = server_address if server_address is not None else ''
33372        '''
33373         The URL of the Vault to target
33374        '''
33375        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33376        '''
33377         Tags is a map of key, value pairs.
33378        '''
33379
33380    def __repr__(self):
33381        return '<sdm.VaultTLSStore ' + \
33382            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
33383            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
33384            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
33385            'id: ' + repr(self.id) + ' ' +\
33386            'name: ' + repr(self.name) + ' ' +\
33387            'namespace: ' + repr(self.namespace) + ' ' +\
33388            'server_address: ' + repr(self.server_address) + ' ' +\
33389            'tags: ' + repr(self.tags) + ' ' +\
33390            '>'
33391
33392    def to_dict(self):
33393        return {
33394            'ca_cert_path': self.ca_cert_path,
33395            'client_cert_path': self.client_cert_path,
33396            'client_key_path': self.client_key_path,
33397            'id': self.id,
33398            'name': self.name,
33399            'namespace': self.namespace,
33400            'server_address': self.server_address,
33401            'tags': self.tags,
33402        }
33403
33404    @classmethod
33405    def from_dict(cls, d):
33406        return cls(
33407            ca_cert_path=d.get('ca_cert_path'),
33408            client_cert_path=d.get('client_cert_path'),
33409            client_key_path=d.get('client_key_path'),
33410            id=d.get('id'),
33411            name=d.get('name'),
33412            namespace=d.get('namespace'),
33413            server_address=d.get('server_address'),
33414            tags=d.get('tags'),
33415        )
33416
33417
33418class VaultTokenCertSSHStore:
33419    __slots__ = [
33420        'id',
33421        'issuedcertttlminutes',
33422        'name',
33423        'namespace',
33424        'server_address',
33425        'signing_role',
33426        'ssh_mount_point',
33427        'tags',
33428    ]
33429
33430    def __init__(
33431        self,
33432        id=None,
33433        issuedcertttlminutes=None,
33434        name=None,
33435        namespace=None,
33436        server_address=None,
33437        signing_role=None,
33438        ssh_mount_point=None,
33439        tags=None,
33440    ):
33441        self.id = id if id is not None else ''
33442        '''
33443         Unique identifier of the SecretStore.
33444        '''
33445        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33446        '''
33447         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
33448        '''
33449        self.name = name if name is not None else ''
33450        '''
33451         Unique human-readable name of the SecretStore.
33452        '''
33453        self.namespace = namespace if namespace is not None else ''
33454        '''
33455         The namespace to make requests within
33456        '''
33457        self.server_address = server_address if server_address is not None else ''
33458        '''
33459         The URL of the Vault to target
33460        '''
33461        self.signing_role = signing_role if signing_role is not None else ''
33462        '''
33463         The signing role to be used for signing certificates
33464        '''
33465        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
33466        '''
33467         The mount point of the SSH engine configured with the desired CA
33468        '''
33469        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33470        '''
33471         Tags is a map of key, value pairs.
33472        '''
33473
33474    def __repr__(self):
33475        return '<sdm.VaultTokenCertSSHStore ' + \
33476            'id: ' + repr(self.id) + ' ' +\
33477            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33478            'name: ' + repr(self.name) + ' ' +\
33479            'namespace: ' + repr(self.namespace) + ' ' +\
33480            'server_address: ' + repr(self.server_address) + ' ' +\
33481            'signing_role: ' + repr(self.signing_role) + ' ' +\
33482            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
33483            'tags: ' + repr(self.tags) + ' ' +\
33484            '>'
33485
33486    def to_dict(self):
33487        return {
33488            'id': self.id,
33489            'issuedcertttlminutes': self.issuedcertttlminutes,
33490            'name': self.name,
33491            'namespace': self.namespace,
33492            'server_address': self.server_address,
33493            'signing_role': self.signing_role,
33494            'ssh_mount_point': self.ssh_mount_point,
33495            'tags': self.tags,
33496        }
33497
33498    @classmethod
33499    def from_dict(cls, d):
33500        return cls(
33501            id=d.get('id'),
33502            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33503            name=d.get('name'),
33504            namespace=d.get('namespace'),
33505            server_address=d.get('server_address'),
33506            signing_role=d.get('signing_role'),
33507            ssh_mount_point=d.get('ssh_mount_point'),
33508            tags=d.get('tags'),
33509        )
33510
33511
33512class VaultTokenCertX509Store:
33513    __slots__ = [
33514        'id',
33515        'issuedcertttlminutes',
33516        'name',
33517        'namespace',
33518        'pki_mount_point',
33519        'server_address',
33520        'signing_role',
33521        'tags',
33522    ]
33523
33524    def __init__(
33525        self,
33526        id=None,
33527        issuedcertttlminutes=None,
33528        name=None,
33529        namespace=None,
33530        pki_mount_point=None,
33531        server_address=None,
33532        signing_role=None,
33533        tags=None,
33534    ):
33535        self.id = id if id is not None else ''
33536        '''
33537         Unique identifier of the SecretStore.
33538        '''
33539        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33540        '''
33541         The lifetime of certificates issued by this CA represented in minutes.
33542        '''
33543        self.name = name if name is not None else ''
33544        '''
33545         Unique human-readable name of the SecretStore.
33546        '''
33547        self.namespace = namespace if namespace is not None else ''
33548        '''
33549         The namespace to make requests within
33550        '''
33551        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
33552        '''
33553         The mount point of the PKI engine configured with the desired CA
33554        '''
33555        self.server_address = server_address if server_address is not None else ''
33556        '''
33557         The URL of the Vault to target
33558        '''
33559        self.signing_role = signing_role if signing_role is not None else ''
33560        '''
33561         The signing role to be used for signing certificates
33562        '''
33563        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33564        '''
33565         Tags is a map of key, value pairs.
33566        '''
33567
33568    def __repr__(self):
33569        return '<sdm.VaultTokenCertX509Store ' + \
33570            'id: ' + repr(self.id) + ' ' +\
33571            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33572            'name: ' + repr(self.name) + ' ' +\
33573            'namespace: ' + repr(self.namespace) + ' ' +\
33574            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
33575            'server_address: ' + repr(self.server_address) + ' ' +\
33576            'signing_role: ' + repr(self.signing_role) + ' ' +\
33577            'tags: ' + repr(self.tags) + ' ' +\
33578            '>'
33579
33580    def to_dict(self):
33581        return {
33582            'id': self.id,
33583            'issuedcertttlminutes': self.issuedcertttlminutes,
33584            'name': self.name,
33585            'namespace': self.namespace,
33586            'pki_mount_point': self.pki_mount_point,
33587            'server_address': self.server_address,
33588            'signing_role': self.signing_role,
33589            'tags': self.tags,
33590        }
33591
33592    @classmethod
33593    def from_dict(cls, d):
33594        return cls(
33595            id=d.get('id'),
33596            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33597            name=d.get('name'),
33598            namespace=d.get('namespace'),
33599            pki_mount_point=d.get('pki_mount_point'),
33600            server_address=d.get('server_address'),
33601            signing_role=d.get('signing_role'),
33602            tags=d.get('tags'),
33603        )
33604
33605
33606class VaultTokenStore:
33607    __slots__ = [
33608        'id',
33609        'name',
33610        'namespace',
33611        'server_address',
33612        'tags',
33613    ]
33614
33615    def __init__(
33616        self,
33617        id=None,
33618        name=None,
33619        namespace=None,
33620        server_address=None,
33621        tags=None,
33622    ):
33623        self.id = id if id is not None else ''
33624        '''
33625         Unique identifier of the SecretStore.
33626        '''
33627        self.name = name if name is not None else ''
33628        '''
33629         Unique human-readable name of the SecretStore.
33630        '''
33631        self.namespace = namespace if namespace is not None else ''
33632        '''
33633         The namespace to make requests within
33634        '''
33635        self.server_address = server_address if server_address is not None else ''
33636        '''
33637         The URL of the Vault to target
33638        '''
33639        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33640        '''
33641         Tags is a map of key, value pairs.
33642        '''
33643
33644    def __repr__(self):
33645        return '<sdm.VaultTokenStore ' + \
33646            'id: ' + repr(self.id) + ' ' +\
33647            'name: ' + repr(self.name) + ' ' +\
33648            'namespace: ' + repr(self.namespace) + ' ' +\
33649            'server_address: ' + repr(self.server_address) + ' ' +\
33650            'tags: ' + repr(self.tags) + ' ' +\
33651            '>'
33652
33653    def to_dict(self):
33654        return {
33655            'id': self.id,
33656            'name': self.name,
33657            'namespace': self.namespace,
33658            'server_address': self.server_address,
33659            'tags': self.tags,
33660        }
33661
33662    @classmethod
33663    def from_dict(cls, d):
33664        return cls(
33665            id=d.get('id'),
33666            name=d.get('name'),
33667            namespace=d.get('namespace'),
33668            server_address=d.get('server_address'),
33669            tags=d.get('tags'),
33670        )
33671
33672
33673class Vertica:
33674    __slots__ = [
33675        'bind_interface',
33676        'database',
33677        'egress_filter',
33678        'healthy',
33679        'hostname',
33680        'id',
33681        'name',
33682        'password',
33683        'port',
33684        'port_override',
33685        'proxy_cluster_id',
33686        'secret_store_id',
33687        'subdomain',
33688        'tags',
33689        'username',
33690    ]
33691
33692    def __init__(
33693        self,
33694        bind_interface=None,
33695        database=None,
33696        egress_filter=None,
33697        healthy=None,
33698        hostname=None,
33699        id=None,
33700        name=None,
33701        password=None,
33702        port=None,
33703        port_override=None,
33704        proxy_cluster_id=None,
33705        secret_store_id=None,
33706        subdomain=None,
33707        tags=None,
33708        username=None,
33709    ):
33710        self.bind_interface = bind_interface if bind_interface is not None else ''
33711        '''
33712         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
33713        '''
33714        self.database = database if database is not None else ''
33715        '''
33716         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
33717        '''
33718        self.egress_filter = egress_filter if egress_filter is not None else ''
33719        '''
33720         A filter applied to the routing logic to pin datasource to nodes.
33721        '''
33722        self.healthy = healthy if healthy is not None else False
33723        '''
33724         True if the datasource is reachable and the credentials are valid.
33725        '''
33726        self.hostname = hostname if hostname is not None else ''
33727        '''
33728         The host to dial to initiate a connection from the egress node to this resource.
33729        '''
33730        self.id = id if id is not None else ''
33731        '''
33732         Unique identifier of the Resource.
33733        '''
33734        self.name = name if name is not None else ''
33735        '''
33736         Unique human-readable name of the Resource.
33737        '''
33738        self.password = password if password is not None else ''
33739        '''
33740         The password to authenticate with.
33741        '''
33742        self.port = port if port is not None else 0
33743        '''
33744         The port to dial to initiate a connection from the egress node to this resource.
33745        '''
33746        self.port_override = port_override if port_override is not None else 0
33747        '''
33748         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
33749        '''
33750        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
33751        '''
33752         ID of the proxy cluster for this resource, if any.
33753        '''
33754        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33755        '''
33756         ID of the secret store containing credentials for this resource, if any.
33757        '''
33758        self.subdomain = subdomain if subdomain is not None else ''
33759        '''
33760         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
33761        '''
33762        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33763        '''
33764         Tags is a map of key, value pairs.
33765        '''
33766        self.username = username if username is not None else ''
33767        '''
33768         The username to authenticate with.
33769        '''
33770
33771    def __repr__(self):
33772        return '<sdm.Vertica ' + \
33773            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
33774            'database: ' + repr(self.database) + ' ' +\
33775            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
33776            'healthy: ' + repr(self.healthy) + ' ' +\
33777            'hostname: ' + repr(self.hostname) + ' ' +\
33778            'id: ' + repr(self.id) + ' ' +\
33779            'name: ' + repr(self.name) + ' ' +\
33780            'password: ' + repr(self.password) + ' ' +\
33781            'port: ' + repr(self.port) + ' ' +\
33782            'port_override: ' + repr(self.port_override) + ' ' +\
33783            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
33784            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
33785            'subdomain: ' + repr(self.subdomain) + ' ' +\
33786            'tags: ' + repr(self.tags) + ' ' +\
33787            'username: ' + repr(self.username) + ' ' +\
33788            '>'
33789
33790    def to_dict(self):
33791        return {
33792            'bind_interface': self.bind_interface,
33793            'database': self.database,
33794            'egress_filter': self.egress_filter,
33795            'healthy': self.healthy,
33796            'hostname': self.hostname,
33797            'id': self.id,
33798            'name': self.name,
33799            'password': self.password,
33800            'port': self.port,
33801            'port_override': self.port_override,
33802            'proxy_cluster_id': self.proxy_cluster_id,
33803            'secret_store_id': self.secret_store_id,
33804            'subdomain': self.subdomain,
33805            'tags': self.tags,
33806            'username': self.username,
33807        }
33808
33809    @classmethod
33810    def from_dict(cls, d):
33811        return cls(
33812            bind_interface=d.get('bind_interface'),
33813            database=d.get('database'),
33814            egress_filter=d.get('egress_filter'),
33815            healthy=d.get('healthy'),
33816            hostname=d.get('hostname'),
33817            id=d.get('id'),
33818            name=d.get('name'),
33819            password=d.get('password'),
33820            port=d.get('port'),
33821            port_override=d.get('port_override'),
33822            proxy_cluster_id=d.get('proxy_cluster_id'),
33823            secret_store_id=d.get('secret_store_id'),
33824            subdomain=d.get('subdomain'),
33825            tags=d.get('tags'),
33826            username=d.get('username'),
33827        )
33828
33829
33830class Workflow:
33831    '''
33832         Workflows are the collection of rules that define the resources to which access can be requested,
33833     the users that can request that access, and the mechanism for approving those requests which can either
33834     but automatic approval or a set of users authorized to approve the requests.
33835    '''
33836    __slots__ = [
33837        'access_request_fixed_duration',
33838        'access_request_max_duration',
33839        'access_rules',
33840        'approval_flow_id',
33841        'auto_grant',
33842        'description',
33843        'enabled',
33844        'id',
33845        'name',
33846        'weight',
33847    ]
33848
33849    def __init__(
33850        self,
33851        access_request_fixed_duration=None,
33852        access_request_max_duration=None,
33853        access_rules=None,
33854        approval_flow_id=None,
33855        auto_grant=None,
33856        description=None,
33857        enabled=None,
33858        id=None,
33859        name=None,
33860        weight=None,
33861    ):
33862        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
33863        '''
33864         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
33865         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
33866        '''
33867        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
33868        '''
33869         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
33870         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
33871        '''
33872        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
33873        )
33874        '''
33875         AccessRules is a list of access rules defining the resources this Workflow provides access to.
33876        '''
33877        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
33878        '''
33879         Optional approval flow ID identifies an approval flow that linked to the workflow
33880        '''
33881        self.auto_grant = auto_grant if auto_grant is not None else False
33882        '''
33883         Optional auto grant setting to automatically approve requests or not, defaults to false.
33884        '''
33885        self.description = description if description is not None else ''
33886        '''
33887         Optional description of the Workflow.
33888        '''
33889        self.enabled = enabled if enabled is not None else False
33890        '''
33891         Optional enabled state for workflow. This setting may be overridden by the system if
33892         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
33893         enabling the workflow. The requirements to enable a workflow are that the workflow must be
33894         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
33895         the workflow.
33896        '''
33897        self.id = id if id is not None else ''
33898        '''
33899         Unique identifier of the Workflow.
33900        '''
33901        self.name = name if name is not None else ''
33902        '''
33903         Unique human-readable name of the Workflow.
33904        '''
33905        self.weight = weight if weight is not None else 0
33906        '''
33907         Optional weight for workflow to specify it's priority in matching a request.
33908        '''
33909
33910    def __repr__(self):
33911        return '<sdm.Workflow ' + \
33912            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
33913            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
33914            'access_rules: ' + repr(self.access_rules) + ' ' +\
33915            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
33916            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
33917            'description: ' + repr(self.description) + ' ' +\
33918            'enabled: ' + repr(self.enabled) + ' ' +\
33919            'id: ' + repr(self.id) + ' ' +\
33920            'name: ' + repr(self.name) + ' ' +\
33921            'weight: ' + repr(self.weight) + ' ' +\
33922            '>'
33923
33924    def to_dict(self):
33925        return {
33926            'access_request_fixed_duration':
33927            self.access_request_fixed_duration,
33928            'access_request_max_duration': self.access_request_max_duration,
33929            'access_rules': self.access_rules,
33930            'approval_flow_id': self.approval_flow_id,
33931            'auto_grant': self.auto_grant,
33932            'description': self.description,
33933            'enabled': self.enabled,
33934            'id': self.id,
33935            'name': self.name,
33936            'weight': self.weight,
33937        }
33938
33939    @classmethod
33940    def from_dict(cls, d):
33941        return cls(
33942            access_request_fixed_duration=d.get(
33943                'access_request_fixed_duration'),
33944            access_request_max_duration=d.get('access_request_max_duration'),
33945            access_rules=d.get('access_rules'),
33946            approval_flow_id=d.get('approval_flow_id'),
33947            auto_grant=d.get('auto_grant'),
33948            description=d.get('description'),
33949            enabled=d.get('enabled'),
33950            id=d.get('id'),
33951            name=d.get('name'),
33952            weight=d.get('weight'),
33953        )
33954
33955
33956class WorkflowApprover:
33957    '''
33958         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
33959    WorkflowApprover is deprecated, see docs for more info.
33960    '''
33961    __slots__ = [
33962        'account_id',
33963        'id',
33964        'role_id',
33965        'workflow_id',
33966    ]
33967
33968    def __init__(
33969        self,
33970        account_id=None,
33971        id=None,
33972        role_id=None,
33973        workflow_id=None,
33974    ):
33975        self.account_id = account_id if account_id is not None else ''
33976        '''
33977         The approver account id.
33978        '''
33979        self.id = id if id is not None else ''
33980        '''
33981         Unique identifier of the WorkflowApprover.
33982        '''
33983        self.role_id = role_id if role_id is not None else ''
33984        '''
33985         The approver role id
33986        '''
33987        self.workflow_id = workflow_id if workflow_id is not None else ''
33988        '''
33989         The workflow id.
33990        '''
33991
33992    def __repr__(self):
33993        return '<sdm.WorkflowApprover ' + \
33994            'account_id: ' + repr(self.account_id) + ' ' +\
33995            'id: ' + repr(self.id) + ' ' +\
33996            'role_id: ' + repr(self.role_id) + ' ' +\
33997            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
33998            '>'
33999
34000    def to_dict(self):
34001        return {
34002            'account_id': self.account_id,
34003            'id': self.id,
34004            'role_id': self.role_id,
34005            'workflow_id': self.workflow_id,
34006        }
34007
34008    @classmethod
34009    def from_dict(cls, d):
34010        return cls(
34011            account_id=d.get('account_id'),
34012            id=d.get('id'),
34013            role_id=d.get('role_id'),
34014            workflow_id=d.get('workflow_id'),
34015        )
34016
34017
34018class WorkflowApproverGetResponse:
34019    '''
34020         WorkflowApproverGetResponse returns a requested WorkflowApprover.
34021    '''
34022    __slots__ = [
34023        'meta',
34024        'rate_limit',
34025        'workflow_approver',
34026    ]
34027
34028    def __init__(
34029        self,
34030        meta=None,
34031        rate_limit=None,
34032        workflow_approver=None,
34033    ):
34034        self.meta = meta if meta is not None else None
34035        '''
34036         Reserved for future use.
34037        '''
34038        self.rate_limit = rate_limit if rate_limit is not None else None
34039        '''
34040         Rate limit information.
34041        '''
34042        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34043        '''
34044         The requested WorkflowApprover.
34045        '''
34046
34047    def __repr__(self):
34048        return '<sdm.WorkflowApproverGetResponse ' + \
34049            'meta: ' + repr(self.meta) + ' ' +\
34050            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34051            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34052            '>'
34053
34054    def to_dict(self):
34055        return {
34056            'meta': self.meta,
34057            'rate_limit': self.rate_limit,
34058            'workflow_approver': self.workflow_approver,
34059        }
34060
34061    @classmethod
34062    def from_dict(cls, d):
34063        return cls(
34064            meta=d.get('meta'),
34065            rate_limit=d.get('rate_limit'),
34066            workflow_approver=d.get('workflow_approver'),
34067        )
34068
34069
34070class WorkflowApproverHistory:
34071    '''
34072         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
34073    '''
34074    __slots__ = [
34075        'activity_id',
34076        'deleted_at',
34077        'timestamp',
34078        'workflow_approver',
34079    ]
34080
34081    def __init__(
34082        self,
34083        activity_id=None,
34084        deleted_at=None,
34085        timestamp=None,
34086        workflow_approver=None,
34087    ):
34088        self.activity_id = activity_id if activity_id is not None else ''
34089        '''
34090         The unique identifier of the Activity that produced this change to the WorkflowApprover.
34091         May be empty for some system-initiated updates.
34092        '''
34093        self.deleted_at = deleted_at if deleted_at is not None else None
34094        '''
34095         If this WorkflowApprover was deleted, the time it was deleted.
34096        '''
34097        self.timestamp = timestamp if timestamp is not None else None
34098        '''
34099         The time at which the WorkflowApprover state was recorded.
34100        '''
34101        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34102        '''
34103         The complete WorkflowApprover state at this time.
34104        '''
34105
34106    def __repr__(self):
34107        return '<sdm.WorkflowApproverHistory ' + \
34108            'activity_id: ' + repr(self.activity_id) + ' ' +\
34109            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34110            'timestamp: ' + repr(self.timestamp) + ' ' +\
34111            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34112            '>'
34113
34114    def to_dict(self):
34115        return {
34116            'activity_id': self.activity_id,
34117            'deleted_at': self.deleted_at,
34118            'timestamp': self.timestamp,
34119            'workflow_approver': self.workflow_approver,
34120        }
34121
34122    @classmethod
34123    def from_dict(cls, d):
34124        return cls(
34125            activity_id=d.get('activity_id'),
34126            deleted_at=d.get('deleted_at'),
34127            timestamp=d.get('timestamp'),
34128            workflow_approver=d.get('workflow_approver'),
34129        )
34130
34131
34132class WorkflowApproversCreateRequest:
34133    '''
34134         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
34135     workflow approver to be created.
34136    '''
34137    __slots__ = [
34138        'workflow_approver',
34139    ]
34140
34141    def __init__(
34142        self,
34143        workflow_approver=None,
34144    ):
34145        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34146        '''
34147         Parameters to define the new WorkflowApprover.
34148        '''
34149
34150    def __repr__(self):
34151        return '<sdm.WorkflowApproversCreateRequest ' + \
34152            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34153            '>'
34154
34155    def to_dict(self):
34156        return {
34157            'workflow_approver': self.workflow_approver,
34158        }
34159
34160    @classmethod
34161    def from_dict(cls, d):
34162        return cls(workflow_approver=d.get('workflow_approver'), )
34163
34164
34165class WorkflowApproversCreateResponse:
34166    '''
34167         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
34168    '''
34169    __slots__ = [
34170        'rate_limit',
34171        'workflow_approver',
34172    ]
34173
34174    def __init__(
34175        self,
34176        rate_limit=None,
34177        workflow_approver=None,
34178    ):
34179        self.rate_limit = rate_limit if rate_limit is not None else None
34180        '''
34181         Rate limit information.
34182        '''
34183        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34184        '''
34185         The created workflow approver.
34186        '''
34187
34188    def __repr__(self):
34189        return '<sdm.WorkflowApproversCreateResponse ' + \
34190            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34191            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34192            '>'
34193
34194    def to_dict(self):
34195        return {
34196            'rate_limit': self.rate_limit,
34197            'workflow_approver': self.workflow_approver,
34198        }
34199
34200    @classmethod
34201    def from_dict(cls, d):
34202        return cls(
34203            rate_limit=d.get('rate_limit'),
34204            workflow_approver=d.get('workflow_approver'),
34205        )
34206
34207
34208class WorkflowApproversDeleteRequest:
34209    '''
34210         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
34211    '''
34212    __slots__ = [
34213        'id',
34214    ]
34215
34216    def __init__(
34217        self,
34218        id=None,
34219    ):
34220        self.id = id if id is not None else ''
34221        '''
34222         The unique identifier of the WorkflowApprover to delete.
34223        '''
34224
34225    def __repr__(self):
34226        return '<sdm.WorkflowApproversDeleteRequest ' + \
34227            'id: ' + repr(self.id) + ' ' +\
34228            '>'
34229
34230    def to_dict(self):
34231        return {
34232            'id': self.id,
34233        }
34234
34235    @classmethod
34236    def from_dict(cls, d):
34237        return cls(id=d.get('id'), )
34238
34239
34240class WorkflowApproversDeleteResponse:
34241    '''
34242         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
34243    '''
34244    __slots__ = [
34245        'rate_limit',
34246    ]
34247
34248    def __init__(
34249        self,
34250        rate_limit=None,
34251    ):
34252        self.rate_limit = rate_limit if rate_limit is not None else None
34253        '''
34254         Rate limit information.
34255        '''
34256
34257    def __repr__(self):
34258        return '<sdm.WorkflowApproversDeleteResponse ' + \
34259            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34260            '>'
34261
34262    def to_dict(self):
34263        return {
34264            'rate_limit': self.rate_limit,
34265        }
34266
34267    @classmethod
34268    def from_dict(cls, d):
34269        return cls(rate_limit=d.get('rate_limit'), )
34270
34271
34272class WorkflowApproversListRequest:
34273    '''
34274         WorkflowApproversListRequest specifies criteria for retrieving a list of
34275     WorkflowApprover records
34276    '''
34277    __slots__ = [
34278        'filter',
34279    ]
34280
34281    def __init__(
34282        self,
34283        filter=None,
34284    ):
34285        self.filter = filter if filter is not None else ''
34286        '''
34287         A human-readable filter query string.
34288        '''
34289
34290    def __repr__(self):
34291        return '<sdm.WorkflowApproversListRequest ' + \
34292            'filter: ' + repr(self.filter) + ' ' +\
34293            '>'
34294
34295    def to_dict(self):
34296        return {
34297            'filter': self.filter,
34298        }
34299
34300    @classmethod
34301    def from_dict(cls, d):
34302        return cls(filter=d.get('filter'), )
34303
34304
34305class WorkflowApproversListResponse:
34306    '''
34307         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
34308     the criteria of a WorkflowApproversListRequest.
34309    '''
34310    __slots__ = [
34311        'rate_limit',
34312    ]
34313
34314    def __init__(
34315        self,
34316        rate_limit=None,
34317    ):
34318        self.rate_limit = rate_limit if rate_limit is not None else None
34319        '''
34320         Rate limit information.
34321        '''
34322
34323    def __repr__(self):
34324        return '<sdm.WorkflowApproversListResponse ' + \
34325            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34326            '>'
34327
34328    def to_dict(self):
34329        return {
34330            'rate_limit': self.rate_limit,
34331        }
34332
34333    @classmethod
34334    def from_dict(cls, d):
34335        return cls(rate_limit=d.get('rate_limit'), )
34336
34337
34338class WorkflowCreateResponse:
34339    '''
34340         WorkflowCreateResponse reports how the Workflow was created in the system.
34341    '''
34342    __slots__ = [
34343        'rate_limit',
34344        'workflow',
34345    ]
34346
34347    def __init__(
34348        self,
34349        rate_limit=None,
34350        workflow=None,
34351    ):
34352        self.rate_limit = rate_limit if rate_limit is not None else None
34353        '''
34354         Rate limit information.
34355        '''
34356        self.workflow = workflow if workflow is not None else None
34357        '''
34358         The created workflow.
34359        '''
34360
34361    def __repr__(self):
34362        return '<sdm.WorkflowCreateResponse ' + \
34363            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34364            'workflow: ' + repr(self.workflow) + ' ' +\
34365            '>'
34366
34367    def to_dict(self):
34368        return {
34369            'rate_limit': self.rate_limit,
34370            'workflow': self.workflow,
34371        }
34372
34373    @classmethod
34374    def from_dict(cls, d):
34375        return cls(
34376            rate_limit=d.get('rate_limit'),
34377            workflow=d.get('workflow'),
34378        )
34379
34380
34381class WorkflowDeleteResponse:
34382    '''
34383         WorkflowDeleteResponse returns information about a Workflow that was deleted.
34384    '''
34385    __slots__ = [
34386        'id',
34387        'rate_limit',
34388    ]
34389
34390    def __init__(
34391        self,
34392        id=None,
34393        rate_limit=None,
34394    ):
34395        self.id = id if id is not None else ''
34396        '''
34397         The deleted workflow id.
34398        '''
34399        self.rate_limit = rate_limit if rate_limit is not None else None
34400        '''
34401         Rate limit information.
34402        '''
34403
34404    def __repr__(self):
34405        return '<sdm.WorkflowDeleteResponse ' + \
34406            'id: ' + repr(self.id) + ' ' +\
34407            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34408            '>'
34409
34410    def to_dict(self):
34411        return {
34412            'id': self.id,
34413            'rate_limit': self.rate_limit,
34414        }
34415
34416    @classmethod
34417    def from_dict(cls, d):
34418        return cls(
34419            id=d.get('id'),
34420            rate_limit=d.get('rate_limit'),
34421        )
34422
34423
34424class WorkflowGetResponse:
34425    '''
34426         WorkflowGetResponse returns a requested Workflow.
34427    '''
34428    __slots__ = [
34429        'meta',
34430        'rate_limit',
34431        'workflow',
34432    ]
34433
34434    def __init__(
34435        self,
34436        meta=None,
34437        rate_limit=None,
34438        workflow=None,
34439    ):
34440        self.meta = meta if meta is not None else None
34441        '''
34442         Reserved for future use.
34443        '''
34444        self.rate_limit = rate_limit if rate_limit is not None else None
34445        '''
34446         Rate limit information.
34447        '''
34448        self.workflow = workflow if workflow is not None else None
34449        '''
34450         The requested Workflow.
34451        '''
34452
34453    def __repr__(self):
34454        return '<sdm.WorkflowGetResponse ' + \
34455            'meta: ' + repr(self.meta) + ' ' +\
34456            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34457            'workflow: ' + repr(self.workflow) + ' ' +\
34458            '>'
34459
34460    def to_dict(self):
34461        return {
34462            'meta': self.meta,
34463            'rate_limit': self.rate_limit,
34464            'workflow': self.workflow,
34465        }
34466
34467    @classmethod
34468    def from_dict(cls, d):
34469        return cls(
34470            meta=d.get('meta'),
34471            rate_limit=d.get('rate_limit'),
34472            workflow=d.get('workflow'),
34473        )
34474
34475
34476class WorkflowHistory:
34477    '''
34478         WorkflowsHistory provides records of all changes to the state of a Workflow.
34479    '''
34480    __slots__ = [
34481        'activity_id',
34482        'deleted_at',
34483        'timestamp',
34484        'workflow',
34485    ]
34486
34487    def __init__(
34488        self,
34489        activity_id=None,
34490        deleted_at=None,
34491        timestamp=None,
34492        workflow=None,
34493    ):
34494        self.activity_id = activity_id if activity_id is not None else ''
34495        '''
34496         The unique identifier of the Activity that produced this change to the Workflow.
34497         May be empty for some system-initiated updates.
34498        '''
34499        self.deleted_at = deleted_at if deleted_at is not None else None
34500        '''
34501         If this Workflow was deleted, the time it was deleted.
34502        '''
34503        self.timestamp = timestamp if timestamp is not None else None
34504        '''
34505         The time at which the Workflow state was recorded.
34506        '''
34507        self.workflow = workflow if workflow is not None else None
34508        '''
34509         The complete Workflow state at this time.
34510        '''
34511
34512    def __repr__(self):
34513        return '<sdm.WorkflowHistory ' + \
34514            'activity_id: ' + repr(self.activity_id) + ' ' +\
34515            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34516            'timestamp: ' + repr(self.timestamp) + ' ' +\
34517            'workflow: ' + repr(self.workflow) + ' ' +\
34518            '>'
34519
34520    def to_dict(self):
34521        return {
34522            'activity_id': self.activity_id,
34523            'deleted_at': self.deleted_at,
34524            'timestamp': self.timestamp,
34525            'workflow': self.workflow,
34526        }
34527
34528    @classmethod
34529    def from_dict(cls, d):
34530        return cls(
34531            activity_id=d.get('activity_id'),
34532            deleted_at=d.get('deleted_at'),
34533            timestamp=d.get('timestamp'),
34534            workflow=d.get('workflow'),
34535        )
34536
34537
34538class WorkflowListResponse:
34539    '''
34540         WorkflowListResponse returns a list of Workflow records that meet
34541     the criteria of a WorkflowListRequest.
34542    '''
34543    __slots__ = [
34544        'rate_limit',
34545    ]
34546
34547    def __init__(
34548        self,
34549        rate_limit=None,
34550    ):
34551        self.rate_limit = rate_limit if rate_limit is not None else None
34552        '''
34553         Rate limit information.
34554        '''
34555
34556    def __repr__(self):
34557        return '<sdm.WorkflowListResponse ' + \
34558            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34559            '>'
34560
34561    def to_dict(self):
34562        return {
34563            'rate_limit': self.rate_limit,
34564        }
34565
34566    @classmethod
34567    def from_dict(cls, d):
34568        return cls(rate_limit=d.get('rate_limit'), )
34569
34570
34571class WorkflowRole:
34572    '''
34573         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
34574     to request access to a resource via the workflow.
34575    '''
34576    __slots__ = [
34577        'id',
34578        'role_id',
34579        'workflow_id',
34580    ]
34581
34582    def __init__(
34583        self,
34584        id=None,
34585        role_id=None,
34586        workflow_id=None,
34587    ):
34588        self.id = id if id is not None else ''
34589        '''
34590         Unique identifier of the WorkflowRole.
34591        '''
34592        self.role_id = role_id if role_id is not None else ''
34593        '''
34594         The role id.
34595        '''
34596        self.workflow_id = workflow_id if workflow_id is not None else ''
34597        '''
34598         The workflow id.
34599        '''
34600
34601    def __repr__(self):
34602        return '<sdm.WorkflowRole ' + \
34603            'id: ' + repr(self.id) + ' ' +\
34604            'role_id: ' + repr(self.role_id) + ' ' +\
34605            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
34606            '>'
34607
34608    def to_dict(self):
34609        return {
34610            'id': self.id,
34611            'role_id': self.role_id,
34612            'workflow_id': self.workflow_id,
34613        }
34614
34615    @classmethod
34616    def from_dict(cls, d):
34617        return cls(
34618            id=d.get('id'),
34619            role_id=d.get('role_id'),
34620            workflow_id=d.get('workflow_id'),
34621        )
34622
34623
34624class WorkflowRoleGetResponse:
34625    '''
34626         WorkflowRoleGetResponse returns a requested WorkflowRole.
34627    '''
34628    __slots__ = [
34629        'meta',
34630        'rate_limit',
34631        'workflow_role',
34632    ]
34633
34634    def __init__(
34635        self,
34636        meta=None,
34637        rate_limit=None,
34638        workflow_role=None,
34639    ):
34640        self.meta = meta if meta is not None else None
34641        '''
34642         Reserved for future use.
34643        '''
34644        self.rate_limit = rate_limit if rate_limit is not None else None
34645        '''
34646         Rate limit information.
34647        '''
34648        self.workflow_role = workflow_role if workflow_role is not None else None
34649        '''
34650         The requested WorkflowRole.
34651        '''
34652
34653    def __repr__(self):
34654        return '<sdm.WorkflowRoleGetResponse ' + \
34655            'meta: ' + repr(self.meta) + ' ' +\
34656            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34657            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34658            '>'
34659
34660    def to_dict(self):
34661        return {
34662            'meta': self.meta,
34663            'rate_limit': self.rate_limit,
34664            'workflow_role': self.workflow_role,
34665        }
34666
34667    @classmethod
34668    def from_dict(cls, d):
34669        return cls(
34670            meta=d.get('meta'),
34671            rate_limit=d.get('rate_limit'),
34672            workflow_role=d.get('workflow_role'),
34673        )
34674
34675
34676class WorkflowRoleHistory:
34677    '''
34678         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
34679    '''
34680    __slots__ = [
34681        'activity_id',
34682        'deleted_at',
34683        'timestamp',
34684        'workflow_role',
34685    ]
34686
34687    def __init__(
34688        self,
34689        activity_id=None,
34690        deleted_at=None,
34691        timestamp=None,
34692        workflow_role=None,
34693    ):
34694        self.activity_id = activity_id if activity_id is not None else ''
34695        '''
34696         The unique identifier of the Activity that produced this change to the WorkflowRole.
34697         May be empty for some system-initiated updates.
34698        '''
34699        self.deleted_at = deleted_at if deleted_at is not None else None
34700        '''
34701         If this WorkflowRole was deleted, the time it was deleted.
34702        '''
34703        self.timestamp = timestamp if timestamp is not None else None
34704        '''
34705         The time at which the WorkflowRole state was recorded.
34706        '''
34707        self.workflow_role = workflow_role if workflow_role is not None else None
34708        '''
34709         The complete WorkflowRole state at this time.
34710        '''
34711
34712    def __repr__(self):
34713        return '<sdm.WorkflowRoleHistory ' + \
34714            'activity_id: ' + repr(self.activity_id) + ' ' +\
34715            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34716            'timestamp: ' + repr(self.timestamp) + ' ' +\
34717            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34718            '>'
34719
34720    def to_dict(self):
34721        return {
34722            'activity_id': self.activity_id,
34723            'deleted_at': self.deleted_at,
34724            'timestamp': self.timestamp,
34725            'workflow_role': self.workflow_role,
34726        }
34727
34728    @classmethod
34729    def from_dict(cls, d):
34730        return cls(
34731            activity_id=d.get('activity_id'),
34732            deleted_at=d.get('deleted_at'),
34733            timestamp=d.get('timestamp'),
34734            workflow_role=d.get('workflow_role'),
34735        )
34736
34737
34738class WorkflowRolesCreateRequest:
34739    '''
34740         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
34741     workflow role to be created.
34742    '''
34743    __slots__ = [
34744        'workflow_role',
34745    ]
34746
34747    def __init__(
34748        self,
34749        workflow_role=None,
34750    ):
34751        self.workflow_role = workflow_role if workflow_role is not None else None
34752        '''
34753         Parameters to define the new WorkflowRole.
34754        '''
34755
34756    def __repr__(self):
34757        return '<sdm.WorkflowRolesCreateRequest ' + \
34758            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34759            '>'
34760
34761    def to_dict(self):
34762        return {
34763            'workflow_role': self.workflow_role,
34764        }
34765
34766    @classmethod
34767    def from_dict(cls, d):
34768        return cls(workflow_role=d.get('workflow_role'), )
34769
34770
34771class WorkflowRolesCreateResponse:
34772    '''
34773         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
34774    '''
34775    __slots__ = [
34776        'rate_limit',
34777        'workflow_role',
34778    ]
34779
34780    def __init__(
34781        self,
34782        rate_limit=None,
34783        workflow_role=None,
34784    ):
34785        self.rate_limit = rate_limit if rate_limit is not None else None
34786        '''
34787         Rate limit information.
34788        '''
34789        self.workflow_role = workflow_role if workflow_role is not None else None
34790        '''
34791         The created workflow role.
34792        '''
34793
34794    def __repr__(self):
34795        return '<sdm.WorkflowRolesCreateResponse ' + \
34796            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34797            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34798            '>'
34799
34800    def to_dict(self):
34801        return {
34802            'rate_limit': self.rate_limit,
34803            'workflow_role': self.workflow_role,
34804        }
34805
34806    @classmethod
34807    def from_dict(cls, d):
34808        return cls(
34809            rate_limit=d.get('rate_limit'),
34810            workflow_role=d.get('workflow_role'),
34811        )
34812
34813
34814class WorkflowRolesDeleteRequest:
34815    '''
34816         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
34817    '''
34818    __slots__ = [
34819        'id',
34820    ]
34821
34822    def __init__(
34823        self,
34824        id=None,
34825    ):
34826        self.id = id if id is not None else ''
34827        '''
34828         The unique identifier of the WorkflowRole to delete.
34829        '''
34830
34831    def __repr__(self):
34832        return '<sdm.WorkflowRolesDeleteRequest ' + \
34833            'id: ' + repr(self.id) + ' ' +\
34834            '>'
34835
34836    def to_dict(self):
34837        return {
34838            'id': self.id,
34839        }
34840
34841    @classmethod
34842    def from_dict(cls, d):
34843        return cls(id=d.get('id'), )
34844
34845
34846class WorkflowRolesDeleteResponse:
34847    '''
34848         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
34849    '''
34850    __slots__ = [
34851        'rate_limit',
34852    ]
34853
34854    def __init__(
34855        self,
34856        rate_limit=None,
34857    ):
34858        self.rate_limit = rate_limit if rate_limit is not None else None
34859        '''
34860         Rate limit information.
34861        '''
34862
34863    def __repr__(self):
34864        return '<sdm.WorkflowRolesDeleteResponse ' + \
34865            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34866            '>'
34867
34868    def to_dict(self):
34869        return {
34870            'rate_limit': self.rate_limit,
34871        }
34872
34873    @classmethod
34874    def from_dict(cls, d):
34875        return cls(rate_limit=d.get('rate_limit'), )
34876
34877
34878class WorkflowRolesListRequest:
34879    '''
34880         WorkflowRolesListRequest specifies criteria for retrieving a list of
34881     WorkflowRole records
34882    '''
34883    __slots__ = [
34884        'filter',
34885    ]
34886
34887    def __init__(
34888        self,
34889        filter=None,
34890    ):
34891        self.filter = filter if filter is not None else ''
34892        '''
34893         A human-readable filter query string.
34894        '''
34895
34896    def __repr__(self):
34897        return '<sdm.WorkflowRolesListRequest ' + \
34898            'filter: ' + repr(self.filter) + ' ' +\
34899            '>'
34900
34901    def to_dict(self):
34902        return {
34903            'filter': self.filter,
34904        }
34905
34906    @classmethod
34907    def from_dict(cls, d):
34908        return cls(filter=d.get('filter'), )
34909
34910
34911class WorkflowRolesListResponse:
34912    '''
34913         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
34914     the criteria of a WorkflowRolesListRequest.
34915    '''
34916    __slots__ = [
34917        'rate_limit',
34918    ]
34919
34920    def __init__(
34921        self,
34922        rate_limit=None,
34923    ):
34924        self.rate_limit = rate_limit if rate_limit is not None else None
34925        '''
34926         Rate limit information.
34927        '''
34928
34929    def __repr__(self):
34930        return '<sdm.WorkflowRolesListResponse ' + \
34931            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34932            '>'
34933
34934    def to_dict(self):
34935        return {
34936            'rate_limit': self.rate_limit,
34937        }
34938
34939    @classmethod
34940    def from_dict(cls, d):
34941        return cls(rate_limit=d.get('rate_limit'), )
34942
34943
34944class WorkflowUpdateResponse:
34945    '''
34946         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
34947     a WorkflowUpdateRequest.
34948    '''
34949    __slots__ = [
34950        'rate_limit',
34951        'workflow',
34952    ]
34953
34954    def __init__(
34955        self,
34956        rate_limit=None,
34957        workflow=None,
34958    ):
34959        self.rate_limit = rate_limit if rate_limit is not None else None
34960        '''
34961         Rate limit information.
34962        '''
34963        self.workflow = workflow if workflow is not None else None
34964        '''
34965         The updated workflow.
34966        '''
34967
34968    def __repr__(self):
34969        return '<sdm.WorkflowUpdateResponse ' + \
34970            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34971            'workflow: ' + repr(self.workflow) + ' ' +\
34972            '>'
34973
34974    def to_dict(self):
34975        return {
34976            'rate_limit': self.rate_limit,
34977            'workflow': self.workflow,
34978        }
34979
34980    @classmethod
34981    def from_dict(cls, d):
34982        return cls(
34983            rate_limit=d.get('rate_limit'),
34984            workflow=d.get('workflow'),
34985        )
34986
34987
34988def _porcelain_zero_value_tags():
34989    return {}
34990
34991
34992def _porcelain_zero_value_access_rules():
34993    return []
34994
34995
34996def _porcelain_zero_value_access_rule():
34997    return {}
34998
34999
35000def _porcelain_zero_value_log_category_config_map():
35001    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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
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         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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    '''
597    AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
598    '''
599    __slots__ = [
600        'bind_interface',
601        'egress_filter',
602        'healthcheck_namespace',
603        'healthy',
604        'hostname',
605        'id',
606        'name',
607        'port',
608        'port_override',
609        'proxy_cluster_id',
610        'secret_store_id',
611        'subdomain',
612        'tags',
613        'token',
614    ]
615
616    def __init__(
617        self,
618        bind_interface=None,
619        egress_filter=None,
620        healthcheck_namespace=None,
621        healthy=None,
622        hostname=None,
623        id=None,
624        name=None,
625        port=None,
626        port_override=None,
627        proxy_cluster_id=None,
628        secret_store_id=None,
629        subdomain=None,
630        tags=None,
631        token=None,
632    ):
633        self.bind_interface = bind_interface if bind_interface is not None else ''
634        '''
635         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
636        '''
637        self.egress_filter = egress_filter if egress_filter is not None else ''
638        '''
639         A filter applied to the routing logic to pin datasource to nodes.
640        '''
641        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
642        '''
643         The path used to check the health of your connection.  Defaults to `default`.
644        '''
645        self.healthy = healthy if healthy is not None else False
646        '''
647         True if the datasource is reachable and the credentials are valid.
648        '''
649        self.hostname = hostname if hostname is not None else ''
650        '''
651         The host to dial to initiate a connection from the egress node to this resource.
652        '''
653        self.id = id if id is not None else ''
654        '''
655         Unique identifier of the Resource.
656        '''
657        self.name = name if name is not None else ''
658        '''
659         Unique human-readable name of the Resource.
660        '''
661        self.port = port if port is not None else 0
662        '''
663         The port to dial to initiate a connection from the egress node to this resource.
664        '''
665        self.port_override = port_override if port_override is not None else 0
666        '''
667         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
668        '''
669        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
670        '''
671         ID of the proxy cluster for this resource, if any.
672        '''
673        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
674        '''
675         ID of the secret store containing credentials for this resource, if any.
676        '''
677        self.subdomain = subdomain if subdomain is not None else ''
678        '''
679         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
680        '''
681        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
682        '''
683         Tags is a map of key, value pairs.
684        '''
685        self.token = token if token is not None else ''
686        '''
687         The API token to authenticate with.
688        '''
689
690    def __repr__(self):
691        return '<sdm.AKSServiceAccountUserImpersonation ' + \
692            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
693            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
694            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
695            'healthy: ' + repr(self.healthy) + ' ' +\
696            'hostname: ' + repr(self.hostname) + ' ' +\
697            'id: ' + repr(self.id) + ' ' +\
698            'name: ' + repr(self.name) + ' ' +\
699            'port: ' + repr(self.port) + ' ' +\
700            'port_override: ' + repr(self.port_override) + ' ' +\
701            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
702            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
703            'subdomain: ' + repr(self.subdomain) + ' ' +\
704            'tags: ' + repr(self.tags) + ' ' +\
705            'token: ' + repr(self.token) + ' ' +\
706            '>'
707
708    def to_dict(self):
709        return {
710            'bind_interface': self.bind_interface,
711            'egress_filter': self.egress_filter,
712            'healthcheck_namespace': self.healthcheck_namespace,
713            'healthy': self.healthy,
714            'hostname': self.hostname,
715            'id': self.id,
716            'name': self.name,
717            'port': self.port,
718            'port_override': self.port_override,
719            'proxy_cluster_id': self.proxy_cluster_id,
720            'secret_store_id': self.secret_store_id,
721            'subdomain': self.subdomain,
722            'tags': self.tags,
723            'token': self.token,
724        }
725
726    @classmethod
727    def from_dict(cls, d):
728        return cls(
729            bind_interface=d.get('bind_interface'),
730            egress_filter=d.get('egress_filter'),
731            healthcheck_namespace=d.get('healthcheck_namespace'),
732            healthy=d.get('healthy'),
733            hostname=d.get('hostname'),
734            id=d.get('id'),
735            name=d.get('name'),
736            port=d.get('port'),
737            port_override=d.get('port_override'),
738            proxy_cluster_id=d.get('proxy_cluster_id'),
739            secret_store_id=d.get('secret_store_id'),
740            subdomain=d.get('subdomain'),
741            tags=d.get('tags'),
742            token=d.get('token'),
743        )

AKSServiceAccountUserImpersonation is deprecated, see docs for more info.

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)
616    def __init__(
617        self,
618        bind_interface=None,
619        egress_filter=None,
620        healthcheck_namespace=None,
621        healthy=None,
622        hostname=None,
623        id=None,
624        name=None,
625        port=None,
626        port_override=None,
627        proxy_cluster_id=None,
628        secret_store_id=None,
629        subdomain=None,
630        tags=None,
631        token=None,
632    ):
633        self.bind_interface = bind_interface if bind_interface is not None else ''
634        '''
635         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
636        '''
637        self.egress_filter = egress_filter if egress_filter is not None else ''
638        '''
639         A filter applied to the routing logic to pin datasource to nodes.
640        '''
641        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
642        '''
643         The path used to check the health of your connection.  Defaults to `default`.
644        '''
645        self.healthy = healthy if healthy is not None else False
646        '''
647         True if the datasource is reachable and the credentials are valid.
648        '''
649        self.hostname = hostname if hostname is not None else ''
650        '''
651         The host to dial to initiate a connection from the egress node to this resource.
652        '''
653        self.id = id if id is not None else ''
654        '''
655         Unique identifier of the Resource.
656        '''
657        self.name = name if name is not None else ''
658        '''
659         Unique human-readable name of the Resource.
660        '''
661        self.port = port if port is not None else 0
662        '''
663         The port to dial to initiate a connection from the egress node to this resource.
664        '''
665        self.port_override = port_override if port_override is not None else 0
666        '''
667         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
668        '''
669        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
670        '''
671         ID of the proxy cluster for this resource, if any.
672        '''
673        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
674        '''
675         ID of the secret store containing credentials for this resource, if any.
676        '''
677        self.subdomain = subdomain if subdomain is not None else ''
678        '''
679         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
680        '''
681        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
682        '''
683         Tags is a map of key, value pairs.
684        '''
685        self.token = token if token is not None else ''
686        '''
687         The API token to authenticate with.
688        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

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

AKSUserImpersonation is deprecated, see docs for more info.

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)
769    def __init__(
770        self,
771        bind_interface=None,
772        certificate_authority=None,
773        client_certificate=None,
774        client_key=None,
775        egress_filter=None,
776        healthcheck_namespace=None,
777        healthy=None,
778        hostname=None,
779        id=None,
780        name=None,
781        port=None,
782        port_override=None,
783        proxy_cluster_id=None,
784        secret_store_id=None,
785        subdomain=None,
786        tags=None,
787    ):
788        self.bind_interface = bind_interface if bind_interface is not None else ''
789        '''
790         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
791        '''
792        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
793        '''
794         The CA to authenticate TLS connections with.
795        '''
796        self.client_certificate = client_certificate if client_certificate is not None else ''
797        '''
798         The certificate to authenticate TLS connections with.
799        '''
800        self.client_key = client_key if client_key is not None else ''
801        '''
802         The key to authenticate TLS connections with.
803        '''
804        self.egress_filter = egress_filter if egress_filter is not None else ''
805        '''
806         A filter applied to the routing logic to pin datasource to nodes.
807        '''
808        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
809        '''
810         The path used to check the health of your connection.  Defaults to `default`.
811        '''
812        self.healthy = healthy if healthy is not None else False
813        '''
814         True if the datasource is reachable and the credentials are valid.
815        '''
816        self.hostname = hostname if hostname is not None else ''
817        '''
818         The host to dial to initiate a connection from the egress node to this resource.
819        '''
820        self.id = id if id is not None else ''
821        '''
822         Unique identifier of the Resource.
823        '''
824        self.name = name if name is not None else ''
825        '''
826         Unique human-readable name of the Resource.
827        '''
828        self.port = port if port is not None else 0
829        '''
830         The port to dial to initiate a connection from the egress node to this resource.
831        '''
832        self.port_override = port_override if port_override is not None else 0
833        '''
834         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
835        '''
836        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
837        '''
838         ID of the proxy cluster for this resource, if any.
839        '''
840        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
841        '''
842         ID of the secret store containing credentials for this resource, if any.
843        '''
844        self.subdomain = subdomain if subdomain is not None else ''
845        '''
846         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
847        '''
848        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
849        '''
850         Tags is a map of key, value pairs.
851        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
873    def to_dict(self):
874        return {
875            'bind_interface': self.bind_interface,
876            'certificate_authority': self.certificate_authority,
877            'client_certificate': self.client_certificate,
878            'client_key': self.client_key,
879            'egress_filter': self.egress_filter,
880            'healthcheck_namespace': self.healthcheck_namespace,
881            'healthy': self.healthy,
882            'hostname': self.hostname,
883            'id': self.id,
884            'name': self.name,
885            'port': self.port,
886            'port_override': self.port_override,
887            'proxy_cluster_id': self.proxy_cluster_id,
888            'secret_store_id': self.secret_store_id,
889            'subdomain': self.subdomain,
890            'tags': self.tags,
891        }
@classmethod
def from_dict(cls, d)
893    @classmethod
894    def from_dict(cls, d):
895        return cls(
896            bind_interface=d.get('bind_interface'),
897            certificate_authority=d.get('certificate_authority'),
898            client_certificate=d.get('client_certificate'),
899            client_key=d.get('client_key'),
900            egress_filter=d.get('egress_filter'),
901            healthcheck_namespace=d.get('healthcheck_namespace'),
902            healthy=d.get('healthy'),
903            hostname=d.get('hostname'),
904            id=d.get('id'),
905            name=d.get('name'),
906            port=d.get('port'),
907            port_override=d.get('port_override'),
908            proxy_cluster_id=d.get('proxy_cluster_id'),
909            secret_store_id=d.get('secret_store_id'),
910            subdomain=d.get('subdomain'),
911            tags=d.get('tags'),
912        )
class AMQP:
 915class AMQP:
 916    '''
 917    AMQP is currently unstable, and its API may change, or it may be removed,
 918    without a major version bump.
 919    '''
 920    __slots__ = [
 921        'bind_interface',
 922        'egress_filter',
 923        'healthy',
 924        'hostname',
 925        'id',
 926        'name',
 927        'password',
 928        'port',
 929        'port_override',
 930        'proxy_cluster_id',
 931        'secret_store_id',
 932        'subdomain',
 933        'tags',
 934        'tls_required',
 935        'username',
 936    ]
 937
 938    def __init__(
 939        self,
 940        bind_interface=None,
 941        egress_filter=None,
 942        healthy=None,
 943        hostname=None,
 944        id=None,
 945        name=None,
 946        password=None,
 947        port=None,
 948        port_override=None,
 949        proxy_cluster_id=None,
 950        secret_store_id=None,
 951        subdomain=None,
 952        tags=None,
 953        tls_required=None,
 954        username=None,
 955    ):
 956        self.bind_interface = bind_interface if bind_interface is not None else ''
 957        '''
 958         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 959        '''
 960        self.egress_filter = egress_filter if egress_filter is not None else ''
 961        '''
 962         A filter applied to the routing logic to pin datasource to nodes.
 963        '''
 964        self.healthy = healthy if healthy is not None else False
 965        '''
 966         True if the datasource is reachable and the credentials are valid.
 967        '''
 968        self.hostname = hostname if hostname is not None else ''
 969        '''
 970         The host to dial to initiate a connection from the egress node to this resource.
 971        '''
 972        self.id = id if id is not None else ''
 973        '''
 974         Unique identifier of the Resource.
 975        '''
 976        self.name = name if name is not None else ''
 977        '''
 978         Unique human-readable name of the Resource.
 979        '''
 980        self.password = password if password is not None else ''
 981        '''
 982         The password to authenticate with.
 983        '''
 984        self.port = port if port is not None else 0
 985        '''
 986         The port to dial to initiate a connection from the egress node to this resource.
 987        '''
 988        self.port_override = port_override if port_override is not None else 0
 989        '''
 990         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 991        '''
 992        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 993        '''
 994         ID of the proxy cluster for this resource, if any.
 995        '''
 996        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 997        '''
 998         ID of the secret store containing credentials for this resource, if any.
 999        '''
1000        self.subdomain = subdomain if subdomain is not None else ''
1001        '''
1002         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1003        '''
1004        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1005        '''
1006         Tags is a map of key, value pairs.
1007        '''
1008        self.tls_required = tls_required if tls_required is not None else False
1009        '''
1010         If set, TLS must be used to connect to this resource.
1011        '''
1012        self.username = username if username is not None else ''
1013        '''
1014         The username to authenticate with.
1015        '''
1016
1017    def __repr__(self):
1018        return '<sdm.AMQP ' + \
1019            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1020            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1021            'healthy: ' + repr(self.healthy) + ' ' +\
1022            'hostname: ' + repr(self.hostname) + ' ' +\
1023            'id: ' + repr(self.id) + ' ' +\
1024            'name: ' + repr(self.name) + ' ' +\
1025            'password: ' + repr(self.password) + ' ' +\
1026            'port: ' + repr(self.port) + ' ' +\
1027            'port_override: ' + repr(self.port_override) + ' ' +\
1028            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1029            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1030            'subdomain: ' + repr(self.subdomain) + ' ' +\
1031            'tags: ' + repr(self.tags) + ' ' +\
1032            'tls_required: ' + repr(self.tls_required) + ' ' +\
1033            'username: ' + repr(self.username) + ' ' +\
1034            '>'
1035
1036    def to_dict(self):
1037        return {
1038            'bind_interface': self.bind_interface,
1039            'egress_filter': self.egress_filter,
1040            'healthy': self.healthy,
1041            'hostname': self.hostname,
1042            'id': self.id,
1043            'name': self.name,
1044            'password': self.password,
1045            'port': self.port,
1046            'port_override': self.port_override,
1047            'proxy_cluster_id': self.proxy_cluster_id,
1048            'secret_store_id': self.secret_store_id,
1049            'subdomain': self.subdomain,
1050            'tags': self.tags,
1051            'tls_required': self.tls_required,
1052            'username': self.username,
1053        }
1054
1055    @classmethod
1056    def from_dict(cls, d):
1057        return cls(
1058            bind_interface=d.get('bind_interface'),
1059            egress_filter=d.get('egress_filter'),
1060            healthy=d.get('healthy'),
1061            hostname=d.get('hostname'),
1062            id=d.get('id'),
1063            name=d.get('name'),
1064            password=d.get('password'),
1065            port=d.get('port'),
1066            port_override=d.get('port_override'),
1067            proxy_cluster_id=d.get('proxy_cluster_id'),
1068            secret_store_id=d.get('secret_store_id'),
1069            subdomain=d.get('subdomain'),
1070            tags=d.get('tags'),
1071            tls_required=d.get('tls_required'),
1072            username=d.get('username'),
1073        )

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

AMQP( 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)
 938    def __init__(
 939        self,
 940        bind_interface=None,
 941        egress_filter=None,
 942        healthy=None,
 943        hostname=None,
 944        id=None,
 945        name=None,
 946        password=None,
 947        port=None,
 948        port_override=None,
 949        proxy_cluster_id=None,
 950        secret_store_id=None,
 951        subdomain=None,
 952        tags=None,
 953        tls_required=None,
 954        username=None,
 955    ):
 956        self.bind_interface = bind_interface if bind_interface is not None else ''
 957        '''
 958         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
 959        '''
 960        self.egress_filter = egress_filter if egress_filter is not None else ''
 961        '''
 962         A filter applied to the routing logic to pin datasource to nodes.
 963        '''
 964        self.healthy = healthy if healthy is not None else False
 965        '''
 966         True if the datasource is reachable and the credentials are valid.
 967        '''
 968        self.hostname = hostname if hostname is not None else ''
 969        '''
 970         The host to dial to initiate a connection from the egress node to this resource.
 971        '''
 972        self.id = id if id is not None else ''
 973        '''
 974         Unique identifier of the Resource.
 975        '''
 976        self.name = name if name is not None else ''
 977        '''
 978         Unique human-readable name of the Resource.
 979        '''
 980        self.password = password if password is not None else ''
 981        '''
 982         The password to authenticate with.
 983        '''
 984        self.port = port if port is not None else 0
 985        '''
 986         The port to dial to initiate a connection from the egress node to this resource.
 987        '''
 988        self.port_override = port_override if port_override is not None else 0
 989        '''
 990         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
 991        '''
 992        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
 993        '''
 994         ID of the proxy cluster for this resource, if any.
 995        '''
 996        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
 997        '''
 998         ID of the secret store containing credentials for this resource, if any.
 999        '''
1000        self.subdomain = subdomain if subdomain is not None else ''
1001        '''
1002         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1003        '''
1004        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1005        '''
1006         Tags is a map of key, value pairs.
1007        '''
1008        self.tls_required = tls_required if tls_required is not None else False
1009        '''
1010         If set, TLS must be used to connect to this resource.
1011        '''
1012        self.username = username if username is not None else ''
1013        '''
1014         The username to authenticate with.
1015        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
1036    def to_dict(self):
1037        return {
1038            'bind_interface': self.bind_interface,
1039            'egress_filter': self.egress_filter,
1040            'healthy': self.healthy,
1041            'hostname': self.hostname,
1042            'id': self.id,
1043            'name': self.name,
1044            'password': self.password,
1045            'port': self.port,
1046            'port_override': self.port_override,
1047            'proxy_cluster_id': self.proxy_cluster_id,
1048            'secret_store_id': self.secret_store_id,
1049            'subdomain': self.subdomain,
1050            'tags': self.tags,
1051            'tls_required': self.tls_required,
1052            'username': self.username,
1053        }
@classmethod
def from_dict(cls, d)
1055    @classmethod
1056    def from_dict(cls, d):
1057        return cls(
1058            bind_interface=d.get('bind_interface'),
1059            egress_filter=d.get('egress_filter'),
1060            healthy=d.get('healthy'),
1061            hostname=d.get('hostname'),
1062            id=d.get('id'),
1063            name=d.get('name'),
1064            password=d.get('password'),
1065            port=d.get('port'),
1066            port_override=d.get('port_override'),
1067            proxy_cluster_id=d.get('proxy_cluster_id'),
1068            secret_store_id=d.get('secret_store_id'),
1069            subdomain=d.get('subdomain'),
1070            tags=d.get('tags'),
1071            tls_required=d.get('tls_required'),
1072            username=d.get('username'),
1073        )
class AWS:
1076class AWS:
1077    __slots__ = [
1078        'access_key',
1079        'bind_interface',
1080        'egress_filter',
1081        'healthcheck_region',
1082        'healthy',
1083        'id',
1084        'name',
1085        'port_override',
1086        'proxy_cluster_id',
1087        'role_arn',
1088        'role_external_id',
1089        'secret_access_key',
1090        'secret_store_id',
1091        'subdomain',
1092        'tags',
1093    ]
1094
1095    def __init__(
1096        self,
1097        access_key=None,
1098        bind_interface=None,
1099        egress_filter=None,
1100        healthcheck_region=None,
1101        healthy=None,
1102        id=None,
1103        name=None,
1104        port_override=None,
1105        proxy_cluster_id=None,
1106        role_arn=None,
1107        role_external_id=None,
1108        secret_access_key=None,
1109        secret_store_id=None,
1110        subdomain=None,
1111        tags=None,
1112    ):
1113        self.access_key = access_key if access_key is not None else ''
1114        '''
1115         The Access Key ID to use to authenticate.
1116        '''
1117        self.bind_interface = bind_interface if bind_interface is not None else ''
1118        '''
1119         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1120        '''
1121        self.egress_filter = egress_filter if egress_filter is not None else ''
1122        '''
1123         A filter applied to the routing logic to pin datasource to nodes.
1124        '''
1125        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
1126        '''
1127         The AWS region healthcheck requests should attempt to connect to.
1128        '''
1129        self.healthy = healthy if healthy is not None else False
1130        '''
1131         True if the datasource is reachable and the credentials are valid.
1132        '''
1133        self.id = id if id is not None else ''
1134        '''
1135         Unique identifier of the Resource.
1136        '''
1137        self.name = name if name is not None else ''
1138        '''
1139         Unique human-readable name of the Resource.
1140        '''
1141        self.port_override = port_override if port_override is not None else 0
1142        '''
1143         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1144        '''
1145        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1146        '''
1147         ID of the proxy cluster for this resource, if any.
1148        '''
1149        self.role_arn = role_arn if role_arn is not None else ''
1150        '''
1151         The role to assume after logging in.
1152        '''
1153        self.role_external_id = role_external_id if role_external_id is not None else ''
1154        '''
1155         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1156        '''
1157        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1158        '''
1159         The Secret Access Key to use to authenticate.
1160        '''
1161        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1162        '''
1163         ID of the secret store containing credentials for this resource, if any.
1164        '''
1165        self.subdomain = subdomain if subdomain is not None else ''
1166        '''
1167         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1168        '''
1169        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1170        '''
1171         Tags is a map of key, value pairs.
1172        '''
1173
1174    def __repr__(self):
1175        return '<sdm.AWS ' + \
1176            'access_key: ' + repr(self.access_key) + ' ' +\
1177            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1178            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1179            'healthcheck_region: ' + repr(self.healthcheck_region) + ' ' +\
1180            'healthy: ' + repr(self.healthy) + ' ' +\
1181            'id: ' + repr(self.id) + ' ' +\
1182            'name: ' + repr(self.name) + ' ' +\
1183            'port_override: ' + repr(self.port_override) + ' ' +\
1184            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1185            'role_arn: ' + repr(self.role_arn) + ' ' +\
1186            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1187            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
1188            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1189            'subdomain: ' + repr(self.subdomain) + ' ' +\
1190            'tags: ' + repr(self.tags) + ' ' +\
1191            '>'
1192
1193    def to_dict(self):
1194        return {
1195            'access_key': self.access_key,
1196            'bind_interface': self.bind_interface,
1197            'egress_filter': self.egress_filter,
1198            'healthcheck_region': self.healthcheck_region,
1199            'healthy': self.healthy,
1200            'id': self.id,
1201            'name': self.name,
1202            'port_override': self.port_override,
1203            'proxy_cluster_id': self.proxy_cluster_id,
1204            'role_arn': self.role_arn,
1205            'role_external_id': self.role_external_id,
1206            'secret_access_key': self.secret_access_key,
1207            'secret_store_id': self.secret_store_id,
1208            'subdomain': self.subdomain,
1209            'tags': self.tags,
1210        }
1211
1212    @classmethod
1213    def from_dict(cls, d):
1214        return cls(
1215            access_key=d.get('access_key'),
1216            bind_interface=d.get('bind_interface'),
1217            egress_filter=d.get('egress_filter'),
1218            healthcheck_region=d.get('healthcheck_region'),
1219            healthy=d.get('healthy'),
1220            id=d.get('id'),
1221            name=d.get('name'),
1222            port_override=d.get('port_override'),
1223            proxy_cluster_id=d.get('proxy_cluster_id'),
1224            role_arn=d.get('role_arn'),
1225            role_external_id=d.get('role_external_id'),
1226            secret_access_key=d.get('secret_access_key'),
1227            secret_store_id=d.get('secret_store_id'),
1228            subdomain=d.get('subdomain'),
1229            tags=d.get('tags'),
1230        )
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)
1095    def __init__(
1096        self,
1097        access_key=None,
1098        bind_interface=None,
1099        egress_filter=None,
1100        healthcheck_region=None,
1101        healthy=None,
1102        id=None,
1103        name=None,
1104        port_override=None,
1105        proxy_cluster_id=None,
1106        role_arn=None,
1107        role_external_id=None,
1108        secret_access_key=None,
1109        secret_store_id=None,
1110        subdomain=None,
1111        tags=None,
1112    ):
1113        self.access_key = access_key if access_key is not None else ''
1114        '''
1115         The Access Key ID to use to authenticate.
1116        '''
1117        self.bind_interface = bind_interface if bind_interface is not None else ''
1118        '''
1119         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1120        '''
1121        self.egress_filter = egress_filter if egress_filter is not None else ''
1122        '''
1123         A filter applied to the routing logic to pin datasource to nodes.
1124        '''
1125        self.healthcheck_region = healthcheck_region if healthcheck_region is not None else ''
1126        '''
1127         The AWS region healthcheck requests should attempt to connect to.
1128        '''
1129        self.healthy = healthy if healthy is not None else False
1130        '''
1131         True if the datasource is reachable and the credentials are valid.
1132        '''
1133        self.id = id if id is not None else ''
1134        '''
1135         Unique identifier of the Resource.
1136        '''
1137        self.name = name if name is not None else ''
1138        '''
1139         Unique human-readable name of the Resource.
1140        '''
1141        self.port_override = port_override if port_override is not None else 0
1142        '''
1143         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1144        '''
1145        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1146        '''
1147         ID of the proxy cluster for this resource, if any.
1148        '''
1149        self.role_arn = role_arn if role_arn is not None else ''
1150        '''
1151         The role to assume after logging in.
1152        '''
1153        self.role_external_id = role_external_id if role_external_id is not None else ''
1154        '''
1155         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1156        '''
1157        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1158        '''
1159         The Secret Access Key to use to authenticate.
1160        '''
1161        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1162        '''
1163         ID of the secret store containing credentials for this resource, if any.
1164        '''
1165        self.subdomain = subdomain if subdomain is not None else ''
1166        '''
1167         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1168        '''
1169        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1170        '''
1171         Tags is a map of key, value pairs.
1172        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
1193    def to_dict(self):
1194        return {
1195            'access_key': self.access_key,
1196            'bind_interface': self.bind_interface,
1197            'egress_filter': self.egress_filter,
1198            'healthcheck_region': self.healthcheck_region,
1199            'healthy': self.healthy,
1200            'id': self.id,
1201            'name': self.name,
1202            'port_override': self.port_override,
1203            'proxy_cluster_id': self.proxy_cluster_id,
1204            'role_arn': self.role_arn,
1205            'role_external_id': self.role_external_id,
1206            'secret_access_key': self.secret_access_key,
1207            'secret_store_id': self.secret_store_id,
1208            'subdomain': self.subdomain,
1209            'tags': self.tags,
1210        }
@classmethod
def from_dict(cls, d)
1212    @classmethod
1213    def from_dict(cls, d):
1214        return cls(
1215            access_key=d.get('access_key'),
1216            bind_interface=d.get('bind_interface'),
1217            egress_filter=d.get('egress_filter'),
1218            healthcheck_region=d.get('healthcheck_region'),
1219            healthy=d.get('healthy'),
1220            id=d.get('id'),
1221            name=d.get('name'),
1222            port_override=d.get('port_override'),
1223            proxy_cluster_id=d.get('proxy_cluster_id'),
1224            role_arn=d.get('role_arn'),
1225            role_external_id=d.get('role_external_id'),
1226            secret_access_key=d.get('secret_access_key'),
1227            secret_store_id=d.get('secret_store_id'),
1228            subdomain=d.get('subdomain'),
1229            tags=d.get('tags'),
1230        )
class AWSCertX509Store:
1233class AWSCertX509Store:
1234    __slots__ = [
1235        'caarn',
1236        'certificatetemplatearn',
1237        'id',
1238        'issuedcertttlminutes',
1239        'name',
1240        'region',
1241        'signingalgo',
1242        'tags',
1243    ]
1244
1245    def __init__(
1246        self,
1247        caarn=None,
1248        certificatetemplatearn=None,
1249        id=None,
1250        issuedcertttlminutes=None,
1251        name=None,
1252        region=None,
1253        signingalgo=None,
1254        tags=None,
1255    ):
1256        self.caarn = caarn if caarn is not None else ''
1257        '''
1258         The ARN of the CA in AWS Private CA
1259        '''
1260        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1261        '''
1262         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1263        '''
1264        self.id = id if id is not None else ''
1265        '''
1266         Unique identifier of the SecretStore.
1267        '''
1268        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1269        '''
1270         The lifetime of certificates issued by this CA represented in minutes.
1271        '''
1272        self.name = name if name is not None else ''
1273        '''
1274         Unique human-readable name of the SecretStore.
1275        '''
1276        self.region = region if region is not None else ''
1277        '''
1278         The AWS region to target e.g. us-east-1
1279        '''
1280        self.signingalgo = signingalgo if signingalgo is not None else ''
1281        '''
1282         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1283        '''
1284        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1285        '''
1286         Tags is a map of key, value pairs.
1287        '''
1288
1289    def __repr__(self):
1290        return '<sdm.AWSCertX509Store ' + \
1291            'caarn: ' + repr(self.caarn) + ' ' +\
1292            'certificatetemplatearn: ' + repr(self.certificatetemplatearn) + ' ' +\
1293            'id: ' + repr(self.id) + ' ' +\
1294            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
1295            'name: ' + repr(self.name) + ' ' +\
1296            'region: ' + repr(self.region) + ' ' +\
1297            'signingalgo: ' + repr(self.signingalgo) + ' ' +\
1298            'tags: ' + repr(self.tags) + ' ' +\
1299            '>'
1300
1301    def to_dict(self):
1302        return {
1303            'caarn': self.caarn,
1304            'certificatetemplatearn': self.certificatetemplatearn,
1305            'id': self.id,
1306            'issuedcertttlminutes': self.issuedcertttlminutes,
1307            'name': self.name,
1308            'region': self.region,
1309            'signingalgo': self.signingalgo,
1310            'tags': self.tags,
1311        }
1312
1313    @classmethod
1314    def from_dict(cls, d):
1315        return cls(
1316            caarn=d.get('caarn'),
1317            certificatetemplatearn=d.get('certificatetemplatearn'),
1318            id=d.get('id'),
1319            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1320            name=d.get('name'),
1321            region=d.get('region'),
1322            signingalgo=d.get('signingalgo'),
1323            tags=d.get('tags'),
1324        )
AWSCertX509Store( caarn=None, certificatetemplatearn=None, id=None, issuedcertttlminutes=None, name=None, region=None, signingalgo=None, tags=None)
1245    def __init__(
1246        self,
1247        caarn=None,
1248        certificatetemplatearn=None,
1249        id=None,
1250        issuedcertttlminutes=None,
1251        name=None,
1252        region=None,
1253        signingalgo=None,
1254        tags=None,
1255    ):
1256        self.caarn = caarn if caarn is not None else ''
1257        '''
1258         The ARN of the CA in AWS Private CA
1259        '''
1260        self.certificatetemplatearn = certificatetemplatearn if certificatetemplatearn is not None else ''
1261        '''
1262         The ARN of the AWS certificate template for requested certificates. Must allow SAN, key usage, and ext key usage passthrough from CSR
1263        '''
1264        self.id = id if id is not None else ''
1265        '''
1266         Unique identifier of the SecretStore.
1267        '''
1268        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
1269        '''
1270         The lifetime of certificates issued by this CA represented in minutes.
1271        '''
1272        self.name = name if name is not None else ''
1273        '''
1274         Unique human-readable name of the SecretStore.
1275        '''
1276        self.region = region if region is not None else ''
1277        '''
1278         The AWS region to target e.g. us-east-1
1279        '''
1280        self.signingalgo = signingalgo if signingalgo is not None else ''
1281        '''
1282         The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. e.g. SHA256WITHRSA
1283        '''
1284        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1285        '''
1286         Tags is a map of key, value pairs.
1287        '''
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)
1301    def to_dict(self):
1302        return {
1303            'caarn': self.caarn,
1304            'certificatetemplatearn': self.certificatetemplatearn,
1305            'id': self.id,
1306            'issuedcertttlminutes': self.issuedcertttlminutes,
1307            'name': self.name,
1308            'region': self.region,
1309            'signingalgo': self.signingalgo,
1310            'tags': self.tags,
1311        }
@classmethod
def from_dict(cls, d)
1313    @classmethod
1314    def from_dict(cls, d):
1315        return cls(
1316            caarn=d.get('caarn'),
1317            certificatetemplatearn=d.get('certificatetemplatearn'),
1318            id=d.get('id'),
1319            issuedcertttlminutes=d.get('issuedcertttlminutes'),
1320            name=d.get('name'),
1321            region=d.get('region'),
1322            signingalgo=d.get('signingalgo'),
1323            tags=d.get('tags'),
1324        )
class AWSConsole:
1327class AWSConsole:
1328    __slots__ = [
1329        'bind_interface',
1330        'egress_filter',
1331        'enable_env_variables',
1332        'healthy',
1333        'id',
1334        'identity_alias_healthcheck_username',
1335        'identity_set_id',
1336        'name',
1337        'port_override',
1338        'proxy_cluster_id',
1339        'region',
1340        'role_arn',
1341        'role_external_id',
1342        'secret_store_id',
1343        'session_expiry',
1344        'subdomain',
1345        'tags',
1346    ]
1347
1348    def __init__(
1349        self,
1350        bind_interface=None,
1351        egress_filter=None,
1352        enable_env_variables=None,
1353        healthy=None,
1354        id=None,
1355        identity_alias_healthcheck_username=None,
1356        identity_set_id=None,
1357        name=None,
1358        port_override=None,
1359        proxy_cluster_id=None,
1360        region=None,
1361        role_arn=None,
1362        role_external_id=None,
1363        secret_store_id=None,
1364        session_expiry=None,
1365        subdomain=None,
1366        tags=None,
1367    ):
1368        self.bind_interface = bind_interface if bind_interface is not None else ''
1369        '''
1370         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1371        '''
1372        self.egress_filter = egress_filter if egress_filter is not None else ''
1373        '''
1374         A filter applied to the routing logic to pin datasource to nodes.
1375        '''
1376        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1377        '''
1378         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1379        '''
1380        self.healthy = healthy if healthy is not None else False
1381        '''
1382         True if the datasource is reachable and the credentials are valid.
1383        '''
1384        self.id = id if id is not None else ''
1385        '''
1386         Unique identifier of the Resource.
1387        '''
1388        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1389        '''
1390         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1391        '''
1392        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1393        '''
1394         The ID of the identity set to use for identity connections.
1395        '''
1396        self.name = name if name is not None else ''
1397        '''
1398         Unique human-readable name of the Resource.
1399        '''
1400        self.port_override = port_override if port_override is not None else 0
1401        '''
1402         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1403        '''
1404        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1405        '''
1406         ID of the proxy cluster for this resource, if any.
1407        '''
1408        self.region = region if region is not None else ''
1409        '''
1410         The AWS region to connect to.
1411        '''
1412        self.role_arn = role_arn if role_arn is not None else ''
1413        '''
1414         The role to assume after logging in.
1415        '''
1416        self.role_external_id = role_external_id if role_external_id is not None else ''
1417        '''
1418         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1419        '''
1420        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1421        '''
1422         ID of the secret store containing credentials for this resource, if any.
1423        '''
1424        self.session_expiry = session_expiry if session_expiry is not None else 0
1425        '''
1426         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1427        '''
1428        self.subdomain = subdomain if subdomain is not None else ''
1429        '''
1430         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1431        '''
1432        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1433        '''
1434         Tags is a map of key, value pairs.
1435        '''
1436
1437    def __repr__(self):
1438        return '<sdm.AWSConsole ' + \
1439            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1440            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1441            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1442            'healthy: ' + repr(self.healthy) + ' ' +\
1443            'id: ' + repr(self.id) + ' ' +\
1444            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1445            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1446            'name: ' + repr(self.name) + ' ' +\
1447            'port_override: ' + repr(self.port_override) + ' ' +\
1448            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1449            'region: ' + repr(self.region) + ' ' +\
1450            'role_arn: ' + repr(self.role_arn) + ' ' +\
1451            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1452            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1453            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1454            'subdomain: ' + repr(self.subdomain) + ' ' +\
1455            'tags: ' + repr(self.tags) + ' ' +\
1456            '>'
1457
1458    def to_dict(self):
1459        return {
1460            'bind_interface': self.bind_interface,
1461            'egress_filter': self.egress_filter,
1462            'enable_env_variables': self.enable_env_variables,
1463            'healthy': self.healthy,
1464            'id': self.id,
1465            'identity_alias_healthcheck_username':
1466            self.identity_alias_healthcheck_username,
1467            'identity_set_id': self.identity_set_id,
1468            'name': self.name,
1469            'port_override': self.port_override,
1470            'proxy_cluster_id': self.proxy_cluster_id,
1471            'region': self.region,
1472            'role_arn': self.role_arn,
1473            'role_external_id': self.role_external_id,
1474            'secret_store_id': self.secret_store_id,
1475            'session_expiry': self.session_expiry,
1476            'subdomain': self.subdomain,
1477            'tags': self.tags,
1478        }
1479
1480    @classmethod
1481    def from_dict(cls, d):
1482        return cls(
1483            bind_interface=d.get('bind_interface'),
1484            egress_filter=d.get('egress_filter'),
1485            enable_env_variables=d.get('enable_env_variables'),
1486            healthy=d.get('healthy'),
1487            id=d.get('id'),
1488            identity_alias_healthcheck_username=d.get(
1489                'identity_alias_healthcheck_username'),
1490            identity_set_id=d.get('identity_set_id'),
1491            name=d.get('name'),
1492            port_override=d.get('port_override'),
1493            proxy_cluster_id=d.get('proxy_cluster_id'),
1494            region=d.get('region'),
1495            role_arn=d.get('role_arn'),
1496            role_external_id=d.get('role_external_id'),
1497            secret_store_id=d.get('secret_store_id'),
1498            session_expiry=d.get('session_expiry'),
1499            subdomain=d.get('subdomain'),
1500            tags=d.get('tags'),
1501        )
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)
1348    def __init__(
1349        self,
1350        bind_interface=None,
1351        egress_filter=None,
1352        enable_env_variables=None,
1353        healthy=None,
1354        id=None,
1355        identity_alias_healthcheck_username=None,
1356        identity_set_id=None,
1357        name=None,
1358        port_override=None,
1359        proxy_cluster_id=None,
1360        region=None,
1361        role_arn=None,
1362        role_external_id=None,
1363        secret_store_id=None,
1364        session_expiry=None,
1365        subdomain=None,
1366        tags=None,
1367    ):
1368        self.bind_interface = bind_interface if bind_interface is not None else ''
1369        '''
1370         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1371        '''
1372        self.egress_filter = egress_filter if egress_filter is not None else ''
1373        '''
1374         A filter applied to the routing logic to pin datasource to nodes.
1375        '''
1376        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1377        '''
1378         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1379        '''
1380        self.healthy = healthy if healthy is not None else False
1381        '''
1382         True if the datasource is reachable and the credentials are valid.
1383        '''
1384        self.id = id if id is not None else ''
1385        '''
1386         Unique identifier of the Resource.
1387        '''
1388        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1389        '''
1390         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1391        '''
1392        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1393        '''
1394         The ID of the identity set to use for identity connections.
1395        '''
1396        self.name = name if name is not None else ''
1397        '''
1398         Unique human-readable name of the Resource.
1399        '''
1400        self.port_override = port_override if port_override is not None else 0
1401        '''
1402         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1403        '''
1404        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1405        '''
1406         ID of the proxy cluster for this resource, if any.
1407        '''
1408        self.region = region if region is not None else ''
1409        '''
1410         The AWS region to connect to.
1411        '''
1412        self.role_arn = role_arn if role_arn is not None else ''
1413        '''
1414         The role to assume after logging in.
1415        '''
1416        self.role_external_id = role_external_id if role_external_id is not None else ''
1417        '''
1418         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1419        '''
1420        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1421        '''
1422         ID of the secret store containing credentials for this resource, if any.
1423        '''
1424        self.session_expiry = session_expiry if session_expiry is not None else 0
1425        '''
1426         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1427        '''
1428        self.subdomain = subdomain if subdomain is not None else ''
1429        '''
1430         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1431        '''
1432        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1433        '''
1434         Tags is a map of key, value pairs.
1435        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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)
1458    def to_dict(self):
1459        return {
1460            'bind_interface': self.bind_interface,
1461            'egress_filter': self.egress_filter,
1462            'enable_env_variables': self.enable_env_variables,
1463            'healthy': self.healthy,
1464            'id': self.id,
1465            'identity_alias_healthcheck_username':
1466            self.identity_alias_healthcheck_username,
1467            'identity_set_id': self.identity_set_id,
1468            'name': self.name,
1469            'port_override': self.port_override,
1470            'proxy_cluster_id': self.proxy_cluster_id,
1471            'region': self.region,
1472            'role_arn': self.role_arn,
1473            'role_external_id': self.role_external_id,
1474            'secret_store_id': self.secret_store_id,
1475            'session_expiry': self.session_expiry,
1476            'subdomain': self.subdomain,
1477            'tags': self.tags,
1478        }
@classmethod
def from_dict(cls, d)
1480    @classmethod
1481    def from_dict(cls, d):
1482        return cls(
1483            bind_interface=d.get('bind_interface'),
1484            egress_filter=d.get('egress_filter'),
1485            enable_env_variables=d.get('enable_env_variables'),
1486            healthy=d.get('healthy'),
1487            id=d.get('id'),
1488            identity_alias_healthcheck_username=d.get(
1489                'identity_alias_healthcheck_username'),
1490            identity_set_id=d.get('identity_set_id'),
1491            name=d.get('name'),
1492            port_override=d.get('port_override'),
1493            proxy_cluster_id=d.get('proxy_cluster_id'),
1494            region=d.get('region'),
1495            role_arn=d.get('role_arn'),
1496            role_external_id=d.get('role_external_id'),
1497            secret_store_id=d.get('secret_store_id'),
1498            session_expiry=d.get('session_expiry'),
1499            subdomain=d.get('subdomain'),
1500            tags=d.get('tags'),
1501        )
class AWSConsoleStaticKeyPair:
1504class AWSConsoleStaticKeyPair:
1505    __slots__ = [
1506        'access_key',
1507        'bind_interface',
1508        'egress_filter',
1509        'healthy',
1510        'id',
1511        'identity_alias_healthcheck_username',
1512        'identity_set_id',
1513        'name',
1514        'port_override',
1515        'proxy_cluster_id',
1516        'region',
1517        'role_arn',
1518        'role_external_id',
1519        'secret_access_key',
1520        'secret_store_id',
1521        'session_expiry',
1522        'subdomain',
1523        'tags',
1524    ]
1525
1526    def __init__(
1527        self,
1528        access_key=None,
1529        bind_interface=None,
1530        egress_filter=None,
1531        healthy=None,
1532        id=None,
1533        identity_alias_healthcheck_username=None,
1534        identity_set_id=None,
1535        name=None,
1536        port_override=None,
1537        proxy_cluster_id=None,
1538        region=None,
1539        role_arn=None,
1540        role_external_id=None,
1541        secret_access_key=None,
1542        secret_store_id=None,
1543        session_expiry=None,
1544        subdomain=None,
1545        tags=None,
1546    ):
1547        self.access_key = access_key if access_key is not None else ''
1548        '''
1549         The Access Key ID to authenticate with.
1550        '''
1551        self.bind_interface = bind_interface if bind_interface is not None else ''
1552        '''
1553         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1554        '''
1555        self.egress_filter = egress_filter if egress_filter is not None else ''
1556        '''
1557         A filter applied to the routing logic to pin datasource to nodes.
1558        '''
1559        self.healthy = healthy if healthy is not None else False
1560        '''
1561         True if the datasource is reachable and the credentials are valid.
1562        '''
1563        self.id = id if id is not None else ''
1564        '''
1565         Unique identifier of the Resource.
1566        '''
1567        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1568        '''
1569         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1570        '''
1571        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1572        '''
1573         The ID of the identity set to use for identity connections.
1574        '''
1575        self.name = name if name is not None else ''
1576        '''
1577         Unique human-readable name of the Resource.
1578        '''
1579        self.port_override = port_override if port_override is not None else 0
1580        '''
1581         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1582        '''
1583        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1584        '''
1585         ID of the proxy cluster for this resource, if any.
1586        '''
1587        self.region = region if region is not None else ''
1588        '''
1589         The AWS region to connect to.
1590        '''
1591        self.role_arn = role_arn if role_arn is not None else ''
1592        '''
1593         The role to assume after logging in.
1594        '''
1595        self.role_external_id = role_external_id if role_external_id is not None else ''
1596        '''
1597         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1598        '''
1599        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1600        '''
1601         The Secret Access Key to authenticate with.
1602        '''
1603        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1604        '''
1605         ID of the secret store containing credentials for this resource, if any.
1606        '''
1607        self.session_expiry = session_expiry if session_expiry is not None else 0
1608        '''
1609         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1610        '''
1611        self.subdomain = subdomain if subdomain is not None else ''
1612        '''
1613         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1614        '''
1615        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1616        '''
1617         Tags is a map of key, value pairs.
1618        '''
1619
1620    def __repr__(self):
1621        return '<sdm.AWSConsoleStaticKeyPair ' + \
1622            'access_key: ' + repr(self.access_key) + ' ' +\
1623            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1625            'healthy: ' + repr(self.healthy) + ' ' +\
1626            'id: ' + repr(self.id) + ' ' +\
1627            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
1628            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
1629            'name: ' + repr(self.name) + ' ' +\
1630            'port_override: ' + repr(self.port_override) + ' ' +\
1631            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1632            'region: ' + repr(self.region) + ' ' +\
1633            'role_arn: ' + repr(self.role_arn) + ' ' +\
1634            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1635            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
1636            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1637            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
1638            'subdomain: ' + repr(self.subdomain) + ' ' +\
1639            'tags: ' + repr(self.tags) + ' ' +\
1640            '>'
1641
1642    def to_dict(self):
1643        return {
1644            'access_key': self.access_key,
1645            'bind_interface': self.bind_interface,
1646            'egress_filter': self.egress_filter,
1647            'healthy': self.healthy,
1648            'id': self.id,
1649            'identity_alias_healthcheck_username':
1650            self.identity_alias_healthcheck_username,
1651            'identity_set_id': self.identity_set_id,
1652            'name': self.name,
1653            'port_override': self.port_override,
1654            'proxy_cluster_id': self.proxy_cluster_id,
1655            'region': self.region,
1656            'role_arn': self.role_arn,
1657            'role_external_id': self.role_external_id,
1658            'secret_access_key': self.secret_access_key,
1659            'secret_store_id': self.secret_store_id,
1660            'session_expiry': self.session_expiry,
1661            'subdomain': self.subdomain,
1662            'tags': self.tags,
1663        }
1664
1665    @classmethod
1666    def from_dict(cls, d):
1667        return cls(
1668            access_key=d.get('access_key'),
1669            bind_interface=d.get('bind_interface'),
1670            egress_filter=d.get('egress_filter'),
1671            healthy=d.get('healthy'),
1672            id=d.get('id'),
1673            identity_alias_healthcheck_username=d.get(
1674                'identity_alias_healthcheck_username'),
1675            identity_set_id=d.get('identity_set_id'),
1676            name=d.get('name'),
1677            port_override=d.get('port_override'),
1678            proxy_cluster_id=d.get('proxy_cluster_id'),
1679            region=d.get('region'),
1680            role_arn=d.get('role_arn'),
1681            role_external_id=d.get('role_external_id'),
1682            secret_access_key=d.get('secret_access_key'),
1683            secret_store_id=d.get('secret_store_id'),
1684            session_expiry=d.get('session_expiry'),
1685            subdomain=d.get('subdomain'),
1686            tags=d.get('tags'),
1687        )
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)
1526    def __init__(
1527        self,
1528        access_key=None,
1529        bind_interface=None,
1530        egress_filter=None,
1531        healthy=None,
1532        id=None,
1533        identity_alias_healthcheck_username=None,
1534        identity_set_id=None,
1535        name=None,
1536        port_override=None,
1537        proxy_cluster_id=None,
1538        region=None,
1539        role_arn=None,
1540        role_external_id=None,
1541        secret_access_key=None,
1542        secret_store_id=None,
1543        session_expiry=None,
1544        subdomain=None,
1545        tags=None,
1546    ):
1547        self.access_key = access_key if access_key is not None else ''
1548        '''
1549         The Access Key ID to authenticate with.
1550        '''
1551        self.bind_interface = bind_interface if bind_interface is not None else ''
1552        '''
1553         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1554        '''
1555        self.egress_filter = egress_filter if egress_filter is not None else ''
1556        '''
1557         A filter applied to the routing logic to pin datasource to nodes.
1558        '''
1559        self.healthy = healthy if healthy is not None else False
1560        '''
1561         True if the datasource is reachable and the credentials are valid.
1562        '''
1563        self.id = id if id is not None else ''
1564        '''
1565         Unique identifier of the Resource.
1566        '''
1567        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
1568        '''
1569         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
1570        '''
1571        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
1572        '''
1573         The ID of the identity set to use for identity connections.
1574        '''
1575        self.name = name if name is not None else ''
1576        '''
1577         Unique human-readable name of the Resource.
1578        '''
1579        self.port_override = port_override if port_override is not None else 0
1580        '''
1581         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1582        '''
1583        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1584        '''
1585         ID of the proxy cluster for this resource, if any.
1586        '''
1587        self.region = region if region is not None else ''
1588        '''
1589         The AWS region to connect to.
1590        '''
1591        self.role_arn = role_arn if role_arn is not None else ''
1592        '''
1593         The role to assume after logging in.
1594        '''
1595        self.role_external_id = role_external_id if role_external_id is not None else ''
1596        '''
1597         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1598        '''
1599        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
1600        '''
1601         The Secret Access Key to authenticate with.
1602        '''
1603        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1604        '''
1605         ID of the secret store containing credentials for this resource, if any.
1606        '''
1607        self.session_expiry = session_expiry if session_expiry is not None else 0
1608        '''
1609         The length of time in seconds AWS console sessions will live before needing to reauthenticate.
1610        '''
1611        self.subdomain = subdomain if subdomain is not None else ''
1612        '''
1613         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
1614        '''
1615        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1616        '''
1617         Tags is a map of key, value pairs.
1618        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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)
1642    def to_dict(self):
1643        return {
1644            'access_key': self.access_key,
1645            'bind_interface': self.bind_interface,
1646            'egress_filter': self.egress_filter,
1647            'healthy': self.healthy,
1648            'id': self.id,
1649            'identity_alias_healthcheck_username':
1650            self.identity_alias_healthcheck_username,
1651            'identity_set_id': self.identity_set_id,
1652            'name': self.name,
1653            'port_override': self.port_override,
1654            'proxy_cluster_id': self.proxy_cluster_id,
1655            'region': self.region,
1656            'role_arn': self.role_arn,
1657            'role_external_id': self.role_external_id,
1658            'secret_access_key': self.secret_access_key,
1659            'secret_store_id': self.secret_store_id,
1660            'session_expiry': self.session_expiry,
1661            'subdomain': self.subdomain,
1662            'tags': self.tags,
1663        }
@classmethod
def from_dict(cls, d)
1665    @classmethod
1666    def from_dict(cls, d):
1667        return cls(
1668            access_key=d.get('access_key'),
1669            bind_interface=d.get('bind_interface'),
1670            egress_filter=d.get('egress_filter'),
1671            healthy=d.get('healthy'),
1672            id=d.get('id'),
1673            identity_alias_healthcheck_username=d.get(
1674                'identity_alias_healthcheck_username'),
1675            identity_set_id=d.get('identity_set_id'),
1676            name=d.get('name'),
1677            port_override=d.get('port_override'),
1678            proxy_cluster_id=d.get('proxy_cluster_id'),
1679            region=d.get('region'),
1680            role_arn=d.get('role_arn'),
1681            role_external_id=d.get('role_external_id'),
1682            secret_access_key=d.get('secret_access_key'),
1683            secret_store_id=d.get('secret_store_id'),
1684            session_expiry=d.get('session_expiry'),
1685            subdomain=d.get('subdomain'),
1686            tags=d.get('tags'),
1687        )
class AWSInstanceProfile:
1690class AWSInstanceProfile:
1691    __slots__ = [
1692        'bind_interface',
1693        'egress_filter',
1694        'enable_env_variables',
1695        'healthy',
1696        'id',
1697        'name',
1698        'port_override',
1699        'proxy_cluster_id',
1700        'region',
1701        'role_arn',
1702        'role_external_id',
1703        'secret_store_id',
1704        'subdomain',
1705        'tags',
1706    ]
1707
1708    def __init__(
1709        self,
1710        bind_interface=None,
1711        egress_filter=None,
1712        enable_env_variables=None,
1713        healthy=None,
1714        id=None,
1715        name=None,
1716        port_override=None,
1717        proxy_cluster_id=None,
1718        region=None,
1719        role_arn=None,
1720        role_external_id=None,
1721        secret_store_id=None,
1722        subdomain=None,
1723        tags=None,
1724    ):
1725        self.bind_interface = bind_interface if bind_interface is not None else ''
1726        '''
1727         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1728        '''
1729        self.egress_filter = egress_filter if egress_filter is not None else ''
1730        '''
1731         A filter applied to the routing logic to pin datasource to nodes.
1732        '''
1733        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1734        '''
1735         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1736        '''
1737        self.healthy = healthy if healthy is not None else False
1738        '''
1739         True if the datasource is reachable and the credentials are valid.
1740        '''
1741        self.id = id if id is not None else ''
1742        '''
1743         Unique identifier of the Resource.
1744        '''
1745        self.name = name if name is not None else ''
1746        '''
1747         Unique human-readable name of the Resource.
1748        '''
1749        self.port_override = port_override if port_override is not None else 0
1750        '''
1751         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1752        '''
1753        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1754        '''
1755         ID of the proxy cluster for this resource, if any.
1756        '''
1757        self.region = region if region is not None else ''
1758        '''
1759         The AWS region to connect to.
1760        '''
1761        self.role_arn = role_arn if role_arn is not None else ''
1762        '''
1763         The role to assume after logging in.
1764        '''
1765        self.role_external_id = role_external_id if role_external_id is not None else ''
1766        '''
1767         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1768        '''
1769        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1770        '''
1771         ID of the secret store containing credentials for this resource, if any.
1772        '''
1773        self.subdomain = subdomain if subdomain is not None else ''
1774        '''
1775         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1776        '''
1777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1778        '''
1779         Tags is a map of key, value pairs.
1780        '''
1781
1782    def __repr__(self):
1783        return '<sdm.AWSInstanceProfile ' + \
1784            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
1785            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
1786            'enable_env_variables: ' + repr(self.enable_env_variables) + ' ' +\
1787            'healthy: ' + repr(self.healthy) + ' ' +\
1788            'id: ' + repr(self.id) + ' ' +\
1789            'name: ' + repr(self.name) + ' ' +\
1790            'port_override: ' + repr(self.port_override) + ' ' +\
1791            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
1792            'region: ' + repr(self.region) + ' ' +\
1793            'role_arn: ' + repr(self.role_arn) + ' ' +\
1794            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1795            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
1796            'subdomain: ' + repr(self.subdomain) + ' ' +\
1797            'tags: ' + repr(self.tags) + ' ' +\
1798            '>'
1799
1800    def to_dict(self):
1801        return {
1802            'bind_interface': self.bind_interface,
1803            'egress_filter': self.egress_filter,
1804            'enable_env_variables': self.enable_env_variables,
1805            'healthy': self.healthy,
1806            'id': self.id,
1807            'name': self.name,
1808            'port_override': self.port_override,
1809            'proxy_cluster_id': self.proxy_cluster_id,
1810            'region': self.region,
1811            'role_arn': self.role_arn,
1812            'role_external_id': self.role_external_id,
1813            'secret_store_id': self.secret_store_id,
1814            'subdomain': self.subdomain,
1815            'tags': self.tags,
1816        }
1817
1818    @classmethod
1819    def from_dict(cls, d):
1820        return cls(
1821            bind_interface=d.get('bind_interface'),
1822            egress_filter=d.get('egress_filter'),
1823            enable_env_variables=d.get('enable_env_variables'),
1824            healthy=d.get('healthy'),
1825            id=d.get('id'),
1826            name=d.get('name'),
1827            port_override=d.get('port_override'),
1828            proxy_cluster_id=d.get('proxy_cluster_id'),
1829            region=d.get('region'),
1830            role_arn=d.get('role_arn'),
1831            role_external_id=d.get('role_external_id'),
1832            secret_store_id=d.get('secret_store_id'),
1833            subdomain=d.get('subdomain'),
1834            tags=d.get('tags'),
1835        )
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)
1708    def __init__(
1709        self,
1710        bind_interface=None,
1711        egress_filter=None,
1712        enable_env_variables=None,
1713        healthy=None,
1714        id=None,
1715        name=None,
1716        port_override=None,
1717        proxy_cluster_id=None,
1718        region=None,
1719        role_arn=None,
1720        role_external_id=None,
1721        secret_store_id=None,
1722        subdomain=None,
1723        tags=None,
1724    ):
1725        self.bind_interface = bind_interface if bind_interface is not None else ''
1726        '''
1727         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
1728        '''
1729        self.egress_filter = egress_filter if egress_filter is not None else ''
1730        '''
1731         A filter applied to the routing logic to pin datasource to nodes.
1732        '''
1733        self.enable_env_variables = enable_env_variables if enable_env_variables is not None else False
1734        '''
1735         If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
1736        '''
1737        self.healthy = healthy if healthy is not None else False
1738        '''
1739         True if the datasource is reachable and the credentials are valid.
1740        '''
1741        self.id = id if id is not None else ''
1742        '''
1743         Unique identifier of the Resource.
1744        '''
1745        self.name = name if name is not None else ''
1746        '''
1747         Unique human-readable name of the Resource.
1748        '''
1749        self.port_override = port_override if port_override is not None else 0
1750        '''
1751         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
1752        '''
1753        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
1754        '''
1755         ID of the proxy cluster for this resource, if any.
1756        '''
1757        self.region = region if region is not None else ''
1758        '''
1759         The AWS region to connect to.
1760        '''
1761        self.role_arn = role_arn if role_arn is not None else ''
1762        '''
1763         The role to assume after logging in.
1764        '''
1765        self.role_external_id = role_external_id if role_external_id is not None else ''
1766        '''
1767         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1768        '''
1769        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
1770        '''
1771         ID of the secret store containing credentials for this resource, if any.
1772        '''
1773        self.subdomain = subdomain if subdomain is not None else ''
1774        '''
1775         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
1776        '''
1777        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1778        '''
1779         Tags is a map of key, value pairs.
1780        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
1800    def to_dict(self):
1801        return {
1802            'bind_interface': self.bind_interface,
1803            'egress_filter': self.egress_filter,
1804            'enable_env_variables': self.enable_env_variables,
1805            'healthy': self.healthy,
1806            'id': self.id,
1807            'name': self.name,
1808            'port_override': self.port_override,
1809            'proxy_cluster_id': self.proxy_cluster_id,
1810            'region': self.region,
1811            'role_arn': self.role_arn,
1812            'role_external_id': self.role_external_id,
1813            'secret_store_id': self.secret_store_id,
1814            'subdomain': self.subdomain,
1815            'tags': self.tags,
1816        }
@classmethod
def from_dict(cls, d)
1818    @classmethod
1819    def from_dict(cls, d):
1820        return cls(
1821            bind_interface=d.get('bind_interface'),
1822            egress_filter=d.get('egress_filter'),
1823            enable_env_variables=d.get('enable_env_variables'),
1824            healthy=d.get('healthy'),
1825            id=d.get('id'),
1826            name=d.get('name'),
1827            port_override=d.get('port_override'),
1828            proxy_cluster_id=d.get('proxy_cluster_id'),
1829            region=d.get('region'),
1830            role_arn=d.get('role_arn'),
1831            role_external_id=d.get('role_external_id'),
1832            secret_store_id=d.get('secret_store_id'),
1833            subdomain=d.get('subdomain'),
1834            tags=d.get('tags'),
1835        )
class AWSStore:
1838class AWSStore:
1839    __slots__ = [
1840        'id',
1841        'name',
1842        'region',
1843        'role_arn',
1844        'role_external_id',
1845        'tags',
1846    ]
1847
1848    def __init__(
1849        self,
1850        id=None,
1851        name=None,
1852        region=None,
1853        role_arn=None,
1854        role_external_id=None,
1855        tags=None,
1856    ):
1857        self.id = id if id is not None else ''
1858        '''
1859         Unique identifier of the SecretStore.
1860        '''
1861        self.name = name if name is not None else ''
1862        '''
1863         Unique human-readable name of the SecretStore.
1864        '''
1865        self.region = region if region is not None else ''
1866        '''
1867         The AWS region to target e.g. us-east-1
1868        '''
1869        self.role_arn = role_arn if role_arn is not None else ''
1870        '''
1871         The role to assume after logging in.
1872        '''
1873        self.role_external_id = role_external_id if role_external_id is not None else ''
1874        '''
1875         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1876        '''
1877        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1878        '''
1879         Tags is a map of key, value pairs.
1880        '''
1881
1882    def __repr__(self):
1883        return '<sdm.AWSStore ' + \
1884            'id: ' + repr(self.id) + ' ' +\
1885            'name: ' + repr(self.name) + ' ' +\
1886            'region: ' + repr(self.region) + ' ' +\
1887            'role_arn: ' + repr(self.role_arn) + ' ' +\
1888            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
1889            'tags: ' + repr(self.tags) + ' ' +\
1890            '>'
1891
1892    def to_dict(self):
1893        return {
1894            'id': self.id,
1895            'name': self.name,
1896            'region': self.region,
1897            'role_arn': self.role_arn,
1898            'role_external_id': self.role_external_id,
1899            'tags': self.tags,
1900        }
1901
1902    @classmethod
1903    def from_dict(cls, d):
1904        return cls(
1905            id=d.get('id'),
1906            name=d.get('name'),
1907            region=d.get('region'),
1908            role_arn=d.get('role_arn'),
1909            role_external_id=d.get('role_external_id'),
1910            tags=d.get('tags'),
1911        )
AWSStore( id=None, name=None, region=None, role_arn=None, role_external_id=None, tags=None)
1848    def __init__(
1849        self,
1850        id=None,
1851        name=None,
1852        region=None,
1853        role_arn=None,
1854        role_external_id=None,
1855        tags=None,
1856    ):
1857        self.id = id if id is not None else ''
1858        '''
1859         Unique identifier of the SecretStore.
1860        '''
1861        self.name = name if name is not None else ''
1862        '''
1863         Unique human-readable name of the SecretStore.
1864        '''
1865        self.region = region if region is not None else ''
1866        '''
1867         The AWS region to target e.g. us-east-1
1868        '''
1869        self.role_arn = role_arn if role_arn is not None else ''
1870        '''
1871         The role to assume after logging in.
1872        '''
1873        self.role_external_id = role_external_id if role_external_id is not None else ''
1874        '''
1875         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
1876        '''
1877        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
1878        '''
1879         Tags is a map of key, value pairs.
1880        '''
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

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.

tags

Tags is a map of key, value pairs.

def to_dict(self)
1892    def to_dict(self):
1893        return {
1894            'id': self.id,
1895            'name': self.name,
1896            'region': self.region,
1897            'role_arn': self.role_arn,
1898            'role_external_id': self.role_external_id,
1899            'tags': self.tags,
1900        }
@classmethod
def from_dict(cls, d)
1902    @classmethod
1903    def from_dict(cls, d):
1904        return cls(
1905            id=d.get('id'),
1906            name=d.get('name'),
1907            region=d.get('region'),
1908            role_arn=d.get('role_arn'),
1909            role_external_id=d.get('role_external_id'),
1910            tags=d.get('tags'),
1911        )
class AccessRequest:
1914class AccessRequest:
1915    '''
1916         AccessRequests are requests for access to a resource that may match a Workflow.
1917    '''
1918    __slots__ = [
1919        'account_id',
1920        'duration',
1921        'grant_id',
1922        'id',
1923        'reason',
1924        'requestedduration',
1925        'resource_id',
1926        'resultduration',
1927        'start_from',
1928        'status',
1929        'status_at',
1930        'valid_until',
1931        'workflow_id',
1932    ]
1933
1934    def __init__(
1935        self,
1936        account_id=None,
1937        duration=None,
1938        grant_id=None,
1939        id=None,
1940        reason=None,
1941        requestedduration=None,
1942        resource_id=None,
1943        resultduration=None,
1944        start_from=None,
1945        status=None,
1946        status_at=None,
1947        valid_until=None,
1948        workflow_id=None,
1949    ):
1950        self.account_id = account_id if account_id is not None else ''
1951        '''
1952         The account that initiated the request.
1953        '''
1954        self.duration = duration if duration is not None else 0
1955        '''
1956         Duration of the access request.
1957         Deprecated: use requested/result duration instead
1958        '''
1959        self.grant_id = grant_id if grant_id is not None else ''
1960        '''
1961         The account grant created, if it exists.
1962        '''
1963        self.id = id if id is not None else ''
1964        '''
1965         The access request id.
1966        '''
1967        self.reason = reason if reason is not None else ''
1968        '''
1969         The reason the access was requested.
1970        '''
1971        self.requestedduration = requestedduration if requestedduration is not None else None
1972        '''
1973         The duration that access was requested for, if any.
1974        '''
1975        self.resource_id = resource_id if resource_id is not None else ''
1976        '''
1977         The resource id.
1978        '''
1979        self.resultduration = resultduration if resultduration is not None else None
1980        '''
1981         The duration that results from an approved request.
1982        '''
1983        self.start_from = start_from if start_from is not None else None
1984        '''
1985         The timestamp when the requested access will be granted.
1986         If this field is not specified it will default to the current time.
1987        '''
1988        self.status = status if status is not None else ''
1989        '''
1990         The status of the access request.
1991        '''
1992        self.status_at = status_at if status_at is not None else None
1993        '''
1994         The timestamp when the status changed.
1995        '''
1996        self.valid_until = valid_until if valid_until is not None else None
1997        '''
1998         The timestamp when the requested access will expire.
1999        '''
2000        self.workflow_id = workflow_id if workflow_id is not None else ''
2001        '''
2002         The workflow the request bound to.
2003        '''
2004
2005    def __repr__(self):
2006        return '<sdm.AccessRequest ' + \
2007            'account_id: ' + repr(self.account_id) + ' ' +\
2008            'duration: ' + repr(self.duration) + ' ' +\
2009            'grant_id: ' + repr(self.grant_id) + ' ' +\
2010            'id: ' + repr(self.id) + ' ' +\
2011            'reason: ' + repr(self.reason) + ' ' +\
2012            'requestedduration: ' + repr(self.requestedduration) + ' ' +\
2013            'resource_id: ' + repr(self.resource_id) + ' ' +\
2014            'resultduration: ' + repr(self.resultduration) + ' ' +\
2015            'start_from: ' + repr(self.start_from) + ' ' +\
2016            'status: ' + repr(self.status) + ' ' +\
2017            'status_at: ' + repr(self.status_at) + ' ' +\
2018            'valid_until: ' + repr(self.valid_until) + ' ' +\
2019            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
2020            '>'
2021
2022    def to_dict(self):
2023        return {
2024            'account_id': self.account_id,
2025            'duration': self.duration,
2026            'grant_id': self.grant_id,
2027            'id': self.id,
2028            'reason': self.reason,
2029            'requestedduration': self.requestedduration,
2030            'resource_id': self.resource_id,
2031            'resultduration': self.resultduration,
2032            'start_from': self.start_from,
2033            'status': self.status,
2034            'status_at': self.status_at,
2035            'valid_until': self.valid_until,
2036            'workflow_id': self.workflow_id,
2037        }
2038
2039    @classmethod
2040    def from_dict(cls, d):
2041        return cls(
2042            account_id=d.get('account_id'),
2043            duration=d.get('duration'),
2044            grant_id=d.get('grant_id'),
2045            id=d.get('id'),
2046            reason=d.get('reason'),
2047            requestedduration=d.get('requestedduration'),
2048            resource_id=d.get('resource_id'),
2049            resultduration=d.get('resultduration'),
2050            start_from=d.get('start_from'),
2051            status=d.get('status'),
2052            status_at=d.get('status_at'),
2053            valid_until=d.get('valid_until'),
2054            workflow_id=d.get('workflow_id'),
2055        )

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)
1934    def __init__(
1935        self,
1936        account_id=None,
1937        duration=None,
1938        grant_id=None,
1939        id=None,
1940        reason=None,
1941        requestedduration=None,
1942        resource_id=None,
1943        resultduration=None,
1944        start_from=None,
1945        status=None,
1946        status_at=None,
1947        valid_until=None,
1948        workflow_id=None,
1949    ):
1950        self.account_id = account_id if account_id is not None else ''
1951        '''
1952         The account that initiated the request.
1953        '''
1954        self.duration = duration if duration is not None else 0
1955        '''
1956         Duration of the access request.
1957         Deprecated: use requested/result duration instead
1958        '''
1959        self.grant_id = grant_id if grant_id is not None else ''
1960        '''
1961         The account grant created, if it exists.
1962        '''
1963        self.id = id if id is not None else ''
1964        '''
1965         The access request id.
1966        '''
1967        self.reason = reason if reason is not None else ''
1968        '''
1969         The reason the access was requested.
1970        '''
1971        self.requestedduration = requestedduration if requestedduration is not None else None
1972        '''
1973         The duration that access was requested for, if any.
1974        '''
1975        self.resource_id = resource_id if resource_id is not None else ''
1976        '''
1977         The resource id.
1978        '''
1979        self.resultduration = resultduration if resultduration is not None else None
1980        '''
1981         The duration that results from an approved request.
1982        '''
1983        self.start_from = start_from if start_from is not None else None
1984        '''
1985         The timestamp when the requested access will be granted.
1986         If this field is not specified it will default to the current time.
1987        '''
1988        self.status = status if status is not None else ''
1989        '''
1990         The status of the access request.
1991        '''
1992        self.status_at = status_at if status_at is not None else None
1993        '''
1994         The timestamp when the status changed.
1995        '''
1996        self.valid_until = valid_until if valid_until is not None else None
1997        '''
1998         The timestamp when the requested access will expire.
1999        '''
2000        self.workflow_id = workflow_id if workflow_id is not None else ''
2001        '''
2002         The workflow the request bound to.
2003        '''
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)
2022    def to_dict(self):
2023        return {
2024            'account_id': self.account_id,
2025            'duration': self.duration,
2026            'grant_id': self.grant_id,
2027            'id': self.id,
2028            'reason': self.reason,
2029            'requestedduration': self.requestedduration,
2030            'resource_id': self.resource_id,
2031            'resultduration': self.resultduration,
2032            'start_from': self.start_from,
2033            'status': self.status,
2034            'status_at': self.status_at,
2035            'valid_until': self.valid_until,
2036            'workflow_id': self.workflow_id,
2037        }
@classmethod
def from_dict(cls, d)
2039    @classmethod
2040    def from_dict(cls, d):
2041        return cls(
2042            account_id=d.get('account_id'),
2043            duration=d.get('duration'),
2044            grant_id=d.get('grant_id'),
2045            id=d.get('id'),
2046            reason=d.get('reason'),
2047            requestedduration=d.get('requestedduration'),
2048            resource_id=d.get('resource_id'),
2049            resultduration=d.get('resultduration'),
2050            start_from=d.get('start_from'),
2051            status=d.get('status'),
2052            status_at=d.get('status_at'),
2053            valid_until=d.get('valid_until'),
2054            workflow_id=d.get('workflow_id'),
2055        )
class AccessRequestConfig:
2058class AccessRequestConfig:
2059    '''
2060         AccessRequestConfig holds the information required to request access to a resource
2061    '''
2062    __slots__ = [
2063        'duration',
2064        'reason',
2065        'resource_id',
2066        'start_from',
2067    ]
2068
2069    def __init__(
2070        self,
2071        duration=None,
2072        reason=None,
2073        resource_id=None,
2074        start_from=None,
2075    ):
2076        self.duration = duration if duration is not None else ''
2077        '''
2078         The time access should end, defaults to the next occurance of 5 pm
2079        '''
2080        self.reason = reason if reason is not None else ''
2081        '''
2082         The reason for access
2083        '''
2084        self.resource_id = resource_id if resource_id is not None else ''
2085        '''
2086         The resource for which access is being requested
2087        '''
2088        self.start_from = start_from if start_from is not None else None
2089        '''
2090         The time access should start, defaults to now
2091        '''
2092
2093    def __repr__(self):
2094        return '<sdm.AccessRequestConfig ' + \
2095            'duration: ' + repr(self.duration) + ' ' +\
2096            'reason: ' + repr(self.reason) + ' ' +\
2097            'resource_id: ' + repr(self.resource_id) + ' ' +\
2098            'start_from: ' + repr(self.start_from) + ' ' +\
2099            '>'
2100
2101    def to_dict(self):
2102        return {
2103            'duration': self.duration,
2104            'reason': self.reason,
2105            'resource_id': self.resource_id,
2106            'start_from': self.start_from,
2107        }
2108
2109    @classmethod
2110    def from_dict(cls, d):
2111        return cls(
2112            duration=d.get('duration'),
2113            reason=d.get('reason'),
2114            resource_id=d.get('resource_id'),
2115            start_from=d.get('start_from'),
2116        )

AccessRequestConfig holds the information required to request access to a resource

AccessRequestConfig(duration=None, reason=None, resource_id=None, start_from=None)
2069    def __init__(
2070        self,
2071        duration=None,
2072        reason=None,
2073        resource_id=None,
2074        start_from=None,
2075    ):
2076        self.duration = duration if duration is not None else ''
2077        '''
2078         The time access should end, defaults to the next occurance of 5 pm
2079        '''
2080        self.reason = reason if reason is not None else ''
2081        '''
2082         The reason for access
2083        '''
2084        self.resource_id = resource_id if resource_id is not None else ''
2085        '''
2086         The resource for which access is being requested
2087        '''
2088        self.start_from = start_from if start_from is not None else None
2089        '''
2090         The time access should start, defaults to now
2091        '''
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)
2101    def to_dict(self):
2102        return {
2103            'duration': self.duration,
2104            'reason': self.reason,
2105            'resource_id': self.resource_id,
2106            'start_from': self.start_from,
2107        }
@classmethod
def from_dict(cls, d)
2109    @classmethod
2110    def from_dict(cls, d):
2111        return cls(
2112            duration=d.get('duration'),
2113            reason=d.get('reason'),
2114            resource_id=d.get('resource_id'),
2115            start_from=d.get('start_from'),
2116        )
class AccessRequestEvent:
2119class AccessRequestEvent:
2120    '''
2121         AccessRequestEvents hold information about events related to an access
2122     request such as creation, approval and denial.
2123    '''
2124    __slots__ = [
2125        'actor_id',
2126        'id',
2127        'metadata',
2128        'request_id',
2129        'type',
2130    ]
2131
2132    def __init__(
2133        self,
2134        actor_id=None,
2135        id=None,
2136        metadata=None,
2137        request_id=None,
2138        type=None,
2139    ):
2140        self.actor_id = actor_id if actor_id is not None else ''
2141        '''
2142         The account responsible for the event.
2143        '''
2144        self.id = id if id is not None else ''
2145        '''
2146         The access request event id.
2147        '''
2148        self.metadata = metadata if metadata is not None else ''
2149        '''
2150         The metadata about the event
2151        '''
2152        self.request_id = request_id if request_id is not None else ''
2153        '''
2154         The request that the event is bound to.
2155        '''
2156        self.type = type if type is not None else ''
2157        '''
2158         The type of event.
2159        '''
2160
2161    def __repr__(self):
2162        return '<sdm.AccessRequestEvent ' + \
2163            'actor_id: ' + repr(self.actor_id) + ' ' +\
2164            'id: ' + repr(self.id) + ' ' +\
2165            'metadata: ' + repr(self.metadata) + ' ' +\
2166            'request_id: ' + repr(self.request_id) + ' ' +\
2167            'type: ' + repr(self.type) + ' ' +\
2168            '>'
2169
2170    def to_dict(self):
2171        return {
2172            'actor_id': self.actor_id,
2173            'id': self.id,
2174            'metadata': self.metadata,
2175            'request_id': self.request_id,
2176            'type': self.type,
2177        }
2178
2179    @classmethod
2180    def from_dict(cls, d):
2181        return cls(
2182            actor_id=d.get('actor_id'),
2183            id=d.get('id'),
2184            metadata=d.get('metadata'),
2185            request_id=d.get('request_id'),
2186            type=d.get('type'),
2187        )

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)
2132    def __init__(
2133        self,
2134        actor_id=None,
2135        id=None,
2136        metadata=None,
2137        request_id=None,
2138        type=None,
2139    ):
2140        self.actor_id = actor_id if actor_id is not None else ''
2141        '''
2142         The account responsible for the event.
2143        '''
2144        self.id = id if id is not None else ''
2145        '''
2146         The access request event id.
2147        '''
2148        self.metadata = metadata if metadata is not None else ''
2149        '''
2150         The metadata about the event
2151        '''
2152        self.request_id = request_id if request_id is not None else ''
2153        '''
2154         The request that the event is bound to.
2155        '''
2156        self.type = type if type is not None else ''
2157        '''
2158         The type of event.
2159        '''
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)
2170    def to_dict(self):
2171        return {
2172            'actor_id': self.actor_id,
2173            'id': self.id,
2174            'metadata': self.metadata,
2175            'request_id': self.request_id,
2176            'type': self.type,
2177        }
@classmethod
def from_dict(cls, d)
2179    @classmethod
2180    def from_dict(cls, d):
2181        return cls(
2182            actor_id=d.get('actor_id'),
2183            id=d.get('id'),
2184            metadata=d.get('metadata'),
2185            request_id=d.get('request_id'),
2186            type=d.get('type'),
2187        )
class AccessRequestEventHistory:
2190class AccessRequestEventHistory:
2191    '''
2192         AccessRequestEventHistory records the state of a AccessRequest at a given point in time,
2193     where every change (create, update and delete) to a AccessRequest produces an
2194     AccessRequestEventHistory record.
2195    '''
2196    __slots__ = [
2197        'access_request_event',
2198        'activity_id',
2199        'deleted_at',
2200        'timestamp',
2201    ]
2202
2203    def __init__(
2204        self,
2205        access_request_event=None,
2206        activity_id=None,
2207        deleted_at=None,
2208        timestamp=None,
2209    ):
2210        self.access_request_event = access_request_event if access_request_event is not None else None
2211        '''
2212         The complete AccessRequestEvent state at this time.
2213        '''
2214        self.activity_id = activity_id if activity_id is not None else ''
2215        '''
2216         The unique identifier of the Activity that produced this change to the AccessRequest.
2217         May be empty for some system-initiated updates.
2218        '''
2219        self.deleted_at = deleted_at if deleted_at is not None else None
2220        '''
2221         If this Workflow was deleted, the time it was deleted.
2222        '''
2223        self.timestamp = timestamp if timestamp is not None else None
2224        '''
2225         The time at which the AccessRequest state was recorded.
2226        '''
2227
2228    def __repr__(self):
2229        return '<sdm.AccessRequestEventHistory ' + \
2230            'access_request_event: ' + repr(self.access_request_event) + ' ' +\
2231            'activity_id: ' + repr(self.activity_id) + ' ' +\
2232            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2233            'timestamp: ' + repr(self.timestamp) + ' ' +\
2234            '>'
2235
2236    def to_dict(self):
2237        return {
2238            'access_request_event': self.access_request_event,
2239            'activity_id': self.activity_id,
2240            'deleted_at': self.deleted_at,
2241            'timestamp': self.timestamp,
2242        }
2243
2244    @classmethod
2245    def from_dict(cls, d):
2246        return cls(
2247            access_request_event=d.get('access_request_event'),
2248            activity_id=d.get('activity_id'),
2249            deleted_at=d.get('deleted_at'),
2250            timestamp=d.get('timestamp'),
2251        )

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)
2203    def __init__(
2204        self,
2205        access_request_event=None,
2206        activity_id=None,
2207        deleted_at=None,
2208        timestamp=None,
2209    ):
2210        self.access_request_event = access_request_event if access_request_event is not None else None
2211        '''
2212         The complete AccessRequestEvent state at this time.
2213        '''
2214        self.activity_id = activity_id if activity_id is not None else ''
2215        '''
2216         The unique identifier of the Activity that produced this change to the AccessRequest.
2217         May be empty for some system-initiated updates.
2218        '''
2219        self.deleted_at = deleted_at if deleted_at is not None else None
2220        '''
2221         If this Workflow was deleted, the time it was deleted.
2222        '''
2223        self.timestamp = timestamp if timestamp is not None else None
2224        '''
2225         The time at which the AccessRequest state was recorded.
2226        '''
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)
2236    def to_dict(self):
2237        return {
2238            'access_request_event': self.access_request_event,
2239            'activity_id': self.activity_id,
2240            'deleted_at': self.deleted_at,
2241            'timestamp': self.timestamp,
2242        }
@classmethod
def from_dict(cls, d)
2244    @classmethod
2245    def from_dict(cls, d):
2246        return cls(
2247            access_request_event=d.get('access_request_event'),
2248            activity_id=d.get('activity_id'),
2249            deleted_at=d.get('deleted_at'),
2250            timestamp=d.get('timestamp'),
2251        )
class AccessRequestHistory:
2254class AccessRequestHistory:
2255    '''
2256         AccessRequestHistory records the state of a AccessRequest at a given point in time,
2257     where every change (create, update and delete) to a AccessRequest produces an
2258     AccessRequestHistory record.
2259    '''
2260    __slots__ = [
2261        'access_request',
2262        'activity_id',
2263        'deleted_at',
2264        'timestamp',
2265    ]
2266
2267    def __init__(
2268        self,
2269        access_request=None,
2270        activity_id=None,
2271        deleted_at=None,
2272        timestamp=None,
2273    ):
2274        self.access_request = access_request if access_request is not None else None
2275        '''
2276         The complete AccessRequest state at this time.
2277        '''
2278        self.activity_id = activity_id if activity_id is not None else ''
2279        '''
2280         The unique identifier of the Activity that produced this change to the AccessRequest.
2281         May be empty for some system-initiated updates.
2282        '''
2283        self.deleted_at = deleted_at if deleted_at is not None else None
2284        '''
2285         If this Workflow was deleted, the time it was deleted.
2286        '''
2287        self.timestamp = timestamp if timestamp is not None else None
2288        '''
2289         The time at which the AccessRequest state was recorded.
2290        '''
2291
2292    def __repr__(self):
2293        return '<sdm.AccessRequestHistory ' + \
2294            'access_request: ' + repr(self.access_request) + ' ' +\
2295            'activity_id: ' + repr(self.activity_id) + ' ' +\
2296            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2297            'timestamp: ' + repr(self.timestamp) + ' ' +\
2298            '>'
2299
2300    def to_dict(self):
2301        return {
2302            'access_request': self.access_request,
2303            'activity_id': self.activity_id,
2304            'deleted_at': self.deleted_at,
2305            'timestamp': self.timestamp,
2306        }
2307
2308    @classmethod
2309    def from_dict(cls, d):
2310        return cls(
2311            access_request=d.get('access_request'),
2312            activity_id=d.get('activity_id'),
2313            deleted_at=d.get('deleted_at'),
2314            timestamp=d.get('timestamp'),
2315        )

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)
2267    def __init__(
2268        self,
2269        access_request=None,
2270        activity_id=None,
2271        deleted_at=None,
2272        timestamp=None,
2273    ):
2274        self.access_request = access_request if access_request is not None else None
2275        '''
2276         The complete AccessRequest state at this time.
2277        '''
2278        self.activity_id = activity_id if activity_id is not None else ''
2279        '''
2280         The unique identifier of the Activity that produced this change to the AccessRequest.
2281         May be empty for some system-initiated updates.
2282        '''
2283        self.deleted_at = deleted_at if deleted_at is not None else None
2284        '''
2285         If this Workflow was deleted, the time it was deleted.
2286        '''
2287        self.timestamp = timestamp if timestamp is not None else None
2288        '''
2289         The time at which the AccessRequest state was recorded.
2290        '''
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)
2300    def to_dict(self):
2301        return {
2302            'access_request': self.access_request,
2303            'activity_id': self.activity_id,
2304            'deleted_at': self.deleted_at,
2305            'timestamp': self.timestamp,
2306        }
@classmethod
def from_dict(cls, d)
2308    @classmethod
2309    def from_dict(cls, d):
2310        return cls(
2311            access_request=d.get('access_request'),
2312            activity_id=d.get('activity_id'),
2313            deleted_at=d.get('deleted_at'),
2314            timestamp=d.get('timestamp'),
2315        )
class AccessRequestListRequest:
2318class AccessRequestListRequest:
2319    '''
2320         AccessRequestListRequest specifies criteria for retrieving a list of
2321     AccessRequest records
2322    '''
2323    __slots__ = [
2324        'filter',
2325    ]
2326
2327    def __init__(
2328        self,
2329        filter=None,
2330    ):
2331        self.filter = filter if filter is not None else ''
2332        '''
2333         A human-readable filter query string.
2334        '''
2335
2336    def __repr__(self):
2337        return '<sdm.AccessRequestListRequest ' + \
2338            'filter: ' + repr(self.filter) + ' ' +\
2339            '>'
2340
2341    def to_dict(self):
2342        return {
2343            'filter': self.filter,
2344        }
2345
2346    @classmethod
2347    def from_dict(cls, d):
2348        return cls(filter=d.get('filter'), )

AccessRequestListRequest specifies criteria for retrieving a list of AccessRequest records

AccessRequestListRequest(filter=None)
2327    def __init__(
2328        self,
2329        filter=None,
2330    ):
2331        self.filter = filter if filter is not None else ''
2332        '''
2333         A human-readable filter query string.
2334        '''
filter

A human-readable filter query string.

def to_dict(self)
2341    def to_dict(self):
2342        return {
2343            'filter': self.filter,
2344        }
@classmethod
def from_dict(cls, d)
2346    @classmethod
2347    def from_dict(cls, d):
2348        return cls(filter=d.get('filter'), )
class AccessRequestListResponse:
2351class AccessRequestListResponse:
2352    '''
2353         AccessRequestListResponse returns a list of access requests records that meet
2354     the criteria of a AccessRequestListRequest.
2355    '''
2356    __slots__ = [
2357        'rate_limit',
2358    ]
2359
2360    def __init__(
2361        self,
2362        rate_limit=None,
2363    ):
2364        self.rate_limit = rate_limit if rate_limit is not None else None
2365        '''
2366         Rate limit information.
2367        '''
2368
2369    def __repr__(self):
2370        return '<sdm.AccessRequestListResponse ' + \
2371            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2372            '>'
2373
2374    def to_dict(self):
2375        return {
2376            'rate_limit': self.rate_limit,
2377        }
2378
2379    @classmethod
2380    def from_dict(cls, d):
2381        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)
2360    def __init__(
2361        self,
2362        rate_limit=None,
2363    ):
2364        self.rate_limit = rate_limit if rate_limit is not None else None
2365        '''
2366         Rate limit information.
2367        '''
rate_limit

Rate limit information.

def to_dict(self)
2374    def to_dict(self):
2375        return {
2376            'rate_limit': self.rate_limit,
2377        }
@classmethod
def from_dict(cls, d)
2379    @classmethod
2380    def from_dict(cls, d):
2381        return cls(rate_limit=d.get('rate_limit'), )
class AccountAttachment:
2384class AccountAttachment:
2385    '''
2386         AccountAttachments assign an account to a role.
2387    '''
2388    __slots__ = [
2389        'account_id',
2390        'id',
2391        'role_id',
2392    ]
2393
2394    def __init__(
2395        self,
2396        account_id=None,
2397        id=None,
2398        role_id=None,
2399    ):
2400        self.account_id = account_id if account_id is not None else ''
2401        '''
2402         The id of the account of this AccountAttachment.
2403        '''
2404        self.id = id if id is not None else ''
2405        '''
2406         Unique identifier of the AccountAttachment.
2407        '''
2408        self.role_id = role_id if role_id is not None else ''
2409        '''
2410         The id of the attached role of this AccountAttachment.
2411        '''
2412
2413    def __repr__(self):
2414        return '<sdm.AccountAttachment ' + \
2415            'account_id: ' + repr(self.account_id) + ' ' +\
2416            'id: ' + repr(self.id) + ' ' +\
2417            'role_id: ' + repr(self.role_id) + ' ' +\
2418            '>'
2419
2420    def to_dict(self):
2421        return {
2422            'account_id': self.account_id,
2423            'id': self.id,
2424            'role_id': self.role_id,
2425        }
2426
2427    @classmethod
2428    def from_dict(cls, d):
2429        return cls(
2430            account_id=d.get('account_id'),
2431            id=d.get('id'),
2432            role_id=d.get('role_id'),
2433        )

AccountAttachments assign an account to a role.

AccountAttachment(account_id=None, id=None, role_id=None)
2394    def __init__(
2395        self,
2396        account_id=None,
2397        id=None,
2398        role_id=None,
2399    ):
2400        self.account_id = account_id if account_id is not None else ''
2401        '''
2402         The id of the account of this AccountAttachment.
2403        '''
2404        self.id = id if id is not None else ''
2405        '''
2406         Unique identifier of the AccountAttachment.
2407        '''
2408        self.role_id = role_id if role_id is not None else ''
2409        '''
2410         The id of the attached role of this AccountAttachment.
2411        '''
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)
2420    def to_dict(self):
2421        return {
2422            'account_id': self.account_id,
2423            'id': self.id,
2424            'role_id': self.role_id,
2425        }
@classmethod
def from_dict(cls, d)
2427    @classmethod
2428    def from_dict(cls, d):
2429        return cls(
2430            account_id=d.get('account_id'),
2431            id=d.get('id'),
2432            role_id=d.get('role_id'),
2433        )
class AccountAttachmentCreateResponse:
2436class AccountAttachmentCreateResponse:
2437    '''
2438         AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.
2439    '''
2440    __slots__ = [
2441        'account_attachment',
2442        'meta',
2443        'rate_limit',
2444    ]
2445
2446    def __init__(
2447        self,
2448        account_attachment=None,
2449        meta=None,
2450        rate_limit=None,
2451    ):
2452        self.account_attachment = account_attachment if account_attachment is not None else None
2453        '''
2454         The created AccountAttachment.
2455        '''
2456        self.meta = meta if meta is not None else None
2457        '''
2458         Reserved for future use.
2459        '''
2460        self.rate_limit = rate_limit if rate_limit is not None else None
2461        '''
2462         Rate limit information.
2463        '''
2464
2465    def __repr__(self):
2466        return '<sdm.AccountAttachmentCreateResponse ' + \
2467            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2468            'meta: ' + repr(self.meta) + ' ' +\
2469            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2470            '>'
2471
2472    def to_dict(self):
2473        return {
2474            'account_attachment': self.account_attachment,
2475            'meta': self.meta,
2476            'rate_limit': self.rate_limit,
2477        }
2478
2479    @classmethod
2480    def from_dict(cls, d):
2481        return cls(
2482            account_attachment=d.get('account_attachment'),
2483            meta=d.get('meta'),
2484            rate_limit=d.get('rate_limit'),
2485        )

AccountAttachmentCreateResponse reports how the AccountAttachments were created in the system.

AccountAttachmentCreateResponse(account_attachment=None, meta=None, rate_limit=None)
2446    def __init__(
2447        self,
2448        account_attachment=None,
2449        meta=None,
2450        rate_limit=None,
2451    ):
2452        self.account_attachment = account_attachment if account_attachment is not None else None
2453        '''
2454         The created AccountAttachment.
2455        '''
2456        self.meta = meta if meta is not None else None
2457        '''
2458         Reserved for future use.
2459        '''
2460        self.rate_limit = rate_limit if rate_limit is not None else None
2461        '''
2462         Rate limit information.
2463        '''
account_attachment

The created AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2472    def to_dict(self):
2473        return {
2474            'account_attachment': self.account_attachment,
2475            'meta': self.meta,
2476            'rate_limit': self.rate_limit,
2477        }
@classmethod
def from_dict(cls, d)
2479    @classmethod
2480    def from_dict(cls, d):
2481        return cls(
2482            account_attachment=d.get('account_attachment'),
2483            meta=d.get('meta'),
2484            rate_limit=d.get('rate_limit'),
2485        )
class AccountAttachmentDeleteResponse:
2488class AccountAttachmentDeleteResponse:
2489    '''
2490         AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.
2491    '''
2492    __slots__ = [
2493        'meta',
2494        'rate_limit',
2495    ]
2496
2497    def __init__(
2498        self,
2499        meta=None,
2500        rate_limit=None,
2501    ):
2502        self.meta = meta if meta is not None else None
2503        '''
2504         Reserved for future use.
2505        '''
2506        self.rate_limit = rate_limit if rate_limit is not None else None
2507        '''
2508         Rate limit information.
2509        '''
2510
2511    def __repr__(self):
2512        return '<sdm.AccountAttachmentDeleteResponse ' + \
2513            'meta: ' + repr(self.meta) + ' ' +\
2514            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2515            '>'
2516
2517    def to_dict(self):
2518        return {
2519            'meta': self.meta,
2520            'rate_limit': self.rate_limit,
2521        }
2522
2523    @classmethod
2524    def from_dict(cls, d):
2525        return cls(
2526            meta=d.get('meta'),
2527            rate_limit=d.get('rate_limit'),
2528        )

AccountAttachmentDeleteResponse returns information about a AccountAttachment that was deleted.

AccountAttachmentDeleteResponse(meta=None, rate_limit=None)
2497    def __init__(
2498        self,
2499        meta=None,
2500        rate_limit=None,
2501    ):
2502        self.meta = meta if meta is not None else None
2503        '''
2504         Reserved for future use.
2505        '''
2506        self.rate_limit = rate_limit if rate_limit is not None else None
2507        '''
2508         Rate limit information.
2509        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

AccountAttachmentGetResponse returns a requested AccountAttachment.

AccountAttachmentGetResponse(account_attachment=None, meta=None, rate_limit=None)
2541    def __init__(
2542        self,
2543        account_attachment=None,
2544        meta=None,
2545        rate_limit=None,
2546    ):
2547        self.account_attachment = account_attachment if account_attachment is not None else None
2548        '''
2549         The requested AccountAttachment.
2550        '''
2551        self.meta = meta if meta is not None else None
2552        '''
2553         Reserved for future use.
2554        '''
2555        self.rate_limit = rate_limit if rate_limit is not None else None
2556        '''
2557         Rate limit information.
2558        '''
account_attachment

The requested AccountAttachment.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2567    def to_dict(self):
2568        return {
2569            'account_attachment': self.account_attachment,
2570            'meta': self.meta,
2571            'rate_limit': self.rate_limit,
2572        }
@classmethod
def from_dict(cls, d)
2574    @classmethod
2575    def from_dict(cls, d):
2576        return cls(
2577            account_attachment=d.get('account_attachment'),
2578            meta=d.get('meta'),
2579            rate_limit=d.get('rate_limit'),
2580        )
class AccountAttachmentHistory:
2583class AccountAttachmentHistory:
2584    '''
2585         AccountAttachmentHistory records the state of an AccountAttachment at a given point in time,
2586     where every change (create or delete) to an AccountAttachment produces an
2587     AccountAttachmentHistory record.
2588    '''
2589    __slots__ = [
2590        'account_attachment',
2591        'activity_id',
2592        'deleted_at',
2593        'timestamp',
2594    ]
2595
2596    def __init__(
2597        self,
2598        account_attachment=None,
2599        activity_id=None,
2600        deleted_at=None,
2601        timestamp=None,
2602    ):
2603        self.account_attachment = account_attachment if account_attachment is not None else None
2604        '''
2605         The complete AccountAttachment state at this time.
2606        '''
2607        self.activity_id = activity_id if activity_id is not None else ''
2608        '''
2609         The unique identifier of the Activity that produced this change to the AccountAttachment.
2610         May be empty for some system-initiated updates.
2611        '''
2612        self.deleted_at = deleted_at if deleted_at is not None else None
2613        '''
2614         If this AccountAttachment was deleted, the time it was deleted.
2615        '''
2616        self.timestamp = timestamp if timestamp is not None else None
2617        '''
2618         The time at which the AccountAttachment state was recorded.
2619        '''
2620
2621    def __repr__(self):
2622        return '<sdm.AccountAttachmentHistory ' + \
2623            'account_attachment: ' + repr(self.account_attachment) + ' ' +\
2624            'activity_id: ' + repr(self.activity_id) + ' ' +\
2625            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
2626            'timestamp: ' + repr(self.timestamp) + ' ' +\
2627            '>'
2628
2629    def to_dict(self):
2630        return {
2631            'account_attachment': self.account_attachment,
2632            'activity_id': self.activity_id,
2633            'deleted_at': self.deleted_at,
2634            'timestamp': self.timestamp,
2635        }
2636
2637    @classmethod
2638    def from_dict(cls, d):
2639        return cls(
2640            account_attachment=d.get('account_attachment'),
2641            activity_id=d.get('activity_id'),
2642            deleted_at=d.get('deleted_at'),
2643            timestamp=d.get('timestamp'),
2644        )

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)
2596    def __init__(
2597        self,
2598        account_attachment=None,
2599        activity_id=None,
2600        deleted_at=None,
2601        timestamp=None,
2602    ):
2603        self.account_attachment = account_attachment if account_attachment is not None else None
2604        '''
2605         The complete AccountAttachment state at this time.
2606        '''
2607        self.activity_id = activity_id if activity_id is not None else ''
2608        '''
2609         The unique identifier of the Activity that produced this change to the AccountAttachment.
2610         May be empty for some system-initiated updates.
2611        '''
2612        self.deleted_at = deleted_at if deleted_at is not None else None
2613        '''
2614         If this AccountAttachment was deleted, the time it was deleted.
2615        '''
2616        self.timestamp = timestamp if timestamp is not None else None
2617        '''
2618         The time at which the AccountAttachment state was recorded.
2619        '''
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)
2629    def to_dict(self):
2630        return {
2631            'account_attachment': self.account_attachment,
2632            'activity_id': self.activity_id,
2633            'deleted_at': self.deleted_at,
2634            'timestamp': self.timestamp,
2635        }
@classmethod
def from_dict(cls, d)
2637    @classmethod
2638    def from_dict(cls, d):
2639        return cls(
2640            account_attachment=d.get('account_attachment'),
2641            activity_id=d.get('activity_id'),
2642            deleted_at=d.get('deleted_at'),
2643            timestamp=d.get('timestamp'),
2644        )
class AccountCreateResponse:
2647class AccountCreateResponse:
2648    '''
2649         AccountCreateResponse reports how the Accounts were created in the system.
2650    '''
2651    __slots__ = [
2652        'access_key',
2653        'account',
2654        'meta',
2655        'rate_limit',
2656        'secret_key',
2657        'token',
2658    ]
2659
2660    def __init__(
2661        self,
2662        access_key=None,
2663        account=None,
2664        meta=None,
2665        rate_limit=None,
2666        secret_key=None,
2667        token=None,
2668    ):
2669        self.access_key = access_key if access_key is not None else ''
2670        '''
2671         ID part of the API key.
2672        '''
2673        self.account = account if account is not None else None
2674        '''
2675         The created Account.
2676        '''
2677        self.meta = meta if meta is not None else None
2678        '''
2679         Reserved for future use.
2680        '''
2681        self.rate_limit = rate_limit if rate_limit is not None else None
2682        '''
2683         Rate limit information.
2684        '''
2685        self.secret_key = secret_key if secret_key is not None else ''
2686        '''
2687         Secret part of the API key.
2688        '''
2689        self.token = token if token is not None else ''
2690        '''
2691         The auth token generated for the Account. The Account will use this token to
2692         authenticate with the strongDM API.
2693        '''
2694
2695    def __repr__(self):
2696        return '<sdm.AccountCreateResponse ' + \
2697            'access_key: ' + repr(self.access_key) + ' ' +\
2698            'account: ' + repr(self.account) + ' ' +\
2699            'meta: ' + repr(self.meta) + ' ' +\
2700            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2701            'secret_key: ' + repr(self.secret_key) + ' ' +\
2702            'token: ' + repr(self.token) + ' ' +\
2703            '>'
2704
2705    def to_dict(self):
2706        return {
2707            'access_key': self.access_key,
2708            'account': self.account,
2709            'meta': self.meta,
2710            'rate_limit': self.rate_limit,
2711            'secret_key': self.secret_key,
2712            'token': self.token,
2713        }
2714
2715    @classmethod
2716    def from_dict(cls, d):
2717        return cls(
2718            access_key=d.get('access_key'),
2719            account=d.get('account'),
2720            meta=d.get('meta'),
2721            rate_limit=d.get('rate_limit'),
2722            secret_key=d.get('secret_key'),
2723            token=d.get('token'),
2724        )

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)
2660    def __init__(
2661        self,
2662        access_key=None,
2663        account=None,
2664        meta=None,
2665        rate_limit=None,
2666        secret_key=None,
2667        token=None,
2668    ):
2669        self.access_key = access_key if access_key is not None else ''
2670        '''
2671         ID part of the API key.
2672        '''
2673        self.account = account if account is not None else None
2674        '''
2675         The created Account.
2676        '''
2677        self.meta = meta if meta is not None else None
2678        '''
2679         Reserved for future use.
2680        '''
2681        self.rate_limit = rate_limit if rate_limit is not None else None
2682        '''
2683         Rate limit information.
2684        '''
2685        self.secret_key = secret_key if secret_key is not None else ''
2686        '''
2687         Secret part of the API key.
2688        '''
2689        self.token = token if token is not None else ''
2690        '''
2691         The auth token generated for the Account. The Account will use this token to
2692         authenticate with the strongDM API.
2693        '''
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)
2705    def to_dict(self):
2706        return {
2707            'access_key': self.access_key,
2708            'account': self.account,
2709            'meta': self.meta,
2710            'rate_limit': self.rate_limit,
2711            'secret_key': self.secret_key,
2712            'token': self.token,
2713        }
@classmethod
def from_dict(cls, d)
2715    @classmethod
2716    def from_dict(cls, d):
2717        return cls(
2718            access_key=d.get('access_key'),
2719            account=d.get('account'),
2720            meta=d.get('meta'),
2721            rate_limit=d.get('rate_limit'),
2722            secret_key=d.get('secret_key'),
2723            token=d.get('token'),
2724        )
class AccountDeleteResponse:
2727class AccountDeleteResponse:
2728    '''
2729         AccountDeleteResponse returns information about a Account that was deleted.
2730    '''
2731    __slots__ = [
2732        'meta',
2733        'rate_limit',
2734    ]
2735
2736    def __init__(
2737        self,
2738        meta=None,
2739        rate_limit=None,
2740    ):
2741        self.meta = meta if meta is not None else None
2742        '''
2743         Reserved for future use.
2744        '''
2745        self.rate_limit = rate_limit if rate_limit is not None else None
2746        '''
2747         Rate limit information.
2748        '''
2749
2750    def __repr__(self):
2751        return '<sdm.AccountDeleteResponse ' + \
2752            'meta: ' + repr(self.meta) + ' ' +\
2753            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2754            '>'
2755
2756    def to_dict(self):
2757        return {
2758            'meta': self.meta,
2759            'rate_limit': self.rate_limit,
2760        }
2761
2762    @classmethod
2763    def from_dict(cls, d):
2764        return cls(
2765            meta=d.get('meta'),
2766            rate_limit=d.get('rate_limit'),
2767        )

AccountDeleteResponse returns information about a Account that was deleted.

AccountDeleteResponse(meta=None, rate_limit=None)
2736    def __init__(
2737        self,
2738        meta=None,
2739        rate_limit=None,
2740    ):
2741        self.meta = meta if meta is not None else None
2742        '''
2743         Reserved for future use.
2744        '''
2745        self.rate_limit = rate_limit if rate_limit is not None else None
2746        '''
2747         Rate limit information.
2748        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2756    def to_dict(self):
2757        return {
2758            'meta': self.meta,
2759            'rate_limit': self.rate_limit,
2760        }
@classmethod
def from_dict(cls, d)
2762    @classmethod
2763    def from_dict(cls, d):
2764        return cls(
2765            meta=d.get('meta'),
2766            rate_limit=d.get('rate_limit'),
2767        )
class AccountGetResponse:
2770class AccountGetResponse:
2771    '''
2772         AccountGetResponse returns a requested Account.
2773    '''
2774    __slots__ = [
2775        'account',
2776        'meta',
2777        'rate_limit',
2778    ]
2779
2780    def __init__(
2781        self,
2782        account=None,
2783        meta=None,
2784        rate_limit=None,
2785    ):
2786        self.account = account if account is not None else None
2787        '''
2788         The requested Account.
2789        '''
2790        self.meta = meta if meta is not None else None
2791        '''
2792         Reserved for future use.
2793        '''
2794        self.rate_limit = rate_limit if rate_limit is not None else None
2795        '''
2796         Rate limit information.
2797        '''
2798
2799    def __repr__(self):
2800        return '<sdm.AccountGetResponse ' + \
2801            'account: ' + repr(self.account) + ' ' +\
2802            'meta: ' + repr(self.meta) + ' ' +\
2803            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2804            '>'
2805
2806    def to_dict(self):
2807        return {
2808            'account': self.account,
2809            'meta': self.meta,
2810            'rate_limit': self.rate_limit,
2811        }
2812
2813    @classmethod
2814    def from_dict(cls, d):
2815        return cls(
2816            account=d.get('account'),
2817            meta=d.get('meta'),
2818            rate_limit=d.get('rate_limit'),
2819        )

AccountGetResponse returns a requested Account.

AccountGetResponse(account=None, meta=None, rate_limit=None)
2780    def __init__(
2781        self,
2782        account=None,
2783        meta=None,
2784        rate_limit=None,
2785    ):
2786        self.account = account if account is not None else None
2787        '''
2788         The requested Account.
2789        '''
2790        self.meta = meta if meta is not None else None
2791        '''
2792         Reserved for future use.
2793        '''
2794        self.rate_limit = rate_limit if rate_limit is not None else None
2795        '''
2796         Rate limit information.
2797        '''
account

The requested Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2806    def to_dict(self):
2807        return {
2808            'account': self.account,
2809            'meta': self.meta,
2810            'rate_limit': self.rate_limit,
2811        }
@classmethod
def from_dict(cls, d)
2813    @classmethod
2814    def from_dict(cls, d):
2815        return cls(
2816            account=d.get('account'),
2817            meta=d.get('meta'),
2818            rate_limit=d.get('rate_limit'),
2819        )
class AccountGrant:
2822class AccountGrant:
2823    '''
2824         AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
2825    '''
2826    __slots__ = [
2827        'access_rule',
2828        'account_id',
2829        'id',
2830        'resource_id',
2831        'start_from',
2832        'valid_until',
2833    ]
2834
2835    def __init__(
2836        self,
2837        access_rule=None,
2838        account_id=None,
2839        id=None,
2840        resource_id=None,
2841        start_from=None,
2842        valid_until=None,
2843    ):
2844        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
2845        )
2846        '''
2847         The access rule associated with this AccountGrant.
2848        '''
2849        self.account_id = account_id if account_id is not None else ''
2850        '''
2851         The account ID of this AccountGrant.
2852        '''
2853        self.id = id if id is not None else ''
2854        '''
2855         Unique identifier of the AccountGrant.
2856        '''
2857        self.resource_id = resource_id if resource_id is not None else ''
2858        '''
2859         The resource ID of this AccountGrant.
2860        '''
2861        self.start_from = start_from if start_from is not None else None
2862        '''
2863         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.
2864        '''
2865        self.valid_until = valid_until if valid_until is not None else None
2866        '''
2867         The timestamp when the resource grant will expire.
2868        '''
2869
2870    def __repr__(self):
2871        return '<sdm.AccountGrant ' + \
2872            'access_rule: ' + repr(self.access_rule) + ' ' +\
2873            'account_id: ' + repr(self.account_id) + ' ' +\
2874            'id: ' + repr(self.id) + ' ' +\
2875            'resource_id: ' + repr(self.resource_id) + ' ' +\
2876            'start_from: ' + repr(self.start_from) + ' ' +\
2877            'valid_until: ' + repr(self.valid_until) + ' ' +\
2878            '>'
2879
2880    def to_dict(self):
2881        return {
2882            'access_rule': self.access_rule,
2883            'account_id': self.account_id,
2884            'id': self.id,
2885            'resource_id': self.resource_id,
2886            'start_from': self.start_from,
2887            'valid_until': self.valid_until,
2888        }
2889
2890    @classmethod
2891    def from_dict(cls, d):
2892        return cls(
2893            access_rule=d.get('access_rule'),
2894            account_id=d.get('account_id'),
2895            id=d.get('id'),
2896            resource_id=d.get('resource_id'),
2897            start_from=d.get('start_from'),
2898            valid_until=d.get('valid_until'),
2899        )

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)
2835    def __init__(
2836        self,
2837        access_rule=None,
2838        account_id=None,
2839        id=None,
2840        resource_id=None,
2841        start_from=None,
2842        valid_until=None,
2843    ):
2844        self.access_rule = access_rule if access_rule is not None else _porcelain_zero_value_access_rule(
2845        )
2846        '''
2847         The access rule associated with this AccountGrant.
2848        '''
2849        self.account_id = account_id if account_id is not None else ''
2850        '''
2851         The account ID of this AccountGrant.
2852        '''
2853        self.id = id if id is not None else ''
2854        '''
2855         Unique identifier of the AccountGrant.
2856        '''
2857        self.resource_id = resource_id if resource_id is not None else ''
2858        '''
2859         The resource ID of this AccountGrant.
2860        '''
2861        self.start_from = start_from if start_from is not None else None
2862        '''
2863         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.
2864        '''
2865        self.valid_until = valid_until if valid_until is not None else None
2866        '''
2867         The timestamp when the resource grant will expire.
2868        '''
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)
2880    def to_dict(self):
2881        return {
2882            'access_rule': self.access_rule,
2883            'account_id': self.account_id,
2884            'id': self.id,
2885            'resource_id': self.resource_id,
2886            'start_from': self.start_from,
2887            'valid_until': self.valid_until,
2888        }
@classmethod
def from_dict(cls, d)
2890    @classmethod
2891    def from_dict(cls, d):
2892        return cls(
2893            access_rule=d.get('access_rule'),
2894            account_id=d.get('account_id'),
2895            id=d.get('id'),
2896            resource_id=d.get('resource_id'),
2897            start_from=d.get('start_from'),
2898            valid_until=d.get('valid_until'),
2899        )
class AccountGrantCreateResponse:
2902class AccountGrantCreateResponse:
2903    '''
2904         AccountGrantCreateResponse reports how the AccountGrants were created in the system.
2905    '''
2906    __slots__ = [
2907        'account_grant',
2908        'meta',
2909        'rate_limit',
2910    ]
2911
2912    def __init__(
2913        self,
2914        account_grant=None,
2915        meta=None,
2916        rate_limit=None,
2917    ):
2918        self.account_grant = account_grant if account_grant is not None else None
2919        '''
2920         The created AccountGrant.
2921        '''
2922        self.meta = meta if meta is not None else None
2923        '''
2924         Reserved for future use.
2925        '''
2926        self.rate_limit = rate_limit if rate_limit is not None else None
2927        '''
2928         Rate limit information.
2929        '''
2930
2931    def __repr__(self):
2932        return '<sdm.AccountGrantCreateResponse ' + \
2933            'account_grant: ' + repr(self.account_grant) + ' ' +\
2934            'meta: ' + repr(self.meta) + ' ' +\
2935            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2936            '>'
2937
2938    def to_dict(self):
2939        return {
2940            'account_grant': self.account_grant,
2941            'meta': self.meta,
2942            'rate_limit': self.rate_limit,
2943        }
2944
2945    @classmethod
2946    def from_dict(cls, d):
2947        return cls(
2948            account_grant=d.get('account_grant'),
2949            meta=d.get('meta'),
2950            rate_limit=d.get('rate_limit'),
2951        )

AccountGrantCreateResponse reports how the AccountGrants were created in the system.

AccountGrantCreateResponse(account_grant=None, meta=None, rate_limit=None)
2912    def __init__(
2913        self,
2914        account_grant=None,
2915        meta=None,
2916        rate_limit=None,
2917    ):
2918        self.account_grant = account_grant if account_grant is not None else None
2919        '''
2920         The created AccountGrant.
2921        '''
2922        self.meta = meta if meta is not None else None
2923        '''
2924         Reserved for future use.
2925        '''
2926        self.rate_limit = rate_limit if rate_limit is not None else None
2927        '''
2928         Rate limit information.
2929        '''
account_grant

The created AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2938    def to_dict(self):
2939        return {
2940            'account_grant': self.account_grant,
2941            'meta': self.meta,
2942            'rate_limit': self.rate_limit,
2943        }
@classmethod
def from_dict(cls, d)
2945    @classmethod
2946    def from_dict(cls, d):
2947        return cls(
2948            account_grant=d.get('account_grant'),
2949            meta=d.get('meta'),
2950            rate_limit=d.get('rate_limit'),
2951        )
class AccountGrantDeleteResponse:
2954class AccountGrantDeleteResponse:
2955    '''
2956         AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.
2957    '''
2958    __slots__ = [
2959        'meta',
2960        'rate_limit',
2961    ]
2962
2963    def __init__(
2964        self,
2965        meta=None,
2966        rate_limit=None,
2967    ):
2968        self.meta = meta if meta is not None else None
2969        '''
2970         Reserved for future use.
2971        '''
2972        self.rate_limit = rate_limit if rate_limit is not None else None
2973        '''
2974         Rate limit information.
2975        '''
2976
2977    def __repr__(self):
2978        return '<sdm.AccountGrantDeleteResponse ' + \
2979            'meta: ' + repr(self.meta) + ' ' +\
2980            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
2981            '>'
2982
2983    def to_dict(self):
2984        return {
2985            'meta': self.meta,
2986            'rate_limit': self.rate_limit,
2987        }
2988
2989    @classmethod
2990    def from_dict(cls, d):
2991        return cls(
2992            meta=d.get('meta'),
2993            rate_limit=d.get('rate_limit'),
2994        )

AccountGrantDeleteResponse returns information about a AccountGrant that was deleted.

AccountGrantDeleteResponse(meta=None, rate_limit=None)
2963    def __init__(
2964        self,
2965        meta=None,
2966        rate_limit=None,
2967    ):
2968        self.meta = meta if meta is not None else None
2969        '''
2970         Reserved for future use.
2971        '''
2972        self.rate_limit = rate_limit if rate_limit is not None else None
2973        '''
2974         Rate limit information.
2975        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
2983    def to_dict(self):
2984        return {
2985            'meta': self.meta,
2986            'rate_limit': self.rate_limit,
2987        }
@classmethod
def from_dict(cls, d)
2989    @classmethod
2990    def from_dict(cls, d):
2991        return cls(
2992            meta=d.get('meta'),
2993            rate_limit=d.get('rate_limit'),
2994        )
class AccountGrantGetResponse:
2997class AccountGrantGetResponse:
2998    '''
2999         AccountGrantGetResponse returns a requested AccountGrant.
3000    '''
3001    __slots__ = [
3002        'account_grant',
3003        'meta',
3004        'rate_limit',
3005    ]
3006
3007    def __init__(
3008        self,
3009        account_grant=None,
3010        meta=None,
3011        rate_limit=None,
3012    ):
3013        self.account_grant = account_grant if account_grant is not None else None
3014        '''
3015         The requested AccountGrant.
3016        '''
3017        self.meta = meta if meta is not None else None
3018        '''
3019         Reserved for future use.
3020        '''
3021        self.rate_limit = rate_limit if rate_limit is not None else None
3022        '''
3023         Rate limit information.
3024        '''
3025
3026    def __repr__(self):
3027        return '<sdm.AccountGrantGetResponse ' + \
3028            'account_grant: ' + repr(self.account_grant) + ' ' +\
3029            'meta: ' + repr(self.meta) + ' ' +\
3030            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3031            '>'
3032
3033    def to_dict(self):
3034        return {
3035            'account_grant': self.account_grant,
3036            'meta': self.meta,
3037            'rate_limit': self.rate_limit,
3038        }
3039
3040    @classmethod
3041    def from_dict(cls, d):
3042        return cls(
3043            account_grant=d.get('account_grant'),
3044            meta=d.get('meta'),
3045            rate_limit=d.get('rate_limit'),
3046        )

AccountGrantGetResponse returns a requested AccountGrant.

AccountGrantGetResponse(account_grant=None, meta=None, rate_limit=None)
3007    def __init__(
3008        self,
3009        account_grant=None,
3010        meta=None,
3011        rate_limit=None,
3012    ):
3013        self.account_grant = account_grant if account_grant is not None else None
3014        '''
3015         The requested AccountGrant.
3016        '''
3017        self.meta = meta if meta is not None else None
3018        '''
3019         Reserved for future use.
3020        '''
3021        self.rate_limit = rate_limit if rate_limit is not None else None
3022        '''
3023         Rate limit information.
3024        '''
account_grant

The requested AccountGrant.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3033    def to_dict(self):
3034        return {
3035            'account_grant': self.account_grant,
3036            'meta': self.meta,
3037            'rate_limit': self.rate_limit,
3038        }
@classmethod
def from_dict(cls, d)
3040    @classmethod
3041    def from_dict(cls, d):
3042        return cls(
3043            account_grant=d.get('account_grant'),
3044            meta=d.get('meta'),
3045            rate_limit=d.get('rate_limit'),
3046        )
class AccountGrantHistory:
3049class AccountGrantHistory:
3050    '''
3051         AccountGrantHistory records the state of an AccountGrant at a given point in time,
3052     where every change (create or delete) to an AccountGrant produces an
3053     AccountGrantHistory record.
3054    '''
3055    __slots__ = [
3056        'account_grant',
3057        'activity_id',
3058        'deleted_at',
3059        'timestamp',
3060    ]
3061
3062    def __init__(
3063        self,
3064        account_grant=None,
3065        activity_id=None,
3066        deleted_at=None,
3067        timestamp=None,
3068    ):
3069        self.account_grant = account_grant if account_grant is not None else None
3070        '''
3071         The complete AccountGrant state at this time.
3072        '''
3073        self.activity_id = activity_id if activity_id is not None else ''
3074        '''
3075         The unique identifier of the Activity that produced this change to the AccountGrant.
3076         May be empty for some system-initiated updates.
3077        '''
3078        self.deleted_at = deleted_at if deleted_at is not None else None
3079        '''
3080         If this AccountGrant was deleted, the time it was deleted.
3081        '''
3082        self.timestamp = timestamp if timestamp is not None else None
3083        '''
3084         The time at which the AccountGrant state was recorded.
3085        '''
3086
3087    def __repr__(self):
3088        return '<sdm.AccountGrantHistory ' + \
3089            'account_grant: ' + repr(self.account_grant) + ' ' +\
3090            'activity_id: ' + repr(self.activity_id) + ' ' +\
3091            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3092            'timestamp: ' + repr(self.timestamp) + ' ' +\
3093            '>'
3094
3095    def to_dict(self):
3096        return {
3097            'account_grant': self.account_grant,
3098            'activity_id': self.activity_id,
3099            'deleted_at': self.deleted_at,
3100            'timestamp': self.timestamp,
3101        }
3102
3103    @classmethod
3104    def from_dict(cls, d):
3105        return cls(
3106            account_grant=d.get('account_grant'),
3107            activity_id=d.get('activity_id'),
3108            deleted_at=d.get('deleted_at'),
3109            timestamp=d.get('timestamp'),
3110        )

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)
3062    def __init__(
3063        self,
3064        account_grant=None,
3065        activity_id=None,
3066        deleted_at=None,
3067        timestamp=None,
3068    ):
3069        self.account_grant = account_grant if account_grant is not None else None
3070        '''
3071         The complete AccountGrant state at this time.
3072        '''
3073        self.activity_id = activity_id if activity_id is not None else ''
3074        '''
3075         The unique identifier of the Activity that produced this change to the AccountGrant.
3076         May be empty for some system-initiated updates.
3077        '''
3078        self.deleted_at = deleted_at if deleted_at is not None else None
3079        '''
3080         If this AccountGrant was deleted, the time it was deleted.
3081        '''
3082        self.timestamp = timestamp if timestamp is not None else None
3083        '''
3084         The time at which the AccountGrant state was recorded.
3085        '''
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)
3095    def to_dict(self):
3096        return {
3097            'account_grant': self.account_grant,
3098            'activity_id': self.activity_id,
3099            'deleted_at': self.deleted_at,
3100            'timestamp': self.timestamp,
3101        }
@classmethod
def from_dict(cls, d)
3103    @classmethod
3104    def from_dict(cls, d):
3105        return cls(
3106            account_grant=d.get('account_grant'),
3107            activity_id=d.get('activity_id'),
3108            deleted_at=d.get('deleted_at'),
3109            timestamp=d.get('timestamp'),
3110        )
class AccountGroup:
3113class AccountGroup:
3114    '''
3115         An AccountGroup is a link between an Account and a Group.
3116    '''
3117    __slots__ = [
3118        'account_id',
3119        'group_id',
3120        'id',
3121    ]
3122
3123    def __init__(
3124        self,
3125        account_id=None,
3126        group_id=None,
3127        id=None,
3128    ):
3129        self.account_id = account_id if account_id is not None else ''
3130        '''
3131         Unique identifier of the Account.
3132        '''
3133        self.group_id = group_id if group_id is not None else ''
3134        '''
3135         Unique identifier of the Group.
3136        '''
3137        self.id = id if id is not None else ''
3138        '''
3139         Unique identifier of the AccountGroup.
3140        '''
3141
3142    def __repr__(self):
3143        return '<sdm.AccountGroup ' + \
3144            'account_id: ' + repr(self.account_id) + ' ' +\
3145            'group_id: ' + repr(self.group_id) + ' ' +\
3146            'id: ' + repr(self.id) + ' ' +\
3147            '>'
3148
3149    def to_dict(self):
3150        return {
3151            'account_id': self.account_id,
3152            'group_id': self.group_id,
3153            'id': self.id,
3154        }
3155
3156    @classmethod
3157    def from_dict(cls, d):
3158        return cls(
3159            account_id=d.get('account_id'),
3160            group_id=d.get('group_id'),
3161            id=d.get('id'),
3162        )

An AccountGroup is a link between an Account and a Group.

AccountGroup(account_id=None, group_id=None, id=None)
3123    def __init__(
3124        self,
3125        account_id=None,
3126        group_id=None,
3127        id=None,
3128    ):
3129        self.account_id = account_id if account_id is not None else ''
3130        '''
3131         Unique identifier of the Account.
3132        '''
3133        self.group_id = group_id if group_id is not None else ''
3134        '''
3135         Unique identifier of the Group.
3136        '''
3137        self.id = id if id is not None else ''
3138        '''
3139         Unique identifier of the AccountGroup.
3140        '''
account_id

Unique identifier of the Account.

group_id

Unique identifier of the Group.

id

Unique identifier of the AccountGroup.

def to_dict(self)
3149    def to_dict(self):
3150        return {
3151            'account_id': self.account_id,
3152            'group_id': self.group_id,
3153            'id': self.id,
3154        }
@classmethod
def from_dict(cls, d)
3156    @classmethod
3157    def from_dict(cls, d):
3158        return cls(
3159            account_id=d.get('account_id'),
3160            group_id=d.get('group_id'),
3161            id=d.get('id'),
3162        )
class AccountGroupCreateRequest:
3165class AccountGroupCreateRequest:
3166    '''
3167         AccountGroupCreateRequest specifies an AccountGroup to create.
3168    '''
3169    __slots__ = [
3170        'account_group',
3171    ]
3172
3173    def __init__(
3174        self,
3175        account_group=None,
3176    ):
3177        self.account_group = account_group if account_group is not None else None
3178        '''
3179         Parameters to define the new AccountGroup.
3180        '''
3181
3182    def __repr__(self):
3183        return '<sdm.AccountGroupCreateRequest ' + \
3184            'account_group: ' + repr(self.account_group) + ' ' +\
3185            '>'
3186
3187    def to_dict(self):
3188        return {
3189            'account_group': self.account_group,
3190        }
3191
3192    @classmethod
3193    def from_dict(cls, d):
3194        return cls(account_group=d.get('account_group'), )

AccountGroupCreateRequest specifies an AccountGroup to create.

AccountGroupCreateRequest(account_group=None)
3173    def __init__(
3174        self,
3175        account_group=None,
3176    ):
3177        self.account_group = account_group if account_group is not None else None
3178        '''
3179         Parameters to define the new AccountGroup.
3180        '''
account_group

Parameters to define the new AccountGroup.

def to_dict(self)
3187    def to_dict(self):
3188        return {
3189            'account_group': self.account_group,
3190        }
@classmethod
def from_dict(cls, d)
3192    @classmethod
3193    def from_dict(cls, d):
3194        return cls(account_group=d.get('account_group'), )
class AccountGroupCreateResponse:
3197class AccountGroupCreateResponse:
3198    '''
3199         AccountGroupCreateResponse reports the result of a create.
3200    '''
3201    __slots__ = [
3202        'account_group',
3203        'rate_limit',
3204    ]
3205
3206    def __init__(
3207        self,
3208        account_group=None,
3209        rate_limit=None,
3210    ):
3211        self.account_group = account_group if account_group is not None else None
3212        '''
3213         The created AccountGroup.
3214        '''
3215        self.rate_limit = rate_limit if rate_limit is not None else None
3216        '''
3217         Rate limit information.
3218        '''
3219
3220    def __repr__(self):
3221        return '<sdm.AccountGroupCreateResponse ' + \
3222            'account_group: ' + repr(self.account_group) + ' ' +\
3223            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3224            '>'
3225
3226    def to_dict(self):
3227        return {
3228            'account_group': self.account_group,
3229            'rate_limit': self.rate_limit,
3230        }
3231
3232    @classmethod
3233    def from_dict(cls, d):
3234        return cls(
3235            account_group=d.get('account_group'),
3236            rate_limit=d.get('rate_limit'),
3237        )

AccountGroupCreateResponse reports the result of a create.

AccountGroupCreateResponse(account_group=None, rate_limit=None)
3206    def __init__(
3207        self,
3208        account_group=None,
3209        rate_limit=None,
3210    ):
3211        self.account_group = account_group if account_group is not None else None
3212        '''
3213         The created AccountGroup.
3214        '''
3215        self.rate_limit = rate_limit if rate_limit is not None else None
3216        '''
3217         Rate limit information.
3218        '''
account_group

The created AccountGroup.

rate_limit

Rate limit information.

def to_dict(self)
3226    def to_dict(self):
3227        return {
3228            'account_group': self.account_group,
3229            'rate_limit': self.rate_limit,
3230        }
@classmethod
def from_dict(cls, d)
3232    @classmethod
3233    def from_dict(cls, d):
3234        return cls(
3235            account_group=d.get('account_group'),
3236            rate_limit=d.get('rate_limit'),
3237        )
class AccountGroupDeleteRequest:
3240class AccountGroupDeleteRequest:
3241    '''
3242         GroupDeleteRequest identifies an AccountGroup by ID to delete.
3243    '''
3244    __slots__ = [
3245        'id',
3246    ]
3247
3248    def __init__(
3249        self,
3250        id=None,
3251    ):
3252        self.id = id if id is not None else ''
3253        '''
3254         The unique identifier of the group to delete.
3255        '''
3256
3257    def __repr__(self):
3258        return '<sdm.AccountGroupDeleteRequest ' + \
3259            'id: ' + repr(self.id) + ' ' +\
3260            '>'
3261
3262    def to_dict(self):
3263        return {
3264            'id': self.id,
3265        }
3266
3267    @classmethod
3268    def from_dict(cls, d):
3269        return cls(id=d.get('id'), )

GroupDeleteRequest identifies an AccountGroup by ID to delete.

AccountGroupDeleteRequest(id=None)
3248    def __init__(
3249        self,
3250        id=None,
3251    ):
3252        self.id = id if id is not None else ''
3253        '''
3254         The unique identifier of the group to delete.
3255        '''
id

The unique identifier of the group to delete.

def to_dict(self)
3262    def to_dict(self):
3263        return {
3264            'id': self.id,
3265        }
@classmethod
def from_dict(cls, d)
3267    @classmethod
3268    def from_dict(cls, d):
3269        return cls(id=d.get('id'), )
class AccountGroupDeleteResponse:
3272class AccountGroupDeleteResponse:
3273    '''
3274         GroupDeleteResponse returns information about an AccountGroup that was deleted.
3275    '''
3276    __slots__ = [
3277        'meta',
3278        'rate_limit',
3279    ]
3280
3281    def __init__(
3282        self,
3283        meta=None,
3284        rate_limit=None,
3285    ):
3286        self.meta = meta if meta is not None else None
3287        '''
3288         Reserved for future use.
3289        '''
3290        self.rate_limit = rate_limit if rate_limit is not None else None
3291        '''
3292         Rate limit information.
3293        '''
3294
3295    def __repr__(self):
3296        return '<sdm.AccountGroupDeleteResponse ' + \
3297            'meta: ' + repr(self.meta) + ' ' +\
3298            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3299            '>'
3300
3301    def to_dict(self):
3302        return {
3303            'meta': self.meta,
3304            'rate_limit': self.rate_limit,
3305        }
3306
3307    @classmethod
3308    def from_dict(cls, d):
3309        return cls(
3310            meta=d.get('meta'),
3311            rate_limit=d.get('rate_limit'),
3312        )

GroupDeleteResponse returns information about an AccountGroup that was deleted.

AccountGroupDeleteResponse(meta=None, rate_limit=None)
3281    def __init__(
3282        self,
3283        meta=None,
3284        rate_limit=None,
3285    ):
3286        self.meta = meta if meta is not None else None
3287        '''
3288         Reserved for future use.
3289        '''
3290        self.rate_limit = rate_limit if rate_limit is not None else None
3291        '''
3292         Rate limit information.
3293        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3301    def to_dict(self):
3302        return {
3303            'meta': self.meta,
3304            'rate_limit': self.rate_limit,
3305        }
@classmethod
def from_dict(cls, d)
3307    @classmethod
3308    def from_dict(cls, d):
3309        return cls(
3310            meta=d.get('meta'),
3311            rate_limit=d.get('rate_limit'),
3312        )
class AccountGroupGetRequest:
3315class AccountGroupGetRequest:
3316    '''
3317         AccountGroupGetRequest specifies which AccountGroup to retrieve.
3318    '''
3319    __slots__ = [
3320        'id',
3321    ]
3322
3323    def __init__(
3324        self,
3325        id=None,
3326    ):
3327        self.id = id if id is not None else ''
3328        '''
3329         The unique identifier of the AccountGroup to retrieve.
3330        '''
3331
3332    def __repr__(self):
3333        return '<sdm.AccountGroupGetRequest ' + \
3334            'id: ' + repr(self.id) + ' ' +\
3335            '>'
3336
3337    def to_dict(self):
3338        return {
3339            'id': self.id,
3340        }
3341
3342    @classmethod
3343    def from_dict(cls, d):
3344        return cls(id=d.get('id'), )

AccountGroupGetRequest specifies which AccountGroup to retrieve.

AccountGroupGetRequest(id=None)
3323    def __init__(
3324        self,
3325        id=None,
3326    ):
3327        self.id = id if id is not None else ''
3328        '''
3329         The unique identifier of the AccountGroup to retrieve.
3330        '''
id

The unique identifier of the AccountGroup to retrieve.

def to_dict(self)
3337    def to_dict(self):
3338        return {
3339            'id': self.id,
3340        }
@classmethod
def from_dict(cls, d)
3342    @classmethod
3343    def from_dict(cls, d):
3344        return cls(id=d.get('id'), )
class AccountGroupGetResponse:
3347class AccountGroupGetResponse:
3348    '''
3349         AccountGroupGetResponse returns a requested AccountGroup.
3350    '''
3351    __slots__ = [
3352        'account_group',
3353        'meta',
3354        'rate_limit',
3355    ]
3356
3357    def __init__(
3358        self,
3359        account_group=None,
3360        meta=None,
3361        rate_limit=None,
3362    ):
3363        self.account_group = account_group if account_group is not None else None
3364        '''
3365         The requested AccountGroup.
3366        '''
3367        self.meta = meta if meta is not None else None
3368        '''
3369         Reserved for future use.
3370        '''
3371        self.rate_limit = rate_limit if rate_limit is not None else None
3372        '''
3373         Rate limit information.
3374        '''
3375
3376    def __repr__(self):
3377        return '<sdm.AccountGroupGetResponse ' + \
3378            'account_group: ' + repr(self.account_group) + ' ' +\
3379            'meta: ' + repr(self.meta) + ' ' +\
3380            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3381            '>'
3382
3383    def to_dict(self):
3384        return {
3385            'account_group': self.account_group,
3386            'meta': self.meta,
3387            'rate_limit': self.rate_limit,
3388        }
3389
3390    @classmethod
3391    def from_dict(cls, d):
3392        return cls(
3393            account_group=d.get('account_group'),
3394            meta=d.get('meta'),
3395            rate_limit=d.get('rate_limit'),
3396        )

AccountGroupGetResponse returns a requested AccountGroup.

AccountGroupGetResponse(account_group=None, meta=None, rate_limit=None)
3357    def __init__(
3358        self,
3359        account_group=None,
3360        meta=None,
3361        rate_limit=None,
3362    ):
3363        self.account_group = account_group if account_group is not None else None
3364        '''
3365         The requested AccountGroup.
3366        '''
3367        self.meta = meta if meta is not None else None
3368        '''
3369         Reserved for future use.
3370        '''
3371        self.rate_limit = rate_limit if rate_limit is not None else None
3372        '''
3373         Rate limit information.
3374        '''
account_group

The requested AccountGroup.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3383    def to_dict(self):
3384        return {
3385            'account_group': self.account_group,
3386            'meta': self.meta,
3387            'rate_limit': self.rate_limit,
3388        }
@classmethod
def from_dict(cls, d)
3390    @classmethod
3391    def from_dict(cls, d):
3392        return cls(
3393            account_group=d.get('account_group'),
3394            meta=d.get('meta'),
3395            rate_limit=d.get('rate_limit'),
3396        )
class AccountGroupHistory:
3399class AccountGroupHistory:
3400    '''
3401         AccountGroupHistory records the state of an AccountGroup at a given point in time,
3402     where every change (create, update and delete) to an AccountGroup produces an
3403     AccountGroupHistory record.
3404    '''
3405    __slots__ = [
3406        'account_group',
3407        'activity_id',
3408        'deleted_at',
3409        'timestamp',
3410    ]
3411
3412    def __init__(
3413        self,
3414        account_group=None,
3415        activity_id=None,
3416        deleted_at=None,
3417        timestamp=None,
3418    ):
3419        self.account_group = account_group if account_group is not None else None
3420        '''
3421         The complete AccountGroup state at this time.
3422        '''
3423        self.activity_id = activity_id if activity_id is not None else ''
3424        '''
3425         The unique identifier of the Activity that produced this change to the AccountGroup.
3426         May be empty for some system-initiated updates.
3427        '''
3428        self.deleted_at = deleted_at if deleted_at is not None else None
3429        '''
3430         If this AccountGroup was deleted, the time it was deleted.
3431        '''
3432        self.timestamp = timestamp if timestamp is not None else None
3433        '''
3434         The time at which the AccountGroup state was recorded.
3435        '''
3436
3437    def __repr__(self):
3438        return '<sdm.AccountGroupHistory ' + \
3439            'account_group: ' + repr(self.account_group) + ' ' +\
3440            'activity_id: ' + repr(self.activity_id) + ' ' +\
3441            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3442            'timestamp: ' + repr(self.timestamp) + ' ' +\
3443            '>'
3444
3445    def to_dict(self):
3446        return {
3447            'account_group': self.account_group,
3448            'activity_id': self.activity_id,
3449            'deleted_at': self.deleted_at,
3450            'timestamp': self.timestamp,
3451        }
3452
3453    @classmethod
3454    def from_dict(cls, d):
3455        return cls(
3456            account_group=d.get('account_group'),
3457            activity_id=d.get('activity_id'),
3458            deleted_at=d.get('deleted_at'),
3459            timestamp=d.get('timestamp'),
3460        )

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

AccountGroupHistory( account_group=None, activity_id=None, deleted_at=None, timestamp=None)
3412    def __init__(
3413        self,
3414        account_group=None,
3415        activity_id=None,
3416        deleted_at=None,
3417        timestamp=None,
3418    ):
3419        self.account_group = account_group if account_group is not None else None
3420        '''
3421         The complete AccountGroup state at this time.
3422        '''
3423        self.activity_id = activity_id if activity_id is not None else ''
3424        '''
3425         The unique identifier of the Activity that produced this change to the AccountGroup.
3426         May be empty for some system-initiated updates.
3427        '''
3428        self.deleted_at = deleted_at if deleted_at is not None else None
3429        '''
3430         If this AccountGroup was deleted, the time it was deleted.
3431        '''
3432        self.timestamp = timestamp if timestamp is not None else None
3433        '''
3434         The time at which the AccountGroup state was recorded.
3435        '''
account_group

The complete AccountGroup state at this time.

activity_id

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

deleted_at

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

timestamp

The time at which the AccountGroup state was recorded.

def to_dict(self)
3445    def to_dict(self):
3446        return {
3447            'account_group': self.account_group,
3448            'activity_id': self.activity_id,
3449            'deleted_at': self.deleted_at,
3450            'timestamp': self.timestamp,
3451        }
@classmethod
def from_dict(cls, d)
3453    @classmethod
3454    def from_dict(cls, d):
3455        return cls(
3456            account_group=d.get('account_group'),
3457            activity_id=d.get('activity_id'),
3458            deleted_at=d.get('deleted_at'),
3459            timestamp=d.get('timestamp'),
3460        )
class AccountGroupListRequest:
3463class AccountGroupListRequest:
3464    '''
3465         GroupListRequest specifies criteria for retrieving a list of groups.
3466    '''
3467    __slots__ = [
3468        'filter',
3469    ]
3470
3471    def __init__(
3472        self,
3473        filter=None,
3474    ):
3475        self.filter = filter if filter is not None else ''
3476        '''
3477         A human-readable filter query string.
3478        '''
3479
3480    def __repr__(self):
3481        return '<sdm.AccountGroupListRequest ' + \
3482            'filter: ' + repr(self.filter) + ' ' +\
3483            '>'
3484
3485    def to_dict(self):
3486        return {
3487            'filter': self.filter,
3488        }
3489
3490    @classmethod
3491    def from_dict(cls, d):
3492        return cls(filter=d.get('filter'), )

GroupListRequest specifies criteria for retrieving a list of groups.

AccountGroupListRequest(filter=None)
3471    def __init__(
3472        self,
3473        filter=None,
3474    ):
3475        self.filter = filter if filter is not None else ''
3476        '''
3477         A human-readable filter query string.
3478        '''
filter

A human-readable filter query string.

def to_dict(self)
3485    def to_dict(self):
3486        return {
3487            'filter': self.filter,
3488        }
@classmethod
def from_dict(cls, d)
3490    @classmethod
3491    def from_dict(cls, d):
3492        return cls(filter=d.get('filter'), )
class AccountGroupListResponse:
3495class AccountGroupListResponse:
3496    '''
3497         GroupListResponse returns a list of groups that meet the criteria of a
3498     GroupListRequest.
3499    '''
3500    __slots__ = [
3501        'rate_limit',
3502    ]
3503
3504    def __init__(
3505        self,
3506        rate_limit=None,
3507    ):
3508        self.rate_limit = rate_limit if rate_limit is not None else None
3509        '''
3510         Rate limit information.
3511        '''
3512
3513    def __repr__(self):
3514        return '<sdm.AccountGroupListResponse ' + \
3515            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3516            '>'
3517
3518    def to_dict(self):
3519        return {
3520            'rate_limit': self.rate_limit,
3521        }
3522
3523    @classmethod
3524    def from_dict(cls, d):
3525        return cls(rate_limit=d.get('rate_limit'), )

GroupListResponse returns a list of groups that meet the criteria of a GroupListRequest.

AccountGroupListResponse(rate_limit=None)
3504    def __init__(
3505        self,
3506        rate_limit=None,
3507    ):
3508        self.rate_limit = rate_limit if rate_limit is not None else None
3509        '''
3510         Rate limit information.
3511        '''
rate_limit

Rate limit information.

def to_dict(self)
3518    def to_dict(self):
3519        return {
3520            'rate_limit': self.rate_limit,
3521        }
@classmethod
def from_dict(cls, d)
3523    @classmethod
3524    def from_dict(cls, d):
3525        return cls(rate_limit=d.get('rate_limit'), )
class AccountHistory:
3528class AccountHistory:
3529    '''
3530         AccountHistory records the state of an Account at a given point in time,
3531     where every change (create, update and delete) to an Account produces an
3532     AccountHistory record.
3533    '''
3534    __slots__ = [
3535        'account',
3536        'activity_id',
3537        'deleted_at',
3538        'timestamp',
3539    ]
3540
3541    def __init__(
3542        self,
3543        account=None,
3544        activity_id=None,
3545        deleted_at=None,
3546        timestamp=None,
3547    ):
3548        self.account = account if account is not None else None
3549        '''
3550         The complete Account state at this time.
3551        '''
3552        self.activity_id = activity_id if activity_id is not None else ''
3553        '''
3554         The unique identifier of the Activity that produced this change to the Account.
3555         May be empty for some system-initiated updates.
3556        '''
3557        self.deleted_at = deleted_at if deleted_at is not None else None
3558        '''
3559         If this Account was deleted, the time it was deleted.
3560        '''
3561        self.timestamp = timestamp if timestamp is not None else None
3562        '''
3563         The time at which the Account state was recorded.
3564        '''
3565
3566    def __repr__(self):
3567        return '<sdm.AccountHistory ' + \
3568            'account: ' + repr(self.account) + ' ' +\
3569            'activity_id: ' + repr(self.activity_id) + ' ' +\
3570            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3571            'timestamp: ' + repr(self.timestamp) + ' ' +\
3572            '>'
3573
3574    def to_dict(self):
3575        return {
3576            'account': self.account,
3577            'activity_id': self.activity_id,
3578            'deleted_at': self.deleted_at,
3579            'timestamp': self.timestamp,
3580        }
3581
3582    @classmethod
3583    def from_dict(cls, d):
3584        return cls(
3585            account=d.get('account'),
3586            activity_id=d.get('activity_id'),
3587            deleted_at=d.get('deleted_at'),
3588            timestamp=d.get('timestamp'),
3589        )

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)
3541    def __init__(
3542        self,
3543        account=None,
3544        activity_id=None,
3545        deleted_at=None,
3546        timestamp=None,
3547    ):
3548        self.account = account if account is not None else None
3549        '''
3550         The complete Account state at this time.
3551        '''
3552        self.activity_id = activity_id if activity_id is not None else ''
3553        '''
3554         The unique identifier of the Activity that produced this change to the Account.
3555         May be empty for some system-initiated updates.
3556        '''
3557        self.deleted_at = deleted_at if deleted_at is not None else None
3558        '''
3559         If this Account was deleted, the time it was deleted.
3560        '''
3561        self.timestamp = timestamp if timestamp is not None else None
3562        '''
3563         The time at which the Account state was recorded.
3564        '''
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)
3574    def to_dict(self):
3575        return {
3576            'account': self.account,
3577            'activity_id': self.activity_id,
3578            'deleted_at': self.deleted_at,
3579            'timestamp': self.timestamp,
3580        }
@classmethod
def from_dict(cls, d)
3582    @classmethod
3583    def from_dict(cls, d):
3584        return cls(
3585            account=d.get('account'),
3586            activity_id=d.get('activity_id'),
3587            deleted_at=d.get('deleted_at'),
3588            timestamp=d.get('timestamp'),
3589        )
class AccountPermission:
3592class AccountPermission:
3593    '''
3594         AccountPermission represents an individual API action available to an account.
3595    '''
3596    __slots__ = [
3597        'account_id',
3598        'granted_at',
3599        'permission',
3600        'scope',
3601        'scoped_id',
3602    ]
3603
3604    def __init__(
3605        self,
3606        account_id=None,
3607        granted_at=None,
3608        permission=None,
3609        scope=None,
3610        scoped_id=None,
3611    ):
3612        self.account_id = account_id if account_id is not None else ''
3613        '''
3614         The unique identifier of the Account this permission belongs to.
3615        '''
3616        self.granted_at = granted_at if granted_at is not None else None
3617        '''
3618         The most recent time at which the permission was granted. If a permission was
3619         granted, revoked, and granted again, this will reflect the later time.
3620        '''
3621        self.permission = permission if permission is not None else ''
3622        '''
3623         The value of this permission, split into vertical and action, one of the Permission constants.
3624        '''
3625        self.scope = scope if scope is not None else ''
3626        '''
3627         The scope of this permission. A global scope means this action can be taken
3628         on any entity; otherwise the action can only be taken on or in the scope of
3629         the scoped id.
3630        '''
3631        self.scoped_id = scoped_id if scoped_id is not None else ''
3632        '''
3633         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3634         role that a team leader has the abillity to remove and add accounts to, or the
3635         ID of a resource that a user has the permission to connect to. If Scope is global,
3636         scoped id is not populated.
3637        '''
3638
3639    def __repr__(self):
3640        return '<sdm.AccountPermission ' + \
3641            'account_id: ' + repr(self.account_id) + ' ' +\
3642            'granted_at: ' + repr(self.granted_at) + ' ' +\
3643            'permission: ' + repr(self.permission) + ' ' +\
3644            'scope: ' + repr(self.scope) + ' ' +\
3645            'scoped_id: ' + repr(self.scoped_id) + ' ' +\
3646            '>'
3647
3648    def to_dict(self):
3649        return {
3650            'account_id': self.account_id,
3651            'granted_at': self.granted_at,
3652            'permission': self.permission,
3653            'scope': self.scope,
3654            'scoped_id': self.scoped_id,
3655        }
3656
3657    @classmethod
3658    def from_dict(cls, d):
3659        return cls(
3660            account_id=d.get('account_id'),
3661            granted_at=d.get('granted_at'),
3662            permission=d.get('permission'),
3663            scope=d.get('scope'),
3664            scoped_id=d.get('scoped_id'),
3665        )

AccountPermission represents an individual API action available to an account.

AccountPermission( account_id=None, granted_at=None, permission=None, scope=None, scoped_id=None)
3604    def __init__(
3605        self,
3606        account_id=None,
3607        granted_at=None,
3608        permission=None,
3609        scope=None,
3610        scoped_id=None,
3611    ):
3612        self.account_id = account_id if account_id is not None else ''
3613        '''
3614         The unique identifier of the Account this permission belongs to.
3615        '''
3616        self.granted_at = granted_at if granted_at is not None else None
3617        '''
3618         The most recent time at which the permission was granted. If a permission was
3619         granted, revoked, and granted again, this will reflect the later time.
3620        '''
3621        self.permission = permission if permission is not None else ''
3622        '''
3623         The value of this permission, split into vertical and action, one of the Permission constants.
3624        '''
3625        self.scope = scope if scope is not None else ''
3626        '''
3627         The scope of this permission. A global scope means this action can be taken
3628         on any entity; otherwise the action can only be taken on or in the scope of
3629         the scoped id.
3630        '''
3631        self.scoped_id = scoped_id if scoped_id is not None else ''
3632        '''
3633         The ID to which or in whose context this operation is permitted. e.g. The ID of a
3634         role that a team leader has the abillity to remove and add accounts to, or the
3635         ID of a resource that a user has the permission to connect to. If Scope is global,
3636         scoped id is not populated.
3637        '''
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)
3648    def to_dict(self):
3649        return {
3650            'account_id': self.account_id,
3651            'granted_at': self.granted_at,
3652            'permission': self.permission,
3653            'scope': self.scope,
3654            'scoped_id': self.scoped_id,
3655        }
@classmethod
def from_dict(cls, d)
3657    @classmethod
3658    def from_dict(cls, d):
3659        return cls(
3660            account_id=d.get('account_id'),
3661            granted_at=d.get('granted_at'),
3662            permission=d.get('permission'),
3663            scope=d.get('scope'),
3664            scoped_id=d.get('scoped_id'),
3665        )
class AccountResource:
3668class AccountResource:
3669    '''
3670         AccountResource represents an individual access grant of a Account to a Resource.
3671    '''
3672    __slots__ = [
3673        'account_grant_id',
3674        'account_id',
3675        'created_at',
3676        'expires_at',
3677        'granted_at',
3678        'resource_id',
3679        'role_id',
3680    ]
3681
3682    def __init__(
3683        self,
3684        account_grant_id=None,
3685        account_id=None,
3686        created_at=None,
3687        expires_at=None,
3688        granted_at=None,
3689        resource_id=None,
3690        role_id=None,
3691    ):
3692        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3693        '''
3694         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3695         If empty, access was not granted through an AccountGrant.
3696        '''
3697        self.account_id = account_id if account_id is not None else ''
3698        '''
3699         The unique identifier of the Account to which access is granted.
3700        '''
3701        self.created_at = created_at if created_at is not None else None
3702        '''
3703         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3704         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3705        '''
3706        self.expires_at = expires_at if expires_at is not None else None
3707        '''
3708         The time at which access will expire. If empty, this access has no expiration.
3709        '''
3710        self.granted_at = granted_at if granted_at is not None else None
3711        '''
3712         The most recent time at which access was granted. If access was granted,
3713         revoked, and granted again, this will reflect the later time.
3714        '''
3715        self.resource_id = resource_id if resource_id is not None else ''
3716        '''
3717         The unique identifier of the Resource to which access is granted.
3718        '''
3719        self.role_id = role_id if role_id is not None else ''
3720        '''
3721         The unique identifier of the Role through which the Account was granted access to the Resource.
3722         If empty, access was not granted through an AccountAttachment to a Role.
3723        '''
3724
3725    def __repr__(self):
3726        return '<sdm.AccountResource ' + \
3727            'account_grant_id: ' + repr(self.account_grant_id) + ' ' +\
3728            'account_id: ' + repr(self.account_id) + ' ' +\
3729            'created_at: ' + repr(self.created_at) + ' ' +\
3730            'expires_at: ' + repr(self.expires_at) + ' ' +\
3731            'granted_at: ' + repr(self.granted_at) + ' ' +\
3732            'resource_id: ' + repr(self.resource_id) + ' ' +\
3733            'role_id: ' + repr(self.role_id) + ' ' +\
3734            '>'
3735
3736    def to_dict(self):
3737        return {
3738            'account_grant_id': self.account_grant_id,
3739            'account_id': self.account_id,
3740            'created_at': self.created_at,
3741            'expires_at': self.expires_at,
3742            'granted_at': self.granted_at,
3743            'resource_id': self.resource_id,
3744            'role_id': self.role_id,
3745        }
3746
3747    @classmethod
3748    def from_dict(cls, d):
3749        return cls(
3750            account_grant_id=d.get('account_grant_id'),
3751            account_id=d.get('account_id'),
3752            created_at=d.get('created_at'),
3753            expires_at=d.get('expires_at'),
3754            granted_at=d.get('granted_at'),
3755            resource_id=d.get('resource_id'),
3756            role_id=d.get('role_id'),
3757        )

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)
3682    def __init__(
3683        self,
3684        account_grant_id=None,
3685        account_id=None,
3686        created_at=None,
3687        expires_at=None,
3688        granted_at=None,
3689        resource_id=None,
3690        role_id=None,
3691    ):
3692        self.account_grant_id = account_grant_id if account_grant_id is not None else ''
3693        '''
3694         The unique identifier of the AccountGrant through which the Account was granted access to the Resource.
3695         If empty, access was not granted through an AccountGrant.
3696        '''
3697        self.account_id = account_id if account_id is not None else ''
3698        '''
3699         The unique identifier of the Account to which access is granted.
3700        '''
3701        self.created_at = created_at if created_at is not None else None
3702        '''
3703         The time this grant was created, distinct from 'granted at' in the case where access is scheduled
3704         for the future. If access was granted, revoked, and granted again, this will reflect the later creation time.
3705        '''
3706        self.expires_at = expires_at if expires_at is not None else None
3707        '''
3708         The time at which access will expire. If empty, this access has no expiration.
3709        '''
3710        self.granted_at = granted_at if granted_at is not None else None
3711        '''
3712         The most recent time at which access was granted. If access was granted,
3713         revoked, and granted again, this will reflect the later time.
3714        '''
3715        self.resource_id = resource_id if resource_id is not None else ''
3716        '''
3717         The unique identifier of the Resource to which access is granted.
3718        '''
3719        self.role_id = role_id if role_id is not None else ''
3720        '''
3721         The unique identifier of the Role through which the Account was granted access to the Resource.
3722         If empty, access was not granted through an AccountAttachment to a Role.
3723        '''
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)
3736    def to_dict(self):
3737        return {
3738            'account_grant_id': self.account_grant_id,
3739            'account_id': self.account_id,
3740            'created_at': self.created_at,
3741            'expires_at': self.expires_at,
3742            'granted_at': self.granted_at,
3743            'resource_id': self.resource_id,
3744            'role_id': self.role_id,
3745        }
@classmethod
def from_dict(cls, d)
3747    @classmethod
3748    def from_dict(cls, d):
3749        return cls(
3750            account_grant_id=d.get('account_grant_id'),
3751            account_id=d.get('account_id'),
3752            created_at=d.get('created_at'),
3753            expires_at=d.get('expires_at'),
3754            granted_at=d.get('granted_at'),
3755            resource_id=d.get('resource_id'),
3756            role_id=d.get('role_id'),
3757        )
class AccountResourceHistory:
3760class AccountResourceHistory:
3761    '''
3762         AccountResourceHistory records the state of a AccountResource at a given point in time,
3763     where every change (create or delete) to a AccountResource produces an
3764     AccountResourceHistory record.
3765    '''
3766    __slots__ = [
3767        'account_resource',
3768        'activity_id',
3769        'deleted_at',
3770        'timestamp',
3771    ]
3772
3773    def __init__(
3774        self,
3775        account_resource=None,
3776        activity_id=None,
3777        deleted_at=None,
3778        timestamp=None,
3779    ):
3780        self.account_resource = account_resource if account_resource is not None else None
3781        '''
3782         The complete AccountResource state at this time.
3783        '''
3784        self.activity_id = activity_id if activity_id is not None else ''
3785        '''
3786         The unique identifier of the Activity that produced this change to the AccountResource.
3787         May be empty for some system-initiated updates.
3788        '''
3789        self.deleted_at = deleted_at if deleted_at is not None else None
3790        '''
3791         If this AccountResource was deleted, the time it was deleted.
3792        '''
3793        self.timestamp = timestamp if timestamp is not None else None
3794        '''
3795         The time at which the AccountResource state was recorded.
3796        '''
3797
3798    def __repr__(self):
3799        return '<sdm.AccountResourceHistory ' + \
3800            'account_resource: ' + repr(self.account_resource) + ' ' +\
3801            'activity_id: ' + repr(self.activity_id) + ' ' +\
3802            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
3803            'timestamp: ' + repr(self.timestamp) + ' ' +\
3804            '>'
3805
3806    def to_dict(self):
3807        return {
3808            'account_resource': self.account_resource,
3809            'activity_id': self.activity_id,
3810            'deleted_at': self.deleted_at,
3811            'timestamp': self.timestamp,
3812        }
3813
3814    @classmethod
3815    def from_dict(cls, d):
3816        return cls(
3817            account_resource=d.get('account_resource'),
3818            activity_id=d.get('activity_id'),
3819            deleted_at=d.get('deleted_at'),
3820            timestamp=d.get('timestamp'),
3821        )

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)
3773    def __init__(
3774        self,
3775        account_resource=None,
3776        activity_id=None,
3777        deleted_at=None,
3778        timestamp=None,
3779    ):
3780        self.account_resource = account_resource if account_resource is not None else None
3781        '''
3782         The complete AccountResource state at this time.
3783        '''
3784        self.activity_id = activity_id if activity_id is not None else ''
3785        '''
3786         The unique identifier of the Activity that produced this change to the AccountResource.
3787         May be empty for some system-initiated updates.
3788        '''
3789        self.deleted_at = deleted_at if deleted_at is not None else None
3790        '''
3791         If this AccountResource was deleted, the time it was deleted.
3792        '''
3793        self.timestamp = timestamp if timestamp is not None else None
3794        '''
3795         The time at which the AccountResource state was recorded.
3796        '''
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)
3806    def to_dict(self):
3807        return {
3808            'account_resource': self.account_resource,
3809            'activity_id': self.activity_id,
3810            'deleted_at': self.deleted_at,
3811            'timestamp': self.timestamp,
3812        }
@classmethod
def from_dict(cls, d)
3814    @classmethod
3815    def from_dict(cls, d):
3816        return cls(
3817            account_resource=d.get('account_resource'),
3818            activity_id=d.get('activity_id'),
3819            deleted_at=d.get('deleted_at'),
3820            timestamp=d.get('timestamp'),
3821        )
class AccountUpdateResponse:
3824class AccountUpdateResponse:
3825    '''
3826         AccountUpdateResponse returns the fields of a Account after it has been updated by
3827     a AccountUpdateRequest.
3828    '''
3829    __slots__ = [
3830        'account',
3831        'meta',
3832        'rate_limit',
3833    ]
3834
3835    def __init__(
3836        self,
3837        account=None,
3838        meta=None,
3839        rate_limit=None,
3840    ):
3841        self.account = account if account is not None else None
3842        '''
3843         The updated Account.
3844        '''
3845        self.meta = meta if meta is not None else None
3846        '''
3847         Reserved for future use.
3848        '''
3849        self.rate_limit = rate_limit if rate_limit is not None else None
3850        '''
3851         Rate limit information.
3852        '''
3853
3854    def __repr__(self):
3855        return '<sdm.AccountUpdateResponse ' + \
3856            'account: ' + repr(self.account) + ' ' +\
3857            'meta: ' + repr(self.meta) + ' ' +\
3858            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
3859            '>'
3860
3861    def to_dict(self):
3862        return {
3863            'account': self.account,
3864            'meta': self.meta,
3865            'rate_limit': self.rate_limit,
3866        }
3867
3868    @classmethod
3869    def from_dict(cls, d):
3870        return cls(
3871            account=d.get('account'),
3872            meta=d.get('meta'),
3873            rate_limit=d.get('rate_limit'),
3874        )

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

AccountUpdateResponse(account=None, meta=None, rate_limit=None)
3835    def __init__(
3836        self,
3837        account=None,
3838        meta=None,
3839        rate_limit=None,
3840    ):
3841        self.account = account if account is not None else None
3842        '''
3843         The updated Account.
3844        '''
3845        self.meta = meta if meta is not None else None
3846        '''
3847         Reserved for future use.
3848        '''
3849        self.rate_limit = rate_limit if rate_limit is not None else None
3850        '''
3851         Rate limit information.
3852        '''
account

The updated Account.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
3861    def to_dict(self):
3862        return {
3863            'account': self.account,
3864            'meta': self.meta,
3865            'rate_limit': self.rate_limit,
3866        }
@classmethod
def from_dict(cls, d)
3868    @classmethod
3869    def from_dict(cls, d):
3870        return cls(
3871            account=d.get('account'),
3872            meta=d.get('meta'),
3873            rate_limit=d.get('rate_limit'),
3874        )
class ActiveDirectoryEngine:
3877class ActiveDirectoryEngine:
3878    __slots__ = [
3879        'after_read_ttl',
3880        'binddn',
3881        'bindpass',
3882        'certificate',
3883        'connection_timeout',
3884        'do_not_validate_timestamps',
3885        'id',
3886        'insecure_tls',
3887        'key_rotation_interval_days',
3888        'max_backoff_duration',
3889        'name',
3890        'policy',
3891        'public_key',
3892        'request_timeout',
3893        'secret_store_id',
3894        'secret_store_root_path',
3895        'start_tls',
3896        'tags',
3897        'ttl',
3898        'upndomain',
3899        'url',
3900        'userdn',
3901    ]
3902
3903    def __init__(
3904        self,
3905        after_read_ttl=None,
3906        binddn=None,
3907        bindpass=None,
3908        certificate=None,
3909        connection_timeout=None,
3910        do_not_validate_timestamps=None,
3911        id=None,
3912        insecure_tls=None,
3913        key_rotation_interval_days=None,
3914        max_backoff_duration=None,
3915        name=None,
3916        policy=None,
3917        public_key=None,
3918        request_timeout=None,
3919        secret_store_id=None,
3920        secret_store_root_path=None,
3921        start_tls=None,
3922        tags=None,
3923        ttl=None,
3924        upndomain=None,
3925        url=None,
3926        userdn=None,
3927    ):
3928        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
3929        '''
3930         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
3931        '''
3932        self.binddn = binddn if binddn is not None else ''
3933        '''
3934         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
3935        '''
3936        self.bindpass = bindpass if bindpass is not None else ''
3937        '''
3938         Password to use along with binddn when performing user search.
3939        '''
3940        self.certificate = certificate if certificate is not None else ''
3941        '''
3942         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
3943        '''
3944        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
3945        '''
3946         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
3947        '''
3948        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
3949        '''
3950         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
3951        '''
3952        self.id = id if id is not None else ''
3953        '''
3954         Unique identifier of the Secret Engine.
3955        '''
3956        self.insecure_tls = insecure_tls if insecure_tls is not None else False
3957        '''
3958         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
3959        '''
3960        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
3961        '''
3962         An interval of public/private key rotation for secret engine in days
3963        '''
3964        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
3965        '''
3966         The maximum retry duration in case of automatic failure.
3967         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
3968        '''
3969        self.name = name if name is not None else ''
3970        '''
3971         Unique human-readable name of the Secret Engine.
3972        '''
3973        self.policy = policy if policy is not None else None
3974        '''
3975         Policy for password creation
3976        '''
3977        self.public_key = public_key if public_key is not None else b''
3978        '''
3979         Public key linked with a secret engine
3980        '''
3981        self.request_timeout = request_timeout if request_timeout is not None else 0
3982        '''
3983         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
3984        '''
3985        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3986        '''
3987         Backing secret store identifier
3988        '''
3989        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
3990        '''
3991         Backing Secret Store root path where managed secrets are going to be stored
3992        '''
3993        self.start_tls = start_tls if start_tls is not None else False
3994        '''
3995         If true, issues a StartTLS command after establishing an unencrypted connection.
3996        '''
3997        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3998        '''
3999         Tags is a map of key, value pairs.
4000        '''
4001        self.ttl = ttl if ttl is not None else None
4002        '''
4003         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
4004        '''
4005        self.upndomain = upndomain if upndomain is not None else ''
4006        '''
4007         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
4008        '''
4009        self.url = url if url is not None else ''
4010        '''
4011         The LDAP server to connect to.
4012        '''
4013        self.userdn = userdn if userdn is not None else ''
4014        '''
4015         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
4016        '''
4017
4018    def __repr__(self):
4019        return '<sdm.ActiveDirectoryEngine ' + \
4020            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
4021            'binddn: ' + repr(self.binddn) + ' ' +\
4022            'bindpass: ' + repr(self.bindpass) + ' ' +\
4023            'certificate: ' + repr(self.certificate) + ' ' +\
4024            'connection_timeout: ' + repr(self.connection_timeout) + ' ' +\
4025            'do_not_validate_timestamps: ' + repr(self.do_not_validate_timestamps) + ' ' +\
4026            'id: ' + repr(self.id) + ' ' +\
4027            'insecure_tls: ' + repr(self.insecure_tls) + ' ' +\
4028            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
4029            'max_backoff_duration: ' + repr(self.max_backoff_duration) + ' ' +\
4030            'name: ' + repr(self.name) + ' ' +\
4031            'policy: ' + repr(self.policy) + ' ' +\
4032            'public_key: ' + repr(self.public_key) + ' ' +\
4033            'request_timeout: ' + repr(self.request_timeout) + ' ' +\
4034            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4035            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
4036            'start_tls: ' + repr(self.start_tls) + ' ' +\
4037            'tags: ' + repr(self.tags) + ' ' +\
4038            'ttl: ' + repr(self.ttl) + ' ' +\
4039            'upndomain: ' + repr(self.upndomain) + ' ' +\
4040            'url: ' + repr(self.url) + ' ' +\
4041            'userdn: ' + repr(self.userdn) + ' ' +\
4042            '>'
4043
4044    def to_dict(self):
4045        return {
4046            'after_read_ttl': self.after_read_ttl,
4047            'binddn': self.binddn,
4048            'bindpass': self.bindpass,
4049            'certificate': self.certificate,
4050            'connection_timeout': self.connection_timeout,
4051            'do_not_validate_timestamps': self.do_not_validate_timestamps,
4052            'id': self.id,
4053            'insecure_tls': self.insecure_tls,
4054            'key_rotation_interval_days': self.key_rotation_interval_days,
4055            'max_backoff_duration': self.max_backoff_duration,
4056            'name': self.name,
4057            'policy': self.policy,
4058            'public_key': self.public_key,
4059            'request_timeout': self.request_timeout,
4060            'secret_store_id': self.secret_store_id,
4061            'secret_store_root_path': self.secret_store_root_path,
4062            'start_tls': self.start_tls,
4063            'tags': self.tags,
4064            'ttl': self.ttl,
4065            'upndomain': self.upndomain,
4066            'url': self.url,
4067            'userdn': self.userdn,
4068        }
4069
4070    @classmethod
4071    def from_dict(cls, d):
4072        return cls(
4073            after_read_ttl=d.get('after_read_ttl'),
4074            binddn=d.get('binddn'),
4075            bindpass=d.get('bindpass'),
4076            certificate=d.get('certificate'),
4077            connection_timeout=d.get('connection_timeout'),
4078            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
4079            id=d.get('id'),
4080            insecure_tls=d.get('insecure_tls'),
4081            key_rotation_interval_days=d.get('key_rotation_interval_days'),
4082            max_backoff_duration=d.get('max_backoff_duration'),
4083            name=d.get('name'),
4084            policy=d.get('policy'),
4085            public_key=d.get('public_key'),
4086            request_timeout=d.get('request_timeout'),
4087            secret_store_id=d.get('secret_store_id'),
4088            secret_store_root_path=d.get('secret_store_root_path'),
4089            start_tls=d.get('start_tls'),
4090            tags=d.get('tags'),
4091            ttl=d.get('ttl'),
4092            upndomain=d.get('upndomain'),
4093            url=d.get('url'),
4094            userdn=d.get('userdn'),
4095        )
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)
3903    def __init__(
3904        self,
3905        after_read_ttl=None,
3906        binddn=None,
3907        bindpass=None,
3908        certificate=None,
3909        connection_timeout=None,
3910        do_not_validate_timestamps=None,
3911        id=None,
3912        insecure_tls=None,
3913        key_rotation_interval_days=None,
3914        max_backoff_duration=None,
3915        name=None,
3916        policy=None,
3917        public_key=None,
3918        request_timeout=None,
3919        secret_store_id=None,
3920        secret_store_root_path=None,
3921        start_tls=None,
3922        tags=None,
3923        ttl=None,
3924        upndomain=None,
3925        url=None,
3926        userdn=None,
3927    ):
3928        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
3929        '''
3930         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
3931        '''
3932        self.binddn = binddn if binddn is not None else ''
3933        '''
3934         Distinguished name of object to bind when performing user and group search. Example: cn=vault,ou=Users,dc=example,dc=com
3935        '''
3936        self.bindpass = bindpass if bindpass is not None else ''
3937        '''
3938         Password to use along with binddn when performing user search.
3939        '''
3940        self.certificate = certificate if certificate is not None else ''
3941        '''
3942         CA certificate to use when verifying LDAP server certificate, must be x509 PEM encoded.
3943        '''
3944        self.connection_timeout = connection_timeout if connection_timeout is not None else 0
3945        '''
3946         Timeout, in seconds, when attempting to connect to the LDAP server before trying the next URL in the configuration.
3947        '''
3948        self.do_not_validate_timestamps = do_not_validate_timestamps if do_not_validate_timestamps is not None else False
3949        '''
3950         If set to true this will prevent password change timestamp validation in Active Directory when validating credentials
3951        '''
3952        self.id = id if id is not None else ''
3953        '''
3954         Unique identifier of the Secret Engine.
3955        '''
3956        self.insecure_tls = insecure_tls if insecure_tls is not None else False
3957        '''
3958         If true, skips LDAP server SSL certificate verification - insecure, use with caution!
3959        '''
3960        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
3961        '''
3962         An interval of public/private key rotation for secret engine in days
3963        '''
3964        self.max_backoff_duration = max_backoff_duration if max_backoff_duration is not None else None
3965        '''
3966         The maximum retry duration in case of automatic failure.
3967         On failed ttl rotation attempt it will be retried in an increasing intervals until it reaches max_backoff_duration
3968        '''
3969        self.name = name if name is not None else ''
3970        '''
3971         Unique human-readable name of the Secret Engine.
3972        '''
3973        self.policy = policy if policy is not None else None
3974        '''
3975         Policy for password creation
3976        '''
3977        self.public_key = public_key if public_key is not None else b''
3978        '''
3979         Public key linked with a secret engine
3980        '''
3981        self.request_timeout = request_timeout if request_timeout is not None else 0
3982        '''
3983         Timeout, in seconds, for the connection when making requests against the server before returning back an error.
3984        '''
3985        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
3986        '''
3987         Backing secret store identifier
3988        '''
3989        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
3990        '''
3991         Backing Secret Store root path where managed secrets are going to be stored
3992        '''
3993        self.start_tls = start_tls if start_tls is not None else False
3994        '''
3995         If true, issues a StartTLS command after establishing an unencrypted connection.
3996        '''
3997        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
3998        '''
3999         Tags is a map of key, value pairs.
4000        '''
4001        self.ttl = ttl if ttl is not None else None
4002        '''
4003         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
4004        '''
4005        self.upndomain = upndomain if upndomain is not None else ''
4006        '''
4007         The domain (userPrincipalDomain) used to construct a UPN string for authentication.
4008        '''
4009        self.url = url if url is not None else ''
4010        '''
4011         The LDAP server to connect to.
4012        '''
4013        self.userdn = userdn if userdn is not None else ''
4014        '''
4015         Base DN under which to perform user search. Example: ou=Users,dc=example,dc=com
4016        '''
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)
4044    def to_dict(self):
4045        return {
4046            'after_read_ttl': self.after_read_ttl,
4047            'binddn': self.binddn,
4048            'bindpass': self.bindpass,
4049            'certificate': self.certificate,
4050            'connection_timeout': self.connection_timeout,
4051            'do_not_validate_timestamps': self.do_not_validate_timestamps,
4052            'id': self.id,
4053            'insecure_tls': self.insecure_tls,
4054            'key_rotation_interval_days': self.key_rotation_interval_days,
4055            'max_backoff_duration': self.max_backoff_duration,
4056            'name': self.name,
4057            'policy': self.policy,
4058            'public_key': self.public_key,
4059            'request_timeout': self.request_timeout,
4060            'secret_store_id': self.secret_store_id,
4061            'secret_store_root_path': self.secret_store_root_path,
4062            'start_tls': self.start_tls,
4063            'tags': self.tags,
4064            'ttl': self.ttl,
4065            'upndomain': self.upndomain,
4066            'url': self.url,
4067            'userdn': self.userdn,
4068        }
@classmethod
def from_dict(cls, d)
4070    @classmethod
4071    def from_dict(cls, d):
4072        return cls(
4073            after_read_ttl=d.get('after_read_ttl'),
4074            binddn=d.get('binddn'),
4075            bindpass=d.get('bindpass'),
4076            certificate=d.get('certificate'),
4077            connection_timeout=d.get('connection_timeout'),
4078            do_not_validate_timestamps=d.get('do_not_validate_timestamps'),
4079            id=d.get('id'),
4080            insecure_tls=d.get('insecure_tls'),
4081            key_rotation_interval_days=d.get('key_rotation_interval_days'),
4082            max_backoff_duration=d.get('max_backoff_duration'),
4083            name=d.get('name'),
4084            policy=d.get('policy'),
4085            public_key=d.get('public_key'),
4086            request_timeout=d.get('request_timeout'),
4087            secret_store_id=d.get('secret_store_id'),
4088            secret_store_root_path=d.get('secret_store_root_path'),
4089            start_tls=d.get('start_tls'),
4090            tags=d.get('tags'),
4091            ttl=d.get('ttl'),
4092            upndomain=d.get('upndomain'),
4093            url=d.get('url'),
4094            userdn=d.get('userdn'),
4095        )
class ActiveDirectoryStore:
4098class ActiveDirectoryStore:
4099    __slots__ = [
4100        'id',
4101        'name',
4102        'server_address',
4103        'tags',
4104    ]
4105
4106    def __init__(
4107        self,
4108        id=None,
4109        name=None,
4110        server_address=None,
4111        tags=None,
4112    ):
4113        self.id = id if id is not None else ''
4114        '''
4115         Unique identifier of the SecretStore.
4116        '''
4117        self.name = name if name is not None else ''
4118        '''
4119         Unique human-readable name of the SecretStore.
4120        '''
4121        self.server_address = server_address if server_address is not None else ''
4122        '''
4123         Hostname of server that is hosting NDES (Network Device Enrollment Services).
4124         Often this is the same host as Active Directory Certificate Services
4125        '''
4126        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4127        '''
4128         Tags is a map of key, value pairs.
4129        '''
4130
4131    def __repr__(self):
4132        return '<sdm.ActiveDirectoryStore ' + \
4133            'id: ' + repr(self.id) + ' ' +\
4134            'name: ' + repr(self.name) + ' ' +\
4135            'server_address: ' + repr(self.server_address) + ' ' +\
4136            'tags: ' + repr(self.tags) + ' ' +\
4137            '>'
4138
4139    def to_dict(self):
4140        return {
4141            'id': self.id,
4142            'name': self.name,
4143            'server_address': self.server_address,
4144            'tags': self.tags,
4145        }
4146
4147    @classmethod
4148    def from_dict(cls, d):
4149        return cls(
4150            id=d.get('id'),
4151            name=d.get('name'),
4152            server_address=d.get('server_address'),
4153            tags=d.get('tags'),
4154        )
ActiveDirectoryStore(id=None, name=None, server_address=None, tags=None)
4106    def __init__(
4107        self,
4108        id=None,
4109        name=None,
4110        server_address=None,
4111        tags=None,
4112    ):
4113        self.id = id if id is not None else ''
4114        '''
4115         Unique identifier of the SecretStore.
4116        '''
4117        self.name = name if name is not None else ''
4118        '''
4119         Unique human-readable name of the SecretStore.
4120        '''
4121        self.server_address = server_address if server_address is not None else ''
4122        '''
4123         Hostname of server that is hosting NDES (Network Device Enrollment Services).
4124         Often this is the same host as Active Directory Certificate Services
4125        '''
4126        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4127        '''
4128         Tags is a map of key, value pairs.
4129        '''
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)
4139    def to_dict(self):
4140        return {
4141            'id': self.id,
4142            'name': self.name,
4143            'server_address': self.server_address,
4144            'tags': self.tags,
4145        }
@classmethod
def from_dict(cls, d)
4147    @classmethod
4148    def from_dict(cls, d):
4149        return cls(
4150            id=d.get('id'),
4151            name=d.get('name'),
4152            server_address=d.get('server_address'),
4153            tags=d.get('tags'),
4154        )
class Activity:
4157class Activity:
4158    '''
4159         An Activity is a record of an action taken against a strongDM deployment, e.g.
4160     a user creation, resource deletion, sso configuration change, etc.
4161    '''
4162    __slots__ = [
4163        'actor',
4164        'completed_at',
4165        'description',
4166        'entities',
4167        'id',
4168        'ip_address',
4169        'user_agent',
4170        'verb',
4171    ]
4172
4173    def __init__(
4174        self,
4175        actor=None,
4176        completed_at=None,
4177        description=None,
4178        entities=None,
4179        id=None,
4180        ip_address=None,
4181        user_agent=None,
4182        verb=None,
4183    ):
4184        self.actor = actor if actor is not None else None
4185        '''
4186         The account who executed this activity. If the actor later has a name or email change,
4187         that change is not reflected here. Actor is a snapshot of the executing account at
4188         the time an activity took place.
4189        '''
4190        self.completed_at = completed_at if completed_at is not None else None
4191        '''
4192         The time this activity took effect.
4193        '''
4194        self.description = description if description is not None else ''
4195        '''
4196         A humanized description of the activity.
4197        '''
4198        self.entities = entities if entities is not None else []
4199        '''
4200         The entities involved in this activity. These entities can be any first class
4201         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
4202         every activity affects explicit entities.
4203        '''
4204        self.id = id if id is not None else ''
4205        '''
4206         Unique identifier of the Activity.
4207        '''
4208        self.ip_address = ip_address if ip_address is not None else ''
4209        '''
4210         The IP from which this action was taken.
4211        '''
4212        self.user_agent = user_agent if user_agent is not None else ''
4213        '''
4214         The User Agent present when this request was executed. Generally a client type and version
4215         like strongdm-cli/55.66.77
4216        '''
4217        self.verb = verb if verb is not None else ''
4218        '''
4219         The kind of activity which has taken place, one of the ActivityVerb constants.
4220        '''
4221
4222    def __repr__(self):
4223        return '<sdm.Activity ' + \
4224            'actor: ' + repr(self.actor) + ' ' +\
4225            'completed_at: ' + repr(self.completed_at) + ' ' +\
4226            'description: ' + repr(self.description) + ' ' +\
4227            'entities: ' + repr(self.entities) + ' ' +\
4228            'id: ' + repr(self.id) + ' ' +\
4229            'ip_address: ' + repr(self.ip_address) + ' ' +\
4230            'user_agent: ' + repr(self.user_agent) + ' ' +\
4231            'verb: ' + repr(self.verb) + ' ' +\
4232            '>'
4233
4234    def to_dict(self):
4235        return {
4236            'actor': self.actor,
4237            'completed_at': self.completed_at,
4238            'description': self.description,
4239            'entities': self.entities,
4240            'id': self.id,
4241            'ip_address': self.ip_address,
4242            'user_agent': self.user_agent,
4243            'verb': self.verb,
4244        }
4245
4246    @classmethod
4247    def from_dict(cls, d):
4248        return cls(
4249            actor=d.get('actor'),
4250            completed_at=d.get('completed_at'),
4251            description=d.get('description'),
4252            entities=d.get('entities'),
4253            id=d.get('id'),
4254            ip_address=d.get('ip_address'),
4255            user_agent=d.get('user_agent'),
4256            verb=d.get('verb'),
4257        )

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)
4173    def __init__(
4174        self,
4175        actor=None,
4176        completed_at=None,
4177        description=None,
4178        entities=None,
4179        id=None,
4180        ip_address=None,
4181        user_agent=None,
4182        verb=None,
4183    ):
4184        self.actor = actor if actor is not None else None
4185        '''
4186         The account who executed this activity. If the actor later has a name or email change,
4187         that change is not reflected here. Actor is a snapshot of the executing account at
4188         the time an activity took place.
4189        '''
4190        self.completed_at = completed_at if completed_at is not None else None
4191        '''
4192         The time this activity took effect.
4193        '''
4194        self.description = description if description is not None else ''
4195        '''
4196         A humanized description of the activity.
4197        '''
4198        self.entities = entities if entities is not None else []
4199        '''
4200         The entities involved in this activity. These entities can be any first class
4201         entity in the strongDM system, eg. a user, a role, a node, an account grant. Not
4202         every activity affects explicit entities.
4203        '''
4204        self.id = id if id is not None else ''
4205        '''
4206         Unique identifier of the Activity.
4207        '''
4208        self.ip_address = ip_address if ip_address is not None else ''
4209        '''
4210         The IP from which this action was taken.
4211        '''
4212        self.user_agent = user_agent if user_agent is not None else ''
4213        '''
4214         The User Agent present when this request was executed. Generally a client type and version
4215         like strongdm-cli/55.66.77
4216        '''
4217        self.verb = verb if verb is not None else ''
4218        '''
4219         The kind of activity which has taken place, one of the ActivityVerb constants.
4220        '''
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)
4234    def to_dict(self):
4235        return {
4236            'actor': self.actor,
4237            'completed_at': self.completed_at,
4238            'description': self.description,
4239            'entities': self.entities,
4240            'id': self.id,
4241            'ip_address': self.ip_address,
4242            'user_agent': self.user_agent,
4243            'verb': self.verb,
4244        }
@classmethod
def from_dict(cls, d)
4246    @classmethod
4247    def from_dict(cls, d):
4248        return cls(
4249            actor=d.get('actor'),
4250            completed_at=d.get('completed_at'),
4251            description=d.get('description'),
4252            entities=d.get('entities'),
4253            id=d.get('id'),
4254            ip_address=d.get('ip_address'),
4255            user_agent=d.get('user_agent'),
4256            verb=d.get('verb'),
4257        )
class ActivityActor:
4260class ActivityActor:
4261    __slots__ = [
4262        'activity_external_id',
4263        'email',
4264        'first_name',
4265        'id',
4266        'last_name',
4267    ]
4268
4269    def __init__(
4270        self,
4271        activity_external_id=None,
4272        email=None,
4273        first_name=None,
4274        id=None,
4275        last_name=None,
4276    ):
4277        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
4278        '''
4279         The external ID of the actor at the time this activity occurred.
4280        '''
4281        self.email = email if email is not None else ''
4282        '''
4283         The email of the actor at the time this activity occurred.
4284        '''
4285        self.first_name = first_name if first_name is not None else ''
4286        '''
4287         The first name of the actor at the time this activity occurred.
4288        '''
4289        self.id = id if id is not None else ''
4290        '''
4291         Unique identifier of the actor. Immutable.
4292        '''
4293        self.last_name = last_name if last_name is not None else ''
4294        '''
4295         The last name of the actor at the time this activity occurred.
4296        '''
4297
4298    def __repr__(self):
4299        return '<sdm.ActivityActor ' + \
4300            'activity_external_id: ' + repr(self.activity_external_id) + ' ' +\
4301            'email: ' + repr(self.email) + ' ' +\
4302            'first_name: ' + repr(self.first_name) + ' ' +\
4303            'id: ' + repr(self.id) + ' ' +\
4304            'last_name: ' + repr(self.last_name) + ' ' +\
4305            '>'
4306
4307    def to_dict(self):
4308        return {
4309            'activity_external_id': self.activity_external_id,
4310            'email': self.email,
4311            'first_name': self.first_name,
4312            'id': self.id,
4313            'last_name': self.last_name,
4314        }
4315
4316    @classmethod
4317    def from_dict(cls, d):
4318        return cls(
4319            activity_external_id=d.get('activity_external_id'),
4320            email=d.get('email'),
4321            first_name=d.get('first_name'),
4322            id=d.get('id'),
4323            last_name=d.get('last_name'),
4324        )
ActivityActor( activity_external_id=None, email=None, first_name=None, id=None, last_name=None)
4269    def __init__(
4270        self,
4271        activity_external_id=None,
4272        email=None,
4273        first_name=None,
4274        id=None,
4275        last_name=None,
4276    ):
4277        self.activity_external_id = activity_external_id if activity_external_id is not None else ''
4278        '''
4279         The external ID of the actor at the time this activity occurred.
4280        '''
4281        self.email = email if email is not None else ''
4282        '''
4283         The email of the actor at the time this activity occurred.
4284        '''
4285        self.first_name = first_name if first_name is not None else ''
4286        '''
4287         The first name of the actor at the time this activity occurred.
4288        '''
4289        self.id = id if id is not None else ''
4290        '''
4291         Unique identifier of the actor. Immutable.
4292        '''
4293        self.last_name = last_name if last_name is not None else ''
4294        '''
4295         The last name of the actor at the time this activity occurred.
4296        '''
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)
4307    def to_dict(self):
4308        return {
4309            'activity_external_id': self.activity_external_id,
4310            'email': self.email,
4311            'first_name': self.first_name,
4312            'id': self.id,
4313            'last_name': self.last_name,
4314        }
@classmethod
def from_dict(cls, d)
4316    @classmethod
4317    def from_dict(cls, d):
4318        return cls(
4319            activity_external_id=d.get('activity_external_id'),
4320            email=d.get('email'),
4321            first_name=d.get('first_name'),
4322            id=d.get('id'),
4323            last_name=d.get('last_name'),
4324        )
class ActivityEntity:
4327class ActivityEntity:
4328    __slots__ = [
4329        'email',
4330        'external_id',
4331        'id',
4332        'name',
4333        'type',
4334    ]
4335
4336    def __init__(
4337        self,
4338        email=None,
4339        external_id=None,
4340        id=None,
4341        name=None,
4342        type=None,
4343    ):
4344        self.email = email if email is not None else ''
4345        '''
4346         The email of the affected entity, if it has one (for example, if it is an account).
4347        '''
4348        self.external_id = external_id if external_id is not None else ''
4349        '''
4350         The external ID of the affected entity, if it has one (for example, if it is an account).
4351        '''
4352        self.id = id if id is not None else ''
4353        '''
4354         The unique identifier of the entity this activity affected.
4355        '''
4356        self.name = name if name is not None else ''
4357        '''
4358         A display name representing the affected entity.
4359        '''
4360        self.type = type if type is not None else ''
4361        '''
4362         The type of entity affected, one of the ActivityEntityType constants.
4363        '''
4364
4365    def __repr__(self):
4366        return '<sdm.ActivityEntity ' + \
4367            'email: ' + repr(self.email) + ' ' +\
4368            'external_id: ' + repr(self.external_id) + ' ' +\
4369            'id: ' + repr(self.id) + ' ' +\
4370            'name: ' + repr(self.name) + ' ' +\
4371            'type: ' + repr(self.type) + ' ' +\
4372            '>'
4373
4374    def to_dict(self):
4375        return {
4376            'email': self.email,
4377            'external_id': self.external_id,
4378            'id': self.id,
4379            'name': self.name,
4380            'type': self.type,
4381        }
4382
4383    @classmethod
4384    def from_dict(cls, d):
4385        return cls(
4386            email=d.get('email'),
4387            external_id=d.get('external_id'),
4388            id=d.get('id'),
4389            name=d.get('name'),
4390            type=d.get('type'),
4391        )
ActivityEntity(email=None, external_id=None, id=None, name=None, type=None)
4336    def __init__(
4337        self,
4338        email=None,
4339        external_id=None,
4340        id=None,
4341        name=None,
4342        type=None,
4343    ):
4344        self.email = email if email is not None else ''
4345        '''
4346         The email of the affected entity, if it has one (for example, if it is an account).
4347        '''
4348        self.external_id = external_id if external_id is not None else ''
4349        '''
4350         The external ID of the affected entity, if it has one (for example, if it is an account).
4351        '''
4352        self.id = id if id is not None else ''
4353        '''
4354         The unique identifier of the entity this activity affected.
4355        '''
4356        self.name = name if name is not None else ''
4357        '''
4358         A display name representing the affected entity.
4359        '''
4360        self.type = type if type is not None else ''
4361        '''
4362         The type of entity affected, one of the ActivityEntityType constants.
4363        '''
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)
4374    def to_dict(self):
4375        return {
4376            'email': self.email,
4377            'external_id': self.external_id,
4378            'id': self.id,
4379            'name': self.name,
4380            'type': self.type,
4381        }
@classmethod
def from_dict(cls, d)
4383    @classmethod
4384    def from_dict(cls, d):
4385        return cls(
4386            email=d.get('email'),
4387            external_id=d.get('external_id'),
4388            id=d.get('id'),
4389            name=d.get('name'),
4390            type=d.get('type'),
4391        )
class ActivityGetResponse:
4394class ActivityGetResponse:
4395    '''
4396         ActivityGetResponse returns a requested Activity.
4397    '''
4398    __slots__ = [
4399        'activity',
4400        'meta',
4401        'rate_limit',
4402    ]
4403
4404    def __init__(
4405        self,
4406        activity=None,
4407        meta=None,
4408        rate_limit=None,
4409    ):
4410        self.activity = activity if activity is not None else None
4411        '''
4412         The requested Activity.
4413        '''
4414        self.meta = meta if meta is not None else None
4415        '''
4416         Reserved for future use.
4417        '''
4418        self.rate_limit = rate_limit if rate_limit is not None else None
4419        '''
4420         Rate limit information.
4421        '''
4422
4423    def __repr__(self):
4424        return '<sdm.ActivityGetResponse ' + \
4425            'activity: ' + repr(self.activity) + ' ' +\
4426            'meta: ' + repr(self.meta) + ' ' +\
4427            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
4428            '>'
4429
4430    def to_dict(self):
4431        return {
4432            'activity': self.activity,
4433            'meta': self.meta,
4434            'rate_limit': self.rate_limit,
4435        }
4436
4437    @classmethod
4438    def from_dict(cls, d):
4439        return cls(
4440            activity=d.get('activity'),
4441            meta=d.get('meta'),
4442            rate_limit=d.get('rate_limit'),
4443        )

ActivityGetResponse returns a requested Activity.

ActivityGetResponse(activity=None, meta=None, rate_limit=None)
4404    def __init__(
4405        self,
4406        activity=None,
4407        meta=None,
4408        rate_limit=None,
4409    ):
4410        self.activity = activity if activity is not None else None
4411        '''
4412         The requested Activity.
4413        '''
4414        self.meta = meta if meta is not None else None
4415        '''
4416         Reserved for future use.
4417        '''
4418        self.rate_limit = rate_limit if rate_limit is not None else None
4419        '''
4420         Rate limit information.
4421        '''
activity

The requested Activity.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
4430    def to_dict(self):
4431        return {
4432            'activity': self.activity,
4433            'meta': self.meta,
4434            'rate_limit': self.rate_limit,
4435        }
@classmethod
def from_dict(cls, d)
4437    @classmethod
4438    def from_dict(cls, d):
4439        return cls(
4440            activity=d.get('activity'),
4441            meta=d.get('meta'),
4442            rate_limit=d.get('rate_limit'),
4443        )
class Aerospike:
4446class Aerospike:
4447    __slots__ = [
4448        'bind_interface',
4449        'egress_filter',
4450        'healthy',
4451        'hostname',
4452        'id',
4453        'name',
4454        'password',
4455        'port',
4456        'port_override',
4457        'proxy_cluster_id',
4458        'secret_store_id',
4459        'subdomain',
4460        'tags',
4461        'use_services_alternate',
4462        'username',
4463    ]
4464
4465    def __init__(
4466        self,
4467        bind_interface=None,
4468        egress_filter=None,
4469        healthy=None,
4470        hostname=None,
4471        id=None,
4472        name=None,
4473        password=None,
4474        port=None,
4475        port_override=None,
4476        proxy_cluster_id=None,
4477        secret_store_id=None,
4478        subdomain=None,
4479        tags=None,
4480        use_services_alternate=None,
4481        username=None,
4482    ):
4483        self.bind_interface = bind_interface if bind_interface is not None else ''
4484        '''
4485         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4486        '''
4487        self.egress_filter = egress_filter if egress_filter is not None else ''
4488        '''
4489         A filter applied to the routing logic to pin datasource to nodes.
4490        '''
4491        self.healthy = healthy if healthy is not None else False
4492        '''
4493         True if the datasource is reachable and the credentials are valid.
4494        '''
4495        self.hostname = hostname if hostname is not None else ''
4496        '''
4497         The host to dial to initiate a connection from the egress node to this resource.
4498        '''
4499        self.id = id if id is not None else ''
4500        '''
4501         Unique identifier of the Resource.
4502        '''
4503        self.name = name if name is not None else ''
4504        '''
4505         Unique human-readable name of the Resource.
4506        '''
4507        self.password = password if password is not None else ''
4508        '''
4509         The password to authenticate with.
4510        '''
4511        self.port = port if port is not None else 0
4512        '''
4513         The port to dial to initiate a connection from the egress node to this resource.
4514        '''
4515        self.port_override = port_override if port_override is not None else 0
4516        '''
4517         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4518        '''
4519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4520        '''
4521         ID of the proxy cluster for this resource, if any.
4522        '''
4523        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4524        '''
4525         ID of the secret store containing credentials for this resource, if any.
4526        '''
4527        self.subdomain = subdomain if subdomain is not None else ''
4528        '''
4529         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4530        '''
4531        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4532        '''
4533         Tags is a map of key, value pairs.
4534        '''
4535        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
4536        '''
4537         If true, uses UseServicesAlternates directive for Aerospike connection
4538        '''
4539        self.username = username if username is not None else ''
4540        '''
4541         The username to authenticate with.
4542        '''
4543
4544    def __repr__(self):
4545        return '<sdm.Aerospike ' + \
4546            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4547            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4548            'healthy: ' + repr(self.healthy) + ' ' +\
4549            'hostname: ' + repr(self.hostname) + ' ' +\
4550            'id: ' + repr(self.id) + ' ' +\
4551            'name: ' + repr(self.name) + ' ' +\
4552            'password: ' + repr(self.password) + ' ' +\
4553            'port: ' + repr(self.port) + ' ' +\
4554            'port_override: ' + repr(self.port_override) + ' ' +\
4555            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4556            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4557            'subdomain: ' + repr(self.subdomain) + ' ' +\
4558            'tags: ' + repr(self.tags) + ' ' +\
4559            'use_services_alternate: ' + repr(self.use_services_alternate) + ' ' +\
4560            'username: ' + repr(self.username) + ' ' +\
4561            '>'
4562
4563    def to_dict(self):
4564        return {
4565            'bind_interface': self.bind_interface,
4566            'egress_filter': self.egress_filter,
4567            'healthy': self.healthy,
4568            'hostname': self.hostname,
4569            'id': self.id,
4570            'name': self.name,
4571            'password': self.password,
4572            'port': self.port,
4573            'port_override': self.port_override,
4574            'proxy_cluster_id': self.proxy_cluster_id,
4575            'secret_store_id': self.secret_store_id,
4576            'subdomain': self.subdomain,
4577            'tags': self.tags,
4578            'use_services_alternate': self.use_services_alternate,
4579            'username': self.username,
4580        }
4581
4582    @classmethod
4583    def from_dict(cls, d):
4584        return cls(
4585            bind_interface=d.get('bind_interface'),
4586            egress_filter=d.get('egress_filter'),
4587            healthy=d.get('healthy'),
4588            hostname=d.get('hostname'),
4589            id=d.get('id'),
4590            name=d.get('name'),
4591            password=d.get('password'),
4592            port=d.get('port'),
4593            port_override=d.get('port_override'),
4594            proxy_cluster_id=d.get('proxy_cluster_id'),
4595            secret_store_id=d.get('secret_store_id'),
4596            subdomain=d.get('subdomain'),
4597            tags=d.get('tags'),
4598            use_services_alternate=d.get('use_services_alternate'),
4599            username=d.get('username'),
4600        )
Aerospike( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, use_services_alternate=None, username=None)
4465    def __init__(
4466        self,
4467        bind_interface=None,
4468        egress_filter=None,
4469        healthy=None,
4470        hostname=None,
4471        id=None,
4472        name=None,
4473        password=None,
4474        port=None,
4475        port_override=None,
4476        proxy_cluster_id=None,
4477        secret_store_id=None,
4478        subdomain=None,
4479        tags=None,
4480        use_services_alternate=None,
4481        username=None,
4482    ):
4483        self.bind_interface = bind_interface if bind_interface is not None else ''
4484        '''
4485         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4486        '''
4487        self.egress_filter = egress_filter if egress_filter is not None else ''
4488        '''
4489         A filter applied to the routing logic to pin datasource to nodes.
4490        '''
4491        self.healthy = healthy if healthy is not None else False
4492        '''
4493         True if the datasource is reachable and the credentials are valid.
4494        '''
4495        self.hostname = hostname if hostname is not None else ''
4496        '''
4497         The host to dial to initiate a connection from the egress node to this resource.
4498        '''
4499        self.id = id if id is not None else ''
4500        '''
4501         Unique identifier of the Resource.
4502        '''
4503        self.name = name if name is not None else ''
4504        '''
4505         Unique human-readable name of the Resource.
4506        '''
4507        self.password = password if password is not None else ''
4508        '''
4509         The password to authenticate with.
4510        '''
4511        self.port = port if port is not None else 0
4512        '''
4513         The port to dial to initiate a connection from the egress node to this resource.
4514        '''
4515        self.port_override = port_override if port_override is not None else 0
4516        '''
4517         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4518        '''
4519        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4520        '''
4521         ID of the proxy cluster for this resource, if any.
4522        '''
4523        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4524        '''
4525         ID of the secret store containing credentials for this resource, if any.
4526        '''
4527        self.subdomain = subdomain if subdomain is not None else ''
4528        '''
4529         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4530        '''
4531        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4532        '''
4533         Tags is a map of key, value pairs.
4534        '''
4535        self.use_services_alternate = use_services_alternate if use_services_alternate is not None else False
4536        '''
4537         If true, uses UseServicesAlternates directive for Aerospike connection
4538        '''
4539        self.username = username if username is not None else ''
4540        '''
4541         The username to authenticate with.
4542        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

use_services_alternate

If true, uses UseServicesAlternates directive for Aerospike connection

username

The username to authenticate with.

def to_dict(self)
4563    def to_dict(self):
4564        return {
4565            'bind_interface': self.bind_interface,
4566            'egress_filter': self.egress_filter,
4567            'healthy': self.healthy,
4568            'hostname': self.hostname,
4569            'id': self.id,
4570            'name': self.name,
4571            'password': self.password,
4572            'port': self.port,
4573            'port_override': self.port_override,
4574            'proxy_cluster_id': self.proxy_cluster_id,
4575            'secret_store_id': self.secret_store_id,
4576            'subdomain': self.subdomain,
4577            'tags': self.tags,
4578            'use_services_alternate': self.use_services_alternate,
4579            'username': self.username,
4580        }
@classmethod
def from_dict(cls, d)
4582    @classmethod
4583    def from_dict(cls, d):
4584        return cls(
4585            bind_interface=d.get('bind_interface'),
4586            egress_filter=d.get('egress_filter'),
4587            healthy=d.get('healthy'),
4588            hostname=d.get('hostname'),
4589            id=d.get('id'),
4590            name=d.get('name'),
4591            password=d.get('password'),
4592            port=d.get('port'),
4593            port_override=d.get('port_override'),
4594            proxy_cluster_id=d.get('proxy_cluster_id'),
4595            secret_store_id=d.get('secret_store_id'),
4596            subdomain=d.get('subdomain'),
4597            tags=d.get('tags'),
4598            use_services_alternate=d.get('use_services_alternate'),
4599            username=d.get('username'),
4600        )
class AmazonEKS:
4603class AmazonEKS:
4604    __slots__ = [
4605        'access_key',
4606        'allow_resource_role_bypass',
4607        'bind_interface',
4608        'certificate_authority',
4609        'cluster_name',
4610        'discovery_enabled',
4611        'discovery_username',
4612        'egress_filter',
4613        'endpoint',
4614        'healthcheck_namespace',
4615        'healthy',
4616        'id',
4617        'identity_alias_healthcheck_username',
4618        'identity_set_id',
4619        'name',
4620        'port_override',
4621        'proxy_cluster_id',
4622        'region',
4623        'role_arn',
4624        'role_external_id',
4625        'secret_access_key',
4626        'secret_store_id',
4627        'subdomain',
4628        'tags',
4629    ]
4630
4631    def __init__(
4632        self,
4633        access_key=None,
4634        allow_resource_role_bypass=None,
4635        bind_interface=None,
4636        certificate_authority=None,
4637        cluster_name=None,
4638        discovery_enabled=None,
4639        discovery_username=None,
4640        egress_filter=None,
4641        endpoint=None,
4642        healthcheck_namespace=None,
4643        healthy=None,
4644        id=None,
4645        identity_alias_healthcheck_username=None,
4646        identity_set_id=None,
4647        name=None,
4648        port_override=None,
4649        proxy_cluster_id=None,
4650        region=None,
4651        role_arn=None,
4652        role_external_id=None,
4653        secret_access_key=None,
4654        secret_store_id=None,
4655        subdomain=None,
4656        tags=None,
4657    ):
4658        self.access_key = access_key if access_key is not None else ''
4659        '''
4660         The Access Key ID to use to authenticate.
4661        '''
4662        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4663        '''
4664         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4665         when a resource role is not provided.
4666        '''
4667        self.bind_interface = bind_interface if bind_interface is not None else ''
4668        '''
4669         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4670        '''
4671        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4672        '''
4673         The CA to authenticate TLS connections with.
4674        '''
4675        self.cluster_name = cluster_name if cluster_name is not None else ''
4676        '''
4677         The name of the cluster to connect to.
4678        '''
4679        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4680        '''
4681         If true, configures discovery of a cluster to be run from a node.
4682        '''
4683        self.discovery_username = discovery_username if discovery_username is not None else ''
4684        '''
4685         If a cluster is configured for user impersonation, this is the user to impersonate when
4686         running discovery.
4687        '''
4688        self.egress_filter = egress_filter if egress_filter is not None else ''
4689        '''
4690         A filter applied to the routing logic to pin datasource to nodes.
4691        '''
4692        self.endpoint = endpoint if endpoint is not None else ''
4693        '''
4694         The endpoint to dial.
4695        '''
4696        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4697        '''
4698         The path used to check the health of your connection.  Defaults to `default`.
4699        '''
4700        self.healthy = healthy if healthy is not None else False
4701        '''
4702         True if the datasource is reachable and the credentials are valid.
4703        '''
4704        self.id = id if id is not None else ''
4705        '''
4706         Unique identifier of the Resource.
4707        '''
4708        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4709        '''
4710         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4711        '''
4712        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4713        '''
4714         The ID of the identity set to use for identity connections.
4715        '''
4716        self.name = name if name is not None else ''
4717        '''
4718         Unique human-readable name of the Resource.
4719        '''
4720        self.port_override = port_override if port_override is not None else 0
4721        '''
4722         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4723        '''
4724        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4725        '''
4726         ID of the proxy cluster for this resource, if any.
4727        '''
4728        self.region = region if region is not None else ''
4729        '''
4730         The AWS region to connect to e.g. us-east-1.
4731        '''
4732        self.role_arn = role_arn if role_arn is not None else ''
4733        '''
4734         The role to assume after logging in.
4735        '''
4736        self.role_external_id = role_external_id if role_external_id is not None else ''
4737        '''
4738         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4739        '''
4740        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4741        '''
4742         The Secret Access Key to use to authenticate.
4743        '''
4744        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4745        '''
4746         ID of the secret store containing credentials for this resource, if any.
4747        '''
4748        self.subdomain = subdomain if subdomain is not None else ''
4749        '''
4750         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4751        '''
4752        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4753        '''
4754         Tags is a map of key, value pairs.
4755        '''
4756
4757    def __repr__(self):
4758        return '<sdm.AmazonEKS ' + \
4759            'access_key: ' + repr(self.access_key) + ' ' +\
4760            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4761            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4762            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4763            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4764            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4765            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4766            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4767            'endpoint: ' + repr(self.endpoint) + ' ' +\
4768            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4769            'healthy: ' + repr(self.healthy) + ' ' +\
4770            'id: ' + repr(self.id) + ' ' +\
4771            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
4772            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
4773            'name: ' + repr(self.name) + ' ' +\
4774            'port_override: ' + repr(self.port_override) + ' ' +\
4775            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
4776            'region: ' + repr(self.region) + ' ' +\
4777            'role_arn: ' + repr(self.role_arn) + ' ' +\
4778            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
4779            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
4780            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
4781            'subdomain: ' + repr(self.subdomain) + ' ' +\
4782            'tags: ' + repr(self.tags) + ' ' +\
4783            '>'
4784
4785    def to_dict(self):
4786        return {
4787            'access_key': self.access_key,
4788            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4789            'bind_interface': self.bind_interface,
4790            'certificate_authority': self.certificate_authority,
4791            'cluster_name': self.cluster_name,
4792            'discovery_enabled': self.discovery_enabled,
4793            'discovery_username': self.discovery_username,
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            'identity_alias_healthcheck_username':
4800            self.identity_alias_healthcheck_username,
4801            'identity_set_id': self.identity_set_id,
4802            'name': self.name,
4803            'port_override': self.port_override,
4804            'proxy_cluster_id': self.proxy_cluster_id,
4805            'region': self.region,
4806            'role_arn': self.role_arn,
4807            'role_external_id': self.role_external_id,
4808            'secret_access_key': self.secret_access_key,
4809            'secret_store_id': self.secret_store_id,
4810            'subdomain': self.subdomain,
4811            'tags': self.tags,
4812        }
4813
4814    @classmethod
4815    def from_dict(cls, d):
4816        return cls(
4817            access_key=d.get('access_key'),
4818            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4819            bind_interface=d.get('bind_interface'),
4820            certificate_authority=d.get('certificate_authority'),
4821            cluster_name=d.get('cluster_name'),
4822            discovery_enabled=d.get('discovery_enabled'),
4823            discovery_username=d.get('discovery_username'),
4824            egress_filter=d.get('egress_filter'),
4825            endpoint=d.get('endpoint'),
4826            healthcheck_namespace=d.get('healthcheck_namespace'),
4827            healthy=d.get('healthy'),
4828            id=d.get('id'),
4829            identity_alias_healthcheck_username=d.get(
4830                'identity_alias_healthcheck_username'),
4831            identity_set_id=d.get('identity_set_id'),
4832            name=d.get('name'),
4833            port_override=d.get('port_override'),
4834            proxy_cluster_id=d.get('proxy_cluster_id'),
4835            region=d.get('region'),
4836            role_arn=d.get('role_arn'),
4837            role_external_id=d.get('role_external_id'),
4838            secret_access_key=d.get('secret_access_key'),
4839            secret_store_id=d.get('secret_store_id'),
4840            subdomain=d.get('subdomain'),
4841            tags=d.get('tags'),
4842        )
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)
4631    def __init__(
4632        self,
4633        access_key=None,
4634        allow_resource_role_bypass=None,
4635        bind_interface=None,
4636        certificate_authority=None,
4637        cluster_name=None,
4638        discovery_enabled=None,
4639        discovery_username=None,
4640        egress_filter=None,
4641        endpoint=None,
4642        healthcheck_namespace=None,
4643        healthy=None,
4644        id=None,
4645        identity_alias_healthcheck_username=None,
4646        identity_set_id=None,
4647        name=None,
4648        port_override=None,
4649        proxy_cluster_id=None,
4650        region=None,
4651        role_arn=None,
4652        role_external_id=None,
4653        secret_access_key=None,
4654        secret_store_id=None,
4655        subdomain=None,
4656        tags=None,
4657    ):
4658        self.access_key = access_key if access_key is not None else ''
4659        '''
4660         The Access Key ID to use to authenticate.
4661        '''
4662        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4663        '''
4664         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4665         when a resource role is not provided.
4666        '''
4667        self.bind_interface = bind_interface if bind_interface is not None else ''
4668        '''
4669         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4670        '''
4671        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4672        '''
4673         The CA to authenticate TLS connections with.
4674        '''
4675        self.cluster_name = cluster_name if cluster_name is not None else ''
4676        '''
4677         The name of the cluster to connect to.
4678        '''
4679        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4680        '''
4681         If true, configures discovery of a cluster to be run from a node.
4682        '''
4683        self.discovery_username = discovery_username if discovery_username is not None else ''
4684        '''
4685         If a cluster is configured for user impersonation, this is the user to impersonate when
4686         running discovery.
4687        '''
4688        self.egress_filter = egress_filter if egress_filter is not None else ''
4689        '''
4690         A filter applied to the routing logic to pin datasource to nodes.
4691        '''
4692        self.endpoint = endpoint if endpoint is not None else ''
4693        '''
4694         The endpoint to dial.
4695        '''
4696        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4697        '''
4698         The path used to check the health of your connection.  Defaults to `default`.
4699        '''
4700        self.healthy = healthy if healthy is not None else False
4701        '''
4702         True if the datasource is reachable and the credentials are valid.
4703        '''
4704        self.id = id if id is not None else ''
4705        '''
4706         Unique identifier of the Resource.
4707        '''
4708        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4709        '''
4710         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4711        '''
4712        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4713        '''
4714         The ID of the identity set to use for identity connections.
4715        '''
4716        self.name = name if name is not None else ''
4717        '''
4718         Unique human-readable name of the Resource.
4719        '''
4720        self.port_override = port_override if port_override is not None else 0
4721        '''
4722         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4723        '''
4724        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4725        '''
4726         ID of the proxy cluster for this resource, if any.
4727        '''
4728        self.region = region if region is not None else ''
4729        '''
4730         The AWS region to connect to e.g. us-east-1.
4731        '''
4732        self.role_arn = role_arn if role_arn is not None else ''
4733        '''
4734         The role to assume after logging in.
4735        '''
4736        self.role_external_id = role_external_id if role_external_id is not None else ''
4737        '''
4738         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4739        '''
4740        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
4741        '''
4742         The Secret Access Key to use to authenticate.
4743        '''
4744        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4745        '''
4746         ID of the secret store containing credentials for this resource, if any.
4747        '''
4748        self.subdomain = subdomain if subdomain is not None else ''
4749        '''
4750         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4751        '''
4752        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4753        '''
4754         Tags is a map of key, value pairs.
4755        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
4785    def to_dict(self):
4786        return {
4787            'access_key': self.access_key,
4788            'allow_resource_role_bypass': self.allow_resource_role_bypass,
4789            'bind_interface': self.bind_interface,
4790            'certificate_authority': self.certificate_authority,
4791            'cluster_name': self.cluster_name,
4792            'discovery_enabled': self.discovery_enabled,
4793            'discovery_username': self.discovery_username,
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            'identity_alias_healthcheck_username':
4800            self.identity_alias_healthcheck_username,
4801            'identity_set_id': self.identity_set_id,
4802            'name': self.name,
4803            'port_override': self.port_override,
4804            'proxy_cluster_id': self.proxy_cluster_id,
4805            'region': self.region,
4806            'role_arn': self.role_arn,
4807            'role_external_id': self.role_external_id,
4808            'secret_access_key': self.secret_access_key,
4809            'secret_store_id': self.secret_store_id,
4810            'subdomain': self.subdomain,
4811            'tags': self.tags,
4812        }
@classmethod
def from_dict(cls, d)
4814    @classmethod
4815    def from_dict(cls, d):
4816        return cls(
4817            access_key=d.get('access_key'),
4818            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
4819            bind_interface=d.get('bind_interface'),
4820            certificate_authority=d.get('certificate_authority'),
4821            cluster_name=d.get('cluster_name'),
4822            discovery_enabled=d.get('discovery_enabled'),
4823            discovery_username=d.get('discovery_username'),
4824            egress_filter=d.get('egress_filter'),
4825            endpoint=d.get('endpoint'),
4826            healthcheck_namespace=d.get('healthcheck_namespace'),
4827            healthy=d.get('healthy'),
4828            id=d.get('id'),
4829            identity_alias_healthcheck_username=d.get(
4830                'identity_alias_healthcheck_username'),
4831            identity_set_id=d.get('identity_set_id'),
4832            name=d.get('name'),
4833            port_override=d.get('port_override'),
4834            proxy_cluster_id=d.get('proxy_cluster_id'),
4835            region=d.get('region'),
4836            role_arn=d.get('role_arn'),
4837            role_external_id=d.get('role_external_id'),
4838            secret_access_key=d.get('secret_access_key'),
4839            secret_store_id=d.get('secret_store_id'),
4840            subdomain=d.get('subdomain'),
4841            tags=d.get('tags'),
4842        )
class AmazonEKSInstanceProfile:
4845class AmazonEKSInstanceProfile:
4846    __slots__ = [
4847        'allow_resource_role_bypass',
4848        'bind_interface',
4849        'certificate_authority',
4850        'cluster_name',
4851        'discovery_enabled',
4852        'discovery_username',
4853        'egress_filter',
4854        'endpoint',
4855        'healthcheck_namespace',
4856        'healthy',
4857        'id',
4858        'identity_alias_healthcheck_username',
4859        'identity_set_id',
4860        'name',
4861        'port_override',
4862        'proxy_cluster_id',
4863        'region',
4864        'role_arn',
4865        'role_external_id',
4866        'secret_store_id',
4867        'subdomain',
4868        'tags',
4869    ]
4870
4871    def __init__(
4872        self,
4873        allow_resource_role_bypass=None,
4874        bind_interface=None,
4875        certificate_authority=None,
4876        cluster_name=None,
4877        discovery_enabled=None,
4878        discovery_username=None,
4879        egress_filter=None,
4880        endpoint=None,
4881        healthcheck_namespace=None,
4882        healthy=None,
4883        id=None,
4884        identity_alias_healthcheck_username=None,
4885        identity_set_id=None,
4886        name=None,
4887        port_override=None,
4888        proxy_cluster_id=None,
4889        region=None,
4890        role_arn=None,
4891        role_external_id=None,
4892        secret_store_id=None,
4893        subdomain=None,
4894        tags=None,
4895    ):
4896        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4897        '''
4898         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4899         when a resource role is not provided.
4900        '''
4901        self.bind_interface = bind_interface if bind_interface is not None else ''
4902        '''
4903         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4904        '''
4905        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4906        '''
4907         The CA to authenticate TLS connections with.
4908        '''
4909        self.cluster_name = cluster_name if cluster_name is not None else ''
4910        '''
4911         The name of the cluster to connect to.
4912        '''
4913        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4914        '''
4915         If true, configures discovery of a cluster to be run from a node.
4916        '''
4917        self.discovery_username = discovery_username if discovery_username is not None else ''
4918        '''
4919         If a cluster is configured for user impersonation, this is the user to impersonate when
4920         running discovery.
4921        '''
4922        self.egress_filter = egress_filter if egress_filter is not None else ''
4923        '''
4924         A filter applied to the routing logic to pin datasource to nodes.
4925        '''
4926        self.endpoint = endpoint if endpoint is not None else ''
4927        '''
4928         The endpoint to dial.
4929        '''
4930        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4931        '''
4932         The path used to check the health of your connection.  Defaults to `default`.
4933        '''
4934        self.healthy = healthy if healthy is not None else False
4935        '''
4936         True if the datasource is reachable and the credentials are valid.
4937        '''
4938        self.id = id if id is not None else ''
4939        '''
4940         Unique identifier of the Resource.
4941        '''
4942        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4943        '''
4944         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4945        '''
4946        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4947        '''
4948         The ID of the identity set to use for identity connections.
4949        '''
4950        self.name = name if name is not None else ''
4951        '''
4952         Unique human-readable name of the Resource.
4953        '''
4954        self.port_override = port_override if port_override is not None else 0
4955        '''
4956         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4957        '''
4958        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4959        '''
4960         ID of the proxy cluster for this resource, if any.
4961        '''
4962        self.region = region if region is not None else ''
4963        '''
4964         The AWS region to connect to e.g. us-east-1.
4965        '''
4966        self.role_arn = role_arn if role_arn is not None else ''
4967        '''
4968         The role to assume after logging in.
4969        '''
4970        self.role_external_id = role_external_id if role_external_id is not None else ''
4971        '''
4972         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4973        '''
4974        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4975        '''
4976         ID of the secret store containing credentials for this resource, if any.
4977        '''
4978        self.subdomain = subdomain if subdomain is not None else ''
4979        '''
4980         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4981        '''
4982        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4983        '''
4984         Tags is a map of key, value pairs.
4985        '''
4986
4987    def __repr__(self):
4988        return '<sdm.AmazonEKSInstanceProfile ' + \
4989            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
4990            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
4991            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
4992            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
4993            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
4994            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
4995            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
4996            'endpoint: ' + repr(self.endpoint) + ' ' +\
4997            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
4998            'healthy: ' + repr(self.healthy) + ' ' +\
4999            'id: ' + repr(self.id) + ' ' +\
5000            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
5001            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
5002            'name: ' + repr(self.name) + ' ' +\
5003            'port_override: ' + repr(self.port_override) + ' ' +\
5004            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5005            'region: ' + repr(self.region) + ' ' +\
5006            'role_arn: ' + repr(self.role_arn) + ' ' +\
5007            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5008            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5009            'subdomain: ' + repr(self.subdomain) + ' ' +\
5010            'tags: ' + repr(self.tags) + ' ' +\
5011            '>'
5012
5013    def to_dict(self):
5014        return {
5015            'allow_resource_role_bypass': self.allow_resource_role_bypass,
5016            'bind_interface': self.bind_interface,
5017            'certificate_authority': self.certificate_authority,
5018            'cluster_name': self.cluster_name,
5019            'discovery_enabled': self.discovery_enabled,
5020            'discovery_username': self.discovery_username,
5021            'egress_filter': self.egress_filter,
5022            'endpoint': self.endpoint,
5023            'healthcheck_namespace': self.healthcheck_namespace,
5024            'healthy': self.healthy,
5025            'id': self.id,
5026            'identity_alias_healthcheck_username':
5027            self.identity_alias_healthcheck_username,
5028            'identity_set_id': self.identity_set_id,
5029            'name': self.name,
5030            'port_override': self.port_override,
5031            'proxy_cluster_id': self.proxy_cluster_id,
5032            'region': self.region,
5033            'role_arn': self.role_arn,
5034            'role_external_id': self.role_external_id,
5035            'secret_store_id': self.secret_store_id,
5036            'subdomain': self.subdomain,
5037            'tags': self.tags,
5038        }
5039
5040    @classmethod
5041    def from_dict(cls, d):
5042        return cls(
5043            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
5044            bind_interface=d.get('bind_interface'),
5045            certificate_authority=d.get('certificate_authority'),
5046            cluster_name=d.get('cluster_name'),
5047            discovery_enabled=d.get('discovery_enabled'),
5048            discovery_username=d.get('discovery_username'),
5049            egress_filter=d.get('egress_filter'),
5050            endpoint=d.get('endpoint'),
5051            healthcheck_namespace=d.get('healthcheck_namespace'),
5052            healthy=d.get('healthy'),
5053            id=d.get('id'),
5054            identity_alias_healthcheck_username=d.get(
5055                'identity_alias_healthcheck_username'),
5056            identity_set_id=d.get('identity_set_id'),
5057            name=d.get('name'),
5058            port_override=d.get('port_override'),
5059            proxy_cluster_id=d.get('proxy_cluster_id'),
5060            region=d.get('region'),
5061            role_arn=d.get('role_arn'),
5062            role_external_id=d.get('role_external_id'),
5063            secret_store_id=d.get('secret_store_id'),
5064            subdomain=d.get('subdomain'),
5065            tags=d.get('tags'),
5066        )
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)
4871    def __init__(
4872        self,
4873        allow_resource_role_bypass=None,
4874        bind_interface=None,
4875        certificate_authority=None,
4876        cluster_name=None,
4877        discovery_enabled=None,
4878        discovery_username=None,
4879        egress_filter=None,
4880        endpoint=None,
4881        healthcheck_namespace=None,
4882        healthy=None,
4883        id=None,
4884        identity_alias_healthcheck_username=None,
4885        identity_set_id=None,
4886        name=None,
4887        port_override=None,
4888        proxy_cluster_id=None,
4889        region=None,
4890        role_arn=None,
4891        role_external_id=None,
4892        secret_store_id=None,
4893        subdomain=None,
4894        tags=None,
4895    ):
4896        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
4897        '''
4898         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
4899         when a resource role is not provided.
4900        '''
4901        self.bind_interface = bind_interface if bind_interface is not None else ''
4902        '''
4903         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
4904        '''
4905        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
4906        '''
4907         The CA to authenticate TLS connections with.
4908        '''
4909        self.cluster_name = cluster_name if cluster_name is not None else ''
4910        '''
4911         The name of the cluster to connect to.
4912        '''
4913        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
4914        '''
4915         If true, configures discovery of a cluster to be run from a node.
4916        '''
4917        self.discovery_username = discovery_username if discovery_username is not None else ''
4918        '''
4919         If a cluster is configured for user impersonation, this is the user to impersonate when
4920         running discovery.
4921        '''
4922        self.egress_filter = egress_filter if egress_filter is not None else ''
4923        '''
4924         A filter applied to the routing logic to pin datasource to nodes.
4925        '''
4926        self.endpoint = endpoint if endpoint is not None else ''
4927        '''
4928         The endpoint to dial.
4929        '''
4930        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
4931        '''
4932         The path used to check the health of your connection.  Defaults to `default`.
4933        '''
4934        self.healthy = healthy if healthy is not None else False
4935        '''
4936         True if the datasource is reachable and the credentials are valid.
4937        '''
4938        self.id = id if id is not None else ''
4939        '''
4940         Unique identifier of the Resource.
4941        '''
4942        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
4943        '''
4944         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
4945        '''
4946        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
4947        '''
4948         The ID of the identity set to use for identity connections.
4949        '''
4950        self.name = name if name is not None else ''
4951        '''
4952         Unique human-readable name of the Resource.
4953        '''
4954        self.port_override = port_override if port_override is not None else 0
4955        '''
4956         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
4957        '''
4958        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
4959        '''
4960         ID of the proxy cluster for this resource, if any.
4961        '''
4962        self.region = region if region is not None else ''
4963        '''
4964         The AWS region to connect to e.g. us-east-1.
4965        '''
4966        self.role_arn = role_arn if role_arn is not None else ''
4967        '''
4968         The role to assume after logging in.
4969        '''
4970        self.role_external_id = role_external_id if role_external_id is not None else ''
4971        '''
4972         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
4973        '''
4974        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
4975        '''
4976         ID of the secret store containing credentials for this resource, if any.
4977        '''
4978        self.subdomain = subdomain if subdomain is not None else ''
4979        '''
4980         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
4981        '''
4982        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
4983        '''
4984         Tags is a map of key, value pairs.
4985        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5013    def to_dict(self):
5014        return {
5015            'allow_resource_role_bypass': self.allow_resource_role_bypass,
5016            'bind_interface': self.bind_interface,
5017            'certificate_authority': self.certificate_authority,
5018            'cluster_name': self.cluster_name,
5019            'discovery_enabled': self.discovery_enabled,
5020            'discovery_username': self.discovery_username,
5021            'egress_filter': self.egress_filter,
5022            'endpoint': self.endpoint,
5023            'healthcheck_namespace': self.healthcheck_namespace,
5024            'healthy': self.healthy,
5025            'id': self.id,
5026            'identity_alias_healthcheck_username':
5027            self.identity_alias_healthcheck_username,
5028            'identity_set_id': self.identity_set_id,
5029            'name': self.name,
5030            'port_override': self.port_override,
5031            'proxy_cluster_id': self.proxy_cluster_id,
5032            'region': self.region,
5033            'role_arn': self.role_arn,
5034            'role_external_id': self.role_external_id,
5035            'secret_store_id': self.secret_store_id,
5036            'subdomain': self.subdomain,
5037            'tags': self.tags,
5038        }
@classmethod
def from_dict(cls, d)
5040    @classmethod
5041    def from_dict(cls, d):
5042        return cls(
5043            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
5044            bind_interface=d.get('bind_interface'),
5045            certificate_authority=d.get('certificate_authority'),
5046            cluster_name=d.get('cluster_name'),
5047            discovery_enabled=d.get('discovery_enabled'),
5048            discovery_username=d.get('discovery_username'),
5049            egress_filter=d.get('egress_filter'),
5050            endpoint=d.get('endpoint'),
5051            healthcheck_namespace=d.get('healthcheck_namespace'),
5052            healthy=d.get('healthy'),
5053            id=d.get('id'),
5054            identity_alias_healthcheck_username=d.get(
5055                'identity_alias_healthcheck_username'),
5056            identity_set_id=d.get('identity_set_id'),
5057            name=d.get('name'),
5058            port_override=d.get('port_override'),
5059            proxy_cluster_id=d.get('proxy_cluster_id'),
5060            region=d.get('region'),
5061            role_arn=d.get('role_arn'),
5062            role_external_id=d.get('role_external_id'),
5063            secret_store_id=d.get('secret_store_id'),
5064            subdomain=d.get('subdomain'),
5065            tags=d.get('tags'),
5066        )
class AmazonEKSInstanceProfileUserImpersonation:
5069class AmazonEKSInstanceProfileUserImpersonation:
5070    '''
5071    AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
5072    '''
5073    __slots__ = [
5074        'bind_interface',
5075        'certificate_authority',
5076        'cluster_name',
5077        'egress_filter',
5078        'endpoint',
5079        'healthcheck_namespace',
5080        'healthy',
5081        'id',
5082        'name',
5083        'port_override',
5084        'proxy_cluster_id',
5085        'region',
5086        'role_arn',
5087        'role_external_id',
5088        'secret_store_id',
5089        'subdomain',
5090        'tags',
5091    ]
5092
5093    def __init__(
5094        self,
5095        bind_interface=None,
5096        certificate_authority=None,
5097        cluster_name=None,
5098        egress_filter=None,
5099        endpoint=None,
5100        healthcheck_namespace=None,
5101        healthy=None,
5102        id=None,
5103        name=None,
5104        port_override=None,
5105        proxy_cluster_id=None,
5106        region=None,
5107        role_arn=None,
5108        role_external_id=None,
5109        secret_store_id=None,
5110        subdomain=None,
5111        tags=None,
5112    ):
5113        self.bind_interface = bind_interface if bind_interface is not None else ''
5114        '''
5115         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5116        '''
5117        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5118        '''
5119         The CA to authenticate TLS connections with.
5120        '''
5121        self.cluster_name = cluster_name if cluster_name is not None else ''
5122        '''
5123         The name of the cluster to connect to.
5124        '''
5125        self.egress_filter = egress_filter if egress_filter is not None else ''
5126        '''
5127         A filter applied to the routing logic to pin datasource to nodes.
5128        '''
5129        self.endpoint = endpoint if endpoint is not None else ''
5130        '''
5131         The endpoint to dial.
5132        '''
5133        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5134        '''
5135         The path used to check the health of your connection.  Defaults to `default`.
5136        '''
5137        self.healthy = healthy if healthy is not None else False
5138        '''
5139         True if the datasource is reachable and the credentials are valid.
5140        '''
5141        self.id = id if id is not None else ''
5142        '''
5143         Unique identifier of the Resource.
5144        '''
5145        self.name = name if name is not None else ''
5146        '''
5147         Unique human-readable name of the Resource.
5148        '''
5149        self.port_override = port_override if port_override is not None else 0
5150        '''
5151         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5152        '''
5153        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5154        '''
5155         ID of the proxy cluster for this resource, if any.
5156        '''
5157        self.region = region if region is not None else ''
5158        '''
5159         The AWS region to connect to e.g. us-east-1.
5160        '''
5161        self.role_arn = role_arn if role_arn is not None else ''
5162        '''
5163         The role to assume after logging in.
5164        '''
5165        self.role_external_id = role_external_id if role_external_id is not None else ''
5166        '''
5167         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5168        '''
5169        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5170        '''
5171         ID of the secret store containing credentials for this resource, if any.
5172        '''
5173        self.subdomain = subdomain if subdomain is not None else ''
5174        '''
5175         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5176        '''
5177        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5178        '''
5179         Tags is a map of key, value pairs.
5180        '''
5181
5182    def __repr__(self):
5183        return '<sdm.AmazonEKSInstanceProfileUserImpersonation ' + \
5184            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5185            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
5186            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
5187            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5188            'endpoint: ' + repr(self.endpoint) + ' ' +\
5189            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
5190            'healthy: ' + repr(self.healthy) + ' ' +\
5191            'id: ' + repr(self.id) + ' ' +\
5192            'name: ' + repr(self.name) + ' ' +\
5193            'port_override: ' + repr(self.port_override) + ' ' +\
5194            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5195            'region: ' + repr(self.region) + ' ' +\
5196            'role_arn: ' + repr(self.role_arn) + ' ' +\
5197            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5198            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5199            'subdomain: ' + repr(self.subdomain) + ' ' +\
5200            'tags: ' + repr(self.tags) + ' ' +\
5201            '>'
5202
5203    def to_dict(self):
5204        return {
5205            'bind_interface': self.bind_interface,
5206            'certificate_authority': self.certificate_authority,
5207            'cluster_name': self.cluster_name,
5208            'egress_filter': self.egress_filter,
5209            'endpoint': self.endpoint,
5210            'healthcheck_namespace': self.healthcheck_namespace,
5211            'healthy': self.healthy,
5212            'id': self.id,
5213            'name': self.name,
5214            'port_override': self.port_override,
5215            'proxy_cluster_id': self.proxy_cluster_id,
5216            'region': self.region,
5217            'role_arn': self.role_arn,
5218            'role_external_id': self.role_external_id,
5219            'secret_store_id': self.secret_store_id,
5220            'subdomain': self.subdomain,
5221            'tags': self.tags,
5222        }
5223
5224    @classmethod
5225    def from_dict(cls, d):
5226        return cls(
5227            bind_interface=d.get('bind_interface'),
5228            certificate_authority=d.get('certificate_authority'),
5229            cluster_name=d.get('cluster_name'),
5230            egress_filter=d.get('egress_filter'),
5231            endpoint=d.get('endpoint'),
5232            healthcheck_namespace=d.get('healthcheck_namespace'),
5233            healthy=d.get('healthy'),
5234            id=d.get('id'),
5235            name=d.get('name'),
5236            port_override=d.get('port_override'),
5237            proxy_cluster_id=d.get('proxy_cluster_id'),
5238            region=d.get('region'),
5239            role_arn=d.get('role_arn'),
5240            role_external_id=d.get('role_external_id'),
5241            secret_store_id=d.get('secret_store_id'),
5242            subdomain=d.get('subdomain'),
5243            tags=d.get('tags'),
5244        )

AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.

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)
5093    def __init__(
5094        self,
5095        bind_interface=None,
5096        certificate_authority=None,
5097        cluster_name=None,
5098        egress_filter=None,
5099        endpoint=None,
5100        healthcheck_namespace=None,
5101        healthy=None,
5102        id=None,
5103        name=None,
5104        port_override=None,
5105        proxy_cluster_id=None,
5106        region=None,
5107        role_arn=None,
5108        role_external_id=None,
5109        secret_store_id=None,
5110        subdomain=None,
5111        tags=None,
5112    ):
5113        self.bind_interface = bind_interface if bind_interface is not None else ''
5114        '''
5115         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5116        '''
5117        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5118        '''
5119         The CA to authenticate TLS connections with.
5120        '''
5121        self.cluster_name = cluster_name if cluster_name is not None else ''
5122        '''
5123         The name of the cluster to connect to.
5124        '''
5125        self.egress_filter = egress_filter if egress_filter is not None else ''
5126        '''
5127         A filter applied to the routing logic to pin datasource to nodes.
5128        '''
5129        self.endpoint = endpoint if endpoint is not None else ''
5130        '''
5131         The endpoint to dial.
5132        '''
5133        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5134        '''
5135         The path used to check the health of your connection.  Defaults to `default`.
5136        '''
5137        self.healthy = healthy if healthy is not None else False
5138        '''
5139         True if the datasource is reachable and the credentials are valid.
5140        '''
5141        self.id = id if id is not None else ''
5142        '''
5143         Unique identifier of the Resource.
5144        '''
5145        self.name = name if name is not None else ''
5146        '''
5147         Unique human-readable name of the Resource.
5148        '''
5149        self.port_override = port_override if port_override is not None else 0
5150        '''
5151         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5152        '''
5153        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5154        '''
5155         ID of the proxy cluster for this resource, if any.
5156        '''
5157        self.region = region if region is not None else ''
5158        '''
5159         The AWS region to connect to e.g. us-east-1.
5160        '''
5161        self.role_arn = role_arn if role_arn is not None else ''
5162        '''
5163         The role to assume after logging in.
5164        '''
5165        self.role_external_id = role_external_id if role_external_id is not None else ''
5166        '''
5167         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5168        '''
5169        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5170        '''
5171         ID of the secret store containing credentials for this resource, if any.
5172        '''
5173        self.subdomain = subdomain if subdomain is not None else ''
5174        '''
5175         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5176        '''
5177        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5178        '''
5179         Tags is a map of key, value pairs.
5180        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5203    def to_dict(self):
5204        return {
5205            'bind_interface': self.bind_interface,
5206            'certificate_authority': self.certificate_authority,
5207            'cluster_name': self.cluster_name,
5208            'egress_filter': self.egress_filter,
5209            'endpoint': self.endpoint,
5210            'healthcheck_namespace': self.healthcheck_namespace,
5211            'healthy': self.healthy,
5212            'id': self.id,
5213            'name': self.name,
5214            'port_override': self.port_override,
5215            'proxy_cluster_id': self.proxy_cluster_id,
5216            'region': self.region,
5217            'role_arn': self.role_arn,
5218            'role_external_id': self.role_external_id,
5219            'secret_store_id': self.secret_store_id,
5220            'subdomain': self.subdomain,
5221            'tags': self.tags,
5222        }
@classmethod
def from_dict(cls, d)
5224    @classmethod
5225    def from_dict(cls, d):
5226        return cls(
5227            bind_interface=d.get('bind_interface'),
5228            certificate_authority=d.get('certificate_authority'),
5229            cluster_name=d.get('cluster_name'),
5230            egress_filter=d.get('egress_filter'),
5231            endpoint=d.get('endpoint'),
5232            healthcheck_namespace=d.get('healthcheck_namespace'),
5233            healthy=d.get('healthy'),
5234            id=d.get('id'),
5235            name=d.get('name'),
5236            port_override=d.get('port_override'),
5237            proxy_cluster_id=d.get('proxy_cluster_id'),
5238            region=d.get('region'),
5239            role_arn=d.get('role_arn'),
5240            role_external_id=d.get('role_external_id'),
5241            secret_store_id=d.get('secret_store_id'),
5242            subdomain=d.get('subdomain'),
5243            tags=d.get('tags'),
5244        )
class AmazonEKSUserImpersonation:
5247class AmazonEKSUserImpersonation:
5248    '''
5249    AmazonEKSUserImpersonation is deprecated, see docs for more info.
5250    '''
5251    __slots__ = [
5252        'access_key',
5253        'bind_interface',
5254        'certificate_authority',
5255        'cluster_name',
5256        'egress_filter',
5257        'endpoint',
5258        'healthcheck_namespace',
5259        'healthy',
5260        'id',
5261        'name',
5262        'port_override',
5263        'proxy_cluster_id',
5264        'region',
5265        'role_arn',
5266        'role_external_id',
5267        'secret_access_key',
5268        'secret_store_id',
5269        'subdomain',
5270        'tags',
5271    ]
5272
5273    def __init__(
5274        self,
5275        access_key=None,
5276        bind_interface=None,
5277        certificate_authority=None,
5278        cluster_name=None,
5279        egress_filter=None,
5280        endpoint=None,
5281        healthcheck_namespace=None,
5282        healthy=None,
5283        id=None,
5284        name=None,
5285        port_override=None,
5286        proxy_cluster_id=None,
5287        region=None,
5288        role_arn=None,
5289        role_external_id=None,
5290        secret_access_key=None,
5291        secret_store_id=None,
5292        subdomain=None,
5293        tags=None,
5294    ):
5295        self.access_key = access_key if access_key is not None else ''
5296        '''
5297         The Access Key ID to use to authenticate.
5298        '''
5299        self.bind_interface = bind_interface if bind_interface is not None else ''
5300        '''
5301         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5302        '''
5303        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5304        '''
5305         The CA to authenticate TLS connections with.
5306        '''
5307        self.cluster_name = cluster_name if cluster_name is not None else ''
5308        '''
5309         The name of the cluster to connect to.
5310        '''
5311        self.egress_filter = egress_filter if egress_filter is not None else ''
5312        '''
5313         A filter applied to the routing logic to pin datasource to nodes.
5314        '''
5315        self.endpoint = endpoint if endpoint is not None else ''
5316        '''
5317         The endpoint to dial.
5318        '''
5319        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5320        '''
5321         The path used to check the health of your connection.  Defaults to `default`.
5322        '''
5323        self.healthy = healthy if healthy is not None else False
5324        '''
5325         True if the datasource is reachable and the credentials are valid.
5326        '''
5327        self.id = id if id is not None else ''
5328        '''
5329         Unique identifier of the Resource.
5330        '''
5331        self.name = name if name is not None else ''
5332        '''
5333         Unique human-readable name of the Resource.
5334        '''
5335        self.port_override = port_override if port_override is not None else 0
5336        '''
5337         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5338        '''
5339        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5340        '''
5341         ID of the proxy cluster for this resource, if any.
5342        '''
5343        self.region = region if region is not None else ''
5344        '''
5345         The AWS region to connect to e.g. us-east-1.
5346        '''
5347        self.role_arn = role_arn if role_arn is not None else ''
5348        '''
5349         The role to assume after logging in.
5350        '''
5351        self.role_external_id = role_external_id if role_external_id is not None else ''
5352        '''
5353         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5354        '''
5355        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5356        '''
5357         The Secret Access Key to use to authenticate.
5358        '''
5359        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5360        '''
5361         ID of the secret store containing credentials for this resource, if any.
5362        '''
5363        self.subdomain = subdomain if subdomain is not None else ''
5364        '''
5365         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5366        '''
5367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5368        '''
5369         Tags is a map of key, value pairs.
5370        '''
5371
5372    def __repr__(self):
5373        return '<sdm.AmazonEKSUserImpersonation ' + \
5374            'access_key: ' + repr(self.access_key) + ' ' +\
5375            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5376            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
5377            'cluster_name: ' + repr(self.cluster_name) + ' ' +\
5378            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5379            'endpoint: ' + repr(self.endpoint) + ' ' +\
5380            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
5381            'healthy: ' + repr(self.healthy) + ' ' +\
5382            'id: ' + repr(self.id) + ' ' +\
5383            'name: ' + repr(self.name) + ' ' +\
5384            'port_override: ' + repr(self.port_override) + ' ' +\
5385            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5386            'region: ' + repr(self.region) + ' ' +\
5387            'role_arn: ' + repr(self.role_arn) + ' ' +\
5388            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5389            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5390            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5391            'subdomain: ' + repr(self.subdomain) + ' ' +\
5392            'tags: ' + repr(self.tags) + ' ' +\
5393            '>'
5394
5395    def to_dict(self):
5396        return {
5397            'access_key': self.access_key,
5398            'bind_interface': self.bind_interface,
5399            'certificate_authority': self.certificate_authority,
5400            'cluster_name': self.cluster_name,
5401            'egress_filter': self.egress_filter,
5402            'endpoint': self.endpoint,
5403            'healthcheck_namespace': self.healthcheck_namespace,
5404            'healthy': self.healthy,
5405            'id': self.id,
5406            'name': self.name,
5407            'port_override': self.port_override,
5408            'proxy_cluster_id': self.proxy_cluster_id,
5409            'region': self.region,
5410            'role_arn': self.role_arn,
5411            'role_external_id': self.role_external_id,
5412            'secret_access_key': self.secret_access_key,
5413            'secret_store_id': self.secret_store_id,
5414            'subdomain': self.subdomain,
5415            'tags': self.tags,
5416        }
5417
5418    @classmethod
5419    def from_dict(cls, d):
5420        return cls(
5421            access_key=d.get('access_key'),
5422            bind_interface=d.get('bind_interface'),
5423            certificate_authority=d.get('certificate_authority'),
5424            cluster_name=d.get('cluster_name'),
5425            egress_filter=d.get('egress_filter'),
5426            endpoint=d.get('endpoint'),
5427            healthcheck_namespace=d.get('healthcheck_namespace'),
5428            healthy=d.get('healthy'),
5429            id=d.get('id'),
5430            name=d.get('name'),
5431            port_override=d.get('port_override'),
5432            proxy_cluster_id=d.get('proxy_cluster_id'),
5433            region=d.get('region'),
5434            role_arn=d.get('role_arn'),
5435            role_external_id=d.get('role_external_id'),
5436            secret_access_key=d.get('secret_access_key'),
5437            secret_store_id=d.get('secret_store_id'),
5438            subdomain=d.get('subdomain'),
5439            tags=d.get('tags'),
5440        )

AmazonEKSUserImpersonation is deprecated, see docs for more info.

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)
5273    def __init__(
5274        self,
5275        access_key=None,
5276        bind_interface=None,
5277        certificate_authority=None,
5278        cluster_name=None,
5279        egress_filter=None,
5280        endpoint=None,
5281        healthcheck_namespace=None,
5282        healthy=None,
5283        id=None,
5284        name=None,
5285        port_override=None,
5286        proxy_cluster_id=None,
5287        region=None,
5288        role_arn=None,
5289        role_external_id=None,
5290        secret_access_key=None,
5291        secret_store_id=None,
5292        subdomain=None,
5293        tags=None,
5294    ):
5295        self.access_key = access_key if access_key is not None else ''
5296        '''
5297         The Access Key ID to use to authenticate.
5298        '''
5299        self.bind_interface = bind_interface if bind_interface is not None else ''
5300        '''
5301         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5302        '''
5303        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
5304        '''
5305         The CA to authenticate TLS connections with.
5306        '''
5307        self.cluster_name = cluster_name if cluster_name is not None else ''
5308        '''
5309         The name of the cluster to connect to.
5310        '''
5311        self.egress_filter = egress_filter if egress_filter is not None else ''
5312        '''
5313         A filter applied to the routing logic to pin datasource to nodes.
5314        '''
5315        self.endpoint = endpoint if endpoint is not None else ''
5316        '''
5317         The endpoint to dial.
5318        '''
5319        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
5320        '''
5321         The path used to check the health of your connection.  Defaults to `default`.
5322        '''
5323        self.healthy = healthy if healthy is not None else False
5324        '''
5325         True if the datasource is reachable and the credentials are valid.
5326        '''
5327        self.id = id if id is not None else ''
5328        '''
5329         Unique identifier of the Resource.
5330        '''
5331        self.name = name if name is not None else ''
5332        '''
5333         Unique human-readable name of the Resource.
5334        '''
5335        self.port_override = port_override if port_override is not None else 0
5336        '''
5337         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5338        '''
5339        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5340        '''
5341         ID of the proxy cluster for this resource, if any.
5342        '''
5343        self.region = region if region is not None else ''
5344        '''
5345         The AWS region to connect to e.g. us-east-1.
5346        '''
5347        self.role_arn = role_arn if role_arn is not None else ''
5348        '''
5349         The role to assume after logging in.
5350        '''
5351        self.role_external_id = role_external_id if role_external_id is not None else ''
5352        '''
5353         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5354        '''
5355        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5356        '''
5357         The Secret Access Key to use to authenticate.
5358        '''
5359        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5360        '''
5361         ID of the secret store containing credentials for this resource, if any.
5362        '''
5363        self.subdomain = subdomain if subdomain is not None else ''
5364        '''
5365         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5366        '''
5367        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5368        '''
5369         Tags is a map of key, value pairs.
5370        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5395    def to_dict(self):
5396        return {
5397            'access_key': self.access_key,
5398            'bind_interface': self.bind_interface,
5399            'certificate_authority': self.certificate_authority,
5400            'cluster_name': self.cluster_name,
5401            'egress_filter': self.egress_filter,
5402            'endpoint': self.endpoint,
5403            'healthcheck_namespace': self.healthcheck_namespace,
5404            'healthy': self.healthy,
5405            'id': self.id,
5406            'name': self.name,
5407            'port_override': self.port_override,
5408            'proxy_cluster_id': self.proxy_cluster_id,
5409            'region': self.region,
5410            'role_arn': self.role_arn,
5411            'role_external_id': self.role_external_id,
5412            'secret_access_key': self.secret_access_key,
5413            'secret_store_id': self.secret_store_id,
5414            'subdomain': self.subdomain,
5415            'tags': self.tags,
5416        }
@classmethod
def from_dict(cls, d)
5418    @classmethod
5419    def from_dict(cls, d):
5420        return cls(
5421            access_key=d.get('access_key'),
5422            bind_interface=d.get('bind_interface'),
5423            certificate_authority=d.get('certificate_authority'),
5424            cluster_name=d.get('cluster_name'),
5425            egress_filter=d.get('egress_filter'),
5426            endpoint=d.get('endpoint'),
5427            healthcheck_namespace=d.get('healthcheck_namespace'),
5428            healthy=d.get('healthy'),
5429            id=d.get('id'),
5430            name=d.get('name'),
5431            port_override=d.get('port_override'),
5432            proxy_cluster_id=d.get('proxy_cluster_id'),
5433            region=d.get('region'),
5434            role_arn=d.get('role_arn'),
5435            role_external_id=d.get('role_external_id'),
5436            secret_access_key=d.get('secret_access_key'),
5437            secret_store_id=d.get('secret_store_id'),
5438            subdomain=d.get('subdomain'),
5439            tags=d.get('tags'),
5440        )
class AmazonES:
5443class AmazonES:
5444    __slots__ = [
5445        'access_key',
5446        'bind_interface',
5447        'egress_filter',
5448        'endpoint',
5449        'healthy',
5450        'id',
5451        'name',
5452        'port_override',
5453        'proxy_cluster_id',
5454        'region',
5455        'role_arn',
5456        'role_external_id',
5457        'secret_access_key',
5458        'secret_store_id',
5459        'subdomain',
5460        'tags',
5461    ]
5462
5463    def __init__(
5464        self,
5465        access_key=None,
5466        bind_interface=None,
5467        egress_filter=None,
5468        endpoint=None,
5469        healthy=None,
5470        id=None,
5471        name=None,
5472        port_override=None,
5473        proxy_cluster_id=None,
5474        region=None,
5475        role_arn=None,
5476        role_external_id=None,
5477        secret_access_key=None,
5478        secret_store_id=None,
5479        subdomain=None,
5480        tags=None,
5481    ):
5482        self.access_key = access_key if access_key is not None else ''
5483        '''
5484         The Access Key ID to use to authenticate.
5485        '''
5486        self.bind_interface = bind_interface if bind_interface is not None else ''
5487        '''
5488         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5489        '''
5490        self.egress_filter = egress_filter if egress_filter is not None else ''
5491        '''
5492         A filter applied to the routing logic to pin datasource to nodes.
5493        '''
5494        self.endpoint = endpoint if endpoint is not None else ''
5495        '''
5496         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5497        '''
5498        self.healthy = healthy if healthy is not None else False
5499        '''
5500         True if the datasource is reachable and the credentials are valid.
5501        '''
5502        self.id = id if id is not None else ''
5503        '''
5504         Unique identifier of the Resource.
5505        '''
5506        self.name = name if name is not None else ''
5507        '''
5508         Unique human-readable name of the Resource.
5509        '''
5510        self.port_override = port_override if port_override is not None else 0
5511        '''
5512         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5513        '''
5514        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5515        '''
5516         ID of the proxy cluster for this resource, if any.
5517        '''
5518        self.region = region if region is not None else ''
5519        '''
5520         The AWS region to connect to e.g. us-east-1.
5521        '''
5522        self.role_arn = role_arn if role_arn is not None else ''
5523        '''
5524         The role to assume after logging in.
5525        '''
5526        self.role_external_id = role_external_id if role_external_id is not None else ''
5527        '''
5528         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5529        '''
5530        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5531        '''
5532         The Secret Access Key to use to authenticate.
5533        '''
5534        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5535        '''
5536         ID of the secret store containing credentials for this resource, if any.
5537        '''
5538        self.subdomain = subdomain if subdomain is not None else ''
5539        '''
5540         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5541        '''
5542        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5543        '''
5544         Tags is a map of key, value pairs.
5545        '''
5546
5547    def __repr__(self):
5548        return '<sdm.AmazonES ' + \
5549            'access_key: ' + repr(self.access_key) + ' ' +\
5550            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5551            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5552            'endpoint: ' + repr(self.endpoint) + ' ' +\
5553            'healthy: ' + repr(self.healthy) + ' ' +\
5554            'id: ' + repr(self.id) + ' ' +\
5555            'name: ' + repr(self.name) + ' ' +\
5556            'port_override: ' + repr(self.port_override) + ' ' +\
5557            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5558            'region: ' + repr(self.region) + ' ' +\
5559            'role_arn: ' + repr(self.role_arn) + ' ' +\
5560            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5561            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
5562            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5563            'subdomain: ' + repr(self.subdomain) + ' ' +\
5564            'tags: ' + repr(self.tags) + ' ' +\
5565            '>'
5566
5567    def to_dict(self):
5568        return {
5569            'access_key': self.access_key,
5570            'bind_interface': self.bind_interface,
5571            'egress_filter': self.egress_filter,
5572            'endpoint': self.endpoint,
5573            'healthy': self.healthy,
5574            'id': self.id,
5575            'name': self.name,
5576            'port_override': self.port_override,
5577            'proxy_cluster_id': self.proxy_cluster_id,
5578            'region': self.region,
5579            'role_arn': self.role_arn,
5580            'role_external_id': self.role_external_id,
5581            'secret_access_key': self.secret_access_key,
5582            'secret_store_id': self.secret_store_id,
5583            'subdomain': self.subdomain,
5584            'tags': self.tags,
5585        }
5586
5587    @classmethod
5588    def from_dict(cls, d):
5589        return cls(
5590            access_key=d.get('access_key'),
5591            bind_interface=d.get('bind_interface'),
5592            egress_filter=d.get('egress_filter'),
5593            endpoint=d.get('endpoint'),
5594            healthy=d.get('healthy'),
5595            id=d.get('id'),
5596            name=d.get('name'),
5597            port_override=d.get('port_override'),
5598            proxy_cluster_id=d.get('proxy_cluster_id'),
5599            region=d.get('region'),
5600            role_arn=d.get('role_arn'),
5601            role_external_id=d.get('role_external_id'),
5602            secret_access_key=d.get('secret_access_key'),
5603            secret_store_id=d.get('secret_store_id'),
5604            subdomain=d.get('subdomain'),
5605            tags=d.get('tags'),
5606        )
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)
5463    def __init__(
5464        self,
5465        access_key=None,
5466        bind_interface=None,
5467        egress_filter=None,
5468        endpoint=None,
5469        healthy=None,
5470        id=None,
5471        name=None,
5472        port_override=None,
5473        proxy_cluster_id=None,
5474        region=None,
5475        role_arn=None,
5476        role_external_id=None,
5477        secret_access_key=None,
5478        secret_store_id=None,
5479        subdomain=None,
5480        tags=None,
5481    ):
5482        self.access_key = access_key if access_key is not None else ''
5483        '''
5484         The Access Key ID to use to authenticate.
5485        '''
5486        self.bind_interface = bind_interface if bind_interface is not None else ''
5487        '''
5488         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5489        '''
5490        self.egress_filter = egress_filter if egress_filter is not None else ''
5491        '''
5492         A filter applied to the routing logic to pin datasource to nodes.
5493        '''
5494        self.endpoint = endpoint if endpoint is not None else ''
5495        '''
5496         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5497        '''
5498        self.healthy = healthy if healthy is not None else False
5499        '''
5500         True if the datasource is reachable and the credentials are valid.
5501        '''
5502        self.id = id if id is not None else ''
5503        '''
5504         Unique identifier of the Resource.
5505        '''
5506        self.name = name if name is not None else ''
5507        '''
5508         Unique human-readable name of the Resource.
5509        '''
5510        self.port_override = port_override if port_override is not None else 0
5511        '''
5512         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5513        '''
5514        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5515        '''
5516         ID of the proxy cluster for this resource, if any.
5517        '''
5518        self.region = region if region is not None else ''
5519        '''
5520         The AWS region to connect to e.g. us-east-1.
5521        '''
5522        self.role_arn = role_arn if role_arn is not None else ''
5523        '''
5524         The role to assume after logging in.
5525        '''
5526        self.role_external_id = role_external_id if role_external_id is not None else ''
5527        '''
5528         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5529        '''
5530        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
5531        '''
5532         The Secret Access Key to use to authenticate.
5533        '''
5534        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5535        '''
5536         ID of the secret store containing credentials for this resource, if any.
5537        '''
5538        self.subdomain = subdomain if subdomain is not None else ''
5539        '''
5540         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5541        '''
5542        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5543        '''
5544         Tags is a map of key, value pairs.
5545        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
5567    def to_dict(self):
5568        return {
5569            'access_key': self.access_key,
5570            'bind_interface': self.bind_interface,
5571            'egress_filter': self.egress_filter,
5572            'endpoint': self.endpoint,
5573            'healthy': self.healthy,
5574            'id': self.id,
5575            'name': self.name,
5576            'port_override': self.port_override,
5577            'proxy_cluster_id': self.proxy_cluster_id,
5578            'region': self.region,
5579            'role_arn': self.role_arn,
5580            'role_external_id': self.role_external_id,
5581            'secret_access_key': self.secret_access_key,
5582            'secret_store_id': self.secret_store_id,
5583            'subdomain': self.subdomain,
5584            'tags': self.tags,
5585        }
@classmethod
def from_dict(cls, d)
5587    @classmethod
5588    def from_dict(cls, d):
5589        return cls(
5590            access_key=d.get('access_key'),
5591            bind_interface=d.get('bind_interface'),
5592            egress_filter=d.get('egress_filter'),
5593            endpoint=d.get('endpoint'),
5594            healthy=d.get('healthy'),
5595            id=d.get('id'),
5596            name=d.get('name'),
5597            port_override=d.get('port_override'),
5598            proxy_cluster_id=d.get('proxy_cluster_id'),
5599            region=d.get('region'),
5600            role_arn=d.get('role_arn'),
5601            role_external_id=d.get('role_external_id'),
5602            secret_access_key=d.get('secret_access_key'),
5603            secret_store_id=d.get('secret_store_id'),
5604            subdomain=d.get('subdomain'),
5605            tags=d.get('tags'),
5606        )
class AmazonESIAM:
5609class AmazonESIAM:
5610    __slots__ = [
5611        'bind_interface',
5612        'egress_filter',
5613        'endpoint',
5614        'healthy',
5615        'id',
5616        'name',
5617        'port_override',
5618        'proxy_cluster_id',
5619        'region',
5620        'role_arn',
5621        'role_external_id',
5622        'secret_store_id',
5623        'subdomain',
5624        'tags',
5625        'tlsrequired',
5626    ]
5627
5628    def __init__(
5629        self,
5630        bind_interface=None,
5631        egress_filter=None,
5632        endpoint=None,
5633        healthy=None,
5634        id=None,
5635        name=None,
5636        port_override=None,
5637        proxy_cluster_id=None,
5638        region=None,
5639        role_arn=None,
5640        role_external_id=None,
5641        secret_store_id=None,
5642        subdomain=None,
5643        tags=None,
5644        tlsrequired=None,
5645    ):
5646        self.bind_interface = bind_interface if bind_interface is not None else ''
5647        '''
5648         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5649        '''
5650        self.egress_filter = egress_filter if egress_filter is not None else ''
5651        '''
5652         A filter applied to the routing logic to pin datasource to nodes.
5653        '''
5654        self.endpoint = endpoint if endpoint is not None else ''
5655        '''
5656         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5657        '''
5658        self.healthy = healthy if healthy is not None else False
5659        '''
5660         True if the datasource is reachable and the credentials are valid.
5661        '''
5662        self.id = id if id is not None else ''
5663        '''
5664         Unique identifier of the Resource.
5665        '''
5666        self.name = name if name is not None else ''
5667        '''
5668         Unique human-readable name of the Resource.
5669        '''
5670        self.port_override = port_override if port_override is not None else 0
5671        '''
5672         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5673        '''
5674        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5675        '''
5676         ID of the proxy cluster for this resource, if any.
5677        '''
5678        self.region = region if region is not None else ''
5679        '''
5680         The AWS region to connect to.
5681        '''
5682        self.role_arn = role_arn if role_arn is not None else ''
5683        '''
5684         The role to assume after logging in.
5685        '''
5686        self.role_external_id = role_external_id if role_external_id is not None else ''
5687        '''
5688         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5689        '''
5690        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5691        '''
5692         ID of the secret store containing credentials for this resource, if any.
5693        '''
5694        self.subdomain = subdomain if subdomain is not None else ''
5695        '''
5696         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5697        '''
5698        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5699        '''
5700         Tags is a map of key, value pairs.
5701        '''
5702        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5703        '''
5704         Use TLS to connect to the OpenSearch server
5705        '''
5706
5707    def __repr__(self):
5708        return '<sdm.AmazonESIAM ' + \
5709            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5710            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5711            'endpoint: ' + repr(self.endpoint) + ' ' +\
5712            'healthy: ' + repr(self.healthy) + ' ' +\
5713            'id: ' + repr(self.id) + ' ' +\
5714            'name: ' + repr(self.name) + ' ' +\
5715            'port_override: ' + repr(self.port_override) + ' ' +\
5716            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5717            'region: ' + repr(self.region) + ' ' +\
5718            'role_arn: ' + repr(self.role_arn) + ' ' +\
5719            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
5720            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5721            'subdomain: ' + repr(self.subdomain) + ' ' +\
5722            'tags: ' + repr(self.tags) + ' ' +\
5723            'tlsrequired: ' + repr(self.tlsrequired) + ' ' +\
5724            '>'
5725
5726    def to_dict(self):
5727        return {
5728            'bind_interface': self.bind_interface,
5729            'egress_filter': self.egress_filter,
5730            'endpoint': self.endpoint,
5731            'healthy': self.healthy,
5732            'id': self.id,
5733            'name': self.name,
5734            'port_override': self.port_override,
5735            'proxy_cluster_id': self.proxy_cluster_id,
5736            'region': self.region,
5737            'role_arn': self.role_arn,
5738            'role_external_id': self.role_external_id,
5739            'secret_store_id': self.secret_store_id,
5740            'subdomain': self.subdomain,
5741            'tags': self.tags,
5742            'tlsrequired': self.tlsrequired,
5743        }
5744
5745    @classmethod
5746    def from_dict(cls, d):
5747        return cls(
5748            bind_interface=d.get('bind_interface'),
5749            egress_filter=d.get('egress_filter'),
5750            endpoint=d.get('endpoint'),
5751            healthy=d.get('healthy'),
5752            id=d.get('id'),
5753            name=d.get('name'),
5754            port_override=d.get('port_override'),
5755            proxy_cluster_id=d.get('proxy_cluster_id'),
5756            region=d.get('region'),
5757            role_arn=d.get('role_arn'),
5758            role_external_id=d.get('role_external_id'),
5759            secret_store_id=d.get('secret_store_id'),
5760            subdomain=d.get('subdomain'),
5761            tags=d.get('tags'),
5762            tlsrequired=d.get('tlsrequired'),
5763        )
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)
5628    def __init__(
5629        self,
5630        bind_interface=None,
5631        egress_filter=None,
5632        endpoint=None,
5633        healthy=None,
5634        id=None,
5635        name=None,
5636        port_override=None,
5637        proxy_cluster_id=None,
5638        region=None,
5639        role_arn=None,
5640        role_external_id=None,
5641        secret_store_id=None,
5642        subdomain=None,
5643        tags=None,
5644        tlsrequired=None,
5645    ):
5646        self.bind_interface = bind_interface if bind_interface is not None else ''
5647        '''
5648         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5649        '''
5650        self.egress_filter = egress_filter if egress_filter is not None else ''
5651        '''
5652         A filter applied to the routing logic to pin datasource to nodes.
5653        '''
5654        self.endpoint = endpoint if endpoint is not None else ''
5655        '''
5656         The endpoint to dial e.g. search-?.region.es.amazonaws.com"
5657        '''
5658        self.healthy = healthy if healthy is not None else False
5659        '''
5660         True if the datasource is reachable and the credentials are valid.
5661        '''
5662        self.id = id if id is not None else ''
5663        '''
5664         Unique identifier of the Resource.
5665        '''
5666        self.name = name if name is not None else ''
5667        '''
5668         Unique human-readable name of the Resource.
5669        '''
5670        self.port_override = port_override if port_override is not None else 0
5671        '''
5672         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5673        '''
5674        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5675        '''
5676         ID of the proxy cluster for this resource, if any.
5677        '''
5678        self.region = region if region is not None else ''
5679        '''
5680         The AWS region to connect to.
5681        '''
5682        self.role_arn = role_arn if role_arn is not None else ''
5683        '''
5684         The role to assume after logging in.
5685        '''
5686        self.role_external_id = role_external_id if role_external_id is not None else ''
5687        '''
5688         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
5689        '''
5690        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5691        '''
5692         ID of the secret store containing credentials for this resource, if any.
5693        '''
5694        self.subdomain = subdomain if subdomain is not None else ''
5695        '''
5696         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5697        '''
5698        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5699        '''
5700         Tags is a map of key, value pairs.
5701        '''
5702        self.tlsrequired = tlsrequired if tlsrequired is not None else False
5703        '''
5704         Use TLS to connect to the OpenSearch server
5705        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tlsrequired

Use TLS to connect to the OpenSearch server

def to_dict(self)
5726    def to_dict(self):
5727        return {
5728            'bind_interface': self.bind_interface,
5729            'egress_filter': self.egress_filter,
5730            'endpoint': self.endpoint,
5731            'healthy': self.healthy,
5732            'id': self.id,
5733            'name': self.name,
5734            'port_override': self.port_override,
5735            'proxy_cluster_id': self.proxy_cluster_id,
5736            'region': self.region,
5737            'role_arn': self.role_arn,
5738            'role_external_id': self.role_external_id,
5739            'secret_store_id': self.secret_store_id,
5740            'subdomain': self.subdomain,
5741            'tags': self.tags,
5742            'tlsrequired': self.tlsrequired,
5743        }
@classmethod
def from_dict(cls, d)
5745    @classmethod
5746    def from_dict(cls, d):
5747        return cls(
5748            bind_interface=d.get('bind_interface'),
5749            egress_filter=d.get('egress_filter'),
5750            endpoint=d.get('endpoint'),
5751            healthy=d.get('healthy'),
5752            id=d.get('id'),
5753            name=d.get('name'),
5754            port_override=d.get('port_override'),
5755            proxy_cluster_id=d.get('proxy_cluster_id'),
5756            region=d.get('region'),
5757            role_arn=d.get('role_arn'),
5758            role_external_id=d.get('role_external_id'),
5759            secret_store_id=d.get('secret_store_id'),
5760            subdomain=d.get('subdomain'),
5761            tags=d.get('tags'),
5762            tlsrequired=d.get('tlsrequired'),
5763        )
class AmazonMQAMQP091:
5766class AmazonMQAMQP091:
5767    __slots__ = [
5768        'bind_interface',
5769        'egress_filter',
5770        'healthy',
5771        'hostname',
5772        'id',
5773        'name',
5774        'password',
5775        'port',
5776        'port_override',
5777        'proxy_cluster_id',
5778        'secret_store_id',
5779        'subdomain',
5780        'tags',
5781        'tls_required',
5782        'username',
5783    ]
5784
5785    def __init__(
5786        self,
5787        bind_interface=None,
5788        egress_filter=None,
5789        healthy=None,
5790        hostname=None,
5791        id=None,
5792        name=None,
5793        password=None,
5794        port=None,
5795        port_override=None,
5796        proxy_cluster_id=None,
5797        secret_store_id=None,
5798        subdomain=None,
5799        tags=None,
5800        tls_required=None,
5801        username=None,
5802    ):
5803        self.bind_interface = bind_interface if bind_interface is not None else ''
5804        '''
5805         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5806        '''
5807        self.egress_filter = egress_filter if egress_filter is not None else ''
5808        '''
5809         A filter applied to the routing logic to pin datasource to nodes.
5810        '''
5811        self.healthy = healthy if healthy is not None else False
5812        '''
5813         True if the datasource is reachable and the credentials are valid.
5814        '''
5815        self.hostname = hostname if hostname is not None else ''
5816        '''
5817         The host to dial to initiate a connection from the egress node to this resource.
5818        '''
5819        self.id = id if id is not None else ''
5820        '''
5821         Unique identifier of the Resource.
5822        '''
5823        self.name = name if name is not None else ''
5824        '''
5825         Unique human-readable name of the Resource.
5826        '''
5827        self.password = password if password is not None else ''
5828        '''
5829         The password to authenticate with.
5830        '''
5831        self.port = port if port is not None else 0
5832        '''
5833         The port to dial to initiate a connection from the egress node to this resource.
5834        '''
5835        self.port_override = port_override if port_override is not None else 0
5836        '''
5837         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5838        '''
5839        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5840        '''
5841         ID of the proxy cluster for this resource, if any.
5842        '''
5843        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5844        '''
5845         ID of the secret store containing credentials for this resource, if any.
5846        '''
5847        self.subdomain = subdomain if subdomain is not None else ''
5848        '''
5849         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5850        '''
5851        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5852        '''
5853         Tags is a map of key, value pairs.
5854        '''
5855        self.tls_required = tls_required if tls_required is not None else False
5856        '''
5857         If set, TLS must be used to connect to this resource.
5858        '''
5859        self.username = username if username is not None else ''
5860        '''
5861         The username to authenticate with.
5862        '''
5863
5864    def __repr__(self):
5865        return '<sdm.AmazonMQAMQP091 ' + \
5866            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
5867            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
5868            'healthy: ' + repr(self.healthy) + ' ' +\
5869            'hostname: ' + repr(self.hostname) + ' ' +\
5870            'id: ' + repr(self.id) + ' ' +\
5871            'name: ' + repr(self.name) + ' ' +\
5872            'password: ' + repr(self.password) + ' ' +\
5873            'port: ' + repr(self.port) + ' ' +\
5874            'port_override: ' + repr(self.port_override) + ' ' +\
5875            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
5876            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
5877            'subdomain: ' + repr(self.subdomain) + ' ' +\
5878            'tags: ' + repr(self.tags) + ' ' +\
5879            'tls_required: ' + repr(self.tls_required) + ' ' +\
5880            'username: ' + repr(self.username) + ' ' +\
5881            '>'
5882
5883    def to_dict(self):
5884        return {
5885            'bind_interface': self.bind_interface,
5886            'egress_filter': self.egress_filter,
5887            'healthy': self.healthy,
5888            'hostname': self.hostname,
5889            'id': self.id,
5890            'name': self.name,
5891            'password': self.password,
5892            'port': self.port,
5893            'port_override': self.port_override,
5894            'proxy_cluster_id': self.proxy_cluster_id,
5895            'secret_store_id': self.secret_store_id,
5896            'subdomain': self.subdomain,
5897            'tags': self.tags,
5898            'tls_required': self.tls_required,
5899            'username': self.username,
5900        }
5901
5902    @classmethod
5903    def from_dict(cls, d):
5904        return cls(
5905            bind_interface=d.get('bind_interface'),
5906            egress_filter=d.get('egress_filter'),
5907            healthy=d.get('healthy'),
5908            hostname=d.get('hostname'),
5909            id=d.get('id'),
5910            name=d.get('name'),
5911            password=d.get('password'),
5912            port=d.get('port'),
5913            port_override=d.get('port_override'),
5914            proxy_cluster_id=d.get('proxy_cluster_id'),
5915            secret_store_id=d.get('secret_store_id'),
5916            subdomain=d.get('subdomain'),
5917            tags=d.get('tags'),
5918            tls_required=d.get('tls_required'),
5919            username=d.get('username'),
5920        )
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)
5785    def __init__(
5786        self,
5787        bind_interface=None,
5788        egress_filter=None,
5789        healthy=None,
5790        hostname=None,
5791        id=None,
5792        name=None,
5793        password=None,
5794        port=None,
5795        port_override=None,
5796        proxy_cluster_id=None,
5797        secret_store_id=None,
5798        subdomain=None,
5799        tags=None,
5800        tls_required=None,
5801        username=None,
5802    ):
5803        self.bind_interface = bind_interface if bind_interface is not None else ''
5804        '''
5805         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
5806        '''
5807        self.egress_filter = egress_filter if egress_filter is not None else ''
5808        '''
5809         A filter applied to the routing logic to pin datasource to nodes.
5810        '''
5811        self.healthy = healthy if healthy is not None else False
5812        '''
5813         True if the datasource is reachable and the credentials are valid.
5814        '''
5815        self.hostname = hostname if hostname is not None else ''
5816        '''
5817         The host to dial to initiate a connection from the egress node to this resource.
5818        '''
5819        self.id = id if id is not None else ''
5820        '''
5821         Unique identifier of the Resource.
5822        '''
5823        self.name = name if name is not None else ''
5824        '''
5825         Unique human-readable name of the Resource.
5826        '''
5827        self.password = password if password is not None else ''
5828        '''
5829         The password to authenticate with.
5830        '''
5831        self.port = port if port is not None else 0
5832        '''
5833         The port to dial to initiate a connection from the egress node to this resource.
5834        '''
5835        self.port_override = port_override if port_override is not None else 0
5836        '''
5837         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
5838        '''
5839        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
5840        '''
5841         ID of the proxy cluster for this resource, if any.
5842        '''
5843        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
5844        '''
5845         ID of the secret store containing credentials for this resource, if any.
5846        '''
5847        self.subdomain = subdomain if subdomain is not None else ''
5848        '''
5849         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
5850        '''
5851        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
5852        '''
5853         Tags is a map of key, value pairs.
5854        '''
5855        self.tls_required = tls_required if tls_required is not None else False
5856        '''
5857         If set, TLS must be used to connect to this resource.
5858        '''
5859        self.username = username if username is not None else ''
5860        '''
5861         The username to authenticate with.
5862        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
5883    def to_dict(self):
5884        return {
5885            'bind_interface': self.bind_interface,
5886            'egress_filter': self.egress_filter,
5887            'healthy': self.healthy,
5888            'hostname': self.hostname,
5889            'id': self.id,
5890            'name': self.name,
5891            'password': self.password,
5892            'port': self.port,
5893            'port_override': self.port_override,
5894            'proxy_cluster_id': self.proxy_cluster_id,
5895            'secret_store_id': self.secret_store_id,
5896            'subdomain': self.subdomain,
5897            'tags': self.tags,
5898            'tls_required': self.tls_required,
5899            'username': self.username,
5900        }
@classmethod
def from_dict(cls, d)
5902    @classmethod
5903    def from_dict(cls, d):
5904        return cls(
5905            bind_interface=d.get('bind_interface'),
5906            egress_filter=d.get('egress_filter'),
5907            healthy=d.get('healthy'),
5908            hostname=d.get('hostname'),
5909            id=d.get('id'),
5910            name=d.get('name'),
5911            password=d.get('password'),
5912            port=d.get('port'),
5913            port_override=d.get('port_override'),
5914            proxy_cluster_id=d.get('proxy_cluster_id'),
5915            secret_store_id=d.get('secret_store_id'),
5916            subdomain=d.get('subdomain'),
5917            tags=d.get('tags'),
5918            tls_required=d.get('tls_required'),
5919            username=d.get('username'),
5920        )
class ApprovalFlowApprover:
5923class ApprovalFlowApprover:
5924    '''
5925         An approver for an approval workflow step. Each approver can specify exactly one of: account_id, role_id, or reference
5926    '''
5927    __slots__ = [
5928        'account_id',
5929        'group_id',
5930        'reference',
5931        'role_id',
5932    ]
5933
5934    def __init__(
5935        self,
5936        account_id=None,
5937        group_id=None,
5938        reference=None,
5939        role_id=None,
5940    ):
5941        self.account_id = account_id if account_id is not None else ''
5942        '''
5943         The approver account id.
5944        '''
5945        self.group_id = group_id if group_id is not None else ''
5946        '''
5947         The approver group id
5948        '''
5949        self.reference = reference if reference is not None else ''
5950        '''
5951         A reference to an approver. Must be one of ApproverReference constants.
5952         If set, the account_id and role_id must be empty.
5953        '''
5954        self.role_id = role_id if role_id is not None else ''
5955        '''
5956         The approver role id
5957        '''
5958
5959    def __repr__(self):
5960        return '<sdm.ApprovalFlowApprover ' + \
5961            'account_id: ' + repr(self.account_id) + ' ' +\
5962            'group_id: ' + repr(self.group_id) + ' ' +\
5963            'reference: ' + repr(self.reference) + ' ' +\
5964            'role_id: ' + repr(self.role_id) + ' ' +\
5965            '>'
5966
5967    def to_dict(self):
5968        return {
5969            'account_id': self.account_id,
5970            'group_id': self.group_id,
5971            'reference': self.reference,
5972            'role_id': self.role_id,
5973        }
5974
5975    @classmethod
5976    def from_dict(cls, d):
5977        return cls(
5978            account_id=d.get('account_id'),
5979            group_id=d.get('group_id'),
5980            reference=d.get('reference'),
5981            role_id=d.get('role_id'),
5982        )

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

ApprovalFlowApprover(account_id=None, group_id=None, reference=None, role_id=None)
5934    def __init__(
5935        self,
5936        account_id=None,
5937        group_id=None,
5938        reference=None,
5939        role_id=None,
5940    ):
5941        self.account_id = account_id if account_id is not None else ''
5942        '''
5943         The approver account id.
5944        '''
5945        self.group_id = group_id if group_id is not None else ''
5946        '''
5947         The approver group id
5948        '''
5949        self.reference = reference if reference is not None else ''
5950        '''
5951         A reference to an approver. Must be one of ApproverReference constants.
5952         If set, the account_id and role_id must be empty.
5953        '''
5954        self.role_id = role_id if role_id is not None else ''
5955        '''
5956         The approver role id
5957        '''
account_id

The approver account id.

group_id

The approver group 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)
5967    def to_dict(self):
5968        return {
5969            'account_id': self.account_id,
5970            'group_id': self.group_id,
5971            'reference': self.reference,
5972            'role_id': self.role_id,
5973        }
@classmethod
def from_dict(cls, d)
5975    @classmethod
5976    def from_dict(cls, d):
5977        return cls(
5978            account_id=d.get('account_id'),
5979            group_id=d.get('group_id'),
5980            reference=d.get('reference'),
5981            role_id=d.get('role_id'),
5982        )
class ApprovalFlowStep:
5985class ApprovalFlowStep:
5986    '''
5987         An approval step for an approval workflow. Specifies approvers and conditions for approval to be granted.
5988    '''
5989    __slots__ = [
5990        'approvers',
5991        'quantifier',
5992        'skip_after',
5993    ]
5994
5995    def __init__(
5996        self,
5997        approvers=None,
5998        quantifier=None,
5999        skip_after=None,
6000    ):
6001        self.approvers = approvers if approvers is not None else []
6002        '''
6003         The approvers for this approval step
6004        '''
6005        self.quantifier = quantifier if quantifier is not None else ''
6006        '''
6007         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
6008        '''
6009        self.skip_after = skip_after if skip_after is not None else None
6010        '''
6011         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.
6012        '''
6013
6014    def __repr__(self):
6015        return '<sdm.ApprovalFlowStep ' + \
6016            'approvers: ' + repr(self.approvers) + ' ' +\
6017            'quantifier: ' + repr(self.quantifier) + ' ' +\
6018            'skip_after: ' + repr(self.skip_after) + ' ' +\
6019            '>'
6020
6021    def to_dict(self):
6022        return {
6023            'approvers': self.approvers,
6024            'quantifier': self.quantifier,
6025            'skip_after': self.skip_after,
6026        }
6027
6028    @classmethod
6029    def from_dict(cls, d):
6030        return cls(
6031            approvers=d.get('approvers'),
6032            quantifier=d.get('quantifier'),
6033            skip_after=d.get('skip_after'),
6034        )

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

ApprovalFlowStep(approvers=None, quantifier=None, skip_after=None)
5995    def __init__(
5996        self,
5997        approvers=None,
5998        quantifier=None,
5999        skip_after=None,
6000    ):
6001        self.approvers = approvers if approvers is not None else []
6002        '''
6003         The approvers for this approval step
6004        '''
6005        self.quantifier = quantifier if quantifier is not None else ''
6006        '''
6007         Whether "any" or "all" approvers must approve for this approval step to pass. Optional, defaults to "any".
6008        '''
6009        self.skip_after = skip_after if skip_after is not None else None
6010        '''
6011         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.
6012        '''
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)
6021    def to_dict(self):
6022        return {
6023            'approvers': self.approvers,
6024            'quantifier': self.quantifier,
6025            'skip_after': self.skip_after,
6026        }
@classmethod
def from_dict(cls, d)
6028    @classmethod
6029    def from_dict(cls, d):
6030        return cls(
6031            approvers=d.get('approvers'),
6032            quantifier=d.get('quantifier'),
6033            skip_after=d.get('skip_after'),
6034        )
class ApprovalWorkflow:
6037class ApprovalWorkflow:
6038    '''
6039         ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized
6040     approvers and be approved or denied.
6041    '''
6042    __slots__ = [
6043        'approval_mode',
6044        'approval_workflow_steps',
6045        'description',
6046        'id',
6047        'name',
6048    ]
6049
6050    def __init__(
6051        self,
6052        approval_mode=None,
6053        approval_workflow_steps=None,
6054        description=None,
6055        id=None,
6056        name=None,
6057    ):
6058        self.approval_mode = approval_mode if approval_mode is not None else ''
6059        '''
6060         Approval mode of the ApprovalWorkflow
6061        '''
6062        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
6063        '''
6064         The approval steps of this approval workflow
6065        '''
6066        self.description = description if description is not None else ''
6067        '''
6068         Optional description of the ApprovalWorkflow.
6069        '''
6070        self.id = id if id is not None else ''
6071        '''
6072         Unique identifier of the ApprovalWorkflow.
6073        '''
6074        self.name = name if name is not None else ''
6075        '''
6076         Unique human-readable name of the ApprovalWorkflow.
6077        '''
6078
6079    def __repr__(self):
6080        return '<sdm.ApprovalWorkflow ' + \
6081            'approval_mode: ' + repr(self.approval_mode) + ' ' +\
6082            'approval_workflow_steps: ' + repr(self.approval_workflow_steps) + ' ' +\
6083            'description: ' + repr(self.description) + ' ' +\
6084            'id: ' + repr(self.id) + ' ' +\
6085            'name: ' + repr(self.name) + ' ' +\
6086            '>'
6087
6088    def to_dict(self):
6089        return {
6090            'approval_mode': self.approval_mode,
6091            'approval_workflow_steps': self.approval_workflow_steps,
6092            'description': self.description,
6093            'id': self.id,
6094            'name': self.name,
6095        }
6096
6097    @classmethod
6098    def from_dict(cls, d):
6099        return cls(
6100            approval_mode=d.get('approval_mode'),
6101            approval_workflow_steps=d.get('approval_workflow_steps'),
6102            description=d.get('description'),
6103            id=d.get('id'),
6104            name=d.get('name'),
6105        )

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)
6050    def __init__(
6051        self,
6052        approval_mode=None,
6053        approval_workflow_steps=None,
6054        description=None,
6055        id=None,
6056        name=None,
6057    ):
6058        self.approval_mode = approval_mode if approval_mode is not None else ''
6059        '''
6060         Approval mode of the ApprovalWorkflow
6061        '''
6062        self.approval_workflow_steps = approval_workflow_steps if approval_workflow_steps is not None else []
6063        '''
6064         The approval steps of this approval workflow
6065        '''
6066        self.description = description if description is not None else ''
6067        '''
6068         Optional description of the ApprovalWorkflow.
6069        '''
6070        self.id = id if id is not None else ''
6071        '''
6072         Unique identifier of the ApprovalWorkflow.
6073        '''
6074        self.name = name if name is not None else ''
6075        '''
6076         Unique human-readable name of the ApprovalWorkflow.
6077        '''
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)
6088    def to_dict(self):
6089        return {
6090            'approval_mode': self.approval_mode,
6091            'approval_workflow_steps': self.approval_workflow_steps,
6092            'description': self.description,
6093            'id': self.id,
6094            'name': self.name,
6095        }
@classmethod
def from_dict(cls, d)
6097    @classmethod
6098    def from_dict(cls, d):
6099        return cls(
6100            approval_mode=d.get('approval_mode'),
6101            approval_workflow_steps=d.get('approval_workflow_steps'),
6102            description=d.get('description'),
6103            id=d.get('id'),
6104            name=d.get('name'),
6105        )
class ApprovalWorkflowApprover:
6108class ApprovalWorkflowApprover:
6109    '''
6110         ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
6111    ApprovalWorkflowApprover is deprecated, see docs for more info.
6112    '''
6113    __slots__ = [
6114        'account_id',
6115        'approval_flow_id',
6116        'approval_step_id',
6117        'id',
6118        'reference',
6119        'role_id',
6120    ]
6121
6122    def __init__(
6123        self,
6124        account_id=None,
6125        approval_flow_id=None,
6126        approval_step_id=None,
6127        id=None,
6128        reference=None,
6129        role_id=None,
6130    ):
6131        self.account_id = account_id if account_id is not None else ''
6132        '''
6133         The approver account id.
6134        '''
6135        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6136        '''
6137         The approval flow id specified the approval workflow that this approver belongs to
6138        '''
6139        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
6140        '''
6141         The approval step id specified the approval flow step that this approver belongs to
6142        '''
6143        self.id = id if id is not None else ''
6144        '''
6145         Unique identifier of the ApprovalWorkflowApprover.
6146        '''
6147        self.reference = reference if reference is not None else ''
6148        '''
6149         A reference to an approver. Will be one of ApproverReference constants.
6150         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
6151         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
6152        '''
6153        self.role_id = role_id if role_id is not None else ''
6154        '''
6155         The approver role id
6156        '''
6157
6158    def __repr__(self):
6159        return '<sdm.ApprovalWorkflowApprover ' + \
6160            'account_id: ' + repr(self.account_id) + ' ' +\
6161            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
6162            'approval_step_id: ' + repr(self.approval_step_id) + ' ' +\
6163            'id: ' + repr(self.id) + ' ' +\
6164            'reference: ' + repr(self.reference) + ' ' +\
6165            'role_id: ' + repr(self.role_id) + ' ' +\
6166            '>'
6167
6168    def to_dict(self):
6169        return {
6170            'account_id': self.account_id,
6171            'approval_flow_id': self.approval_flow_id,
6172            'approval_step_id': self.approval_step_id,
6173            'id': self.id,
6174            'reference': self.reference,
6175            'role_id': self.role_id,
6176        }
6177
6178    @classmethod
6179    def from_dict(cls, d):
6180        return cls(
6181            account_id=d.get('account_id'),
6182            approval_flow_id=d.get('approval_flow_id'),
6183            approval_step_id=d.get('approval_step_id'),
6184            id=d.get('id'),
6185            reference=d.get('reference'),
6186            role_id=d.get('role_id'),
6187        )

ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep ApprovalWorkflowApprover is deprecated, see docs for more info.

ApprovalWorkflowApprover( account_id=None, approval_flow_id=None, approval_step_id=None, id=None, reference=None, role_id=None)
6122    def __init__(
6123        self,
6124        account_id=None,
6125        approval_flow_id=None,
6126        approval_step_id=None,
6127        id=None,
6128        reference=None,
6129        role_id=None,
6130    ):
6131        self.account_id = account_id if account_id is not None else ''
6132        '''
6133         The approver account id.
6134        '''
6135        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6136        '''
6137         The approval flow id specified the approval workflow that this approver belongs to
6138        '''
6139        self.approval_step_id = approval_step_id if approval_step_id is not None else ''
6140        '''
6141         The approval step id specified the approval flow step that this approver belongs to
6142        '''
6143        self.id = id if id is not None else ''
6144        '''
6145         Unique identifier of the ApprovalWorkflowApprover.
6146        '''
6147        self.reference = reference if reference is not None else ''
6148        '''
6149         A reference to an approver. Will be one of ApproverReference constants.
6150         This field is only populated when reading historical Approval Workflow Approvers data through the Approval Workflows History API.
6151         For the deprecated Approval Workflow Approvers API no value is returned for this field and it is non-settable.
6152        '''
6153        self.role_id = role_id if role_id is not None else ''
6154        '''
6155         The approver role id
6156        '''
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)
6168    def to_dict(self):
6169        return {
6170            'account_id': self.account_id,
6171            'approval_flow_id': self.approval_flow_id,
6172            'approval_step_id': self.approval_step_id,
6173            'id': self.id,
6174            'reference': self.reference,
6175            'role_id': self.role_id,
6176        }
@classmethod
def from_dict(cls, d)
6178    @classmethod
6179    def from_dict(cls, d):
6180        return cls(
6181            account_id=d.get('account_id'),
6182            approval_flow_id=d.get('approval_flow_id'),
6183            approval_step_id=d.get('approval_step_id'),
6184            id=d.get('id'),
6185            reference=d.get('reference'),
6186            role_id=d.get('role_id'),
6187        )
class ApprovalWorkflowApproverCreateResponse:
6190class ApprovalWorkflowApproverCreateResponse:
6191    '''
6192         ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.
6193    '''
6194    __slots__ = [
6195        'approval_workflow_approver',
6196        'rate_limit',
6197    ]
6198
6199    def __init__(
6200        self,
6201        approval_workflow_approver=None,
6202        rate_limit=None,
6203    ):
6204        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6205        '''
6206         The created approval workflow approver.
6207        '''
6208        self.rate_limit = rate_limit if rate_limit is not None else None
6209        '''
6210         Rate limit information.
6211        '''
6212
6213    def __repr__(self):
6214        return '<sdm.ApprovalWorkflowApproverCreateResponse ' + \
6215            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
6216            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6217            '>'
6218
6219    def to_dict(self):
6220        return {
6221            'approval_workflow_approver': self.approval_workflow_approver,
6222            'rate_limit': self.rate_limit,
6223        }
6224
6225    @classmethod
6226    def from_dict(cls, d):
6227        return cls(
6228            approval_workflow_approver=d.get('approval_workflow_approver'),
6229            rate_limit=d.get('rate_limit'),
6230        )

ApprovalWorkflowApproverCreateResponse reports how the ApprovalWorkflowApprover was created in the system.

ApprovalWorkflowApproverCreateResponse(approval_workflow_approver=None, rate_limit=None)
6199    def __init__(
6200        self,
6201        approval_workflow_approver=None,
6202        rate_limit=None,
6203    ):
6204        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6205        '''
6206         The created approval workflow approver.
6207        '''
6208        self.rate_limit = rate_limit if rate_limit is not None else None
6209        '''
6210         Rate limit information.
6211        '''
approval_workflow_approver

The created approval workflow approver.

rate_limit

Rate limit information.

def to_dict(self)
6219    def to_dict(self):
6220        return {
6221            'approval_workflow_approver': self.approval_workflow_approver,
6222            'rate_limit': self.rate_limit,
6223        }
@classmethod
def from_dict(cls, d)
6225    @classmethod
6226    def from_dict(cls, d):
6227        return cls(
6228            approval_workflow_approver=d.get('approval_workflow_approver'),
6229            rate_limit=d.get('rate_limit'),
6230        )
class ApprovalWorkflowApproverDeleteResponse:
6233class ApprovalWorkflowApproverDeleteResponse:
6234    '''
6235         ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.
6236    '''
6237    __slots__ = [
6238        'id',
6239        'rate_limit',
6240    ]
6241
6242    def __init__(
6243        self,
6244        id=None,
6245        rate_limit=None,
6246    ):
6247        self.id = id if id is not None else ''
6248        '''
6249         The deleted approval workflow approver id.
6250        '''
6251        self.rate_limit = rate_limit if rate_limit is not None else None
6252        '''
6253         Rate limit information.
6254        '''
6255
6256    def __repr__(self):
6257        return '<sdm.ApprovalWorkflowApproverDeleteResponse ' + \
6258            'id: ' + repr(self.id) + ' ' +\
6259            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6260            '>'
6261
6262    def to_dict(self):
6263        return {
6264            'id': self.id,
6265            'rate_limit': self.rate_limit,
6266        }
6267
6268    @classmethod
6269    def from_dict(cls, d):
6270        return cls(
6271            id=d.get('id'),
6272            rate_limit=d.get('rate_limit'),
6273        )

ApprovalWorkflowApproverDeleteResponse returns information about an ApprovalWorkflowApprover that was deleted.

ApprovalWorkflowApproverDeleteResponse(id=None, rate_limit=None)
6242    def __init__(
6243        self,
6244        id=None,
6245        rate_limit=None,
6246    ):
6247        self.id = id if id is not None else ''
6248        '''
6249         The deleted approval workflow approver id.
6250        '''
6251        self.rate_limit = rate_limit if rate_limit is not None else None
6252        '''
6253         Rate limit information.
6254        '''
id

The deleted approval workflow approver id.

rate_limit

Rate limit information.

def to_dict(self)
6262    def to_dict(self):
6263        return {
6264            'id': self.id,
6265            'rate_limit': self.rate_limit,
6266        }
@classmethod
def from_dict(cls, d)
6268    @classmethod
6269    def from_dict(cls, d):
6270        return cls(
6271            id=d.get('id'),
6272            rate_limit=d.get('rate_limit'),
6273        )
class ApprovalWorkflowApproverGetResponse:
6276class ApprovalWorkflowApproverGetResponse:
6277    '''
6278         ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.
6279    '''
6280    __slots__ = [
6281        'approval_workflow_approver',
6282        'meta',
6283        'rate_limit',
6284    ]
6285
6286    def __init__(
6287        self,
6288        approval_workflow_approver=None,
6289        meta=None,
6290        rate_limit=None,
6291    ):
6292        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6293        '''
6294         The requested ApprovalWorkflowApprover.
6295        '''
6296        self.meta = meta if meta is not None else None
6297        '''
6298         Reserved for future use.
6299        '''
6300        self.rate_limit = rate_limit if rate_limit is not None else None
6301        '''
6302         Rate limit information.
6303        '''
6304
6305    def __repr__(self):
6306        return '<sdm.ApprovalWorkflowApproverGetResponse ' + \
6307            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
6308            'meta: ' + repr(self.meta) + ' ' +\
6309            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6310            '>'
6311
6312    def to_dict(self):
6313        return {
6314            'approval_workflow_approver': self.approval_workflow_approver,
6315            'meta': self.meta,
6316            'rate_limit': self.rate_limit,
6317        }
6318
6319    @classmethod
6320    def from_dict(cls, d):
6321        return cls(
6322            approval_workflow_approver=d.get('approval_workflow_approver'),
6323            meta=d.get('meta'),
6324            rate_limit=d.get('rate_limit'),
6325        )

ApprovalWorkflowApproverGetResponse returns a requested ApprovalWorkflowApprover.

ApprovalWorkflowApproverGetResponse(approval_workflow_approver=None, meta=None, rate_limit=None)
6286    def __init__(
6287        self,
6288        approval_workflow_approver=None,
6289        meta=None,
6290        rate_limit=None,
6291    ):
6292        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6293        '''
6294         The requested ApprovalWorkflowApprover.
6295        '''
6296        self.meta = meta if meta is not None else None
6297        '''
6298         Reserved for future use.
6299        '''
6300        self.rate_limit = rate_limit if rate_limit is not None else None
6301        '''
6302         Rate limit information.
6303        '''
approval_workflow_approver

The requested ApprovalWorkflowApprover.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
6312    def to_dict(self):
6313        return {
6314            'approval_workflow_approver': self.approval_workflow_approver,
6315            'meta': self.meta,
6316            'rate_limit': self.rate_limit,
6317        }
@classmethod
def from_dict(cls, d)
6319    @classmethod
6320    def from_dict(cls, d):
6321        return cls(
6322            approval_workflow_approver=d.get('approval_workflow_approver'),
6323            meta=d.get('meta'),
6324            rate_limit=d.get('rate_limit'),
6325        )
class ApprovalWorkflowApproverHistory:
6328class ApprovalWorkflowApproverHistory:
6329    '''
6330         ApprovalWorkflowApproverHistory records the state of an ApprovalWorkflowApprover at a given point in time,
6331     where every change (create or delete) to an ApprovalWorkflowApprover produces an
6332     ApprovalWorkflowApproverHistory record.
6333    '''
6334    __slots__ = [
6335        'activity_id',
6336        'approval_workflow_approver',
6337        'deleted_at',
6338        'timestamp',
6339    ]
6340
6341    def __init__(
6342        self,
6343        activity_id=None,
6344        approval_workflow_approver=None,
6345        deleted_at=None,
6346        timestamp=None,
6347    ):
6348        self.activity_id = activity_id if activity_id is not None else ''
6349        '''
6350         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
6351         May be empty for some system-initiated updates.
6352        '''
6353        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6354        '''
6355         The complete ApprovalWorkflowApprover state at this time.
6356        '''
6357        self.deleted_at = deleted_at if deleted_at is not None else None
6358        '''
6359         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
6360        '''
6361        self.timestamp = timestamp if timestamp is not None else None
6362        '''
6363         The time at which the ApprovalWorkflowApprover state was recorded.
6364        '''
6365
6366    def __repr__(self):
6367        return '<sdm.ApprovalWorkflowApproverHistory ' + \
6368            'activity_id: ' + repr(self.activity_id) + ' ' +\
6369            'approval_workflow_approver: ' + repr(self.approval_workflow_approver) + ' ' +\
6370            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
6371            'timestamp: ' + repr(self.timestamp) + ' ' +\
6372            '>'
6373
6374    def to_dict(self):
6375        return {
6376            'activity_id': self.activity_id,
6377            'approval_workflow_approver': self.approval_workflow_approver,
6378            'deleted_at': self.deleted_at,
6379            'timestamp': self.timestamp,
6380        }
6381
6382    @classmethod
6383    def from_dict(cls, d):
6384        return cls(
6385            activity_id=d.get('activity_id'),
6386            approval_workflow_approver=d.get('approval_workflow_approver'),
6387            deleted_at=d.get('deleted_at'),
6388            timestamp=d.get('timestamp'),
6389        )

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)
6341    def __init__(
6342        self,
6343        activity_id=None,
6344        approval_workflow_approver=None,
6345        deleted_at=None,
6346        timestamp=None,
6347    ):
6348        self.activity_id = activity_id if activity_id is not None else ''
6349        '''
6350         The unique identifier of the Activity that produced this change to the ApprovalWorkflowApprover.
6351         May be empty for some system-initiated updates.
6352        '''
6353        self.approval_workflow_approver = approval_workflow_approver if approval_workflow_approver is not None else None
6354        '''
6355         The complete ApprovalWorkflowApprover state at this time.
6356        '''
6357        self.deleted_at = deleted_at if deleted_at is not None else None
6358        '''
6359         If this ApprovalWorkflowApprover was deleted, the time it was deleted.
6360        '''
6361        self.timestamp = timestamp if timestamp is not None else None
6362        '''
6363         The time at which the ApprovalWorkflowApprover state was recorded.
6364        '''
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)
6374    def to_dict(self):
6375        return {
6376            'activity_id': self.activity_id,
6377            'approval_workflow_approver': self.approval_workflow_approver,
6378            'deleted_at': self.deleted_at,
6379            'timestamp': self.timestamp,
6380        }
@classmethod
def from_dict(cls, d)
6382    @classmethod
6383    def from_dict(cls, d):
6384        return cls(
6385            activity_id=d.get('activity_id'),
6386            approval_workflow_approver=d.get('approval_workflow_approver'),
6387            deleted_at=d.get('deleted_at'),
6388            timestamp=d.get('timestamp'),
6389        )
class ApprovalWorkflowApproverListResponse:
6392class ApprovalWorkflowApproverListResponse:
6393    '''
6394         ApprovalWorkflowApproverListResponse returns a list of ApprovalWorkflowApprover records that meet
6395     the criteria of an ApprovalWorkflowApproverListRequest.
6396    '''
6397    __slots__ = [
6398        'rate_limit',
6399    ]
6400
6401    def __init__(
6402        self,
6403        rate_limit=None,
6404    ):
6405        self.rate_limit = rate_limit if rate_limit is not None else None
6406        '''
6407         Rate limit information.
6408        '''
6409
6410    def __repr__(self):
6411        return '<sdm.ApprovalWorkflowApproverListResponse ' + \
6412            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6413            '>'
6414
6415    def to_dict(self):
6416        return {
6417            'rate_limit': self.rate_limit,
6418        }
6419
6420    @classmethod
6421    def from_dict(cls, d):
6422        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)
6401    def __init__(
6402        self,
6403        rate_limit=None,
6404    ):
6405        self.rate_limit = rate_limit if rate_limit is not None else None
6406        '''
6407         Rate limit information.
6408        '''
rate_limit

Rate limit information.

def to_dict(self)
6415    def to_dict(self):
6416        return {
6417            'rate_limit': self.rate_limit,
6418        }
@classmethod
def from_dict(cls, d)
6420    @classmethod
6421    def from_dict(cls, d):
6422        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowCreateResponse:
6425class ApprovalWorkflowCreateResponse:
6426    '''
6427         ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.
6428    '''
6429    __slots__ = [
6430        'approval_workflow',
6431        'rate_limit',
6432    ]
6433
6434    def __init__(
6435        self,
6436        approval_workflow=None,
6437        rate_limit=None,
6438    ):
6439        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6440        '''
6441         The created approval workflow.
6442        '''
6443        self.rate_limit = rate_limit if rate_limit is not None else None
6444        '''
6445         Rate limit information.
6446        '''
6447
6448    def __repr__(self):
6449        return '<sdm.ApprovalWorkflowCreateResponse ' + \
6450            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6451            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6452            '>'
6453
6454    def to_dict(self):
6455        return {
6456            'approval_workflow': self.approval_workflow,
6457            'rate_limit': self.rate_limit,
6458        }
6459
6460    @classmethod
6461    def from_dict(cls, d):
6462        return cls(
6463            approval_workflow=d.get('approval_workflow'),
6464            rate_limit=d.get('rate_limit'),
6465        )

ApprovalWorkflowCreateResponse reports how the ApprovalWorkflow was created in the system.

ApprovalWorkflowCreateResponse(approval_workflow=None, rate_limit=None)
6434    def __init__(
6435        self,
6436        approval_workflow=None,
6437        rate_limit=None,
6438    ):
6439        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6440        '''
6441         The created approval workflow.
6442        '''
6443        self.rate_limit = rate_limit if rate_limit is not None else None
6444        '''
6445         Rate limit information.
6446        '''
approval_workflow

The created approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
6454    def to_dict(self):
6455        return {
6456            'approval_workflow': self.approval_workflow,
6457            'rate_limit': self.rate_limit,
6458        }
@classmethod
def from_dict(cls, d)
6460    @classmethod
6461    def from_dict(cls, d):
6462        return cls(
6463            approval_workflow=d.get('approval_workflow'),
6464            rate_limit=d.get('rate_limit'),
6465        )
class ApprovalWorkflowDeleteResponse:
6468class ApprovalWorkflowDeleteResponse:
6469    '''
6470         ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.
6471    '''
6472    __slots__ = [
6473        'id',
6474        'rate_limit',
6475    ]
6476
6477    def __init__(
6478        self,
6479        id=None,
6480        rate_limit=None,
6481    ):
6482        self.id = id if id is not None else ''
6483        '''
6484         The deleted approval workflow id.
6485        '''
6486        self.rate_limit = rate_limit if rate_limit is not None else None
6487        '''
6488         Rate limit information.
6489        '''
6490
6491    def __repr__(self):
6492        return '<sdm.ApprovalWorkflowDeleteResponse ' + \
6493            'id: ' + repr(self.id) + ' ' +\
6494            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6495            '>'
6496
6497    def to_dict(self):
6498        return {
6499            'id': self.id,
6500            'rate_limit': self.rate_limit,
6501        }
6502
6503    @classmethod
6504    def from_dict(cls, d):
6505        return cls(
6506            id=d.get('id'),
6507            rate_limit=d.get('rate_limit'),
6508        )

ApprovalWorkflowDeleteResponse returns information about an ApprovalWorkflow that was deleted.

ApprovalWorkflowDeleteResponse(id=None, rate_limit=None)
6477    def __init__(
6478        self,
6479        id=None,
6480        rate_limit=None,
6481    ):
6482        self.id = id if id is not None else ''
6483        '''
6484         The deleted approval workflow id.
6485        '''
6486        self.rate_limit = rate_limit if rate_limit is not None else None
6487        '''
6488         Rate limit information.
6489        '''
id

The deleted approval workflow id.

rate_limit

Rate limit information.

def to_dict(self)
6497    def to_dict(self):
6498        return {
6499            'id': self.id,
6500            'rate_limit': self.rate_limit,
6501        }
@classmethod
def from_dict(cls, d)
6503    @classmethod
6504    def from_dict(cls, d):
6505        return cls(
6506            id=d.get('id'),
6507            rate_limit=d.get('rate_limit'),
6508        )
class ApprovalWorkflowGetResponse:
6511class ApprovalWorkflowGetResponse:
6512    '''
6513         ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.
6514    '''
6515    __slots__ = [
6516        'approval_workflow',
6517        'meta',
6518        'rate_limit',
6519    ]
6520
6521    def __init__(
6522        self,
6523        approval_workflow=None,
6524        meta=None,
6525        rate_limit=None,
6526    ):
6527        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6528        '''
6529         The requested ApprovalWorkflow.
6530        '''
6531        self.meta = meta if meta is not None else None
6532        '''
6533         Reserved for future use.
6534        '''
6535        self.rate_limit = rate_limit if rate_limit is not None else None
6536        '''
6537         Rate limit information.
6538        '''
6539
6540    def __repr__(self):
6541        return '<sdm.ApprovalWorkflowGetResponse ' + \
6542            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6543            'meta: ' + repr(self.meta) + ' ' +\
6544            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6545            '>'
6546
6547    def to_dict(self):
6548        return {
6549            'approval_workflow': self.approval_workflow,
6550            'meta': self.meta,
6551            'rate_limit': self.rate_limit,
6552        }
6553
6554    @classmethod
6555    def from_dict(cls, d):
6556        return cls(
6557            approval_workflow=d.get('approval_workflow'),
6558            meta=d.get('meta'),
6559            rate_limit=d.get('rate_limit'),
6560        )

ApprovalWorkflowGetResponse returns a requested ApprovalWorkflow.

ApprovalWorkflowGetResponse(approval_workflow=None, meta=None, rate_limit=None)
6521    def __init__(
6522        self,
6523        approval_workflow=None,
6524        meta=None,
6525        rate_limit=None,
6526    ):
6527        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6528        '''
6529         The requested ApprovalWorkflow.
6530        '''
6531        self.meta = meta if meta is not None else None
6532        '''
6533         Reserved for future use.
6534        '''
6535        self.rate_limit = rate_limit if rate_limit is not None else None
6536        '''
6537         Rate limit information.
6538        '''
approval_workflow

The requested ApprovalWorkflow.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
6547    def to_dict(self):
6548        return {
6549            'approval_workflow': self.approval_workflow,
6550            'meta': self.meta,
6551            'rate_limit': self.rate_limit,
6552        }
@classmethod
def from_dict(cls, d)
6554    @classmethod
6555    def from_dict(cls, d):
6556        return cls(
6557            approval_workflow=d.get('approval_workflow'),
6558            meta=d.get('meta'),
6559            rate_limit=d.get('rate_limit'),
6560        )
class ApprovalWorkflowHistory:
6563class ApprovalWorkflowHistory:
6564    '''
6565         ApprovalWorkflowHistory records the state of an ApprovalWorkflow at a given point in time,
6566     where every change (create, update and delete) to an ApprovalWorkflow produces an
6567     ApprovalWorkflowHistory record.
6568    '''
6569    __slots__ = [
6570        'activity_id',
6571        'approval_workflow',
6572        'deleted_at',
6573        'timestamp',
6574    ]
6575
6576    def __init__(
6577        self,
6578        activity_id=None,
6579        approval_workflow=None,
6580        deleted_at=None,
6581        timestamp=None,
6582    ):
6583        self.activity_id = activity_id if activity_id is not None else ''
6584        '''
6585         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
6586         May be empty for some system-initiated updates.
6587        '''
6588        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6589        '''
6590         The complete ApprovalWorkflow state at this time.
6591        '''
6592        self.deleted_at = deleted_at if deleted_at is not None else None
6593        '''
6594         If this ApprovalWorkflow was deleted, the time it was deleted.
6595        '''
6596        self.timestamp = timestamp if timestamp is not None else None
6597        '''
6598         The time at which the ApprovalWorkflow state was recorded.
6599        '''
6600
6601    def __repr__(self):
6602        return '<sdm.ApprovalWorkflowHistory ' + \
6603            'activity_id: ' + repr(self.activity_id) + ' ' +\
6604            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6605            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
6606            'timestamp: ' + repr(self.timestamp) + ' ' +\
6607            '>'
6608
6609    def to_dict(self):
6610        return {
6611            'activity_id': self.activity_id,
6612            'approval_workflow': self.approval_workflow,
6613            'deleted_at': self.deleted_at,
6614            'timestamp': self.timestamp,
6615        }
6616
6617    @classmethod
6618    def from_dict(cls, d):
6619        return cls(
6620            activity_id=d.get('activity_id'),
6621            approval_workflow=d.get('approval_workflow'),
6622            deleted_at=d.get('deleted_at'),
6623            timestamp=d.get('timestamp'),
6624        )

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)
6576    def __init__(
6577        self,
6578        activity_id=None,
6579        approval_workflow=None,
6580        deleted_at=None,
6581        timestamp=None,
6582    ):
6583        self.activity_id = activity_id if activity_id is not None else ''
6584        '''
6585         The unique identifier of the Activity that produced this change to the ApprovalWorkflow.
6586         May be empty for some system-initiated updates.
6587        '''
6588        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6589        '''
6590         The complete ApprovalWorkflow state at this time.
6591        '''
6592        self.deleted_at = deleted_at if deleted_at is not None else None
6593        '''
6594         If this ApprovalWorkflow was deleted, the time it was deleted.
6595        '''
6596        self.timestamp = timestamp if timestamp is not None else None
6597        '''
6598         The time at which the ApprovalWorkflow state was recorded.
6599        '''
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)
6609    def to_dict(self):
6610        return {
6611            'activity_id': self.activity_id,
6612            'approval_workflow': self.approval_workflow,
6613            'deleted_at': self.deleted_at,
6614            'timestamp': self.timestamp,
6615        }
@classmethod
def from_dict(cls, d)
6617    @classmethod
6618    def from_dict(cls, d):
6619        return cls(
6620            activity_id=d.get('activity_id'),
6621            approval_workflow=d.get('approval_workflow'),
6622            deleted_at=d.get('deleted_at'),
6623            timestamp=d.get('timestamp'),
6624        )
class ApprovalWorkflowListResponse:
6627class ApprovalWorkflowListResponse:
6628    '''
6629         ApprovalWorkflowListResponse returns a list of ApprovalWorkflow records that meet
6630     the criteria of an ApprovalWorkflowListRequest.
6631    '''
6632    __slots__ = [
6633        'rate_limit',
6634    ]
6635
6636    def __init__(
6637        self,
6638        rate_limit=None,
6639    ):
6640        self.rate_limit = rate_limit if rate_limit is not None else None
6641        '''
6642         Rate limit information.
6643        '''
6644
6645    def __repr__(self):
6646        return '<sdm.ApprovalWorkflowListResponse ' + \
6647            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6648            '>'
6649
6650    def to_dict(self):
6651        return {
6652            'rate_limit': self.rate_limit,
6653        }
6654
6655    @classmethod
6656    def from_dict(cls, d):
6657        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)
6636    def __init__(
6637        self,
6638        rate_limit=None,
6639    ):
6640        self.rate_limit = rate_limit if rate_limit is not None else None
6641        '''
6642         Rate limit information.
6643        '''
rate_limit

Rate limit information.

def to_dict(self)
6650    def to_dict(self):
6651        return {
6652            'rate_limit': self.rate_limit,
6653        }
@classmethod
def from_dict(cls, d)
6655    @classmethod
6656    def from_dict(cls, d):
6657        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowStep:
6660class ApprovalWorkflowStep:
6661    '''
6662         ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
6663    ApprovalWorkflowStep is deprecated, see docs for more info.
6664    '''
6665    __slots__ = [
6666        'approval_flow_id',
6667        'id',
6668        'quantifier',
6669        'skip_after',
6670        'step_order',
6671    ]
6672
6673    def __init__(
6674        self,
6675        approval_flow_id=None,
6676        id=None,
6677        quantifier=None,
6678        skip_after=None,
6679        step_order=None,
6680    ):
6681        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6682        '''
6683         The approval flow id specified the approval workflow that this step belongs to
6684        '''
6685        self.id = id if id is not None else ''
6686        '''
6687         Unique identifier of the ApprovalWorkflowStep.
6688        '''
6689        self.quantifier = quantifier if quantifier is not None else ''
6690        '''
6691         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6692        '''
6693        self.skip_after = skip_after if skip_after is not None else None
6694        '''
6695         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6696        '''
6697        self.step_order = step_order if step_order is not None else 0
6698        '''
6699         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6700        '''
6701
6702    def __repr__(self):
6703        return '<sdm.ApprovalWorkflowStep ' + \
6704            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
6705            'id: ' + repr(self.id) + ' ' +\
6706            'quantifier: ' + repr(self.quantifier) + ' ' +\
6707            'skip_after: ' + repr(self.skip_after) + ' ' +\
6708            'step_order: ' + repr(self.step_order) + ' ' +\
6709            '>'
6710
6711    def to_dict(self):
6712        return {
6713            'approval_flow_id': self.approval_flow_id,
6714            'id': self.id,
6715            'quantifier': self.quantifier,
6716            'skip_after': self.skip_after,
6717            'step_order': self.step_order,
6718        }
6719
6720    @classmethod
6721    def from_dict(cls, d):
6722        return cls(
6723            approval_flow_id=d.get('approval_flow_id'),
6724            id=d.get('id'),
6725            quantifier=d.get('quantifier'),
6726            skip_after=d.get('skip_after'),
6727            step_order=d.get('step_order'),
6728        )

ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow ApprovalWorkflowStep is deprecated, see docs for more info.

ApprovalWorkflowStep( approval_flow_id=None, id=None, quantifier=None, skip_after=None, step_order=None)
6673    def __init__(
6674        self,
6675        approval_flow_id=None,
6676        id=None,
6677        quantifier=None,
6678        skip_after=None,
6679        step_order=None,
6680    ):
6681        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
6682        '''
6683         The approval flow id specified the approval workflow that this step belongs to
6684        '''
6685        self.id = id if id is not None else ''
6686        '''
6687         Unique identifier of the ApprovalWorkflowStep.
6688        '''
6689        self.quantifier = quantifier if quantifier is not None else ''
6690        '''
6691         Whether "any" or "all" approvers must approve for this approval step to pass. Read only field for history commands.
6692        '''
6693        self.skip_after = skip_after if skip_after is not None else None
6694        '''
6695         Duration after which this approval step will be skipped if no approval is given. Read only field for history commands.
6696        '''
6697        self.step_order = step_order if step_order is not None else 0
6698        '''
6699         The position of the approval step in a sequence of approval steps for an approval workflow. Read only field for history commands.
6700        '''
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)
6711    def to_dict(self):
6712        return {
6713            'approval_flow_id': self.approval_flow_id,
6714            'id': self.id,
6715            'quantifier': self.quantifier,
6716            'skip_after': self.skip_after,
6717            'step_order': self.step_order,
6718        }
@classmethod
def from_dict(cls, d)
6720    @classmethod
6721    def from_dict(cls, d):
6722        return cls(
6723            approval_flow_id=d.get('approval_flow_id'),
6724            id=d.get('id'),
6725            quantifier=d.get('quantifier'),
6726            skip_after=d.get('skip_after'),
6727            step_order=d.get('step_order'),
6728        )
class ApprovalWorkflowStepCreateResponse:
6731class ApprovalWorkflowStepCreateResponse:
6732    '''
6733         ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.
6734    '''
6735    __slots__ = [
6736        'approval_workflow_step',
6737        'rate_limit',
6738    ]
6739
6740    def __init__(
6741        self,
6742        approval_workflow_step=None,
6743        rate_limit=None,
6744    ):
6745        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6746        '''
6747         The created approval workflow step.
6748        '''
6749        self.rate_limit = rate_limit if rate_limit is not None else None
6750        '''
6751         Rate limit information.
6752        '''
6753
6754    def __repr__(self):
6755        return '<sdm.ApprovalWorkflowStepCreateResponse ' + \
6756            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6757            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6758            '>'
6759
6760    def to_dict(self):
6761        return {
6762            'approval_workflow_step': self.approval_workflow_step,
6763            'rate_limit': self.rate_limit,
6764        }
6765
6766    @classmethod
6767    def from_dict(cls, d):
6768        return cls(
6769            approval_workflow_step=d.get('approval_workflow_step'),
6770            rate_limit=d.get('rate_limit'),
6771        )

ApprovalWorkflowStepCreateResponse reports how the ApprovalWorkflowStep was created in the system.

ApprovalWorkflowStepCreateResponse(approval_workflow_step=None, rate_limit=None)
6740    def __init__(
6741        self,
6742        approval_workflow_step=None,
6743        rate_limit=None,
6744    ):
6745        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6746        '''
6747         The created approval workflow step.
6748        '''
6749        self.rate_limit = rate_limit if rate_limit is not None else None
6750        '''
6751         Rate limit information.
6752        '''
approval_workflow_step

The created approval workflow step.

rate_limit

Rate limit information.

def to_dict(self)
6760    def to_dict(self):
6761        return {
6762            'approval_workflow_step': self.approval_workflow_step,
6763            'rate_limit': self.rate_limit,
6764        }
@classmethod
def from_dict(cls, d)
6766    @classmethod
6767    def from_dict(cls, d):
6768        return cls(
6769            approval_workflow_step=d.get('approval_workflow_step'),
6770            rate_limit=d.get('rate_limit'),
6771        )
class ApprovalWorkflowStepDeleteResponse:
6774class ApprovalWorkflowStepDeleteResponse:
6775    '''
6776         ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.
6777    '''
6778    __slots__ = [
6779        'id',
6780        'rate_limit',
6781    ]
6782
6783    def __init__(
6784        self,
6785        id=None,
6786        rate_limit=None,
6787    ):
6788        self.id = id if id is not None else ''
6789        '''
6790         The deleted approval workflow step id.
6791        '''
6792        self.rate_limit = rate_limit if rate_limit is not None else None
6793        '''
6794         Rate limit information.
6795        '''
6796
6797    def __repr__(self):
6798        return '<sdm.ApprovalWorkflowStepDeleteResponse ' + \
6799            'id: ' + repr(self.id) + ' ' +\
6800            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6801            '>'
6802
6803    def to_dict(self):
6804        return {
6805            'id': self.id,
6806            'rate_limit': self.rate_limit,
6807        }
6808
6809    @classmethod
6810    def from_dict(cls, d):
6811        return cls(
6812            id=d.get('id'),
6813            rate_limit=d.get('rate_limit'),
6814        )

ApprovalWorkflowStepDeleteResponse returns information about an ApprovalWorkflowStep that was deleted.

ApprovalWorkflowStepDeleteResponse(id=None, rate_limit=None)
6783    def __init__(
6784        self,
6785        id=None,
6786        rate_limit=None,
6787    ):
6788        self.id = id if id is not None else ''
6789        '''
6790         The deleted approval workflow step id.
6791        '''
6792        self.rate_limit = rate_limit if rate_limit is not None else None
6793        '''
6794         Rate limit information.
6795        '''
id

The deleted approval workflow step id.

rate_limit

Rate limit information.

def to_dict(self)
6803    def to_dict(self):
6804        return {
6805            'id': self.id,
6806            'rate_limit': self.rate_limit,
6807        }
@classmethod
def from_dict(cls, d)
6809    @classmethod
6810    def from_dict(cls, d):
6811        return cls(
6812            id=d.get('id'),
6813            rate_limit=d.get('rate_limit'),
6814        )
class ApprovalWorkflowStepGetResponse:
6817class ApprovalWorkflowStepGetResponse:
6818    '''
6819         ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.
6820    '''
6821    __slots__ = [
6822        'approval_workflow_step',
6823        'meta',
6824        'rate_limit',
6825    ]
6826
6827    def __init__(
6828        self,
6829        approval_workflow_step=None,
6830        meta=None,
6831        rate_limit=None,
6832    ):
6833        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6834        '''
6835         The requested ApprovalWorkflowStep.
6836        '''
6837        self.meta = meta if meta is not None else None
6838        '''
6839         Reserved for future use.
6840        '''
6841        self.rate_limit = rate_limit if rate_limit is not None else None
6842        '''
6843         Rate limit information.
6844        '''
6845
6846    def __repr__(self):
6847        return '<sdm.ApprovalWorkflowStepGetResponse ' + \
6848            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6849            'meta: ' + repr(self.meta) + ' ' +\
6850            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6851            '>'
6852
6853    def to_dict(self):
6854        return {
6855            'approval_workflow_step': self.approval_workflow_step,
6856            'meta': self.meta,
6857            'rate_limit': self.rate_limit,
6858        }
6859
6860    @classmethod
6861    def from_dict(cls, d):
6862        return cls(
6863            approval_workflow_step=d.get('approval_workflow_step'),
6864            meta=d.get('meta'),
6865            rate_limit=d.get('rate_limit'),
6866        )

ApprovalWorkflowStepGetResponse returns a requested ApprovalWorkflowStep.

ApprovalWorkflowStepGetResponse(approval_workflow_step=None, meta=None, rate_limit=None)
6827    def __init__(
6828        self,
6829        approval_workflow_step=None,
6830        meta=None,
6831        rate_limit=None,
6832    ):
6833        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6834        '''
6835         The requested ApprovalWorkflowStep.
6836        '''
6837        self.meta = meta if meta is not None else None
6838        '''
6839         Reserved for future use.
6840        '''
6841        self.rate_limit = rate_limit if rate_limit is not None else None
6842        '''
6843         Rate limit information.
6844        '''
approval_workflow_step

The requested ApprovalWorkflowStep.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
6853    def to_dict(self):
6854        return {
6855            'approval_workflow_step': self.approval_workflow_step,
6856            'meta': self.meta,
6857            'rate_limit': self.rate_limit,
6858        }
@classmethod
def from_dict(cls, d)
6860    @classmethod
6861    def from_dict(cls, d):
6862        return cls(
6863            approval_workflow_step=d.get('approval_workflow_step'),
6864            meta=d.get('meta'),
6865            rate_limit=d.get('rate_limit'),
6866        )
class ApprovalWorkflowStepHistory:
6869class ApprovalWorkflowStepHistory:
6870    '''
6871         ApprovalWorkflowStepHistory records the state of an ApprovalWorkflowStep at a given point in time,
6872     where every change (create or delete) to an ApprovalWorkflowStep produces an
6873     ApprovalWorkflowStepHistory record.
6874    '''
6875    __slots__ = [
6876        'activity_id',
6877        'approval_workflow_step',
6878        'deleted_at',
6879        'timestamp',
6880    ]
6881
6882    def __init__(
6883        self,
6884        activity_id=None,
6885        approval_workflow_step=None,
6886        deleted_at=None,
6887        timestamp=None,
6888    ):
6889        self.activity_id = activity_id if activity_id is not None else ''
6890        '''
6891         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
6892         May be empty for some system-initiated updates.
6893        '''
6894        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6895        '''
6896         The complete ApprovalWorkflowStep state at this time.
6897        '''
6898        self.deleted_at = deleted_at if deleted_at is not None else None
6899        '''
6900         If this ApprovalWorkflowStep was deleted, the time it was deleted.
6901        '''
6902        self.timestamp = timestamp if timestamp is not None else None
6903        '''
6904         The time at which the ApprovalWorkflowStep state was recorded.
6905        '''
6906
6907    def __repr__(self):
6908        return '<sdm.ApprovalWorkflowStepHistory ' + \
6909            'activity_id: ' + repr(self.activity_id) + ' ' +\
6910            'approval_workflow_step: ' + repr(self.approval_workflow_step) + ' ' +\
6911            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
6912            'timestamp: ' + repr(self.timestamp) + ' ' +\
6913            '>'
6914
6915    def to_dict(self):
6916        return {
6917            'activity_id': self.activity_id,
6918            'approval_workflow_step': self.approval_workflow_step,
6919            'deleted_at': self.deleted_at,
6920            'timestamp': self.timestamp,
6921        }
6922
6923    @classmethod
6924    def from_dict(cls, d):
6925        return cls(
6926            activity_id=d.get('activity_id'),
6927            approval_workflow_step=d.get('approval_workflow_step'),
6928            deleted_at=d.get('deleted_at'),
6929            timestamp=d.get('timestamp'),
6930        )

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)
6882    def __init__(
6883        self,
6884        activity_id=None,
6885        approval_workflow_step=None,
6886        deleted_at=None,
6887        timestamp=None,
6888    ):
6889        self.activity_id = activity_id if activity_id is not None else ''
6890        '''
6891         The unique identifier of the Activity that produced this change to the ApprovalWorkflowStep.
6892         May be empty for some system-initiated updates.
6893        '''
6894        self.approval_workflow_step = approval_workflow_step if approval_workflow_step is not None else None
6895        '''
6896         The complete ApprovalWorkflowStep state at this time.
6897        '''
6898        self.deleted_at = deleted_at if deleted_at is not None else None
6899        '''
6900         If this ApprovalWorkflowStep was deleted, the time it was deleted.
6901        '''
6902        self.timestamp = timestamp if timestamp is not None else None
6903        '''
6904         The time at which the ApprovalWorkflowStep state was recorded.
6905        '''
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)
6915    def to_dict(self):
6916        return {
6917            'activity_id': self.activity_id,
6918            'approval_workflow_step': self.approval_workflow_step,
6919            'deleted_at': self.deleted_at,
6920            'timestamp': self.timestamp,
6921        }
@classmethod
def from_dict(cls, d)
6923    @classmethod
6924    def from_dict(cls, d):
6925        return cls(
6926            activity_id=d.get('activity_id'),
6927            approval_workflow_step=d.get('approval_workflow_step'),
6928            deleted_at=d.get('deleted_at'),
6929            timestamp=d.get('timestamp'),
6930        )
class ApprovalWorkflowStepListResponse:
6933class ApprovalWorkflowStepListResponse:
6934    '''
6935         ApprovalWorkflowStepListResponse returns a list of ApprovalWorkflowStep records that meet
6936     the criteria of an ApprovalWorkflowStepListRequest.
6937    '''
6938    __slots__ = [
6939        'rate_limit',
6940    ]
6941
6942    def __init__(
6943        self,
6944        rate_limit=None,
6945    ):
6946        self.rate_limit = rate_limit if rate_limit is not None else None
6947        '''
6948         Rate limit information.
6949        '''
6950
6951    def __repr__(self):
6952        return '<sdm.ApprovalWorkflowStepListResponse ' + \
6953            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6954            '>'
6955
6956    def to_dict(self):
6957        return {
6958            'rate_limit': self.rate_limit,
6959        }
6960
6961    @classmethod
6962    def from_dict(cls, d):
6963        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)
6942    def __init__(
6943        self,
6944        rate_limit=None,
6945    ):
6946        self.rate_limit = rate_limit if rate_limit is not None else None
6947        '''
6948         Rate limit information.
6949        '''
rate_limit

Rate limit information.

def to_dict(self)
6956    def to_dict(self):
6957        return {
6958            'rate_limit': self.rate_limit,
6959        }
@classmethod
def from_dict(cls, d)
6961    @classmethod
6962    def from_dict(cls, d):
6963        return cls(rate_limit=d.get('rate_limit'), )
class ApprovalWorkflowUpdateResponse:
6966class ApprovalWorkflowUpdateResponse:
6967    '''
6968         ApprovalWorkflowUpdateResponse returns the fields of an ApprovalWorkflow after it has been updated by
6969     an ApprovalWorkflowUpdateRequest.
6970    '''
6971    __slots__ = [
6972        'approval_workflow',
6973        'rate_limit',
6974    ]
6975
6976    def __init__(
6977        self,
6978        approval_workflow=None,
6979        rate_limit=None,
6980    ):
6981        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6982        '''
6983         The updated approval workflow.
6984        '''
6985        self.rate_limit = rate_limit if rate_limit is not None else None
6986        '''
6987         Rate limit information.
6988        '''
6989
6990    def __repr__(self):
6991        return '<sdm.ApprovalWorkflowUpdateResponse ' + \
6992            'approval_workflow: ' + repr(self.approval_workflow) + ' ' +\
6993            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
6994            '>'
6995
6996    def to_dict(self):
6997        return {
6998            'approval_workflow': self.approval_workflow,
6999            'rate_limit': self.rate_limit,
7000        }
7001
7002    @classmethod
7003    def from_dict(cls, d):
7004        return cls(
7005            approval_workflow=d.get('approval_workflow'),
7006            rate_limit=d.get('rate_limit'),
7007        )

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

ApprovalWorkflowUpdateResponse(approval_workflow=None, rate_limit=None)
6976    def __init__(
6977        self,
6978        approval_workflow=None,
6979        rate_limit=None,
6980    ):
6981        self.approval_workflow = approval_workflow if approval_workflow is not None else None
6982        '''
6983         The updated approval workflow.
6984        '''
6985        self.rate_limit = rate_limit if rate_limit is not None else None
6986        '''
6987         Rate limit information.
6988        '''
approval_workflow

The updated approval workflow.

rate_limit

Rate limit information.

def to_dict(self)
6996    def to_dict(self):
6997        return {
6998            'approval_workflow': self.approval_workflow,
6999            'rate_limit': self.rate_limit,
7000        }
@classmethod
def from_dict(cls, d)
7002    @classmethod
7003    def from_dict(cls, d):
7004        return cls(
7005            approval_workflow=d.get('approval_workflow'),
7006            rate_limit=d.get('rate_limit'),
7007        )
class Athena:
7010class Athena:
7011    __slots__ = [
7012        'access_key',
7013        'bind_interface',
7014        'egress_filter',
7015        'healthy',
7016        'id',
7017        'name',
7018        'output',
7019        'port_override',
7020        'proxy_cluster_id',
7021        'region',
7022        'role_arn',
7023        'role_external_id',
7024        'secret_access_key',
7025        'secret_store_id',
7026        'subdomain',
7027        'tags',
7028    ]
7029
7030    def __init__(
7031        self,
7032        access_key=None,
7033        bind_interface=None,
7034        egress_filter=None,
7035        healthy=None,
7036        id=None,
7037        name=None,
7038        output=None,
7039        port_override=None,
7040        proxy_cluster_id=None,
7041        region=None,
7042        role_arn=None,
7043        role_external_id=None,
7044        secret_access_key=None,
7045        secret_store_id=None,
7046        subdomain=None,
7047        tags=None,
7048    ):
7049        self.access_key = access_key if access_key is not None else ''
7050        '''
7051         The Access Key ID to use to authenticate.
7052        '''
7053        self.bind_interface = bind_interface if bind_interface is not None else ''
7054        '''
7055         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7056        '''
7057        self.egress_filter = egress_filter if egress_filter is not None else ''
7058        '''
7059         A filter applied to the routing logic to pin datasource to nodes.
7060        '''
7061        self.healthy = healthy if healthy is not None else False
7062        '''
7063         True if the datasource is reachable and the credentials are valid.
7064        '''
7065        self.id = id if id is not None else ''
7066        '''
7067         Unique identifier of the Resource.
7068        '''
7069        self.name = name if name is not None else ''
7070        '''
7071         Unique human-readable name of the Resource.
7072        '''
7073        self.output = output if output is not None else ''
7074        '''
7075         The AWS S3 output location.
7076        '''
7077        self.port_override = port_override if port_override is not None else 0
7078        '''
7079         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7080        '''
7081        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7082        '''
7083         ID of the proxy cluster for this resource, if any.
7084        '''
7085        self.region = region if region is not None else ''
7086        '''
7087         The AWS region to connect to e.g. us-east-1.
7088        '''
7089        self.role_arn = role_arn if role_arn is not None else ''
7090        '''
7091         The role to assume after logging in.
7092        '''
7093        self.role_external_id = role_external_id if role_external_id is not None else ''
7094        '''
7095         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7096        '''
7097        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
7098        '''
7099         The Secret Access Key to use to authenticate.
7100        '''
7101        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7102        '''
7103         ID of the secret store containing credentials for this resource, if any.
7104        '''
7105        self.subdomain = subdomain if subdomain is not None else ''
7106        '''
7107         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7108        '''
7109        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7110        '''
7111         Tags is a map of key, value pairs.
7112        '''
7113
7114    def __repr__(self):
7115        return '<sdm.Athena ' + \
7116            'access_key: ' + repr(self.access_key) + ' ' +\
7117            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7118            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7119            'healthy: ' + repr(self.healthy) + ' ' +\
7120            'id: ' + repr(self.id) + ' ' +\
7121            'name: ' + repr(self.name) + ' ' +\
7122            'output: ' + repr(self.output) + ' ' +\
7123            'port_override: ' + repr(self.port_override) + ' ' +\
7124            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7125            'region: ' + repr(self.region) + ' ' +\
7126            'role_arn: ' + repr(self.role_arn) + ' ' +\
7127            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
7128            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
7129            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7130            'subdomain: ' + repr(self.subdomain) + ' ' +\
7131            'tags: ' + repr(self.tags) + ' ' +\
7132            '>'
7133
7134    def to_dict(self):
7135        return {
7136            'access_key': self.access_key,
7137            'bind_interface': self.bind_interface,
7138            'egress_filter': self.egress_filter,
7139            'healthy': self.healthy,
7140            'id': self.id,
7141            'name': self.name,
7142            'output': self.output,
7143            'port_override': self.port_override,
7144            'proxy_cluster_id': self.proxy_cluster_id,
7145            'region': self.region,
7146            'role_arn': self.role_arn,
7147            'role_external_id': self.role_external_id,
7148            'secret_access_key': self.secret_access_key,
7149            'secret_store_id': self.secret_store_id,
7150            'subdomain': self.subdomain,
7151            'tags': self.tags,
7152        }
7153
7154    @classmethod
7155    def from_dict(cls, d):
7156        return cls(
7157            access_key=d.get('access_key'),
7158            bind_interface=d.get('bind_interface'),
7159            egress_filter=d.get('egress_filter'),
7160            healthy=d.get('healthy'),
7161            id=d.get('id'),
7162            name=d.get('name'),
7163            output=d.get('output'),
7164            port_override=d.get('port_override'),
7165            proxy_cluster_id=d.get('proxy_cluster_id'),
7166            region=d.get('region'),
7167            role_arn=d.get('role_arn'),
7168            role_external_id=d.get('role_external_id'),
7169            secret_access_key=d.get('secret_access_key'),
7170            secret_store_id=d.get('secret_store_id'),
7171            subdomain=d.get('subdomain'),
7172            tags=d.get('tags'),
7173        )
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)
7030    def __init__(
7031        self,
7032        access_key=None,
7033        bind_interface=None,
7034        egress_filter=None,
7035        healthy=None,
7036        id=None,
7037        name=None,
7038        output=None,
7039        port_override=None,
7040        proxy_cluster_id=None,
7041        region=None,
7042        role_arn=None,
7043        role_external_id=None,
7044        secret_access_key=None,
7045        secret_store_id=None,
7046        subdomain=None,
7047        tags=None,
7048    ):
7049        self.access_key = access_key if access_key is not None else ''
7050        '''
7051         The Access Key ID to use to authenticate.
7052        '''
7053        self.bind_interface = bind_interface if bind_interface is not None else ''
7054        '''
7055         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7056        '''
7057        self.egress_filter = egress_filter if egress_filter is not None else ''
7058        '''
7059         A filter applied to the routing logic to pin datasource to nodes.
7060        '''
7061        self.healthy = healthy if healthy is not None else False
7062        '''
7063         True if the datasource is reachable and the credentials are valid.
7064        '''
7065        self.id = id if id is not None else ''
7066        '''
7067         Unique identifier of the Resource.
7068        '''
7069        self.name = name if name is not None else ''
7070        '''
7071         Unique human-readable name of the Resource.
7072        '''
7073        self.output = output if output is not None else ''
7074        '''
7075         The AWS S3 output location.
7076        '''
7077        self.port_override = port_override if port_override is not None else 0
7078        '''
7079         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7080        '''
7081        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7082        '''
7083         ID of the proxy cluster for this resource, if any.
7084        '''
7085        self.region = region if region is not None else ''
7086        '''
7087         The AWS region to connect to e.g. us-east-1.
7088        '''
7089        self.role_arn = role_arn if role_arn is not None else ''
7090        '''
7091         The role to assume after logging in.
7092        '''
7093        self.role_external_id = role_external_id if role_external_id is not None else ''
7094        '''
7095         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7096        '''
7097        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
7098        '''
7099         The Secret Access Key to use to authenticate.
7100        '''
7101        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7102        '''
7103         ID of the secret store containing credentials for this resource, if any.
7104        '''
7105        self.subdomain = subdomain if subdomain is not None else ''
7106        '''
7107         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7108        '''
7109        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7110        '''
7111         Tags is a map of key, value pairs.
7112        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
7134    def to_dict(self):
7135        return {
7136            'access_key': self.access_key,
7137            'bind_interface': self.bind_interface,
7138            'egress_filter': self.egress_filter,
7139            'healthy': self.healthy,
7140            'id': self.id,
7141            'name': self.name,
7142            'output': self.output,
7143            'port_override': self.port_override,
7144            'proxy_cluster_id': self.proxy_cluster_id,
7145            'region': self.region,
7146            'role_arn': self.role_arn,
7147            'role_external_id': self.role_external_id,
7148            'secret_access_key': self.secret_access_key,
7149            'secret_store_id': self.secret_store_id,
7150            'subdomain': self.subdomain,
7151            'tags': self.tags,
7152        }
@classmethod
def from_dict(cls, d)
7154    @classmethod
7155    def from_dict(cls, d):
7156        return cls(
7157            access_key=d.get('access_key'),
7158            bind_interface=d.get('bind_interface'),
7159            egress_filter=d.get('egress_filter'),
7160            healthy=d.get('healthy'),
7161            id=d.get('id'),
7162            name=d.get('name'),
7163            output=d.get('output'),
7164            port_override=d.get('port_override'),
7165            proxy_cluster_id=d.get('proxy_cluster_id'),
7166            region=d.get('region'),
7167            role_arn=d.get('role_arn'),
7168            role_external_id=d.get('role_external_id'),
7169            secret_access_key=d.get('secret_access_key'),
7170            secret_store_id=d.get('secret_store_id'),
7171            subdomain=d.get('subdomain'),
7172            tags=d.get('tags'),
7173        )
class AthenaIAM:
7176class AthenaIAM:
7177    __slots__ = [
7178        'bind_interface',
7179        'egress_filter',
7180        'healthy',
7181        'id',
7182        'name',
7183        'output',
7184        'port_override',
7185        'proxy_cluster_id',
7186        'region',
7187        'role_arn',
7188        'role_external_id',
7189        'secret_store_id',
7190        'subdomain',
7191        'tags',
7192    ]
7193
7194    def __init__(
7195        self,
7196        bind_interface=None,
7197        egress_filter=None,
7198        healthy=None,
7199        id=None,
7200        name=None,
7201        output=None,
7202        port_override=None,
7203        proxy_cluster_id=None,
7204        region=None,
7205        role_arn=None,
7206        role_external_id=None,
7207        secret_store_id=None,
7208        subdomain=None,
7209        tags=None,
7210    ):
7211        self.bind_interface = bind_interface if bind_interface is not None else ''
7212        '''
7213         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7214        '''
7215        self.egress_filter = egress_filter if egress_filter is not None else ''
7216        '''
7217         A filter applied to the routing logic to pin datasource to nodes.
7218        '''
7219        self.healthy = healthy if healthy is not None else False
7220        '''
7221         True if the datasource is reachable and the credentials are valid.
7222        '''
7223        self.id = id if id is not None else ''
7224        '''
7225         Unique identifier of the Resource.
7226        '''
7227        self.name = name if name is not None else ''
7228        '''
7229         Unique human-readable name of the Resource.
7230        '''
7231        self.output = output if output is not None else ''
7232        '''
7233         The AWS S3 output location.
7234        '''
7235        self.port_override = port_override if port_override is not None else 0
7236        '''
7237         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7238        '''
7239        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7240        '''
7241         ID of the proxy cluster for this resource, if any.
7242        '''
7243        self.region = region if region is not None else ''
7244        '''
7245         The AWS region to connect to e.g. us-east-1.
7246        '''
7247        self.role_arn = role_arn if role_arn is not None else ''
7248        '''
7249         The role to assume after logging in.
7250        '''
7251        self.role_external_id = role_external_id if role_external_id is not None else ''
7252        '''
7253         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7254        '''
7255        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7256        '''
7257         ID of the secret store containing credentials for this resource, if any.
7258        '''
7259        self.subdomain = subdomain if subdomain is not None else ''
7260        '''
7261         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7262        '''
7263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7264        '''
7265         Tags is a map of key, value pairs.
7266        '''
7267
7268    def __repr__(self):
7269        return '<sdm.AthenaIAM ' + \
7270            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7271            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7272            'healthy: ' + repr(self.healthy) + ' ' +\
7273            'id: ' + repr(self.id) + ' ' +\
7274            'name: ' + repr(self.name) + ' ' +\
7275            'output: ' + repr(self.output) + ' ' +\
7276            'port_override: ' + repr(self.port_override) + ' ' +\
7277            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7278            'region: ' + repr(self.region) + ' ' +\
7279            'role_arn: ' + repr(self.role_arn) + ' ' +\
7280            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
7281            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7282            'subdomain: ' + repr(self.subdomain) + ' ' +\
7283            'tags: ' + repr(self.tags) + ' ' +\
7284            '>'
7285
7286    def to_dict(self):
7287        return {
7288            'bind_interface': self.bind_interface,
7289            'egress_filter': self.egress_filter,
7290            'healthy': self.healthy,
7291            'id': self.id,
7292            'name': self.name,
7293            'output': self.output,
7294            'port_override': self.port_override,
7295            'proxy_cluster_id': self.proxy_cluster_id,
7296            'region': self.region,
7297            'role_arn': self.role_arn,
7298            'role_external_id': self.role_external_id,
7299            'secret_store_id': self.secret_store_id,
7300            'subdomain': self.subdomain,
7301            'tags': self.tags,
7302        }
7303
7304    @classmethod
7305    def from_dict(cls, d):
7306        return cls(
7307            bind_interface=d.get('bind_interface'),
7308            egress_filter=d.get('egress_filter'),
7309            healthy=d.get('healthy'),
7310            id=d.get('id'),
7311            name=d.get('name'),
7312            output=d.get('output'),
7313            port_override=d.get('port_override'),
7314            proxy_cluster_id=d.get('proxy_cluster_id'),
7315            region=d.get('region'),
7316            role_arn=d.get('role_arn'),
7317            role_external_id=d.get('role_external_id'),
7318            secret_store_id=d.get('secret_store_id'),
7319            subdomain=d.get('subdomain'),
7320            tags=d.get('tags'),
7321        )
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)
7194    def __init__(
7195        self,
7196        bind_interface=None,
7197        egress_filter=None,
7198        healthy=None,
7199        id=None,
7200        name=None,
7201        output=None,
7202        port_override=None,
7203        proxy_cluster_id=None,
7204        region=None,
7205        role_arn=None,
7206        role_external_id=None,
7207        secret_store_id=None,
7208        subdomain=None,
7209        tags=None,
7210    ):
7211        self.bind_interface = bind_interface if bind_interface is not None else ''
7212        '''
7213         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7214        '''
7215        self.egress_filter = egress_filter if egress_filter is not None else ''
7216        '''
7217         A filter applied to the routing logic to pin datasource to nodes.
7218        '''
7219        self.healthy = healthy if healthy is not None else False
7220        '''
7221         True if the datasource is reachable and the credentials are valid.
7222        '''
7223        self.id = id if id is not None else ''
7224        '''
7225         Unique identifier of the Resource.
7226        '''
7227        self.name = name if name is not None else ''
7228        '''
7229         Unique human-readable name of the Resource.
7230        '''
7231        self.output = output if output is not None else ''
7232        '''
7233         The AWS S3 output location.
7234        '''
7235        self.port_override = port_override if port_override is not None else 0
7236        '''
7237         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7238        '''
7239        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7240        '''
7241         ID of the proxy cluster for this resource, if any.
7242        '''
7243        self.region = region if region is not None else ''
7244        '''
7245         The AWS region to connect to e.g. us-east-1.
7246        '''
7247        self.role_arn = role_arn if role_arn is not None else ''
7248        '''
7249         The role to assume after logging in.
7250        '''
7251        self.role_external_id = role_external_id if role_external_id is not None else ''
7252        '''
7253         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
7254        '''
7255        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7256        '''
7257         ID of the secret store containing credentials for this resource, if any.
7258        '''
7259        self.subdomain = subdomain if subdomain is not None else ''
7260        '''
7261         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7262        '''
7263        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7264        '''
7265         Tags is a map of key, value pairs.
7266        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
7286    def to_dict(self):
7287        return {
7288            'bind_interface': self.bind_interface,
7289            'egress_filter': self.egress_filter,
7290            'healthy': self.healthy,
7291            'id': self.id,
7292            'name': self.name,
7293            'output': self.output,
7294            'port_override': self.port_override,
7295            'proxy_cluster_id': self.proxy_cluster_id,
7296            'region': self.region,
7297            'role_arn': self.role_arn,
7298            'role_external_id': self.role_external_id,
7299            'secret_store_id': self.secret_store_id,
7300            'subdomain': self.subdomain,
7301            'tags': self.tags,
7302        }
@classmethod
def from_dict(cls, d)
7304    @classmethod
7305    def from_dict(cls, d):
7306        return cls(
7307            bind_interface=d.get('bind_interface'),
7308            egress_filter=d.get('egress_filter'),
7309            healthy=d.get('healthy'),
7310            id=d.get('id'),
7311            name=d.get('name'),
7312            output=d.get('output'),
7313            port_override=d.get('port_override'),
7314            proxy_cluster_id=d.get('proxy_cluster_id'),
7315            region=d.get('region'),
7316            role_arn=d.get('role_arn'),
7317            role_external_id=d.get('role_external_id'),
7318            secret_store_id=d.get('secret_store_id'),
7319            subdomain=d.get('subdomain'),
7320            tags=d.get('tags'),
7321        )
class AuroraMysql:
7324class AuroraMysql:
7325    __slots__ = [
7326        'bind_interface',
7327        'database',
7328        'egress_filter',
7329        'healthy',
7330        'hostname',
7331        'id',
7332        'name',
7333        'password',
7334        'port',
7335        'port_override',
7336        'proxy_cluster_id',
7337        'require_native_auth',
7338        'secret_store_id',
7339        'subdomain',
7340        'tags',
7341        'use_azure_single_server_usernames',
7342        'username',
7343    ]
7344
7345    def __init__(
7346        self,
7347        bind_interface=None,
7348        database=None,
7349        egress_filter=None,
7350        healthy=None,
7351        hostname=None,
7352        id=None,
7353        name=None,
7354        password=None,
7355        port=None,
7356        port_override=None,
7357        proxy_cluster_id=None,
7358        require_native_auth=None,
7359        secret_store_id=None,
7360        subdomain=None,
7361        tags=None,
7362        use_azure_single_server_usernames=None,
7363        username=None,
7364    ):
7365        self.bind_interface = bind_interface if bind_interface is not None else ''
7366        '''
7367         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7368        '''
7369        self.database = database if database is not None else ''
7370        '''
7371         The database for healthchecks. Does not affect client requests
7372        '''
7373        self.egress_filter = egress_filter if egress_filter is not None else ''
7374        '''
7375         A filter applied to the routing logic to pin datasource to nodes.
7376        '''
7377        self.healthy = healthy if healthy is not None else False
7378        '''
7379         True if the datasource is reachable and the credentials are valid.
7380        '''
7381        self.hostname = hostname if hostname is not None else ''
7382        '''
7383         The host to dial to initiate a connection from the egress node to this resource.
7384        '''
7385        self.id = id if id is not None else ''
7386        '''
7387         Unique identifier of the Resource.
7388        '''
7389        self.name = name if name is not None else ''
7390        '''
7391         Unique human-readable name of the Resource.
7392        '''
7393        self.password = password if password is not None else ''
7394        '''
7395         The password to authenticate with.
7396        '''
7397        self.port = port if port is not None else 0
7398        '''
7399         The port to dial to initiate a connection from the egress node to this resource.
7400        '''
7401        self.port_override = port_override if port_override is not None else 0
7402        '''
7403         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7404        '''
7405        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7406        '''
7407         ID of the proxy cluster for this resource, if any.
7408        '''
7409        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7410        '''
7411         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7412        '''
7413        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7414        '''
7415         ID of the secret store containing credentials for this resource, if any.
7416        '''
7417        self.subdomain = subdomain if subdomain is not None else ''
7418        '''
7419         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7420        '''
7421        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7422        '''
7423         Tags is a map of key, value pairs.
7424        '''
7425        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7426        '''
7427         If true, appends the hostname to the username when hitting a database.azure.com address
7428        '''
7429        self.username = username if username is not None else ''
7430        '''
7431         The username to authenticate with.
7432        '''
7433
7434    def __repr__(self):
7435        return '<sdm.AuroraMysql ' + \
7436            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7437            'database: ' + repr(self.database) + ' ' +\
7438            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7439            'healthy: ' + repr(self.healthy) + ' ' +\
7440            'hostname: ' + repr(self.hostname) + ' ' +\
7441            'id: ' + repr(self.id) + ' ' +\
7442            'name: ' + repr(self.name) + ' ' +\
7443            'password: ' + repr(self.password) + ' ' +\
7444            'port: ' + repr(self.port) + ' ' +\
7445            'port_override: ' + repr(self.port_override) + ' ' +\
7446            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7447            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
7448            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7449            'subdomain: ' + repr(self.subdomain) + ' ' +\
7450            'tags: ' + repr(self.tags) + ' ' +\
7451            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
7452            'username: ' + repr(self.username) + ' ' +\
7453            '>'
7454
7455    def to_dict(self):
7456        return {
7457            'bind_interface': self.bind_interface,
7458            'database': self.database,
7459            'egress_filter': self.egress_filter,
7460            'healthy': self.healthy,
7461            'hostname': self.hostname,
7462            'id': self.id,
7463            'name': self.name,
7464            'password': self.password,
7465            'port': self.port,
7466            'port_override': self.port_override,
7467            'proxy_cluster_id': self.proxy_cluster_id,
7468            'require_native_auth': self.require_native_auth,
7469            'secret_store_id': self.secret_store_id,
7470            'subdomain': self.subdomain,
7471            'tags': self.tags,
7472            'use_azure_single_server_usernames':
7473            self.use_azure_single_server_usernames,
7474            'username': self.username,
7475        }
7476
7477    @classmethod
7478    def from_dict(cls, d):
7479        return cls(
7480            bind_interface=d.get('bind_interface'),
7481            database=d.get('database'),
7482            egress_filter=d.get('egress_filter'),
7483            healthy=d.get('healthy'),
7484            hostname=d.get('hostname'),
7485            id=d.get('id'),
7486            name=d.get('name'),
7487            password=d.get('password'),
7488            port=d.get('port'),
7489            port_override=d.get('port_override'),
7490            proxy_cluster_id=d.get('proxy_cluster_id'),
7491            require_native_auth=d.get('require_native_auth'),
7492            secret_store_id=d.get('secret_store_id'),
7493            subdomain=d.get('subdomain'),
7494            tags=d.get('tags'),
7495            use_azure_single_server_usernames=d.get(
7496                'use_azure_single_server_usernames'),
7497            username=d.get('username'),
7498        )
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)
7345    def __init__(
7346        self,
7347        bind_interface=None,
7348        database=None,
7349        egress_filter=None,
7350        healthy=None,
7351        hostname=None,
7352        id=None,
7353        name=None,
7354        password=None,
7355        port=None,
7356        port_override=None,
7357        proxy_cluster_id=None,
7358        require_native_auth=None,
7359        secret_store_id=None,
7360        subdomain=None,
7361        tags=None,
7362        use_azure_single_server_usernames=None,
7363        username=None,
7364    ):
7365        self.bind_interface = bind_interface if bind_interface is not None else ''
7366        '''
7367         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7368        '''
7369        self.database = database if database is not None else ''
7370        '''
7371         The database for healthchecks. Does not affect client requests
7372        '''
7373        self.egress_filter = egress_filter if egress_filter is not None else ''
7374        '''
7375         A filter applied to the routing logic to pin datasource to nodes.
7376        '''
7377        self.healthy = healthy if healthy is not None else False
7378        '''
7379         True if the datasource is reachable and the credentials are valid.
7380        '''
7381        self.hostname = hostname if hostname is not None else ''
7382        '''
7383         The host to dial to initiate a connection from the egress node to this resource.
7384        '''
7385        self.id = id if id is not None else ''
7386        '''
7387         Unique identifier of the Resource.
7388        '''
7389        self.name = name if name is not None else ''
7390        '''
7391         Unique human-readable name of the Resource.
7392        '''
7393        self.password = password if password is not None else ''
7394        '''
7395         The password to authenticate with.
7396        '''
7397        self.port = port if port is not None else 0
7398        '''
7399         The port to dial to initiate a connection from the egress node to this resource.
7400        '''
7401        self.port_override = port_override if port_override is not None else 0
7402        '''
7403         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7404        '''
7405        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7406        '''
7407         ID of the proxy cluster for this resource, if any.
7408        '''
7409        self.require_native_auth = require_native_auth if require_native_auth is not None else False
7410        '''
7411         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
7412        '''
7413        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7414        '''
7415         ID of the secret store containing credentials for this resource, if any.
7416        '''
7417        self.subdomain = subdomain if subdomain is not None else ''
7418        '''
7419         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7420        '''
7421        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7422        '''
7423         Tags is a map of key, value pairs.
7424        '''
7425        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
7426        '''
7427         If true, appends the hostname to the username when hitting a database.azure.com address
7428        '''
7429        self.username = username if username is not None else ''
7430        '''
7431         The username to authenticate with.
7432        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
7455    def to_dict(self):
7456        return {
7457            'bind_interface': self.bind_interface,
7458            'database': self.database,
7459            'egress_filter': self.egress_filter,
7460            'healthy': self.healthy,
7461            'hostname': self.hostname,
7462            'id': self.id,
7463            'name': self.name,
7464            'password': self.password,
7465            'port': self.port,
7466            'port_override': self.port_override,
7467            'proxy_cluster_id': self.proxy_cluster_id,
7468            'require_native_auth': self.require_native_auth,
7469            'secret_store_id': self.secret_store_id,
7470            'subdomain': self.subdomain,
7471            'tags': self.tags,
7472            'use_azure_single_server_usernames':
7473            self.use_azure_single_server_usernames,
7474            'username': self.username,
7475        }
@classmethod
def from_dict(cls, d)
7477    @classmethod
7478    def from_dict(cls, d):
7479        return cls(
7480            bind_interface=d.get('bind_interface'),
7481            database=d.get('database'),
7482            egress_filter=d.get('egress_filter'),
7483            healthy=d.get('healthy'),
7484            hostname=d.get('hostname'),
7485            id=d.get('id'),
7486            name=d.get('name'),
7487            password=d.get('password'),
7488            port=d.get('port'),
7489            port_override=d.get('port_override'),
7490            proxy_cluster_id=d.get('proxy_cluster_id'),
7491            require_native_auth=d.get('require_native_auth'),
7492            secret_store_id=d.get('secret_store_id'),
7493            subdomain=d.get('subdomain'),
7494            tags=d.get('tags'),
7495            use_azure_single_server_usernames=d.get(
7496                'use_azure_single_server_usernames'),
7497            username=d.get('username'),
7498        )
class AuroraMysqlIAM:
7501class AuroraMysqlIAM:
7502    __slots__ = [
7503        'bind_interface',
7504        'database',
7505        'egress_filter',
7506        'healthy',
7507        'hostname',
7508        'id',
7509        'name',
7510        'port',
7511        'port_override',
7512        'proxy_cluster_id',
7513        'region',
7514        'role_assumption_arn',
7515        'secret_store_id',
7516        'subdomain',
7517        'tags',
7518        'username',
7519    ]
7520
7521    def __init__(
7522        self,
7523        bind_interface=None,
7524        database=None,
7525        egress_filter=None,
7526        healthy=None,
7527        hostname=None,
7528        id=None,
7529        name=None,
7530        port=None,
7531        port_override=None,
7532        proxy_cluster_id=None,
7533        region=None,
7534        role_assumption_arn=None,
7535        secret_store_id=None,
7536        subdomain=None,
7537        tags=None,
7538        username=None,
7539    ):
7540        self.bind_interface = bind_interface if bind_interface is not None else ''
7541        '''
7542         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7543        '''
7544        self.database = database if database is not None else ''
7545        '''
7546         The database for healthchecks. Does not affect client requests
7547        '''
7548        self.egress_filter = egress_filter if egress_filter is not None else ''
7549        '''
7550         A filter applied to the routing logic to pin datasource to nodes.
7551        '''
7552        self.healthy = healthy if healthy is not None else False
7553        '''
7554         True if the datasource is reachable and the credentials are valid.
7555        '''
7556        self.hostname = hostname if hostname is not None else ''
7557        '''
7558         The host to dial to initiate a connection from the egress node to this resource.
7559        '''
7560        self.id = id if id is not None else ''
7561        '''
7562         Unique identifier of the Resource.
7563        '''
7564        self.name = name if name is not None else ''
7565        '''
7566         Unique human-readable name of the Resource.
7567        '''
7568        self.port = port if port is not None else 0
7569        '''
7570         The port to dial to initiate a connection from the egress node to this resource.
7571        '''
7572        self.port_override = port_override if port_override is not None else 0
7573        '''
7574         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7575        '''
7576        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7577        '''
7578         ID of the proxy cluster for this resource, if any.
7579        '''
7580        self.region = region if region is not None else ''
7581        '''
7582         The AWS region to connect to.
7583        '''
7584        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
7585        '''
7586         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
7587        '''
7588        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7589        '''
7590         ID of the secret store containing credentials for this resource, if any.
7591        '''
7592        self.subdomain = subdomain if subdomain is not None else ''
7593        '''
7594         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7595        '''
7596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7597        '''
7598         Tags is a map of key, value pairs.
7599        '''
7600        self.username = username if username is not None else ''
7601        '''
7602         The username to authenticate with.
7603        '''
7604
7605    def __repr__(self):
7606        return '<sdm.AuroraMysqlIAM ' + \
7607            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7608            'database: ' + repr(self.database) + ' ' +\
7609            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7610            'healthy: ' + repr(self.healthy) + ' ' +\
7611            'hostname: ' + repr(self.hostname) + ' ' +\
7612            'id: ' + repr(self.id) + ' ' +\
7613            'name: ' + repr(self.name) + ' ' +\
7614            'port: ' + repr(self.port) + ' ' +\
7615            'port_override: ' + repr(self.port_override) + ' ' +\
7616            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7617            'region: ' + repr(self.region) + ' ' +\
7618            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
7619            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7620            'subdomain: ' + repr(self.subdomain) + ' ' +\
7621            'tags: ' + repr(self.tags) + ' ' +\
7622            'username: ' + repr(self.username) + ' ' +\
7623            '>'
7624
7625    def to_dict(self):
7626        return {
7627            'bind_interface': self.bind_interface,
7628            'database': self.database,
7629            'egress_filter': self.egress_filter,
7630            'healthy': self.healthy,
7631            'hostname': self.hostname,
7632            'id': self.id,
7633            'name': self.name,
7634            'port': self.port,
7635            'port_override': self.port_override,
7636            'proxy_cluster_id': self.proxy_cluster_id,
7637            'region': self.region,
7638            'role_assumption_arn': self.role_assumption_arn,
7639            'secret_store_id': self.secret_store_id,
7640            'subdomain': self.subdomain,
7641            'tags': self.tags,
7642            'username': self.username,
7643        }
7644
7645    @classmethod
7646    def from_dict(cls, d):
7647        return cls(
7648            bind_interface=d.get('bind_interface'),
7649            database=d.get('database'),
7650            egress_filter=d.get('egress_filter'),
7651            healthy=d.get('healthy'),
7652            hostname=d.get('hostname'),
7653            id=d.get('id'),
7654            name=d.get('name'),
7655            port=d.get('port'),
7656            port_override=d.get('port_override'),
7657            proxy_cluster_id=d.get('proxy_cluster_id'),
7658            region=d.get('region'),
7659            role_assumption_arn=d.get('role_assumption_arn'),
7660            secret_store_id=d.get('secret_store_id'),
7661            subdomain=d.get('subdomain'),
7662            tags=d.get('tags'),
7663            username=d.get('username'),
7664        )
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)
7521    def __init__(
7522        self,
7523        bind_interface=None,
7524        database=None,
7525        egress_filter=None,
7526        healthy=None,
7527        hostname=None,
7528        id=None,
7529        name=None,
7530        port=None,
7531        port_override=None,
7532        proxy_cluster_id=None,
7533        region=None,
7534        role_assumption_arn=None,
7535        secret_store_id=None,
7536        subdomain=None,
7537        tags=None,
7538        username=None,
7539    ):
7540        self.bind_interface = bind_interface if bind_interface is not None else ''
7541        '''
7542         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7543        '''
7544        self.database = database if database is not None else ''
7545        '''
7546         The database for healthchecks. Does not affect client requests
7547        '''
7548        self.egress_filter = egress_filter if egress_filter is not None else ''
7549        '''
7550         A filter applied to the routing logic to pin datasource to nodes.
7551        '''
7552        self.healthy = healthy if healthy is not None else False
7553        '''
7554         True if the datasource is reachable and the credentials are valid.
7555        '''
7556        self.hostname = hostname if hostname is not None else ''
7557        '''
7558         The host to dial to initiate a connection from the egress node to this resource.
7559        '''
7560        self.id = id if id is not None else ''
7561        '''
7562         Unique identifier of the Resource.
7563        '''
7564        self.name = name if name is not None else ''
7565        '''
7566         Unique human-readable name of the Resource.
7567        '''
7568        self.port = port if port is not None else 0
7569        '''
7570         The port to dial to initiate a connection from the egress node to this resource.
7571        '''
7572        self.port_override = port_override if port_override is not None else 0
7573        '''
7574         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7575        '''
7576        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7577        '''
7578         ID of the proxy cluster for this resource, if any.
7579        '''
7580        self.region = region if region is not None else ''
7581        '''
7582         The AWS region to connect to.
7583        '''
7584        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
7585        '''
7586         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
7587        '''
7588        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7589        '''
7590         ID of the secret store containing credentials for this resource, if any.
7591        '''
7592        self.subdomain = subdomain if subdomain is not None else ''
7593        '''
7594         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7595        '''
7596        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7597        '''
7598         Tags is a map of key, value pairs.
7599        '''
7600        self.username = username if username is not None else ''
7601        '''
7602         The username to authenticate with.
7603        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
7625    def to_dict(self):
7626        return {
7627            'bind_interface': self.bind_interface,
7628            'database': self.database,
7629            'egress_filter': self.egress_filter,
7630            'healthy': self.healthy,
7631            'hostname': self.hostname,
7632            'id': self.id,
7633            'name': self.name,
7634            'port': self.port,
7635            'port_override': self.port_override,
7636            'proxy_cluster_id': self.proxy_cluster_id,
7637            'region': self.region,
7638            'role_assumption_arn': self.role_assumption_arn,
7639            'secret_store_id': self.secret_store_id,
7640            'subdomain': self.subdomain,
7641            'tags': self.tags,
7642            'username': self.username,
7643        }
@classmethod
def from_dict(cls, d)
7645    @classmethod
7646    def from_dict(cls, d):
7647        return cls(
7648            bind_interface=d.get('bind_interface'),
7649            database=d.get('database'),
7650            egress_filter=d.get('egress_filter'),
7651            healthy=d.get('healthy'),
7652            hostname=d.get('hostname'),
7653            id=d.get('id'),
7654            name=d.get('name'),
7655            port=d.get('port'),
7656            port_override=d.get('port_override'),
7657            proxy_cluster_id=d.get('proxy_cluster_id'),
7658            region=d.get('region'),
7659            role_assumption_arn=d.get('role_assumption_arn'),
7660            secret_store_id=d.get('secret_store_id'),
7661            subdomain=d.get('subdomain'),
7662            tags=d.get('tags'),
7663            username=d.get('username'),
7664        )
class AuroraPostgres:
7667class AuroraPostgres:
7668    __slots__ = [
7669        'bind_interface',
7670        'database',
7671        'egress_filter',
7672        'healthy',
7673        'hostname',
7674        'id',
7675        'name',
7676        'override_database',
7677        'password',
7678        'port',
7679        'port_override',
7680        'proxy_cluster_id',
7681        'secret_store_id',
7682        'subdomain',
7683        'tags',
7684        'username',
7685    ]
7686
7687    def __init__(
7688        self,
7689        bind_interface=None,
7690        database=None,
7691        egress_filter=None,
7692        healthy=None,
7693        hostname=None,
7694        id=None,
7695        name=None,
7696        override_database=None,
7697        password=None,
7698        port=None,
7699        port_override=None,
7700        proxy_cluster_id=None,
7701        secret_store_id=None,
7702        subdomain=None,
7703        tags=None,
7704        username=None,
7705    ):
7706        self.bind_interface = bind_interface if bind_interface is not None else ''
7707        '''
7708         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7709        '''
7710        self.database = database if database is not None else ''
7711        '''
7712         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7713        '''
7714        self.egress_filter = egress_filter if egress_filter is not None else ''
7715        '''
7716         A filter applied to the routing logic to pin datasource to nodes.
7717        '''
7718        self.healthy = healthy if healthy is not None else False
7719        '''
7720         True if the datasource is reachable and the credentials are valid.
7721        '''
7722        self.hostname = hostname if hostname is not None else ''
7723        '''
7724         The host to dial to initiate a connection from the egress node to this resource.
7725        '''
7726        self.id = id if id is not None else ''
7727        '''
7728         Unique identifier of the Resource.
7729        '''
7730        self.name = name if name is not None else ''
7731        '''
7732         Unique human-readable name of the Resource.
7733        '''
7734        self.override_database = override_database if override_database is not None else False
7735        '''
7736         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
7737        '''
7738        self.password = password if password is not None else ''
7739        '''
7740         The password to authenticate with.
7741        '''
7742        self.port = port if port is not None else 0
7743        '''
7744         The port to dial to initiate a connection from the egress node to this resource.
7745        '''
7746        self.port_override = port_override if port_override is not None else 0
7747        '''
7748         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7749        '''
7750        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7751        '''
7752         ID of the proxy cluster for this resource, if any.
7753        '''
7754        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7755        '''
7756         ID of the secret store containing credentials for this resource, if any.
7757        '''
7758        self.subdomain = subdomain if subdomain is not None else ''
7759        '''
7760         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7761        '''
7762        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7763        '''
7764         Tags is a map of key, value pairs.
7765        '''
7766        self.username = username if username is not None else ''
7767        '''
7768         The username to authenticate with.
7769        '''
7770
7771    def __repr__(self):
7772        return '<sdm.AuroraPostgres ' + \
7773            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
7774            'database: ' + repr(self.database) + ' ' +\
7775            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
7776            'healthy: ' + repr(self.healthy) + ' ' +\
7777            'hostname: ' + repr(self.hostname) + ' ' +\
7778            'id: ' + repr(self.id) + ' ' +\
7779            'name: ' + repr(self.name) + ' ' +\
7780            'override_database: ' + repr(self.override_database) + ' ' +\
7781            'password: ' + repr(self.password) + ' ' +\
7782            'port: ' + repr(self.port) + ' ' +\
7783            'port_override: ' + repr(self.port_override) + ' ' +\
7784            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
7785            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
7786            'subdomain: ' + repr(self.subdomain) + ' ' +\
7787            'tags: ' + repr(self.tags) + ' ' +\
7788            'username: ' + repr(self.username) + ' ' +\
7789            '>'
7790
7791    def to_dict(self):
7792        return {
7793            'bind_interface': self.bind_interface,
7794            'database': self.database,
7795            'egress_filter': self.egress_filter,
7796            'healthy': self.healthy,
7797            'hostname': self.hostname,
7798            'id': self.id,
7799            'name': self.name,
7800            'override_database': self.override_database,
7801            'password': self.password,
7802            'port': self.port,
7803            'port_override': self.port_override,
7804            'proxy_cluster_id': self.proxy_cluster_id,
7805            'secret_store_id': self.secret_store_id,
7806            'subdomain': self.subdomain,
7807            'tags': self.tags,
7808            'username': self.username,
7809        }
7810
7811    @classmethod
7812    def from_dict(cls, d):
7813        return cls(
7814            bind_interface=d.get('bind_interface'),
7815            database=d.get('database'),
7816            egress_filter=d.get('egress_filter'),
7817            healthy=d.get('healthy'),
7818            hostname=d.get('hostname'),
7819            id=d.get('id'),
7820            name=d.get('name'),
7821            override_database=d.get('override_database'),
7822            password=d.get('password'),
7823            port=d.get('port'),
7824            port_override=d.get('port_override'),
7825            proxy_cluster_id=d.get('proxy_cluster_id'),
7826            secret_store_id=d.get('secret_store_id'),
7827            subdomain=d.get('subdomain'),
7828            tags=d.get('tags'),
7829            username=d.get('username'),
7830        )
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)
7687    def __init__(
7688        self,
7689        bind_interface=None,
7690        database=None,
7691        egress_filter=None,
7692        healthy=None,
7693        hostname=None,
7694        id=None,
7695        name=None,
7696        override_database=None,
7697        password=None,
7698        port=None,
7699        port_override=None,
7700        proxy_cluster_id=None,
7701        secret_store_id=None,
7702        subdomain=None,
7703        tags=None,
7704        username=None,
7705    ):
7706        self.bind_interface = bind_interface if bind_interface is not None else ''
7707        '''
7708         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
7709        '''
7710        self.database = database if database is not None else ''
7711        '''
7712         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
7713        '''
7714        self.egress_filter = egress_filter if egress_filter is not None else ''
7715        '''
7716         A filter applied to the routing logic to pin datasource to nodes.
7717        '''
7718        self.healthy = healthy if healthy is not None else False
7719        '''
7720         True if the datasource is reachable and the credentials are valid.
7721        '''
7722        self.hostname = hostname if hostname is not None else ''
7723        '''
7724         The host to dial to initiate a connection from the egress node to this resource.
7725        '''
7726        self.id = id if id is not None else ''
7727        '''
7728         Unique identifier of the Resource.
7729        '''
7730        self.name = name if name is not None else ''
7731        '''
7732         Unique human-readable name of the Resource.
7733        '''
7734        self.override_database = override_database if override_database is not None else False
7735        '''
7736         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
7737        '''
7738        self.password = password if password is not None else ''
7739        '''
7740         The password to authenticate with.
7741        '''
7742        self.port = port if port is not None else 0
7743        '''
7744         The port to dial to initiate a connection from the egress node to this resource.
7745        '''
7746        self.port_override = port_override if port_override is not None else 0
7747        '''
7748         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
7749        '''
7750        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
7751        '''
7752         ID of the proxy cluster for this resource, if any.
7753        '''
7754        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
7755        '''
7756         ID of the secret store containing credentials for this resource, if any.
7757        '''
7758        self.subdomain = subdomain if subdomain is not None else ''
7759        '''
7760         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
7761        '''
7762        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
7763        '''
7764         Tags is a map of key, value pairs.
7765        '''
7766        self.username = username if username is not None else ''
7767        '''
7768         The username to authenticate with.
7769        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
7964    def to_dict(self):
7965        return {
7966            'bind_interface': self.bind_interface,
7967            'database': self.database,
7968            'egress_filter': self.egress_filter,
7969            'healthy': self.healthy,
7970            'hostname': self.hostname,
7971            'id': self.id,
7972            'name': self.name,
7973            'override_database': self.override_database,
7974            'port': self.port,
7975            'port_override': self.port_override,
7976            'proxy_cluster_id': self.proxy_cluster_id,
7977            'region': self.region,
7978            'role_assumption_arn': self.role_assumption_arn,
7979            'secret_store_id': self.secret_store_id,
7980            'subdomain': self.subdomain,
7981            'tags': self.tags,
7982            'username': self.username,
7983        }
@classmethod
def from_dict(cls, d)
7985    @classmethod
7986    def from_dict(cls, d):
7987        return cls(
7988            bind_interface=d.get('bind_interface'),
7989            database=d.get('database'),
7990            egress_filter=d.get('egress_filter'),
7991            healthy=d.get('healthy'),
7992            hostname=d.get('hostname'),
7993            id=d.get('id'),
7994            name=d.get('name'),
7995            override_database=d.get('override_database'),
7996            port=d.get('port'),
7997            port_override=d.get('port_override'),
7998            proxy_cluster_id=d.get('proxy_cluster_id'),
7999            region=d.get('region'),
8000            role_assumption_arn=d.get('role_assumption_arn'),
8001            secret_store_id=d.get('secret_store_id'),
8002            subdomain=d.get('subdomain'),
8003            tags=d.get('tags'),
8004            username=d.get('username'),
8005        )
class Azure:
8008class Azure:
8009    __slots__ = [
8010        'app_id',
8011        'bind_interface',
8012        'egress_filter',
8013        'healthy',
8014        'id',
8015        'name',
8016        'password',
8017        'port_override',
8018        'proxy_cluster_id',
8019        'secret_store_id',
8020        'subdomain',
8021        'tags',
8022        'tenant_id',
8023    ]
8024
8025    def __init__(
8026        self,
8027        app_id=None,
8028        bind_interface=None,
8029        egress_filter=None,
8030        healthy=None,
8031        id=None,
8032        name=None,
8033        password=None,
8034        port_override=None,
8035        proxy_cluster_id=None,
8036        secret_store_id=None,
8037        subdomain=None,
8038        tags=None,
8039        tenant_id=None,
8040    ):
8041        self.app_id = app_id if app_id is not None else ''
8042        '''
8043         The application ID to authenticate with.
8044        '''
8045        self.bind_interface = bind_interface if bind_interface is not None else ''
8046        '''
8047         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8048        '''
8049        self.egress_filter = egress_filter if egress_filter is not None else ''
8050        '''
8051         A filter applied to the routing logic to pin datasource to nodes.
8052        '''
8053        self.healthy = healthy if healthy is not None else False
8054        '''
8055         True if the datasource is reachable and the credentials are valid.
8056        '''
8057        self.id = id if id is not None else ''
8058        '''
8059         Unique identifier of the Resource.
8060        '''
8061        self.name = name if name is not None else ''
8062        '''
8063         Unique human-readable name of the Resource.
8064        '''
8065        self.password = password if password is not None else ''
8066        '''
8067         The password to authenticate with.
8068        '''
8069        self.port_override = port_override if port_override is not None else 0
8070        '''
8071         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8072        '''
8073        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8074        '''
8075         ID of the proxy cluster for this resource, if any.
8076        '''
8077        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8078        '''
8079         ID of the secret store containing credentials for this resource, if any.
8080        '''
8081        self.subdomain = subdomain if subdomain is not None else ''
8082        '''
8083         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8084        '''
8085        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8086        '''
8087         Tags is a map of key, value pairs.
8088        '''
8089        self.tenant_id = tenant_id if tenant_id is not None else ''
8090        '''
8091         The tenant ID to authenticate to.
8092        '''
8093
8094    def __repr__(self):
8095        return '<sdm.Azure ' + \
8096            'app_id: ' + repr(self.app_id) + ' ' +\
8097            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8098            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8099            'healthy: ' + repr(self.healthy) + ' ' +\
8100            'id: ' + repr(self.id) + ' ' +\
8101            'name: ' + repr(self.name) + ' ' +\
8102            'password: ' + repr(self.password) + ' ' +\
8103            'port_override: ' + repr(self.port_override) + ' ' +\
8104            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8105            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8106            'subdomain: ' + repr(self.subdomain) + ' ' +\
8107            'tags: ' + repr(self.tags) + ' ' +\
8108            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
8109            '>'
8110
8111    def to_dict(self):
8112        return {
8113            'app_id': self.app_id,
8114            'bind_interface': self.bind_interface,
8115            'egress_filter': self.egress_filter,
8116            'healthy': self.healthy,
8117            'id': self.id,
8118            'name': self.name,
8119            'password': self.password,
8120            'port_override': self.port_override,
8121            'proxy_cluster_id': self.proxy_cluster_id,
8122            'secret_store_id': self.secret_store_id,
8123            'subdomain': self.subdomain,
8124            'tags': self.tags,
8125            'tenant_id': self.tenant_id,
8126        }
8127
8128    @classmethod
8129    def from_dict(cls, d):
8130        return cls(
8131            app_id=d.get('app_id'),
8132            bind_interface=d.get('bind_interface'),
8133            egress_filter=d.get('egress_filter'),
8134            healthy=d.get('healthy'),
8135            id=d.get('id'),
8136            name=d.get('name'),
8137            password=d.get('password'),
8138            port_override=d.get('port_override'),
8139            proxy_cluster_id=d.get('proxy_cluster_id'),
8140            secret_store_id=d.get('secret_store_id'),
8141            subdomain=d.get('subdomain'),
8142            tags=d.get('tags'),
8143            tenant_id=d.get('tenant_id'),
8144        )
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)
8025    def __init__(
8026        self,
8027        app_id=None,
8028        bind_interface=None,
8029        egress_filter=None,
8030        healthy=None,
8031        id=None,
8032        name=None,
8033        password=None,
8034        port_override=None,
8035        proxy_cluster_id=None,
8036        secret_store_id=None,
8037        subdomain=None,
8038        tags=None,
8039        tenant_id=None,
8040    ):
8041        self.app_id = app_id if app_id is not None else ''
8042        '''
8043         The application ID to authenticate with.
8044        '''
8045        self.bind_interface = bind_interface if bind_interface is not None else ''
8046        '''
8047         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8048        '''
8049        self.egress_filter = egress_filter if egress_filter is not None else ''
8050        '''
8051         A filter applied to the routing logic to pin datasource to nodes.
8052        '''
8053        self.healthy = healthy if healthy is not None else False
8054        '''
8055         True if the datasource is reachable and the credentials are valid.
8056        '''
8057        self.id = id if id is not None else ''
8058        '''
8059         Unique identifier of the Resource.
8060        '''
8061        self.name = name if name is not None else ''
8062        '''
8063         Unique human-readable name of the Resource.
8064        '''
8065        self.password = password if password is not None else ''
8066        '''
8067         The password to authenticate with.
8068        '''
8069        self.port_override = port_override if port_override is not None else 0
8070        '''
8071         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8072        '''
8073        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8074        '''
8075         ID of the proxy cluster for this resource, if any.
8076        '''
8077        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8078        '''
8079         ID of the secret store containing credentials for this resource, if any.
8080        '''
8081        self.subdomain = subdomain if subdomain is not None else ''
8082        '''
8083         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8084        '''
8085        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8086        '''
8087         Tags is a map of key, value pairs.
8088        '''
8089        self.tenant_id = tenant_id if tenant_id is not None else ''
8090        '''
8091         The tenant ID to authenticate to.
8092        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tenant_id

The tenant ID to authenticate to.

def to_dict(self)
8111    def to_dict(self):
8112        return {
8113            'app_id': self.app_id,
8114            'bind_interface': self.bind_interface,
8115            'egress_filter': self.egress_filter,
8116            'healthy': self.healthy,
8117            'id': self.id,
8118            'name': self.name,
8119            'password': self.password,
8120            'port_override': self.port_override,
8121            'proxy_cluster_id': self.proxy_cluster_id,
8122            'secret_store_id': self.secret_store_id,
8123            'subdomain': self.subdomain,
8124            'tags': self.tags,
8125            'tenant_id': self.tenant_id,
8126        }
@classmethod
def from_dict(cls, d)
8128    @classmethod
8129    def from_dict(cls, d):
8130        return cls(
8131            app_id=d.get('app_id'),
8132            bind_interface=d.get('bind_interface'),
8133            egress_filter=d.get('egress_filter'),
8134            healthy=d.get('healthy'),
8135            id=d.get('id'),
8136            name=d.get('name'),
8137            password=d.get('password'),
8138            port_override=d.get('port_override'),
8139            proxy_cluster_id=d.get('proxy_cluster_id'),
8140            secret_store_id=d.get('secret_store_id'),
8141            subdomain=d.get('subdomain'),
8142            tags=d.get('tags'),
8143            tenant_id=d.get('tenant_id'),
8144        )
class AzureCertificate:
8147class AzureCertificate:
8148    __slots__ = [
8149        'app_id',
8150        'bind_interface',
8151        'client_certificate',
8152        'egress_filter',
8153        'healthy',
8154        'id',
8155        'name',
8156        'port_override',
8157        'proxy_cluster_id',
8158        'secret_store_id',
8159        'subdomain',
8160        'tags',
8161        'tenant_id',
8162    ]
8163
8164    def __init__(
8165        self,
8166        app_id=None,
8167        bind_interface=None,
8168        client_certificate=None,
8169        egress_filter=None,
8170        healthy=None,
8171        id=None,
8172        name=None,
8173        port_override=None,
8174        proxy_cluster_id=None,
8175        secret_store_id=None,
8176        subdomain=None,
8177        tags=None,
8178        tenant_id=None,
8179    ):
8180        self.app_id = app_id if app_id is not None else ''
8181        '''
8182         The application ID to authenticate with.
8183        '''
8184        self.bind_interface = bind_interface if bind_interface is not None else ''
8185        '''
8186         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8187        '''
8188        self.client_certificate = client_certificate if client_certificate is not None else ''
8189        '''
8190         The service Principal certificate file, both private and public key included.
8191        '''
8192        self.egress_filter = egress_filter if egress_filter is not None else ''
8193        '''
8194         A filter applied to the routing logic to pin datasource to nodes.
8195        '''
8196        self.healthy = healthy if healthy is not None else False
8197        '''
8198         True if the datasource is reachable and the credentials are valid.
8199        '''
8200        self.id = id if id is not None else ''
8201        '''
8202         Unique identifier of the Resource.
8203        '''
8204        self.name = name if name is not None else ''
8205        '''
8206         Unique human-readable name of the Resource.
8207        '''
8208        self.port_override = port_override if port_override is not None else 0
8209        '''
8210         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8211        '''
8212        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8213        '''
8214         ID of the proxy cluster for this resource, if any.
8215        '''
8216        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8217        '''
8218         ID of the secret store containing credentials for this resource, if any.
8219        '''
8220        self.subdomain = subdomain if subdomain is not None else ''
8221        '''
8222         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8223        '''
8224        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8225        '''
8226         Tags is a map of key, value pairs.
8227        '''
8228        self.tenant_id = tenant_id if tenant_id is not None else ''
8229        '''
8230         The tenant ID to authenticate to.
8231        '''
8232
8233    def __repr__(self):
8234        return '<sdm.AzureCertificate ' + \
8235            'app_id: ' + repr(self.app_id) + ' ' +\
8236            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8237            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
8238            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8239            'healthy: ' + repr(self.healthy) + ' ' +\
8240            'id: ' + repr(self.id) + ' ' +\
8241            'name: ' + repr(self.name) + ' ' +\
8242            'port_override: ' + repr(self.port_override) + ' ' +\
8243            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8244            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8245            'subdomain: ' + repr(self.subdomain) + ' ' +\
8246            'tags: ' + repr(self.tags) + ' ' +\
8247            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
8248            '>'
8249
8250    def to_dict(self):
8251        return {
8252            'app_id': self.app_id,
8253            'bind_interface': self.bind_interface,
8254            'client_certificate': self.client_certificate,
8255            'egress_filter': self.egress_filter,
8256            'healthy': self.healthy,
8257            'id': self.id,
8258            'name': self.name,
8259            'port_override': self.port_override,
8260            'proxy_cluster_id': self.proxy_cluster_id,
8261            'secret_store_id': self.secret_store_id,
8262            'subdomain': self.subdomain,
8263            'tags': self.tags,
8264            'tenant_id': self.tenant_id,
8265        }
8266
8267    @classmethod
8268    def from_dict(cls, d):
8269        return cls(
8270            app_id=d.get('app_id'),
8271            bind_interface=d.get('bind_interface'),
8272            client_certificate=d.get('client_certificate'),
8273            egress_filter=d.get('egress_filter'),
8274            healthy=d.get('healthy'),
8275            id=d.get('id'),
8276            name=d.get('name'),
8277            port_override=d.get('port_override'),
8278            proxy_cluster_id=d.get('proxy_cluster_id'),
8279            secret_store_id=d.get('secret_store_id'),
8280            subdomain=d.get('subdomain'),
8281            tags=d.get('tags'),
8282            tenant_id=d.get('tenant_id'),
8283        )
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)
8164    def __init__(
8165        self,
8166        app_id=None,
8167        bind_interface=None,
8168        client_certificate=None,
8169        egress_filter=None,
8170        healthy=None,
8171        id=None,
8172        name=None,
8173        port_override=None,
8174        proxy_cluster_id=None,
8175        secret_store_id=None,
8176        subdomain=None,
8177        tags=None,
8178        tenant_id=None,
8179    ):
8180        self.app_id = app_id if app_id is not None else ''
8181        '''
8182         The application ID to authenticate with.
8183        '''
8184        self.bind_interface = bind_interface if bind_interface is not None else ''
8185        '''
8186         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8187        '''
8188        self.client_certificate = client_certificate if client_certificate is not None else ''
8189        '''
8190         The service Principal certificate file, both private and public key included.
8191        '''
8192        self.egress_filter = egress_filter if egress_filter is not None else ''
8193        '''
8194         A filter applied to the routing logic to pin datasource to nodes.
8195        '''
8196        self.healthy = healthy if healthy is not None else False
8197        '''
8198         True if the datasource is reachable and the credentials are valid.
8199        '''
8200        self.id = id if id is not None else ''
8201        '''
8202         Unique identifier of the Resource.
8203        '''
8204        self.name = name if name is not None else ''
8205        '''
8206         Unique human-readable name of the Resource.
8207        '''
8208        self.port_override = port_override if port_override is not None else 0
8209        '''
8210         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8211        '''
8212        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8213        '''
8214         ID of the proxy cluster for this resource, if any.
8215        '''
8216        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8217        '''
8218         ID of the secret store containing credentials for this resource, if any.
8219        '''
8220        self.subdomain = subdomain if subdomain is not None else ''
8221        '''
8222         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8223        '''
8224        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8225        '''
8226         Tags is a map of key, value pairs.
8227        '''
8228        self.tenant_id = tenant_id if tenant_id is not None else ''
8229        '''
8230         The tenant ID to authenticate to.
8231        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tenant_id

The tenant ID to authenticate to.

def to_dict(self)
8250    def to_dict(self):
8251        return {
8252            'app_id': self.app_id,
8253            'bind_interface': self.bind_interface,
8254            'client_certificate': self.client_certificate,
8255            'egress_filter': self.egress_filter,
8256            'healthy': self.healthy,
8257            'id': self.id,
8258            'name': self.name,
8259            'port_override': self.port_override,
8260            'proxy_cluster_id': self.proxy_cluster_id,
8261            'secret_store_id': self.secret_store_id,
8262            'subdomain': self.subdomain,
8263            'tags': self.tags,
8264            'tenant_id': self.tenant_id,
8265        }
@classmethod
def from_dict(cls, d)
8267    @classmethod
8268    def from_dict(cls, d):
8269        return cls(
8270            app_id=d.get('app_id'),
8271            bind_interface=d.get('bind_interface'),
8272            client_certificate=d.get('client_certificate'),
8273            egress_filter=d.get('egress_filter'),
8274            healthy=d.get('healthy'),
8275            id=d.get('id'),
8276            name=d.get('name'),
8277            port_override=d.get('port_override'),
8278            proxy_cluster_id=d.get('proxy_cluster_id'),
8279            secret_store_id=d.get('secret_store_id'),
8280            subdomain=d.get('subdomain'),
8281            tags=d.get('tags'),
8282            tenant_id=d.get('tenant_id'),
8283        )
class AzureMysql:
8286class AzureMysql:
8287    __slots__ = [
8288        'bind_interface',
8289        'database',
8290        'egress_filter',
8291        'healthy',
8292        'hostname',
8293        'id',
8294        'name',
8295        'password',
8296        'port',
8297        'port_override',
8298        'proxy_cluster_id',
8299        'require_native_auth',
8300        'secret_store_id',
8301        'subdomain',
8302        'tags',
8303        'use_azure_single_server_usernames',
8304        'username',
8305    ]
8306
8307    def __init__(
8308        self,
8309        bind_interface=None,
8310        database=None,
8311        egress_filter=None,
8312        healthy=None,
8313        hostname=None,
8314        id=None,
8315        name=None,
8316        password=None,
8317        port=None,
8318        port_override=None,
8319        proxy_cluster_id=None,
8320        require_native_auth=None,
8321        secret_store_id=None,
8322        subdomain=None,
8323        tags=None,
8324        use_azure_single_server_usernames=None,
8325        username=None,
8326    ):
8327        self.bind_interface = bind_interface if bind_interface is not None else ''
8328        '''
8329         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8330        '''
8331        self.database = database if database is not None else ''
8332        '''
8333         The database for healthchecks. Does not affect client requests.
8334        '''
8335        self.egress_filter = egress_filter if egress_filter is not None else ''
8336        '''
8337         A filter applied to the routing logic to pin datasource to nodes.
8338        '''
8339        self.healthy = healthy if healthy is not None else False
8340        '''
8341         True if the datasource is reachable and the credentials are valid.
8342        '''
8343        self.hostname = hostname if hostname is not None else ''
8344        '''
8345         The host to dial to initiate a connection from the egress node to this resource.
8346        '''
8347        self.id = id if id is not None else ''
8348        '''
8349         Unique identifier of the Resource.
8350        '''
8351        self.name = name if name is not None else ''
8352        '''
8353         Unique human-readable name of the Resource.
8354        '''
8355        self.password = password if password is not None else ''
8356        '''
8357         The password to authenticate with.
8358        '''
8359        self.port = port if port is not None else 0
8360        '''
8361         The port to dial to initiate a connection from the egress node to this resource.
8362        '''
8363        self.port_override = port_override if port_override is not None else 0
8364        '''
8365         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8366        '''
8367        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8368        '''
8369         ID of the proxy cluster for this resource, if any.
8370        '''
8371        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8372        '''
8373         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8374        '''
8375        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8376        '''
8377         ID of the secret store containing credentials for this resource, if any.
8378        '''
8379        self.subdomain = subdomain if subdomain is not None else ''
8380        '''
8381         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8382        '''
8383        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8384        '''
8385         Tags is a map of key, value pairs.
8386        '''
8387        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8388        '''
8389         If true, appends the hostname to the username when hitting a database.azure.com address
8390        '''
8391        self.username = username if username is not None else ''
8392        '''
8393         The username to authenticate with.
8394        '''
8395
8396    def __repr__(self):
8397        return '<sdm.AzureMysql ' + \
8398            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8399            'database: ' + repr(self.database) + ' ' +\
8400            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8401            'healthy: ' + repr(self.healthy) + ' ' +\
8402            'hostname: ' + repr(self.hostname) + ' ' +\
8403            'id: ' + repr(self.id) + ' ' +\
8404            'name: ' + repr(self.name) + ' ' +\
8405            'password: ' + repr(self.password) + ' ' +\
8406            'port: ' + repr(self.port) + ' ' +\
8407            'port_override: ' + repr(self.port_override) + ' ' +\
8408            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8409            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
8410            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8411            'subdomain: ' + repr(self.subdomain) + ' ' +\
8412            'tags: ' + repr(self.tags) + ' ' +\
8413            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8414            'username: ' + repr(self.username) + ' ' +\
8415            '>'
8416
8417    def to_dict(self):
8418        return {
8419            'bind_interface': self.bind_interface,
8420            'database': self.database,
8421            'egress_filter': self.egress_filter,
8422            'healthy': self.healthy,
8423            'hostname': self.hostname,
8424            'id': self.id,
8425            'name': self.name,
8426            'password': self.password,
8427            'port': self.port,
8428            'port_override': self.port_override,
8429            'proxy_cluster_id': self.proxy_cluster_id,
8430            'require_native_auth': self.require_native_auth,
8431            'secret_store_id': self.secret_store_id,
8432            'subdomain': self.subdomain,
8433            'tags': self.tags,
8434            'use_azure_single_server_usernames':
8435            self.use_azure_single_server_usernames,
8436            'username': self.username,
8437        }
8438
8439    @classmethod
8440    def from_dict(cls, d):
8441        return cls(
8442            bind_interface=d.get('bind_interface'),
8443            database=d.get('database'),
8444            egress_filter=d.get('egress_filter'),
8445            healthy=d.get('healthy'),
8446            hostname=d.get('hostname'),
8447            id=d.get('id'),
8448            name=d.get('name'),
8449            password=d.get('password'),
8450            port=d.get('port'),
8451            port_override=d.get('port_override'),
8452            proxy_cluster_id=d.get('proxy_cluster_id'),
8453            require_native_auth=d.get('require_native_auth'),
8454            secret_store_id=d.get('secret_store_id'),
8455            subdomain=d.get('subdomain'),
8456            tags=d.get('tags'),
8457            use_azure_single_server_usernames=d.get(
8458                'use_azure_single_server_usernames'),
8459            username=d.get('username'),
8460        )
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)
8307    def __init__(
8308        self,
8309        bind_interface=None,
8310        database=None,
8311        egress_filter=None,
8312        healthy=None,
8313        hostname=None,
8314        id=None,
8315        name=None,
8316        password=None,
8317        port=None,
8318        port_override=None,
8319        proxy_cluster_id=None,
8320        require_native_auth=None,
8321        secret_store_id=None,
8322        subdomain=None,
8323        tags=None,
8324        use_azure_single_server_usernames=None,
8325        username=None,
8326    ):
8327        self.bind_interface = bind_interface if bind_interface is not None else ''
8328        '''
8329         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8330        '''
8331        self.database = database if database is not None else ''
8332        '''
8333         The database for healthchecks. Does not affect client requests.
8334        '''
8335        self.egress_filter = egress_filter if egress_filter is not None else ''
8336        '''
8337         A filter applied to the routing logic to pin datasource to nodes.
8338        '''
8339        self.healthy = healthy if healthy is not None else False
8340        '''
8341         True if the datasource is reachable and the credentials are valid.
8342        '''
8343        self.hostname = hostname if hostname is not None else ''
8344        '''
8345         The host to dial to initiate a connection from the egress node to this resource.
8346        '''
8347        self.id = id if id is not None else ''
8348        '''
8349         Unique identifier of the Resource.
8350        '''
8351        self.name = name if name is not None else ''
8352        '''
8353         Unique human-readable name of the Resource.
8354        '''
8355        self.password = password if password is not None else ''
8356        '''
8357         The password to authenticate with.
8358        '''
8359        self.port = port if port is not None else 0
8360        '''
8361         The port to dial to initiate a connection from the egress node to this resource.
8362        '''
8363        self.port_override = port_override if port_override is not None else 0
8364        '''
8365         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8366        '''
8367        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8368        '''
8369         ID of the proxy cluster for this resource, if any.
8370        '''
8371        self.require_native_auth = require_native_auth if require_native_auth is not None else False
8372        '''
8373         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
8374        '''
8375        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8376        '''
8377         ID of the secret store containing credentials for this resource, if any.
8378        '''
8379        self.subdomain = subdomain if subdomain is not None else ''
8380        '''
8381         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8382        '''
8383        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8384        '''
8385         Tags is a map of key, value pairs.
8386        '''
8387        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8388        '''
8389         If true, appends the hostname to the username when hitting a database.azure.com address
8390        '''
8391        self.username = username if username is not None else ''
8392        '''
8393         The username to authenticate with.
8394        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
8417    def to_dict(self):
8418        return {
8419            'bind_interface': self.bind_interface,
8420            'database': self.database,
8421            'egress_filter': self.egress_filter,
8422            'healthy': self.healthy,
8423            'hostname': self.hostname,
8424            'id': self.id,
8425            'name': self.name,
8426            'password': self.password,
8427            'port': self.port,
8428            'port_override': self.port_override,
8429            'proxy_cluster_id': self.proxy_cluster_id,
8430            'require_native_auth': self.require_native_auth,
8431            'secret_store_id': self.secret_store_id,
8432            'subdomain': self.subdomain,
8433            'tags': self.tags,
8434            'use_azure_single_server_usernames':
8435            self.use_azure_single_server_usernames,
8436            'username': self.username,
8437        }
@classmethod
def from_dict(cls, d)
8439    @classmethod
8440    def from_dict(cls, d):
8441        return cls(
8442            bind_interface=d.get('bind_interface'),
8443            database=d.get('database'),
8444            egress_filter=d.get('egress_filter'),
8445            healthy=d.get('healthy'),
8446            hostname=d.get('hostname'),
8447            id=d.get('id'),
8448            name=d.get('name'),
8449            password=d.get('password'),
8450            port=d.get('port'),
8451            port_override=d.get('port_override'),
8452            proxy_cluster_id=d.get('proxy_cluster_id'),
8453            require_native_auth=d.get('require_native_auth'),
8454            secret_store_id=d.get('secret_store_id'),
8455            subdomain=d.get('subdomain'),
8456            tags=d.get('tags'),
8457            use_azure_single_server_usernames=d.get(
8458                'use_azure_single_server_usernames'),
8459            username=d.get('username'),
8460        )
class AzureMysqlManagedIdentity:
8463class AzureMysqlManagedIdentity:
8464    __slots__ = [
8465        'bind_interface',
8466        'database',
8467        'egress_filter',
8468        'healthy',
8469        'hostname',
8470        'id',
8471        'name',
8472        'password',
8473        'port',
8474        'port_override',
8475        'proxy_cluster_id',
8476        'secret_store_id',
8477        'subdomain',
8478        'tags',
8479        'use_azure_single_server_usernames',
8480        'username',
8481    ]
8482
8483    def __init__(
8484        self,
8485        bind_interface=None,
8486        database=None,
8487        egress_filter=None,
8488        healthy=None,
8489        hostname=None,
8490        id=None,
8491        name=None,
8492        password=None,
8493        port=None,
8494        port_override=None,
8495        proxy_cluster_id=None,
8496        secret_store_id=None,
8497        subdomain=None,
8498        tags=None,
8499        use_azure_single_server_usernames=None,
8500        username=None,
8501    ):
8502        self.bind_interface = bind_interface if bind_interface is not None else ''
8503        '''
8504         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8505        '''
8506        self.database = database if database is not None else ''
8507        '''
8508         The database for healthchecks. Does not affect client requests.
8509        '''
8510        self.egress_filter = egress_filter if egress_filter is not None else ''
8511        '''
8512         A filter applied to the routing logic to pin datasource to nodes.
8513        '''
8514        self.healthy = healthy if healthy is not None else False
8515        '''
8516         True if the datasource is reachable and the credentials are valid.
8517        '''
8518        self.hostname = hostname if hostname is not None else ''
8519        '''
8520         The host to dial to initiate a connection from the egress node to this resource.
8521        '''
8522        self.id = id if id is not None else ''
8523        '''
8524         Unique identifier of the Resource.
8525        '''
8526        self.name = name if name is not None else ''
8527        '''
8528         Unique human-readable name of the Resource.
8529        '''
8530        self.password = password if password is not None else ''
8531        '''
8532         The password to authenticate with.
8533        '''
8534        self.port = port if port is not None else 0
8535        '''
8536         The port to dial to initiate a connection from the egress node to this resource.
8537        '''
8538        self.port_override = port_override if port_override is not None else 0
8539        '''
8540         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8541        '''
8542        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8543        '''
8544         ID of the proxy cluster for this resource, if any.
8545        '''
8546        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8547        '''
8548         ID of the secret store containing credentials for this resource, if any.
8549        '''
8550        self.subdomain = subdomain if subdomain is not None else ''
8551        '''
8552         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8553        '''
8554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8555        '''
8556         Tags is a map of key, value pairs.
8557        '''
8558        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8559        '''
8560         If true, appends the hostname to the username when hitting a database.azure.com address
8561        '''
8562        self.username = username if username is not None else ''
8563        '''
8564         The username to authenticate with.
8565        '''
8566
8567    def __repr__(self):
8568        return '<sdm.AzureMysqlManagedIdentity ' + \
8569            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8570            'database: ' + repr(self.database) + ' ' +\
8571            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8572            'healthy: ' + repr(self.healthy) + ' ' +\
8573            'hostname: ' + repr(self.hostname) + ' ' +\
8574            'id: ' + repr(self.id) + ' ' +\
8575            'name: ' + repr(self.name) + ' ' +\
8576            'password: ' + repr(self.password) + ' ' +\
8577            'port: ' + repr(self.port) + ' ' +\
8578            'port_override: ' + repr(self.port_override) + ' ' +\
8579            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8580            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8581            'subdomain: ' + repr(self.subdomain) + ' ' +\
8582            'tags: ' + repr(self.tags) + ' ' +\
8583            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8584            'username: ' + repr(self.username) + ' ' +\
8585            '>'
8586
8587    def to_dict(self):
8588        return {
8589            'bind_interface': self.bind_interface,
8590            'database': self.database,
8591            'egress_filter': self.egress_filter,
8592            'healthy': self.healthy,
8593            'hostname': self.hostname,
8594            'id': self.id,
8595            'name': self.name,
8596            'password': self.password,
8597            'port': self.port,
8598            'port_override': self.port_override,
8599            'proxy_cluster_id': self.proxy_cluster_id,
8600            'secret_store_id': self.secret_store_id,
8601            'subdomain': self.subdomain,
8602            'tags': self.tags,
8603            'use_azure_single_server_usernames':
8604            self.use_azure_single_server_usernames,
8605            'username': self.username,
8606        }
8607
8608    @classmethod
8609    def from_dict(cls, d):
8610        return cls(
8611            bind_interface=d.get('bind_interface'),
8612            database=d.get('database'),
8613            egress_filter=d.get('egress_filter'),
8614            healthy=d.get('healthy'),
8615            hostname=d.get('hostname'),
8616            id=d.get('id'),
8617            name=d.get('name'),
8618            password=d.get('password'),
8619            port=d.get('port'),
8620            port_override=d.get('port_override'),
8621            proxy_cluster_id=d.get('proxy_cluster_id'),
8622            secret_store_id=d.get('secret_store_id'),
8623            subdomain=d.get('subdomain'),
8624            tags=d.get('tags'),
8625            use_azure_single_server_usernames=d.get(
8626                'use_azure_single_server_usernames'),
8627            username=d.get('username'),
8628        )
AzureMysqlManagedIdentity( 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, use_azure_single_server_usernames=None, username=None)
8483    def __init__(
8484        self,
8485        bind_interface=None,
8486        database=None,
8487        egress_filter=None,
8488        healthy=None,
8489        hostname=None,
8490        id=None,
8491        name=None,
8492        password=None,
8493        port=None,
8494        port_override=None,
8495        proxy_cluster_id=None,
8496        secret_store_id=None,
8497        subdomain=None,
8498        tags=None,
8499        use_azure_single_server_usernames=None,
8500        username=None,
8501    ):
8502        self.bind_interface = bind_interface if bind_interface is not None else ''
8503        '''
8504         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8505        '''
8506        self.database = database if database is not None else ''
8507        '''
8508         The database for healthchecks. Does not affect client requests.
8509        '''
8510        self.egress_filter = egress_filter if egress_filter is not None else ''
8511        '''
8512         A filter applied to the routing logic to pin datasource to nodes.
8513        '''
8514        self.healthy = healthy if healthy is not None else False
8515        '''
8516         True if the datasource is reachable and the credentials are valid.
8517        '''
8518        self.hostname = hostname if hostname is not None else ''
8519        '''
8520         The host to dial to initiate a connection from the egress node to this resource.
8521        '''
8522        self.id = id if id is not None else ''
8523        '''
8524         Unique identifier of the Resource.
8525        '''
8526        self.name = name if name is not None else ''
8527        '''
8528         Unique human-readable name of the Resource.
8529        '''
8530        self.password = password if password is not None else ''
8531        '''
8532         The password to authenticate with.
8533        '''
8534        self.port = port if port is not None else 0
8535        '''
8536         The port to dial to initiate a connection from the egress node to this resource.
8537        '''
8538        self.port_override = port_override if port_override is not None else 0
8539        '''
8540         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8541        '''
8542        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8543        '''
8544         ID of the proxy cluster for this resource, if any.
8545        '''
8546        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8547        '''
8548         ID of the secret store containing credentials for this resource, if any.
8549        '''
8550        self.subdomain = subdomain if subdomain is not None else ''
8551        '''
8552         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8553        '''
8554        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8555        '''
8556         Tags is a map of key, value pairs.
8557        '''
8558        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8559        '''
8560         If true, appends the hostname to the username when hitting a database.azure.com address
8561        '''
8562        self.username = username if username is not None else ''
8563        '''
8564         The username to authenticate with.
8565        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
8587    def to_dict(self):
8588        return {
8589            'bind_interface': self.bind_interface,
8590            'database': self.database,
8591            'egress_filter': self.egress_filter,
8592            'healthy': self.healthy,
8593            'hostname': self.hostname,
8594            'id': self.id,
8595            'name': self.name,
8596            'password': self.password,
8597            'port': self.port,
8598            'port_override': self.port_override,
8599            'proxy_cluster_id': self.proxy_cluster_id,
8600            'secret_store_id': self.secret_store_id,
8601            'subdomain': self.subdomain,
8602            'tags': self.tags,
8603            'use_azure_single_server_usernames':
8604            self.use_azure_single_server_usernames,
8605            'username': self.username,
8606        }
@classmethod
def from_dict(cls, d)
8608    @classmethod
8609    def from_dict(cls, d):
8610        return cls(
8611            bind_interface=d.get('bind_interface'),
8612            database=d.get('database'),
8613            egress_filter=d.get('egress_filter'),
8614            healthy=d.get('healthy'),
8615            hostname=d.get('hostname'),
8616            id=d.get('id'),
8617            name=d.get('name'),
8618            password=d.get('password'),
8619            port=d.get('port'),
8620            port_override=d.get('port_override'),
8621            proxy_cluster_id=d.get('proxy_cluster_id'),
8622            secret_store_id=d.get('secret_store_id'),
8623            subdomain=d.get('subdomain'),
8624            tags=d.get('tags'),
8625            use_azure_single_server_usernames=d.get(
8626                'use_azure_single_server_usernames'),
8627            username=d.get('username'),
8628        )
class AzurePostgres:
8631class AzurePostgres:
8632    __slots__ = [
8633        'bind_interface',
8634        'database',
8635        'egress_filter',
8636        'healthy',
8637        'hostname',
8638        'id',
8639        'name',
8640        'override_database',
8641        'password',
8642        'port',
8643        'port_override',
8644        'proxy_cluster_id',
8645        'secret_store_id',
8646        'subdomain',
8647        'tags',
8648        'username',
8649    ]
8650
8651    def __init__(
8652        self,
8653        bind_interface=None,
8654        database=None,
8655        egress_filter=None,
8656        healthy=None,
8657        hostname=None,
8658        id=None,
8659        name=None,
8660        override_database=None,
8661        password=None,
8662        port=None,
8663        port_override=None,
8664        proxy_cluster_id=None,
8665        secret_store_id=None,
8666        subdomain=None,
8667        tags=None,
8668        username=None,
8669    ):
8670        self.bind_interface = bind_interface if bind_interface is not None else ''
8671        '''
8672         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8673        '''
8674        self.database = database if database is not None else ''
8675        '''
8676         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8677        '''
8678        self.egress_filter = egress_filter if egress_filter is not None else ''
8679        '''
8680         A filter applied to the routing logic to pin datasource to nodes.
8681        '''
8682        self.healthy = healthy if healthy is not None else False
8683        '''
8684         True if the datasource is reachable and the credentials are valid.
8685        '''
8686        self.hostname = hostname if hostname is not None else ''
8687        '''
8688         The host to dial to initiate a connection from the egress node to this resource.
8689        '''
8690        self.id = id if id is not None else ''
8691        '''
8692         Unique identifier of the Resource.
8693        '''
8694        self.name = name if name is not None else ''
8695        '''
8696         Unique human-readable name of the Resource.
8697        '''
8698        self.override_database = override_database if override_database is not None else False
8699        '''
8700         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8701        '''
8702        self.password = password if password is not None else ''
8703        '''
8704         The password to authenticate with.
8705        '''
8706        self.port = port if port is not None else 0
8707        '''
8708         The port to dial to initiate a connection from the egress node to this resource.
8709        '''
8710        self.port_override = port_override if port_override is not None else 0
8711        '''
8712         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8713        '''
8714        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8715        '''
8716         ID of the proxy cluster for this resource, if any.
8717        '''
8718        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8719        '''
8720         ID of the secret store containing credentials for this resource, if any.
8721        '''
8722        self.subdomain = subdomain if subdomain is not None else ''
8723        '''
8724         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8725        '''
8726        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8727        '''
8728         Tags is a map of key, value pairs.
8729        '''
8730        self.username = username if username is not None else ''
8731        '''
8732         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.
8733        '''
8734
8735    def __repr__(self):
8736        return '<sdm.AzurePostgres ' + \
8737            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8738            'database: ' + repr(self.database) + ' ' +\
8739            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8740            'healthy: ' + repr(self.healthy) + ' ' +\
8741            'hostname: ' + repr(self.hostname) + ' ' +\
8742            'id: ' + repr(self.id) + ' ' +\
8743            'name: ' + repr(self.name) + ' ' +\
8744            'override_database: ' + repr(self.override_database) + ' ' +\
8745            'password: ' + repr(self.password) + ' ' +\
8746            'port: ' + repr(self.port) + ' ' +\
8747            'port_override: ' + repr(self.port_override) + ' ' +\
8748            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8749            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8750            'subdomain: ' + repr(self.subdomain) + ' ' +\
8751            'tags: ' + repr(self.tags) + ' ' +\
8752            'username: ' + repr(self.username) + ' ' +\
8753            '>'
8754
8755    def to_dict(self):
8756        return {
8757            'bind_interface': self.bind_interface,
8758            'database': self.database,
8759            'egress_filter': self.egress_filter,
8760            'healthy': self.healthy,
8761            'hostname': self.hostname,
8762            'id': self.id,
8763            'name': self.name,
8764            'override_database': self.override_database,
8765            'password': self.password,
8766            'port': self.port,
8767            'port_override': self.port_override,
8768            'proxy_cluster_id': self.proxy_cluster_id,
8769            'secret_store_id': self.secret_store_id,
8770            'subdomain': self.subdomain,
8771            'tags': self.tags,
8772            'username': self.username,
8773        }
8774
8775    @classmethod
8776    def from_dict(cls, d):
8777        return cls(
8778            bind_interface=d.get('bind_interface'),
8779            database=d.get('database'),
8780            egress_filter=d.get('egress_filter'),
8781            healthy=d.get('healthy'),
8782            hostname=d.get('hostname'),
8783            id=d.get('id'),
8784            name=d.get('name'),
8785            override_database=d.get('override_database'),
8786            password=d.get('password'),
8787            port=d.get('port'),
8788            port_override=d.get('port_override'),
8789            proxy_cluster_id=d.get('proxy_cluster_id'),
8790            secret_store_id=d.get('secret_store_id'),
8791            subdomain=d.get('subdomain'),
8792            tags=d.get('tags'),
8793            username=d.get('username'),
8794        )
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)
8651    def __init__(
8652        self,
8653        bind_interface=None,
8654        database=None,
8655        egress_filter=None,
8656        healthy=None,
8657        hostname=None,
8658        id=None,
8659        name=None,
8660        override_database=None,
8661        password=None,
8662        port=None,
8663        port_override=None,
8664        proxy_cluster_id=None,
8665        secret_store_id=None,
8666        subdomain=None,
8667        tags=None,
8668        username=None,
8669    ):
8670        self.bind_interface = bind_interface if bind_interface is not None else ''
8671        '''
8672         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8673        '''
8674        self.database = database if database is not None else ''
8675        '''
8676         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8677        '''
8678        self.egress_filter = egress_filter if egress_filter is not None else ''
8679        '''
8680         A filter applied to the routing logic to pin datasource to nodes.
8681        '''
8682        self.healthy = healthy if healthy is not None else False
8683        '''
8684         True if the datasource is reachable and the credentials are valid.
8685        '''
8686        self.hostname = hostname if hostname is not None else ''
8687        '''
8688         The host to dial to initiate a connection from the egress node to this resource.
8689        '''
8690        self.id = id if id is not None else ''
8691        '''
8692         Unique identifier of the Resource.
8693        '''
8694        self.name = name if name is not None else ''
8695        '''
8696         Unique human-readable name of the Resource.
8697        '''
8698        self.override_database = override_database if override_database is not None else False
8699        '''
8700         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8701        '''
8702        self.password = password if password is not None else ''
8703        '''
8704         The password to authenticate with.
8705        '''
8706        self.port = port if port is not None else 0
8707        '''
8708         The port to dial to initiate a connection from the egress node to this resource.
8709        '''
8710        self.port_override = port_override if port_override is not None else 0
8711        '''
8712         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8713        '''
8714        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8715        '''
8716         ID of the proxy cluster for this resource, if any.
8717        '''
8718        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8719        '''
8720         ID of the secret store containing credentials for this resource, if any.
8721        '''
8722        self.subdomain = subdomain if subdomain is not None else ''
8723        '''
8724         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8725        '''
8726        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8727        '''
8728         Tags is a map of key, value pairs.
8729        '''
8730        self.username = username if username is not None else ''
8731        '''
8732         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.
8733        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
8755    def to_dict(self):
8756        return {
8757            'bind_interface': self.bind_interface,
8758            'database': self.database,
8759            'egress_filter': self.egress_filter,
8760            'healthy': self.healthy,
8761            'hostname': self.hostname,
8762            'id': self.id,
8763            'name': self.name,
8764            'override_database': self.override_database,
8765            'password': self.password,
8766            'port': self.port,
8767            'port_override': self.port_override,
8768            'proxy_cluster_id': self.proxy_cluster_id,
8769            'secret_store_id': self.secret_store_id,
8770            'subdomain': self.subdomain,
8771            'tags': self.tags,
8772            'username': self.username,
8773        }
@classmethod
def from_dict(cls, d)
8775    @classmethod
8776    def from_dict(cls, d):
8777        return cls(
8778            bind_interface=d.get('bind_interface'),
8779            database=d.get('database'),
8780            egress_filter=d.get('egress_filter'),
8781            healthy=d.get('healthy'),
8782            hostname=d.get('hostname'),
8783            id=d.get('id'),
8784            name=d.get('name'),
8785            override_database=d.get('override_database'),
8786            password=d.get('password'),
8787            port=d.get('port'),
8788            port_override=d.get('port_override'),
8789            proxy_cluster_id=d.get('proxy_cluster_id'),
8790            secret_store_id=d.get('secret_store_id'),
8791            subdomain=d.get('subdomain'),
8792            tags=d.get('tags'),
8793            username=d.get('username'),
8794        )
class AzurePostgresManagedIdentity:
8797class AzurePostgresManagedIdentity:
8798    __slots__ = [
8799        'bind_interface',
8800        'database',
8801        'egress_filter',
8802        'healthy',
8803        'hostname',
8804        'id',
8805        'name',
8806        'override_database',
8807        'password',
8808        'port',
8809        'port_override',
8810        'proxy_cluster_id',
8811        'secret_store_id',
8812        'subdomain',
8813        'tags',
8814        'use_azure_single_server_usernames',
8815        'username',
8816    ]
8817
8818    def __init__(
8819        self,
8820        bind_interface=None,
8821        database=None,
8822        egress_filter=None,
8823        healthy=None,
8824        hostname=None,
8825        id=None,
8826        name=None,
8827        override_database=None,
8828        password=None,
8829        port=None,
8830        port_override=None,
8831        proxy_cluster_id=None,
8832        secret_store_id=None,
8833        subdomain=None,
8834        tags=None,
8835        use_azure_single_server_usernames=None,
8836        username=None,
8837    ):
8838        self.bind_interface = bind_interface if bind_interface is not None else ''
8839        '''
8840         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8841        '''
8842        self.database = database if database is not None else ''
8843        '''
8844         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8845        '''
8846        self.egress_filter = egress_filter if egress_filter is not None else ''
8847        '''
8848         A filter applied to the routing logic to pin datasource to nodes.
8849        '''
8850        self.healthy = healthy if healthy is not None else False
8851        '''
8852         True if the datasource is reachable and the credentials are valid.
8853        '''
8854        self.hostname = hostname if hostname is not None else ''
8855        '''
8856         The host to dial to initiate a connection from the egress node to this resource.
8857        '''
8858        self.id = id if id is not None else ''
8859        '''
8860         Unique identifier of the Resource.
8861        '''
8862        self.name = name if name is not None else ''
8863        '''
8864         Unique human-readable name of the Resource.
8865        '''
8866        self.override_database = override_database if override_database is not None else False
8867        '''
8868         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8869        '''
8870        self.password = password if password is not None else ''
8871        '''
8872         The password to authenticate with.
8873        '''
8874        self.port = port if port is not None else 0
8875        '''
8876         The port to dial to initiate a connection from the egress node to this resource.
8877        '''
8878        self.port_override = port_override if port_override is not None else 0
8879        '''
8880         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8881        '''
8882        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8883        '''
8884         ID of the proxy cluster for this resource, if any.
8885        '''
8886        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8887        '''
8888         ID of the secret store containing credentials for this resource, if any.
8889        '''
8890        self.subdomain = subdomain if subdomain is not None else ''
8891        '''
8892         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8893        '''
8894        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8895        '''
8896         Tags is a map of key, value pairs.
8897        '''
8898        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8899        '''
8900         If true, appends the hostname to the username when hitting a database.azure.com address
8901        '''
8902        self.username = username if username is not None else ''
8903        '''
8904         The username to authenticate with.
8905        '''
8906
8907    def __repr__(self):
8908        return '<sdm.AzurePostgresManagedIdentity ' + \
8909            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
8910            'database: ' + repr(self.database) + ' ' +\
8911            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
8912            'healthy: ' + repr(self.healthy) + ' ' +\
8913            'hostname: ' + repr(self.hostname) + ' ' +\
8914            'id: ' + repr(self.id) + ' ' +\
8915            'name: ' + repr(self.name) + ' ' +\
8916            'override_database: ' + repr(self.override_database) + ' ' +\
8917            'password: ' + repr(self.password) + ' ' +\
8918            'port: ' + repr(self.port) + ' ' +\
8919            'port_override: ' + repr(self.port_override) + ' ' +\
8920            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
8921            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
8922            'subdomain: ' + repr(self.subdomain) + ' ' +\
8923            'tags: ' + repr(self.tags) + ' ' +\
8924            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
8925            'username: ' + repr(self.username) + ' ' +\
8926            '>'
8927
8928    def to_dict(self):
8929        return {
8930            'bind_interface': self.bind_interface,
8931            'database': self.database,
8932            'egress_filter': self.egress_filter,
8933            'healthy': self.healthy,
8934            'hostname': self.hostname,
8935            'id': self.id,
8936            'name': self.name,
8937            'override_database': self.override_database,
8938            'password': self.password,
8939            'port': self.port,
8940            'port_override': self.port_override,
8941            'proxy_cluster_id': self.proxy_cluster_id,
8942            'secret_store_id': self.secret_store_id,
8943            'subdomain': self.subdomain,
8944            'tags': self.tags,
8945            'use_azure_single_server_usernames':
8946            self.use_azure_single_server_usernames,
8947            'username': self.username,
8948        }
8949
8950    @classmethod
8951    def from_dict(cls, d):
8952        return cls(
8953            bind_interface=d.get('bind_interface'),
8954            database=d.get('database'),
8955            egress_filter=d.get('egress_filter'),
8956            healthy=d.get('healthy'),
8957            hostname=d.get('hostname'),
8958            id=d.get('id'),
8959            name=d.get('name'),
8960            override_database=d.get('override_database'),
8961            password=d.get('password'),
8962            port=d.get('port'),
8963            port_override=d.get('port_override'),
8964            proxy_cluster_id=d.get('proxy_cluster_id'),
8965            secret_store_id=d.get('secret_store_id'),
8966            subdomain=d.get('subdomain'),
8967            tags=d.get('tags'),
8968            use_azure_single_server_usernames=d.get(
8969                'use_azure_single_server_usernames'),
8970            username=d.get('username'),
8971        )
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)
8818    def __init__(
8819        self,
8820        bind_interface=None,
8821        database=None,
8822        egress_filter=None,
8823        healthy=None,
8824        hostname=None,
8825        id=None,
8826        name=None,
8827        override_database=None,
8828        password=None,
8829        port=None,
8830        port_override=None,
8831        proxy_cluster_id=None,
8832        secret_store_id=None,
8833        subdomain=None,
8834        tags=None,
8835        use_azure_single_server_usernames=None,
8836        username=None,
8837    ):
8838        self.bind_interface = bind_interface if bind_interface is not None else ''
8839        '''
8840         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8841        '''
8842        self.database = database if database is not None else ''
8843        '''
8844         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8845        '''
8846        self.egress_filter = egress_filter if egress_filter is not None else ''
8847        '''
8848         A filter applied to the routing logic to pin datasource to nodes.
8849        '''
8850        self.healthy = healthy if healthy is not None else False
8851        '''
8852         True if the datasource is reachable and the credentials are valid.
8853        '''
8854        self.hostname = hostname if hostname is not None else ''
8855        '''
8856         The host to dial to initiate a connection from the egress node to this resource.
8857        '''
8858        self.id = id if id is not None else ''
8859        '''
8860         Unique identifier of the Resource.
8861        '''
8862        self.name = name if name is not None else ''
8863        '''
8864         Unique human-readable name of the Resource.
8865        '''
8866        self.override_database = override_database if override_database is not None else False
8867        '''
8868         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8869        '''
8870        self.password = password if password is not None else ''
8871        '''
8872         The password to authenticate with.
8873        '''
8874        self.port = port if port is not None else 0
8875        '''
8876         The port to dial to initiate a connection from the egress node to this resource.
8877        '''
8878        self.port_override = port_override if port_override is not None else 0
8879        '''
8880         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
8881        '''
8882        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
8883        '''
8884         ID of the proxy cluster for this resource, if any.
8885        '''
8886        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
8887        '''
8888         ID of the secret store containing credentials for this resource, if any.
8889        '''
8890        self.subdomain = subdomain if subdomain is not None else ''
8891        '''
8892         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
8893        '''
8894        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8895        '''
8896         Tags is a map of key, value pairs.
8897        '''
8898        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
8899        '''
8900         If true, appends the hostname to the username when hitting a database.azure.com address
8901        '''
8902        self.username = username if username is not None else ''
8903        '''
8904         The username to authenticate with.
8905        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
8928    def to_dict(self):
8929        return {
8930            'bind_interface': self.bind_interface,
8931            'database': self.database,
8932            'egress_filter': self.egress_filter,
8933            'healthy': self.healthy,
8934            'hostname': self.hostname,
8935            'id': self.id,
8936            'name': self.name,
8937            'override_database': self.override_database,
8938            'password': self.password,
8939            'port': self.port,
8940            'port_override': self.port_override,
8941            'proxy_cluster_id': self.proxy_cluster_id,
8942            'secret_store_id': self.secret_store_id,
8943            'subdomain': self.subdomain,
8944            'tags': self.tags,
8945            'use_azure_single_server_usernames':
8946            self.use_azure_single_server_usernames,
8947            'username': self.username,
8948        }
@classmethod
def from_dict(cls, d)
8950    @classmethod
8951    def from_dict(cls, d):
8952        return cls(
8953            bind_interface=d.get('bind_interface'),
8954            database=d.get('database'),
8955            egress_filter=d.get('egress_filter'),
8956            healthy=d.get('healthy'),
8957            hostname=d.get('hostname'),
8958            id=d.get('id'),
8959            name=d.get('name'),
8960            override_database=d.get('override_database'),
8961            password=d.get('password'),
8962            port=d.get('port'),
8963            port_override=d.get('port_override'),
8964            proxy_cluster_id=d.get('proxy_cluster_id'),
8965            secret_store_id=d.get('secret_store_id'),
8966            subdomain=d.get('subdomain'),
8967            tags=d.get('tags'),
8968            use_azure_single_server_usernames=d.get(
8969                'use_azure_single_server_usernames'),
8970            username=d.get('username'),
8971        )
class AzureStore:
8974class AzureStore:
8975    __slots__ = [
8976        'id',
8977        'name',
8978        'tags',
8979        'vault_uri',
8980    ]
8981
8982    def __init__(
8983        self,
8984        id=None,
8985        name=None,
8986        tags=None,
8987        vault_uri=None,
8988    ):
8989        self.id = id if id is not None else ''
8990        '''
8991         Unique identifier of the SecretStore.
8992        '''
8993        self.name = name if name is not None else ''
8994        '''
8995         Unique human-readable name of the SecretStore.
8996        '''
8997        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8998        '''
8999         Tags is a map of key, value pairs.
9000        '''
9001        self.vault_uri = vault_uri if vault_uri is not None else ''
9002        '''
9003         The URI of the key vault to target e.g. https://myvault.vault.azure.net
9004        '''
9005
9006    def __repr__(self):
9007        return '<sdm.AzureStore ' + \
9008            'id: ' + repr(self.id) + ' ' +\
9009            'name: ' + repr(self.name) + ' ' +\
9010            'tags: ' + repr(self.tags) + ' ' +\
9011            'vault_uri: ' + repr(self.vault_uri) + ' ' +\
9012            '>'
9013
9014    def to_dict(self):
9015        return {
9016            'id': self.id,
9017            'name': self.name,
9018            'tags': self.tags,
9019            'vault_uri': self.vault_uri,
9020        }
9021
9022    @classmethod
9023    def from_dict(cls, d):
9024        return cls(
9025            id=d.get('id'),
9026            name=d.get('name'),
9027            tags=d.get('tags'),
9028            vault_uri=d.get('vault_uri'),
9029        )
AzureStore(id=None, name=None, tags=None, vault_uri=None)
8982    def __init__(
8983        self,
8984        id=None,
8985        name=None,
8986        tags=None,
8987        vault_uri=None,
8988    ):
8989        self.id = id if id is not None else ''
8990        '''
8991         Unique identifier of the SecretStore.
8992        '''
8993        self.name = name if name is not None else ''
8994        '''
8995         Unique human-readable name of the SecretStore.
8996        '''
8997        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
8998        '''
8999         Tags is a map of key, value pairs.
9000        '''
9001        self.vault_uri = vault_uri if vault_uri is not None else ''
9002        '''
9003         The URI of the key vault to target e.g. https://myvault.vault.azure.net
9004        '''
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)
9014    def to_dict(self):
9015        return {
9016            'id': self.id,
9017            'name': self.name,
9018            'tags': self.tags,
9019            'vault_uri': self.vault_uri,
9020        }
@classmethod
def from_dict(cls, d)
9022    @classmethod
9023    def from_dict(cls, d):
9024        return cls(
9025            id=d.get('id'),
9026            name=d.get('name'),
9027            tags=d.get('tags'),
9028            vault_uri=d.get('vault_uri'),
9029        )
class BigQuery:
9032class BigQuery:
9033    __slots__ = [
9034        'bind_interface',
9035        'egress_filter',
9036        'endpoint',
9037        'healthy',
9038        'id',
9039        'name',
9040        'port_override',
9041        'private_key',
9042        'project',
9043        'proxy_cluster_id',
9044        'secret_store_id',
9045        'subdomain',
9046        'tags',
9047        'username',
9048    ]
9049
9050    def __init__(
9051        self,
9052        bind_interface=None,
9053        egress_filter=None,
9054        endpoint=None,
9055        healthy=None,
9056        id=None,
9057        name=None,
9058        port_override=None,
9059        private_key=None,
9060        project=None,
9061        proxy_cluster_id=None,
9062        secret_store_id=None,
9063        subdomain=None,
9064        tags=None,
9065        username=None,
9066    ):
9067        self.bind_interface = bind_interface if bind_interface is not None else ''
9068        '''
9069         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9070        '''
9071        self.egress_filter = egress_filter if egress_filter is not None else ''
9072        '''
9073         A filter applied to the routing logic to pin datasource to nodes.
9074        '''
9075        self.endpoint = endpoint if endpoint is not None else ''
9076        '''
9077         The endpoint to dial.
9078        '''
9079        self.healthy = healthy if healthy is not None else False
9080        '''
9081         True if the datasource is reachable and the credentials are valid.
9082        '''
9083        self.id = id if id is not None else ''
9084        '''
9085         Unique identifier of the Resource.
9086        '''
9087        self.name = name if name is not None else ''
9088        '''
9089         Unique human-readable name of the Resource.
9090        '''
9091        self.port_override = port_override if port_override is not None else 0
9092        '''
9093         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9094        '''
9095        self.private_key = private_key if private_key is not None else ''
9096        '''
9097         The JSON Private key to authenticate with.
9098        '''
9099        self.project = project if project is not None else ''
9100        '''
9101         The project to connect to.
9102        '''
9103        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9104        '''
9105         ID of the proxy cluster for this resource, if any.
9106        '''
9107        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9108        '''
9109         ID of the secret store containing credentials for this resource, if any.
9110        '''
9111        self.subdomain = subdomain if subdomain is not None else ''
9112        '''
9113         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9114        '''
9115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9116        '''
9117         Tags is a map of key, value pairs.
9118        '''
9119        self.username = username if username is not None else ''
9120        '''
9121         The username to authenticate with.
9122        '''
9123
9124    def __repr__(self):
9125        return '<sdm.BigQuery ' + \
9126            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9127            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9128            'endpoint: ' + repr(self.endpoint) + ' ' +\
9129            'healthy: ' + repr(self.healthy) + ' ' +\
9130            'id: ' + repr(self.id) + ' ' +\
9131            'name: ' + repr(self.name) + ' ' +\
9132            'port_override: ' + repr(self.port_override) + ' ' +\
9133            'private_key: ' + repr(self.private_key) + ' ' +\
9134            'project: ' + repr(self.project) + ' ' +\
9135            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9136            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9137            'subdomain: ' + repr(self.subdomain) + ' ' +\
9138            'tags: ' + repr(self.tags) + ' ' +\
9139            'username: ' + repr(self.username) + ' ' +\
9140            '>'
9141
9142    def to_dict(self):
9143        return {
9144            'bind_interface': self.bind_interface,
9145            'egress_filter': self.egress_filter,
9146            'endpoint': self.endpoint,
9147            'healthy': self.healthy,
9148            'id': self.id,
9149            'name': self.name,
9150            'port_override': self.port_override,
9151            'private_key': self.private_key,
9152            'project': self.project,
9153            'proxy_cluster_id': self.proxy_cluster_id,
9154            'secret_store_id': self.secret_store_id,
9155            'subdomain': self.subdomain,
9156            'tags': self.tags,
9157            'username': self.username,
9158        }
9159
9160    @classmethod
9161    def from_dict(cls, d):
9162        return cls(
9163            bind_interface=d.get('bind_interface'),
9164            egress_filter=d.get('egress_filter'),
9165            endpoint=d.get('endpoint'),
9166            healthy=d.get('healthy'),
9167            id=d.get('id'),
9168            name=d.get('name'),
9169            port_override=d.get('port_override'),
9170            private_key=d.get('private_key'),
9171            project=d.get('project'),
9172            proxy_cluster_id=d.get('proxy_cluster_id'),
9173            secret_store_id=d.get('secret_store_id'),
9174            subdomain=d.get('subdomain'),
9175            tags=d.get('tags'),
9176            username=d.get('username'),
9177        )
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)
9050    def __init__(
9051        self,
9052        bind_interface=None,
9053        egress_filter=None,
9054        endpoint=None,
9055        healthy=None,
9056        id=None,
9057        name=None,
9058        port_override=None,
9059        private_key=None,
9060        project=None,
9061        proxy_cluster_id=None,
9062        secret_store_id=None,
9063        subdomain=None,
9064        tags=None,
9065        username=None,
9066    ):
9067        self.bind_interface = bind_interface if bind_interface is not None else ''
9068        '''
9069         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9070        '''
9071        self.egress_filter = egress_filter if egress_filter is not None else ''
9072        '''
9073         A filter applied to the routing logic to pin datasource to nodes.
9074        '''
9075        self.endpoint = endpoint if endpoint is not None else ''
9076        '''
9077         The endpoint to dial.
9078        '''
9079        self.healthy = healthy if healthy is not None else False
9080        '''
9081         True if the datasource is reachable and the credentials are valid.
9082        '''
9083        self.id = id if id is not None else ''
9084        '''
9085         Unique identifier of the Resource.
9086        '''
9087        self.name = name if name is not None else ''
9088        '''
9089         Unique human-readable name of the Resource.
9090        '''
9091        self.port_override = port_override if port_override is not None else 0
9092        '''
9093         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9094        '''
9095        self.private_key = private_key if private_key is not None else ''
9096        '''
9097         The JSON Private key to authenticate with.
9098        '''
9099        self.project = project if project is not None else ''
9100        '''
9101         The project to connect to.
9102        '''
9103        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9104        '''
9105         ID of the proxy cluster for this resource, if any.
9106        '''
9107        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9108        '''
9109         ID of the secret store containing credentials for this resource, if any.
9110        '''
9111        self.subdomain = subdomain if subdomain is not None else ''
9112        '''
9113         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9114        '''
9115        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9116        '''
9117         Tags is a map of key, value pairs.
9118        '''
9119        self.username = username if username is not None else ''
9120        '''
9121         The username to authenticate with.
9122        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

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

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
9297    def to_dict(self):
9298        return {
9299            'bind_interface': self.bind_interface,
9300            'egress_filter': self.egress_filter,
9301            'healthy': self.healthy,
9302            'hostname': self.hostname,
9303            'id': self.id,
9304            'name': self.name,
9305            'password': self.password,
9306            'port': self.port,
9307            'port_override': self.port_override,
9308            'proxy_cluster_id': self.proxy_cluster_id,
9309            'secret_store_id': self.secret_store_id,
9310            'subdomain': self.subdomain,
9311            'tags': self.tags,
9312            'tls_required': self.tls_required,
9313            'username': self.username,
9314        }
@classmethod
def from_dict(cls, d)
9316    @classmethod
9317    def from_dict(cls, d):
9318        return cls(
9319            bind_interface=d.get('bind_interface'),
9320            egress_filter=d.get('egress_filter'),
9321            healthy=d.get('healthy'),
9322            hostname=d.get('hostname'),
9323            id=d.get('id'),
9324            name=d.get('name'),
9325            password=d.get('password'),
9326            port=d.get('port'),
9327            port_override=d.get('port_override'),
9328            proxy_cluster_id=d.get('proxy_cluster_id'),
9329            secret_store_id=d.get('secret_store_id'),
9330            subdomain=d.get('subdomain'),
9331            tags=d.get('tags'),
9332            tls_required=d.get('tls_required'),
9333            username=d.get('username'),
9334        )
class Citus:
9337class Citus:
9338    __slots__ = [
9339        'bind_interface',
9340        'database',
9341        'egress_filter',
9342        'healthy',
9343        'hostname',
9344        'id',
9345        'name',
9346        'override_database',
9347        'password',
9348        'port',
9349        'port_override',
9350        'proxy_cluster_id',
9351        'secret_store_id',
9352        'subdomain',
9353        'tags',
9354        'username',
9355    ]
9356
9357    def __init__(
9358        self,
9359        bind_interface=None,
9360        database=None,
9361        egress_filter=None,
9362        healthy=None,
9363        hostname=None,
9364        id=None,
9365        name=None,
9366        override_database=None,
9367        password=None,
9368        port=None,
9369        port_override=None,
9370        proxy_cluster_id=None,
9371        secret_store_id=None,
9372        subdomain=None,
9373        tags=None,
9374        username=None,
9375    ):
9376        self.bind_interface = bind_interface if bind_interface is not None else ''
9377        '''
9378         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9379        '''
9380        self.database = database if database is not None else ''
9381        '''
9382         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9383        '''
9384        self.egress_filter = egress_filter if egress_filter is not None else ''
9385        '''
9386         A filter applied to the routing logic to pin datasource to nodes.
9387        '''
9388        self.healthy = healthy if healthy is not None else False
9389        '''
9390         True if the datasource is reachable and the credentials are valid.
9391        '''
9392        self.hostname = hostname if hostname is not None else ''
9393        '''
9394         The host to dial to initiate a connection from the egress node to this resource.
9395        '''
9396        self.id = id if id is not None else ''
9397        '''
9398         Unique identifier of the Resource.
9399        '''
9400        self.name = name if name is not None else ''
9401        '''
9402         Unique human-readable name of the Resource.
9403        '''
9404        self.override_database = override_database if override_database is not None else False
9405        '''
9406         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9407        '''
9408        self.password = password if password is not None else ''
9409        '''
9410         The password to authenticate with.
9411        '''
9412        self.port = port if port is not None else 0
9413        '''
9414         The port to dial to initiate a connection from the egress node to this resource.
9415        '''
9416        self.port_override = port_override if port_override is not None else 0
9417        '''
9418         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9419        '''
9420        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9421        '''
9422         ID of the proxy cluster for this resource, if any.
9423        '''
9424        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9425        '''
9426         ID of the secret store containing credentials for this resource, if any.
9427        '''
9428        self.subdomain = subdomain if subdomain is not None else ''
9429        '''
9430         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9431        '''
9432        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9433        '''
9434         Tags is a map of key, value pairs.
9435        '''
9436        self.username = username if username is not None else ''
9437        '''
9438         The username to authenticate with.
9439        '''
9440
9441    def __repr__(self):
9442        return '<sdm.Citus ' + \
9443            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9444            'database: ' + repr(self.database) + ' ' +\
9445            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9446            'healthy: ' + repr(self.healthy) + ' ' +\
9447            'hostname: ' + repr(self.hostname) + ' ' +\
9448            'id: ' + repr(self.id) + ' ' +\
9449            'name: ' + repr(self.name) + ' ' +\
9450            'override_database: ' + repr(self.override_database) + ' ' +\
9451            'password: ' + repr(self.password) + ' ' +\
9452            'port: ' + repr(self.port) + ' ' +\
9453            'port_override: ' + repr(self.port_override) + ' ' +\
9454            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9455            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9456            'subdomain: ' + repr(self.subdomain) + ' ' +\
9457            'tags: ' + repr(self.tags) + ' ' +\
9458            'username: ' + repr(self.username) + ' ' +\
9459            '>'
9460
9461    def to_dict(self):
9462        return {
9463            'bind_interface': self.bind_interface,
9464            'database': self.database,
9465            'egress_filter': self.egress_filter,
9466            'healthy': self.healthy,
9467            'hostname': self.hostname,
9468            'id': self.id,
9469            'name': self.name,
9470            'override_database': self.override_database,
9471            'password': self.password,
9472            'port': self.port,
9473            'port_override': self.port_override,
9474            'proxy_cluster_id': self.proxy_cluster_id,
9475            'secret_store_id': self.secret_store_id,
9476            'subdomain': self.subdomain,
9477            'tags': self.tags,
9478            'username': self.username,
9479        }
9480
9481    @classmethod
9482    def from_dict(cls, d):
9483        return cls(
9484            bind_interface=d.get('bind_interface'),
9485            database=d.get('database'),
9486            egress_filter=d.get('egress_filter'),
9487            healthy=d.get('healthy'),
9488            hostname=d.get('hostname'),
9489            id=d.get('id'),
9490            name=d.get('name'),
9491            override_database=d.get('override_database'),
9492            password=d.get('password'),
9493            port=d.get('port'),
9494            port_override=d.get('port_override'),
9495            proxy_cluster_id=d.get('proxy_cluster_id'),
9496            secret_store_id=d.get('secret_store_id'),
9497            subdomain=d.get('subdomain'),
9498            tags=d.get('tags'),
9499            username=d.get('username'),
9500        )
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)
9357    def __init__(
9358        self,
9359        bind_interface=None,
9360        database=None,
9361        egress_filter=None,
9362        healthy=None,
9363        hostname=None,
9364        id=None,
9365        name=None,
9366        override_database=None,
9367        password=None,
9368        port=None,
9369        port_override=None,
9370        proxy_cluster_id=None,
9371        secret_store_id=None,
9372        subdomain=None,
9373        tags=None,
9374        username=None,
9375    ):
9376        self.bind_interface = bind_interface if bind_interface is not None else ''
9377        '''
9378         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9379        '''
9380        self.database = database if database is not None else ''
9381        '''
9382         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9383        '''
9384        self.egress_filter = egress_filter if egress_filter is not None else ''
9385        '''
9386         A filter applied to the routing logic to pin datasource to nodes.
9387        '''
9388        self.healthy = healthy if healthy is not None else False
9389        '''
9390         True if the datasource is reachable and the credentials are valid.
9391        '''
9392        self.hostname = hostname if hostname is not None else ''
9393        '''
9394         The host to dial to initiate a connection from the egress node to this resource.
9395        '''
9396        self.id = id if id is not None else ''
9397        '''
9398         Unique identifier of the Resource.
9399        '''
9400        self.name = name if name is not None else ''
9401        '''
9402         Unique human-readable name of the Resource.
9403        '''
9404        self.override_database = override_database if override_database is not None else False
9405        '''
9406         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
9407        '''
9408        self.password = password if password is not None else ''
9409        '''
9410         The password to authenticate with.
9411        '''
9412        self.port = port if port is not None else 0
9413        '''
9414         The port to dial to initiate a connection from the egress node to this resource.
9415        '''
9416        self.port_override = port_override if port_override is not None else 0
9417        '''
9418         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9419        '''
9420        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9421        '''
9422         ID of the proxy cluster for this resource, if any.
9423        '''
9424        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9425        '''
9426         ID of the secret store containing credentials for this resource, if any.
9427        '''
9428        self.subdomain = subdomain if subdomain is not None else ''
9429        '''
9430         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9431        '''
9432        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9433        '''
9434         Tags is a map of key, value pairs.
9435        '''
9436        self.username = username if username is not None else ''
9437        '''
9438         The username to authenticate with.
9439        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
9461    def to_dict(self):
9462        return {
9463            'bind_interface': self.bind_interface,
9464            'database': self.database,
9465            'egress_filter': self.egress_filter,
9466            'healthy': self.healthy,
9467            'hostname': self.hostname,
9468            'id': self.id,
9469            'name': self.name,
9470            'override_database': self.override_database,
9471            'password': self.password,
9472            'port': self.port,
9473            'port_override': self.port_override,
9474            'proxy_cluster_id': self.proxy_cluster_id,
9475            'secret_store_id': self.secret_store_id,
9476            'subdomain': self.subdomain,
9477            'tags': self.tags,
9478            'username': self.username,
9479        }
@classmethod
def from_dict(cls, d)
9481    @classmethod
9482    def from_dict(cls, d):
9483        return cls(
9484            bind_interface=d.get('bind_interface'),
9485            database=d.get('database'),
9486            egress_filter=d.get('egress_filter'),
9487            healthy=d.get('healthy'),
9488            hostname=d.get('hostname'),
9489            id=d.get('id'),
9490            name=d.get('name'),
9491            override_database=d.get('override_database'),
9492            password=d.get('password'),
9493            port=d.get('port'),
9494            port_override=d.get('port_override'),
9495            proxy_cluster_id=d.get('proxy_cluster_id'),
9496            secret_store_id=d.get('secret_store_id'),
9497            subdomain=d.get('subdomain'),
9498            tags=d.get('tags'),
9499            username=d.get('username'),
9500        )
class ClickHouseHTTP:
9503class ClickHouseHTTP:
9504    __slots__ = [
9505        'bind_interface',
9506        'database',
9507        'egress_filter',
9508        'healthy',
9509        'id',
9510        'name',
9511        'password',
9512        'port_override',
9513        'proxy_cluster_id',
9514        'secret_store_id',
9515        'tags',
9516        'url',
9517        'username',
9518    ]
9519
9520    def __init__(
9521        self,
9522        bind_interface=None,
9523        database=None,
9524        egress_filter=None,
9525        healthy=None,
9526        id=None,
9527        name=None,
9528        password=None,
9529        port_override=None,
9530        proxy_cluster_id=None,
9531        secret_store_id=None,
9532        tags=None,
9533        url=None,
9534        username=None,
9535    ):
9536        self.bind_interface = bind_interface if bind_interface is not None else ''
9537        '''
9538         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9539        '''
9540        self.database = database if database is not None else ''
9541        '''
9542         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9543        '''
9544        self.egress_filter = egress_filter if egress_filter is not None else ''
9545        '''
9546         A filter applied to the routing logic to pin datasource to nodes.
9547        '''
9548        self.healthy = healthy if healthy is not None else False
9549        '''
9550         True if the datasource is reachable and the credentials are valid.
9551        '''
9552        self.id = id if id is not None else ''
9553        '''
9554         Unique identifier of the Resource.
9555        '''
9556        self.name = name if name is not None else ''
9557        '''
9558         Unique human-readable name of the Resource.
9559        '''
9560        self.password = password if password is not None else ''
9561        '''
9562         The password to authenticate with.
9563        '''
9564        self.port_override = port_override if port_override is not None else 0
9565        '''
9566         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9567        '''
9568        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9569        '''
9570         ID of the proxy cluster for this resource, if any.
9571        '''
9572        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9573        '''
9574         ID of the secret store containing credentials for this resource, if any.
9575        '''
9576        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9577        '''
9578         Tags is a map of key, value pairs.
9579        '''
9580        self.url = url if url is not None else ''
9581        '''
9582         The URL to dial to initiate a connection from the egress node to this resource.
9583        '''
9584        self.username = username if username is not None else ''
9585        '''
9586         The username to authenticate with.
9587        '''
9588
9589    def __repr__(self):
9590        return '<sdm.ClickHouseHTTP ' + \
9591            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9592            'database: ' + repr(self.database) + ' ' +\
9593            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9594            'healthy: ' + repr(self.healthy) + ' ' +\
9595            'id: ' + repr(self.id) + ' ' +\
9596            'name: ' + repr(self.name) + ' ' +\
9597            'password: ' + repr(self.password) + ' ' +\
9598            'port_override: ' + repr(self.port_override) + ' ' +\
9599            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9600            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9601            'tags: ' + repr(self.tags) + ' ' +\
9602            'url: ' + repr(self.url) + ' ' +\
9603            'username: ' + repr(self.username) + ' ' +\
9604            '>'
9605
9606    def to_dict(self):
9607        return {
9608            'bind_interface': self.bind_interface,
9609            'database': self.database,
9610            'egress_filter': self.egress_filter,
9611            'healthy': self.healthy,
9612            'id': self.id,
9613            'name': self.name,
9614            'password': self.password,
9615            'port_override': self.port_override,
9616            'proxy_cluster_id': self.proxy_cluster_id,
9617            'secret_store_id': self.secret_store_id,
9618            'tags': self.tags,
9619            'url': self.url,
9620            'username': self.username,
9621        }
9622
9623    @classmethod
9624    def from_dict(cls, d):
9625        return cls(
9626            bind_interface=d.get('bind_interface'),
9627            database=d.get('database'),
9628            egress_filter=d.get('egress_filter'),
9629            healthy=d.get('healthy'),
9630            id=d.get('id'),
9631            name=d.get('name'),
9632            password=d.get('password'),
9633            port_override=d.get('port_override'),
9634            proxy_cluster_id=d.get('proxy_cluster_id'),
9635            secret_store_id=d.get('secret_store_id'),
9636            tags=d.get('tags'),
9637            url=d.get('url'),
9638            username=d.get('username'),
9639        )
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)
9520    def __init__(
9521        self,
9522        bind_interface=None,
9523        database=None,
9524        egress_filter=None,
9525        healthy=None,
9526        id=None,
9527        name=None,
9528        password=None,
9529        port_override=None,
9530        proxy_cluster_id=None,
9531        secret_store_id=None,
9532        tags=None,
9533        url=None,
9534        username=None,
9535    ):
9536        self.bind_interface = bind_interface if bind_interface is not None else ''
9537        '''
9538         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9539        '''
9540        self.database = database if database is not None else ''
9541        '''
9542         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9543        '''
9544        self.egress_filter = egress_filter if egress_filter is not None else ''
9545        '''
9546         A filter applied to the routing logic to pin datasource to nodes.
9547        '''
9548        self.healthy = healthy if healthy is not None else False
9549        '''
9550         True if the datasource is reachable and the credentials are valid.
9551        '''
9552        self.id = id if id is not None else ''
9553        '''
9554         Unique identifier of the Resource.
9555        '''
9556        self.name = name if name is not None else ''
9557        '''
9558         Unique human-readable name of the Resource.
9559        '''
9560        self.password = password if password is not None else ''
9561        '''
9562         The password to authenticate with.
9563        '''
9564        self.port_override = port_override if port_override is not None else 0
9565        '''
9566         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9567        '''
9568        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9569        '''
9570         ID of the proxy cluster for this resource, if any.
9571        '''
9572        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9573        '''
9574         ID of the secret store containing credentials for this resource, if any.
9575        '''
9576        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9577        '''
9578         Tags is a map of key, value pairs.
9579        '''
9580        self.url = url if url is not None else ''
9581        '''
9582         The URL to dial to initiate a connection from the egress node to this resource.
9583        '''
9584        self.username = username if username is not None else ''
9585        '''
9586         The username to authenticate with.
9587        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID 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)
9606    def to_dict(self):
9607        return {
9608            'bind_interface': self.bind_interface,
9609            'database': self.database,
9610            'egress_filter': self.egress_filter,
9611            'healthy': self.healthy,
9612            'id': self.id,
9613            'name': self.name,
9614            'password': self.password,
9615            'port_override': self.port_override,
9616            'proxy_cluster_id': self.proxy_cluster_id,
9617            'secret_store_id': self.secret_store_id,
9618            'tags': self.tags,
9619            'url': self.url,
9620            'username': self.username,
9621        }
@classmethod
def from_dict(cls, d)
9623    @classmethod
9624    def from_dict(cls, d):
9625        return cls(
9626            bind_interface=d.get('bind_interface'),
9627            database=d.get('database'),
9628            egress_filter=d.get('egress_filter'),
9629            healthy=d.get('healthy'),
9630            id=d.get('id'),
9631            name=d.get('name'),
9632            password=d.get('password'),
9633            port_override=d.get('port_override'),
9634            proxy_cluster_id=d.get('proxy_cluster_id'),
9635            secret_store_id=d.get('secret_store_id'),
9636            tags=d.get('tags'),
9637            url=d.get('url'),
9638            username=d.get('username'),
9639        )
class ClickHouseMySQL:
9642class ClickHouseMySQL:
9643    __slots__ = [
9644        'bind_interface',
9645        'database',
9646        'egress_filter',
9647        'healthy',
9648        'hostname',
9649        'id',
9650        'name',
9651        'password',
9652        'port',
9653        'port_override',
9654        'proxy_cluster_id',
9655        'require_native_auth',
9656        'secret_store_id',
9657        'subdomain',
9658        'tags',
9659        'username',
9660    ]
9661
9662    def __init__(
9663        self,
9664        bind_interface=None,
9665        database=None,
9666        egress_filter=None,
9667        healthy=None,
9668        hostname=None,
9669        id=None,
9670        name=None,
9671        password=None,
9672        port=None,
9673        port_override=None,
9674        proxy_cluster_id=None,
9675        require_native_auth=None,
9676        secret_store_id=None,
9677        subdomain=None,
9678        tags=None,
9679        username=None,
9680    ):
9681        self.bind_interface = bind_interface if bind_interface is not None else ''
9682        '''
9683         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9684        '''
9685        self.database = database if database is not None else ''
9686        '''
9687         The database for healthchecks. Does not affect client requests.
9688        '''
9689        self.egress_filter = egress_filter if egress_filter is not None else ''
9690        '''
9691         A filter applied to the routing logic to pin datasource to nodes.
9692        '''
9693        self.healthy = healthy if healthy is not None else False
9694        '''
9695         True if the datasource is reachable and the credentials are valid.
9696        '''
9697        self.hostname = hostname if hostname is not None else ''
9698        '''
9699         The host to dial to initiate a connection from the egress node to this resource.
9700        '''
9701        self.id = id if id is not None else ''
9702        '''
9703         Unique identifier of the Resource.
9704        '''
9705        self.name = name if name is not None else ''
9706        '''
9707         Unique human-readable name of the Resource.
9708        '''
9709        self.password = password if password is not None else ''
9710        '''
9711         The password to authenticate with.
9712        '''
9713        self.port = port if port is not None else 0
9714        '''
9715         The port to dial to initiate a connection from the egress node to this resource.
9716        '''
9717        self.port_override = port_override if port_override is not None else 0
9718        '''
9719         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9720        '''
9721        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9722        '''
9723         ID of the proxy cluster for this resource, if any.
9724        '''
9725        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9726        '''
9727         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9728        '''
9729        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9730        '''
9731         ID of the secret store containing credentials for this resource, if any.
9732        '''
9733        self.subdomain = subdomain if subdomain is not None else ''
9734        '''
9735         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9736        '''
9737        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9738        '''
9739         Tags is a map of key, value pairs.
9740        '''
9741        self.username = username if username is not None else ''
9742        '''
9743         The username to authenticate with.
9744        '''
9745
9746    def __repr__(self):
9747        return '<sdm.ClickHouseMySQL ' + \
9748            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9749            'database: ' + repr(self.database) + ' ' +\
9750            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9751            'healthy: ' + repr(self.healthy) + ' ' +\
9752            'hostname: ' + repr(self.hostname) + ' ' +\
9753            'id: ' + repr(self.id) + ' ' +\
9754            'name: ' + repr(self.name) + ' ' +\
9755            'password: ' + repr(self.password) + ' ' +\
9756            'port: ' + repr(self.port) + ' ' +\
9757            'port_override: ' + repr(self.port_override) + ' ' +\
9758            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9759            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
9760            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9761            'subdomain: ' + repr(self.subdomain) + ' ' +\
9762            'tags: ' + repr(self.tags) + ' ' +\
9763            'username: ' + repr(self.username) + ' ' +\
9764            '>'
9765
9766    def to_dict(self):
9767        return {
9768            'bind_interface': self.bind_interface,
9769            'database': self.database,
9770            'egress_filter': self.egress_filter,
9771            'healthy': self.healthy,
9772            'hostname': self.hostname,
9773            'id': self.id,
9774            'name': self.name,
9775            'password': self.password,
9776            'port': self.port,
9777            'port_override': self.port_override,
9778            'proxy_cluster_id': self.proxy_cluster_id,
9779            'require_native_auth': self.require_native_auth,
9780            'secret_store_id': self.secret_store_id,
9781            'subdomain': self.subdomain,
9782            'tags': self.tags,
9783            'username': self.username,
9784        }
9785
9786    @classmethod
9787    def from_dict(cls, d):
9788        return cls(
9789            bind_interface=d.get('bind_interface'),
9790            database=d.get('database'),
9791            egress_filter=d.get('egress_filter'),
9792            healthy=d.get('healthy'),
9793            hostname=d.get('hostname'),
9794            id=d.get('id'),
9795            name=d.get('name'),
9796            password=d.get('password'),
9797            port=d.get('port'),
9798            port_override=d.get('port_override'),
9799            proxy_cluster_id=d.get('proxy_cluster_id'),
9800            require_native_auth=d.get('require_native_auth'),
9801            secret_store_id=d.get('secret_store_id'),
9802            subdomain=d.get('subdomain'),
9803            tags=d.get('tags'),
9804            username=d.get('username'),
9805        )
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)
9662    def __init__(
9663        self,
9664        bind_interface=None,
9665        database=None,
9666        egress_filter=None,
9667        healthy=None,
9668        hostname=None,
9669        id=None,
9670        name=None,
9671        password=None,
9672        port=None,
9673        port_override=None,
9674        proxy_cluster_id=None,
9675        require_native_auth=None,
9676        secret_store_id=None,
9677        subdomain=None,
9678        tags=None,
9679        username=None,
9680    ):
9681        self.bind_interface = bind_interface if bind_interface is not None else ''
9682        '''
9683         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9684        '''
9685        self.database = database if database is not None else ''
9686        '''
9687         The database for healthchecks. Does not affect client requests.
9688        '''
9689        self.egress_filter = egress_filter if egress_filter is not None else ''
9690        '''
9691         A filter applied to the routing logic to pin datasource to nodes.
9692        '''
9693        self.healthy = healthy if healthy is not None else False
9694        '''
9695         True if the datasource is reachable and the credentials are valid.
9696        '''
9697        self.hostname = hostname if hostname is not None else ''
9698        '''
9699         The host to dial to initiate a connection from the egress node to this resource.
9700        '''
9701        self.id = id if id is not None else ''
9702        '''
9703         Unique identifier of the Resource.
9704        '''
9705        self.name = name if name is not None else ''
9706        '''
9707         Unique human-readable name of the Resource.
9708        '''
9709        self.password = password if password is not None else ''
9710        '''
9711         The password to authenticate with.
9712        '''
9713        self.port = port if port is not None else 0
9714        '''
9715         The port to dial to initiate a connection from the egress node to this resource.
9716        '''
9717        self.port_override = port_override if port_override is not None else 0
9718        '''
9719         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9720        '''
9721        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9722        '''
9723         ID of the proxy cluster for this resource, if any.
9724        '''
9725        self.require_native_auth = require_native_auth if require_native_auth is not None else False
9726        '''
9727         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
9728        '''
9729        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9730        '''
9731         ID of the secret store containing credentials for this resource, if any.
9732        '''
9733        self.subdomain = subdomain if subdomain is not None else ''
9734        '''
9735         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9736        '''
9737        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9738        '''
9739         Tags is a map of key, value pairs.
9740        '''
9741        self.username = username if username is not None else ''
9742        '''
9743         The username to authenticate with.
9744        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
9766    def to_dict(self):
9767        return {
9768            'bind_interface': self.bind_interface,
9769            'database': self.database,
9770            'egress_filter': self.egress_filter,
9771            'healthy': self.healthy,
9772            'hostname': self.hostname,
9773            'id': self.id,
9774            'name': self.name,
9775            'password': self.password,
9776            'port': self.port,
9777            'port_override': self.port_override,
9778            'proxy_cluster_id': self.proxy_cluster_id,
9779            'require_native_auth': self.require_native_auth,
9780            'secret_store_id': self.secret_store_id,
9781            'subdomain': self.subdomain,
9782            'tags': self.tags,
9783            'username': self.username,
9784        }
@classmethod
def from_dict(cls, d)
9786    @classmethod
9787    def from_dict(cls, d):
9788        return cls(
9789            bind_interface=d.get('bind_interface'),
9790            database=d.get('database'),
9791            egress_filter=d.get('egress_filter'),
9792            healthy=d.get('healthy'),
9793            hostname=d.get('hostname'),
9794            id=d.get('id'),
9795            name=d.get('name'),
9796            password=d.get('password'),
9797            port=d.get('port'),
9798            port_override=d.get('port_override'),
9799            proxy_cluster_id=d.get('proxy_cluster_id'),
9800            require_native_auth=d.get('require_native_auth'),
9801            secret_store_id=d.get('secret_store_id'),
9802            subdomain=d.get('subdomain'),
9803            tags=d.get('tags'),
9804            username=d.get('username'),
9805        )
class ClickHouseTCP:
9808class ClickHouseTCP:
9809    __slots__ = [
9810        'bind_interface',
9811        'database',
9812        'egress_filter',
9813        'healthy',
9814        'hostname',
9815        'id',
9816        'name',
9817        'password',
9818        'port',
9819        'port_override',
9820        'proxy_cluster_id',
9821        'secret_store_id',
9822        'subdomain',
9823        'tags',
9824        'tls_required',
9825        'username',
9826    ]
9827
9828    def __init__(
9829        self,
9830        bind_interface=None,
9831        database=None,
9832        egress_filter=None,
9833        healthy=None,
9834        hostname=None,
9835        id=None,
9836        name=None,
9837        password=None,
9838        port=None,
9839        port_override=None,
9840        proxy_cluster_id=None,
9841        secret_store_id=None,
9842        subdomain=None,
9843        tags=None,
9844        tls_required=None,
9845        username=None,
9846    ):
9847        self.bind_interface = bind_interface if bind_interface is not None else ''
9848        '''
9849         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9850        '''
9851        self.database = database if database is not None else ''
9852        '''
9853         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9854        '''
9855        self.egress_filter = egress_filter if egress_filter is not None else ''
9856        '''
9857         A filter applied to the routing logic to pin datasource to nodes.
9858        '''
9859        self.healthy = healthy if healthy is not None else False
9860        '''
9861         True if the datasource is reachable and the credentials are valid.
9862        '''
9863        self.hostname = hostname if hostname is not None else ''
9864        '''
9865         The host to dial to initiate a connection from the egress node to this resource.
9866        '''
9867        self.id = id if id is not None else ''
9868        '''
9869         Unique identifier of the Resource.
9870        '''
9871        self.name = name if name is not None else ''
9872        '''
9873         Unique human-readable name of the Resource.
9874        '''
9875        self.password = password if password is not None else ''
9876        '''
9877         The password to authenticate with.
9878        '''
9879        self.port = port if port is not None else 0
9880        '''
9881         The port to dial to initiate a connection from the egress node to this resource.
9882        '''
9883        self.port_override = port_override if port_override is not None else 0
9884        '''
9885         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9886        '''
9887        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9888        '''
9889         ID of the proxy cluster for this resource, if any.
9890        '''
9891        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9892        '''
9893         ID of the secret store containing credentials for this resource, if any.
9894        '''
9895        self.subdomain = subdomain if subdomain is not None else ''
9896        '''
9897         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9898        '''
9899        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9900        '''
9901         Tags is a map of key, value pairs.
9902        '''
9903        self.tls_required = tls_required if tls_required is not None else False
9904        '''
9905         If set, TLS must be used to connect to this resource.
9906        '''
9907        self.username = username if username is not None else ''
9908        '''
9909         The username to authenticate with.
9910        '''
9911
9912    def __repr__(self):
9913        return '<sdm.ClickHouseTCP ' + \
9914            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
9915            'database: ' + repr(self.database) + ' ' +\
9916            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
9917            'healthy: ' + repr(self.healthy) + ' ' +\
9918            'hostname: ' + repr(self.hostname) + ' ' +\
9919            'id: ' + repr(self.id) + ' ' +\
9920            'name: ' + repr(self.name) + ' ' +\
9921            'password: ' + repr(self.password) + ' ' +\
9922            'port: ' + repr(self.port) + ' ' +\
9923            'port_override: ' + repr(self.port_override) + ' ' +\
9924            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
9925            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
9926            'subdomain: ' + repr(self.subdomain) + ' ' +\
9927            'tags: ' + repr(self.tags) + ' ' +\
9928            'tls_required: ' + repr(self.tls_required) + ' ' +\
9929            'username: ' + repr(self.username) + ' ' +\
9930            '>'
9931
9932    def to_dict(self):
9933        return {
9934            'bind_interface': self.bind_interface,
9935            'database': self.database,
9936            'egress_filter': self.egress_filter,
9937            'healthy': self.healthy,
9938            'hostname': self.hostname,
9939            'id': self.id,
9940            'name': self.name,
9941            'password': self.password,
9942            'port': self.port,
9943            'port_override': self.port_override,
9944            'proxy_cluster_id': self.proxy_cluster_id,
9945            'secret_store_id': self.secret_store_id,
9946            'subdomain': self.subdomain,
9947            'tags': self.tags,
9948            'tls_required': self.tls_required,
9949            'username': self.username,
9950        }
9951
9952    @classmethod
9953    def from_dict(cls, d):
9954        return cls(
9955            bind_interface=d.get('bind_interface'),
9956            database=d.get('database'),
9957            egress_filter=d.get('egress_filter'),
9958            healthy=d.get('healthy'),
9959            hostname=d.get('hostname'),
9960            id=d.get('id'),
9961            name=d.get('name'),
9962            password=d.get('password'),
9963            port=d.get('port'),
9964            port_override=d.get('port_override'),
9965            proxy_cluster_id=d.get('proxy_cluster_id'),
9966            secret_store_id=d.get('secret_store_id'),
9967            subdomain=d.get('subdomain'),
9968            tags=d.get('tags'),
9969            tls_required=d.get('tls_required'),
9970            username=d.get('username'),
9971        )
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)
9828    def __init__(
9829        self,
9830        bind_interface=None,
9831        database=None,
9832        egress_filter=None,
9833        healthy=None,
9834        hostname=None,
9835        id=None,
9836        name=None,
9837        password=None,
9838        port=None,
9839        port_override=None,
9840        proxy_cluster_id=None,
9841        secret_store_id=None,
9842        subdomain=None,
9843        tags=None,
9844        tls_required=None,
9845        username=None,
9846    ):
9847        self.bind_interface = bind_interface if bind_interface is not None else ''
9848        '''
9849         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
9850        '''
9851        self.database = database if database is not None else ''
9852        '''
9853         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
9854        '''
9855        self.egress_filter = egress_filter if egress_filter is not None else ''
9856        '''
9857         A filter applied to the routing logic to pin datasource to nodes.
9858        '''
9859        self.healthy = healthy if healthy is not None else False
9860        '''
9861         True if the datasource is reachable and the credentials are valid.
9862        '''
9863        self.hostname = hostname if hostname is not None else ''
9864        '''
9865         The host to dial to initiate a connection from the egress node to this resource.
9866        '''
9867        self.id = id if id is not None else ''
9868        '''
9869         Unique identifier of the Resource.
9870        '''
9871        self.name = name if name is not None else ''
9872        '''
9873         Unique human-readable name of the Resource.
9874        '''
9875        self.password = password if password is not None else ''
9876        '''
9877         The password to authenticate with.
9878        '''
9879        self.port = port if port is not None else 0
9880        '''
9881         The port to dial to initiate a connection from the egress node to this resource.
9882        '''
9883        self.port_override = port_override if port_override is not None else 0
9884        '''
9885         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
9886        '''
9887        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
9888        '''
9889         ID of the proxy cluster for this resource, if any.
9890        '''
9891        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
9892        '''
9893         ID of the secret store containing credentials for this resource, if any.
9894        '''
9895        self.subdomain = subdomain if subdomain is not None else ''
9896        '''
9897         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
9898        '''
9899        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
9900        '''
9901         Tags is a map of key, value pairs.
9902        '''
9903        self.tls_required = tls_required if tls_required is not None else False
9904        '''
9905         If set, TLS must be used to connect to this resource.
9906        '''
9907        self.username = username if username is not None else ''
9908        '''
9909         The username to authenticate with.
9910        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
9932    def to_dict(self):
9933        return {
9934            'bind_interface': self.bind_interface,
9935            'database': self.database,
9936            'egress_filter': self.egress_filter,
9937            'healthy': self.healthy,
9938            'hostname': self.hostname,
9939            'id': self.id,
9940            'name': self.name,
9941            'password': self.password,
9942            'port': self.port,
9943            'port_override': self.port_override,
9944            'proxy_cluster_id': self.proxy_cluster_id,
9945            'secret_store_id': self.secret_store_id,
9946            'subdomain': self.subdomain,
9947            'tags': self.tags,
9948            'tls_required': self.tls_required,
9949            'username': self.username,
9950        }
@classmethod
def from_dict(cls, d)
9952    @classmethod
9953    def from_dict(cls, d):
9954        return cls(
9955            bind_interface=d.get('bind_interface'),
9956            database=d.get('database'),
9957            egress_filter=d.get('egress_filter'),
9958            healthy=d.get('healthy'),
9959            hostname=d.get('hostname'),
9960            id=d.get('id'),
9961            name=d.get('name'),
9962            password=d.get('password'),
9963            port=d.get('port'),
9964            port_override=d.get('port_override'),
9965            proxy_cluster_id=d.get('proxy_cluster_id'),
9966            secret_store_id=d.get('secret_store_id'),
9967            subdomain=d.get('subdomain'),
9968            tags=d.get('tags'),
9969            tls_required=d.get('tls_required'),
9970            username=d.get('username'),
9971        )
class Clustrix:
 9974class Clustrix:
 9975    __slots__ = [
 9976        'bind_interface',
 9977        'database',
 9978        'egress_filter',
 9979        'healthy',
 9980        'hostname',
 9981        'id',
 9982        'name',
 9983        'password',
 9984        'port',
 9985        'port_override',
 9986        'proxy_cluster_id',
 9987        'require_native_auth',
 9988        'secret_store_id',
 9989        'subdomain',
 9990        'tags',
 9991        'use_azure_single_server_usernames',
 9992        'username',
 9993    ]
 9994
 9995    def __init__(
 9996        self,
 9997        bind_interface=None,
 9998        database=None,
 9999        egress_filter=None,
10000        healthy=None,
10001        hostname=None,
10002        id=None,
10003        name=None,
10004        password=None,
10005        port=None,
10006        port_override=None,
10007        proxy_cluster_id=None,
10008        require_native_auth=None,
10009        secret_store_id=None,
10010        subdomain=None,
10011        tags=None,
10012        use_azure_single_server_usernames=None,
10013        username=None,
10014    ):
10015        self.bind_interface = bind_interface if bind_interface is not None else ''
10016        '''
10017         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10018        '''
10019        self.database = database if database is not None else ''
10020        '''
10021         The database for healthchecks. Does not affect client requests.
10022        '''
10023        self.egress_filter = egress_filter if egress_filter is not None else ''
10024        '''
10025         A filter applied to the routing logic to pin datasource to nodes.
10026        '''
10027        self.healthy = healthy if healthy is not None else False
10028        '''
10029         True if the datasource is reachable and the credentials are valid.
10030        '''
10031        self.hostname = hostname if hostname is not None else ''
10032        '''
10033         The host to dial to initiate a connection from the egress node to this resource.
10034        '''
10035        self.id = id if id is not None else ''
10036        '''
10037         Unique identifier of the Resource.
10038        '''
10039        self.name = name if name is not None else ''
10040        '''
10041         Unique human-readable name of the Resource.
10042        '''
10043        self.password = password if password is not None else ''
10044        '''
10045         The password to authenticate with.
10046        '''
10047        self.port = port if port is not None else 0
10048        '''
10049         The port to dial to initiate a connection from the egress node to this resource.
10050        '''
10051        self.port_override = port_override if port_override is not None else 0
10052        '''
10053         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10054        '''
10055        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10056        '''
10057         ID of the proxy cluster for this resource, if any.
10058        '''
10059        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10060        '''
10061         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10062        '''
10063        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10064        '''
10065         ID of the secret store containing credentials for this resource, if any.
10066        '''
10067        self.subdomain = subdomain if subdomain is not None else ''
10068        '''
10069         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10070        '''
10071        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10072        '''
10073         Tags is a map of key, value pairs.
10074        '''
10075        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
10076        '''
10077         If true, appends the hostname to the username when hitting a database.azure.com address
10078        '''
10079        self.username = username if username is not None else ''
10080        '''
10081         The username to authenticate with.
10082        '''
10083
10084    def __repr__(self):
10085        return '<sdm.Clustrix ' + \
10086            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10087            'database: ' + repr(self.database) + ' ' +\
10088            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10089            'healthy: ' + repr(self.healthy) + ' ' +\
10090            'hostname: ' + repr(self.hostname) + ' ' +\
10091            'id: ' + repr(self.id) + ' ' +\
10092            'name: ' + repr(self.name) + ' ' +\
10093            'password: ' + repr(self.password) + ' ' +\
10094            'port: ' + repr(self.port) + ' ' +\
10095            'port_override: ' + repr(self.port_override) + ' ' +\
10096            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10097            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
10098            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10099            'subdomain: ' + repr(self.subdomain) + ' ' +\
10100            'tags: ' + repr(self.tags) + ' ' +\
10101            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
10102            'username: ' + repr(self.username) + ' ' +\
10103            '>'
10104
10105    def to_dict(self):
10106        return {
10107            'bind_interface': self.bind_interface,
10108            'database': self.database,
10109            'egress_filter': self.egress_filter,
10110            'healthy': self.healthy,
10111            'hostname': self.hostname,
10112            'id': self.id,
10113            'name': self.name,
10114            'password': self.password,
10115            'port': self.port,
10116            'port_override': self.port_override,
10117            'proxy_cluster_id': self.proxy_cluster_id,
10118            'require_native_auth': self.require_native_auth,
10119            'secret_store_id': self.secret_store_id,
10120            'subdomain': self.subdomain,
10121            'tags': self.tags,
10122            'use_azure_single_server_usernames':
10123            self.use_azure_single_server_usernames,
10124            'username': self.username,
10125        }
10126
10127    @classmethod
10128    def from_dict(cls, d):
10129        return cls(
10130            bind_interface=d.get('bind_interface'),
10131            database=d.get('database'),
10132            egress_filter=d.get('egress_filter'),
10133            healthy=d.get('healthy'),
10134            hostname=d.get('hostname'),
10135            id=d.get('id'),
10136            name=d.get('name'),
10137            password=d.get('password'),
10138            port=d.get('port'),
10139            port_override=d.get('port_override'),
10140            proxy_cluster_id=d.get('proxy_cluster_id'),
10141            require_native_auth=d.get('require_native_auth'),
10142            secret_store_id=d.get('secret_store_id'),
10143            subdomain=d.get('subdomain'),
10144            tags=d.get('tags'),
10145            use_azure_single_server_usernames=d.get(
10146                'use_azure_single_server_usernames'),
10147            username=d.get('username'),
10148        )
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)
 9995    def __init__(
 9996        self,
 9997        bind_interface=None,
 9998        database=None,
 9999        egress_filter=None,
10000        healthy=None,
10001        hostname=None,
10002        id=None,
10003        name=None,
10004        password=None,
10005        port=None,
10006        port_override=None,
10007        proxy_cluster_id=None,
10008        require_native_auth=None,
10009        secret_store_id=None,
10010        subdomain=None,
10011        tags=None,
10012        use_azure_single_server_usernames=None,
10013        username=None,
10014    ):
10015        self.bind_interface = bind_interface if bind_interface is not None else ''
10016        '''
10017         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10018        '''
10019        self.database = database if database is not None else ''
10020        '''
10021         The database for healthchecks. Does not affect client requests.
10022        '''
10023        self.egress_filter = egress_filter if egress_filter is not None else ''
10024        '''
10025         A filter applied to the routing logic to pin datasource to nodes.
10026        '''
10027        self.healthy = healthy if healthy is not None else False
10028        '''
10029         True if the datasource is reachable and the credentials are valid.
10030        '''
10031        self.hostname = hostname if hostname is not None else ''
10032        '''
10033         The host to dial to initiate a connection from the egress node to this resource.
10034        '''
10035        self.id = id if id is not None else ''
10036        '''
10037         Unique identifier of the Resource.
10038        '''
10039        self.name = name if name is not None else ''
10040        '''
10041         Unique human-readable name of the Resource.
10042        '''
10043        self.password = password if password is not None else ''
10044        '''
10045         The password to authenticate with.
10046        '''
10047        self.port = port if port is not None else 0
10048        '''
10049         The port to dial to initiate a connection from the egress node to this resource.
10050        '''
10051        self.port_override = port_override if port_override is not None else 0
10052        '''
10053         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10054        '''
10055        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10056        '''
10057         ID of the proxy cluster for this resource, if any.
10058        '''
10059        self.require_native_auth = require_native_auth if require_native_auth is not None else False
10060        '''
10061         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
10062        '''
10063        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10064        '''
10065         ID of the secret store containing credentials for this resource, if any.
10066        '''
10067        self.subdomain = subdomain if subdomain is not None else ''
10068        '''
10069         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10070        '''
10071        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10072        '''
10073         Tags is a map of key, value pairs.
10074        '''
10075        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
10076        '''
10077         If true, appends the hostname to the username when hitting a database.azure.com address
10078        '''
10079        self.username = username if username is not None else ''
10080        '''
10081         The username to authenticate with.
10082        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
10105    def to_dict(self):
10106        return {
10107            'bind_interface': self.bind_interface,
10108            'database': self.database,
10109            'egress_filter': self.egress_filter,
10110            'healthy': self.healthy,
10111            'hostname': self.hostname,
10112            'id': self.id,
10113            'name': self.name,
10114            'password': self.password,
10115            'port': self.port,
10116            'port_override': self.port_override,
10117            'proxy_cluster_id': self.proxy_cluster_id,
10118            'require_native_auth': self.require_native_auth,
10119            'secret_store_id': self.secret_store_id,
10120            'subdomain': self.subdomain,
10121            'tags': self.tags,
10122            'use_azure_single_server_usernames':
10123            self.use_azure_single_server_usernames,
10124            'username': self.username,
10125        }
@classmethod
def from_dict(cls, d)
10127    @classmethod
10128    def from_dict(cls, d):
10129        return cls(
10130            bind_interface=d.get('bind_interface'),
10131            database=d.get('database'),
10132            egress_filter=d.get('egress_filter'),
10133            healthy=d.get('healthy'),
10134            hostname=d.get('hostname'),
10135            id=d.get('id'),
10136            name=d.get('name'),
10137            password=d.get('password'),
10138            port=d.get('port'),
10139            port_override=d.get('port_override'),
10140            proxy_cluster_id=d.get('proxy_cluster_id'),
10141            require_native_auth=d.get('require_native_auth'),
10142            secret_store_id=d.get('secret_store_id'),
10143            subdomain=d.get('subdomain'),
10144            tags=d.get('tags'),
10145            use_azure_single_server_usernames=d.get(
10146                'use_azure_single_server_usernames'),
10147            username=d.get('username'),
10148        )
class Cockroach:
10151class Cockroach:
10152    __slots__ = [
10153        'bind_interface',
10154        'database',
10155        'egress_filter',
10156        'healthy',
10157        'hostname',
10158        'id',
10159        'name',
10160        'override_database',
10161        'password',
10162        'port',
10163        'port_override',
10164        'proxy_cluster_id',
10165        'secret_store_id',
10166        'subdomain',
10167        'tags',
10168        'username',
10169    ]
10170
10171    def __init__(
10172        self,
10173        bind_interface=None,
10174        database=None,
10175        egress_filter=None,
10176        healthy=None,
10177        hostname=None,
10178        id=None,
10179        name=None,
10180        override_database=None,
10181        password=None,
10182        port=None,
10183        port_override=None,
10184        proxy_cluster_id=None,
10185        secret_store_id=None,
10186        subdomain=None,
10187        tags=None,
10188        username=None,
10189    ):
10190        self.bind_interface = bind_interface if bind_interface is not None else ''
10191        '''
10192         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10193        '''
10194        self.database = database if database is not None else ''
10195        '''
10196         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10197        '''
10198        self.egress_filter = egress_filter if egress_filter is not None else ''
10199        '''
10200         A filter applied to the routing logic to pin datasource to nodes.
10201        '''
10202        self.healthy = healthy if healthy is not None else False
10203        '''
10204         True if the datasource is reachable and the credentials are valid.
10205        '''
10206        self.hostname = hostname if hostname is not None else ''
10207        '''
10208         The host to dial to initiate a connection from the egress node to this resource.
10209        '''
10210        self.id = id if id is not None else ''
10211        '''
10212         Unique identifier of the Resource.
10213        '''
10214        self.name = name if name is not None else ''
10215        '''
10216         Unique human-readable name of the Resource.
10217        '''
10218        self.override_database = override_database if override_database is not None else False
10219        '''
10220         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
10221        '''
10222        self.password = password if password is not None else ''
10223        '''
10224         The password to authenticate with.
10225        '''
10226        self.port = port if port is not None else 0
10227        '''
10228         The port to dial to initiate a connection from the egress node to this resource.
10229        '''
10230        self.port_override = port_override if port_override is not None else 0
10231        '''
10232         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10233        '''
10234        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10235        '''
10236         ID of the proxy cluster for this resource, if any.
10237        '''
10238        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10239        '''
10240         ID of the secret store containing credentials for this resource, if any.
10241        '''
10242        self.subdomain = subdomain if subdomain is not None else ''
10243        '''
10244         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10245        '''
10246        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10247        '''
10248         Tags is a map of key, value pairs.
10249        '''
10250        self.username = username if username is not None else ''
10251        '''
10252         The username to authenticate with.
10253        '''
10254
10255    def __repr__(self):
10256        return '<sdm.Cockroach ' + \
10257            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10258            'database: ' + repr(self.database) + ' ' +\
10259            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10260            'healthy: ' + repr(self.healthy) + ' ' +\
10261            'hostname: ' + repr(self.hostname) + ' ' +\
10262            'id: ' + repr(self.id) + ' ' +\
10263            'name: ' + repr(self.name) + ' ' +\
10264            'override_database: ' + repr(self.override_database) + ' ' +\
10265            'password: ' + repr(self.password) + ' ' +\
10266            'port: ' + repr(self.port) + ' ' +\
10267            'port_override: ' + repr(self.port_override) + ' ' +\
10268            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10269            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10270            'subdomain: ' + repr(self.subdomain) + ' ' +\
10271            'tags: ' + repr(self.tags) + ' ' +\
10272            'username: ' + repr(self.username) + ' ' +\
10273            '>'
10274
10275    def to_dict(self):
10276        return {
10277            'bind_interface': self.bind_interface,
10278            'database': self.database,
10279            'egress_filter': self.egress_filter,
10280            'healthy': self.healthy,
10281            'hostname': self.hostname,
10282            'id': self.id,
10283            'name': self.name,
10284            'override_database': self.override_database,
10285            'password': self.password,
10286            'port': self.port,
10287            'port_override': self.port_override,
10288            'proxy_cluster_id': self.proxy_cluster_id,
10289            'secret_store_id': self.secret_store_id,
10290            'subdomain': self.subdomain,
10291            'tags': self.tags,
10292            'username': self.username,
10293        }
10294
10295    @classmethod
10296    def from_dict(cls, d):
10297        return cls(
10298            bind_interface=d.get('bind_interface'),
10299            database=d.get('database'),
10300            egress_filter=d.get('egress_filter'),
10301            healthy=d.get('healthy'),
10302            hostname=d.get('hostname'),
10303            id=d.get('id'),
10304            name=d.get('name'),
10305            override_database=d.get('override_database'),
10306            password=d.get('password'),
10307            port=d.get('port'),
10308            port_override=d.get('port_override'),
10309            proxy_cluster_id=d.get('proxy_cluster_id'),
10310            secret_store_id=d.get('secret_store_id'),
10311            subdomain=d.get('subdomain'),
10312            tags=d.get('tags'),
10313            username=d.get('username'),
10314        )
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)
10171    def __init__(
10172        self,
10173        bind_interface=None,
10174        database=None,
10175        egress_filter=None,
10176        healthy=None,
10177        hostname=None,
10178        id=None,
10179        name=None,
10180        override_database=None,
10181        password=None,
10182        port=None,
10183        port_override=None,
10184        proxy_cluster_id=None,
10185        secret_store_id=None,
10186        subdomain=None,
10187        tags=None,
10188        username=None,
10189    ):
10190        self.bind_interface = bind_interface if bind_interface is not None else ''
10191        '''
10192         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10193        '''
10194        self.database = database if database is not None else ''
10195        '''
10196         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
10197        '''
10198        self.egress_filter = egress_filter if egress_filter is not None else ''
10199        '''
10200         A filter applied to the routing logic to pin datasource to nodes.
10201        '''
10202        self.healthy = healthy if healthy is not None else False
10203        '''
10204         True if the datasource is reachable and the credentials are valid.
10205        '''
10206        self.hostname = hostname if hostname is not None else ''
10207        '''
10208         The host to dial to initiate a connection from the egress node to this resource.
10209        '''
10210        self.id = id if id is not None else ''
10211        '''
10212         Unique identifier of the Resource.
10213        '''
10214        self.name = name if name is not None else ''
10215        '''
10216         Unique human-readable name of the Resource.
10217        '''
10218        self.override_database = override_database if override_database is not None else False
10219        '''
10220         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
10221        '''
10222        self.password = password if password is not None else ''
10223        '''
10224         The password to authenticate with.
10225        '''
10226        self.port = port if port is not None else 0
10227        '''
10228         The port to dial to initiate a connection from the egress node to this resource.
10229        '''
10230        self.port_override = port_override if port_override is not None else 0
10231        '''
10232         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10233        '''
10234        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10235        '''
10236         ID of the proxy cluster for this resource, if any.
10237        '''
10238        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10239        '''
10240         ID of the secret store containing credentials for this resource, if any.
10241        '''
10242        self.subdomain = subdomain if subdomain is not None else ''
10243        '''
10244         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10245        '''
10246        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10247        '''
10248         Tags is a map of key, value pairs.
10249        '''
10250        self.username = username if username is not None else ''
10251        '''
10252         The username to authenticate with.
10253        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
10275    def to_dict(self):
10276        return {
10277            'bind_interface': self.bind_interface,
10278            'database': self.database,
10279            'egress_filter': self.egress_filter,
10280            'healthy': self.healthy,
10281            'hostname': self.hostname,
10282            'id': self.id,
10283            'name': self.name,
10284            'override_database': self.override_database,
10285            'password': self.password,
10286            'port': self.port,
10287            'port_override': self.port_override,
10288            'proxy_cluster_id': self.proxy_cluster_id,
10289            'secret_store_id': self.secret_store_id,
10290            'subdomain': self.subdomain,
10291            'tags': self.tags,
10292            'username': self.username,
10293        }
@classmethod
def from_dict(cls, d)
10295    @classmethod
10296    def from_dict(cls, d):
10297        return cls(
10298            bind_interface=d.get('bind_interface'),
10299            database=d.get('database'),
10300            egress_filter=d.get('egress_filter'),
10301            healthy=d.get('healthy'),
10302            hostname=d.get('hostname'),
10303            id=d.get('id'),
10304            name=d.get('name'),
10305            override_database=d.get('override_database'),
10306            password=d.get('password'),
10307            port=d.get('port'),
10308            port_override=d.get('port_override'),
10309            proxy_cluster_id=d.get('proxy_cluster_id'),
10310            secret_store_id=d.get('secret_store_id'),
10311            subdomain=d.get('subdomain'),
10312            tags=d.get('tags'),
10313            username=d.get('username'),
10314        )
class ControlPanelGetRDPCAPublicKeyResponse:
10317class ControlPanelGetRDPCAPublicKeyResponse:
10318    '''
10319         ControlPanelGetRDPCAPublicKeyResponse represents a request for an
10320     organization's RDP Certificate Authority public key.
10321    '''
10322    __slots__ = [
10323        'meta',
10324        'public_key',
10325        'rate_limit',
10326    ]
10327
10328    def __init__(
10329        self,
10330        meta=None,
10331        public_key=None,
10332        rate_limit=None,
10333    ):
10334        self.meta = meta if meta is not None else None
10335        '''
10336         Reserved for future use.
10337        '''
10338        self.public_key = public_key if public_key is not None else ''
10339        '''
10340         The public key of the SSH Certificate Authority, in OpenSSH RSA public
10341         key format.
10342        '''
10343        self.rate_limit = rate_limit if rate_limit is not None else None
10344        '''
10345         Rate limit information.
10346        '''
10347
10348    def __repr__(self):
10349        return '<sdm.ControlPanelGetRDPCAPublicKeyResponse ' + \
10350            'meta: ' + repr(self.meta) + ' ' +\
10351            'public_key: ' + repr(self.public_key) + ' ' +\
10352            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10353            '>'
10354
10355    def to_dict(self):
10356        return {
10357            'meta': self.meta,
10358            'public_key': self.public_key,
10359            'rate_limit': self.rate_limit,
10360        }
10361
10362    @classmethod
10363    def from_dict(cls, d):
10364        return cls(
10365            meta=d.get('meta'),
10366            public_key=d.get('public_key'),
10367            rate_limit=d.get('rate_limit'),
10368        )

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

ControlPanelGetRDPCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
10328    def __init__(
10329        self,
10330        meta=None,
10331        public_key=None,
10332        rate_limit=None,
10333    ):
10334        self.meta = meta if meta is not None else None
10335        '''
10336         Reserved for future use.
10337        '''
10338        self.public_key = public_key if public_key is not None else ''
10339        '''
10340         The public key of the SSH Certificate Authority, in OpenSSH RSA public
10341         key format.
10342        '''
10343        self.rate_limit = rate_limit if rate_limit is not None else None
10344        '''
10345         Rate limit information.
10346        '''
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)
10355    def to_dict(self):
10356        return {
10357            'meta': self.meta,
10358            'public_key': self.public_key,
10359            'rate_limit': self.rate_limit,
10360        }
@classmethod
def from_dict(cls, d)
10362    @classmethod
10363    def from_dict(cls, d):
10364        return cls(
10365            meta=d.get('meta'),
10366            public_key=d.get('public_key'),
10367            rate_limit=d.get('rate_limit'),
10368        )
class ControlPanelGetSSHCAPublicKeyResponse:
10371class ControlPanelGetSSHCAPublicKeyResponse:
10372    '''
10373         ControlPanelGetSSHCAPublicKeyResponse represents a request for an
10374     organization's SSH Certificate Authority public key.
10375    '''
10376    __slots__ = [
10377        'meta',
10378        'public_key',
10379        'rate_limit',
10380    ]
10381
10382    def __init__(
10383        self,
10384        meta=None,
10385        public_key=None,
10386        rate_limit=None,
10387    ):
10388        self.meta = meta if meta is not None else None
10389        '''
10390         Reserved for future use.
10391        '''
10392        self.public_key = public_key if public_key is not None else ''
10393        '''
10394         The public key of the SSH Certificate Authority, in OpenSSH RSA public
10395         key format.
10396        '''
10397        self.rate_limit = rate_limit if rate_limit is not None else None
10398        '''
10399         Rate limit information.
10400        '''
10401
10402    def __repr__(self):
10403        return '<sdm.ControlPanelGetSSHCAPublicKeyResponse ' + \
10404            'meta: ' + repr(self.meta) + ' ' +\
10405            'public_key: ' + repr(self.public_key) + ' ' +\
10406            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10407            '>'
10408
10409    def to_dict(self):
10410        return {
10411            'meta': self.meta,
10412            'public_key': self.public_key,
10413            'rate_limit': self.rate_limit,
10414        }
10415
10416    @classmethod
10417    def from_dict(cls, d):
10418        return cls(
10419            meta=d.get('meta'),
10420            public_key=d.get('public_key'),
10421            rate_limit=d.get('rate_limit'),
10422        )

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

ControlPanelGetSSHCAPublicKeyResponse(meta=None, public_key=None, rate_limit=None)
10382    def __init__(
10383        self,
10384        meta=None,
10385        public_key=None,
10386        rate_limit=None,
10387    ):
10388        self.meta = meta if meta is not None else None
10389        '''
10390         Reserved for future use.
10391        '''
10392        self.public_key = public_key if public_key is not None else ''
10393        '''
10394         The public key of the SSH Certificate Authority, in OpenSSH RSA public
10395         key format.
10396        '''
10397        self.rate_limit = rate_limit if rate_limit is not None else None
10398        '''
10399         Rate limit information.
10400        '''
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)
10409    def to_dict(self):
10410        return {
10411            'meta': self.meta,
10412            'public_key': self.public_key,
10413            'rate_limit': self.rate_limit,
10414        }
@classmethod
def from_dict(cls, d)
10416    @classmethod
10417    def from_dict(cls, d):
10418        return cls(
10419            meta=d.get('meta'),
10420            public_key=d.get('public_key'),
10421            rate_limit=d.get('rate_limit'),
10422        )
class ControlPanelVerifyJWTResponse:
10425class ControlPanelVerifyJWTResponse:
10426    '''
10427         ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.
10428    '''
10429    __slots__ = [
10430        'meta',
10431        'rate_limit',
10432        'valid',
10433    ]
10434
10435    def __init__(
10436        self,
10437        meta=None,
10438        rate_limit=None,
10439        valid=None,
10440    ):
10441        self.meta = meta if meta is not None else None
10442        '''
10443         Reserved for future use.
10444        '''
10445        self.rate_limit = rate_limit if rate_limit is not None else None
10446        '''
10447         Rate limit information.
10448        '''
10449        self.valid = valid if valid is not None else False
10450        '''
10451         Reports if the given token is valid.
10452        '''
10453
10454    def __repr__(self):
10455        return '<sdm.ControlPanelVerifyJWTResponse ' + \
10456            'meta: ' + repr(self.meta) + ' ' +\
10457            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
10458            'valid: ' + repr(self.valid) + ' ' +\
10459            '>'
10460
10461    def to_dict(self):
10462        return {
10463            'meta': self.meta,
10464            'rate_limit': self.rate_limit,
10465            'valid': self.valid,
10466        }
10467
10468    @classmethod
10469    def from_dict(cls, d):
10470        return cls(
10471            meta=d.get('meta'),
10472            rate_limit=d.get('rate_limit'),
10473            valid=d.get('valid'),
10474        )

ControlPanelVerifyJWTResponse reports whether x-sdm-token is valid.

ControlPanelVerifyJWTResponse(meta=None, rate_limit=None, valid=None)
10435    def __init__(
10436        self,
10437        meta=None,
10438        rate_limit=None,
10439        valid=None,
10440    ):
10441        self.meta = meta if meta is not None else None
10442        '''
10443         Reserved for future use.
10444        '''
10445        self.rate_limit = rate_limit if rate_limit is not None else None
10446        '''
10447         Rate limit information.
10448        '''
10449        self.valid = valid if valid is not None else False
10450        '''
10451         Reports if the given token is valid.
10452        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

valid

Reports if the given token is valid.

def to_dict(self)
10461    def to_dict(self):
10462        return {
10463            'meta': self.meta,
10464            'rate_limit': self.rate_limit,
10465            'valid': self.valid,
10466        }
@classmethod
def from_dict(cls, d)
10468    @classmethod
10469    def from_dict(cls, d):
10470        return cls(
10471            meta=d.get('meta'),
10472            rate_limit=d.get('rate_limit'),
10473            valid=d.get('valid'),
10474        )
class CouchbaseDatabase:
10477class CouchbaseDatabase:
10478    __slots__ = [
10479        'bind_interface',
10480        'egress_filter',
10481        'healthy',
10482        'hostname',
10483        'id',
10484        'n1ql_port',
10485        'name',
10486        'password',
10487        'port',
10488        'port_override',
10489        'proxy_cluster_id',
10490        'secret_store_id',
10491        'subdomain',
10492        'tags',
10493        'tls_required',
10494        'username',
10495    ]
10496
10497    def __init__(
10498        self,
10499        bind_interface=None,
10500        egress_filter=None,
10501        healthy=None,
10502        hostname=None,
10503        id=None,
10504        n1ql_port=None,
10505        name=None,
10506        password=None,
10507        port=None,
10508        port_override=None,
10509        proxy_cluster_id=None,
10510        secret_store_id=None,
10511        subdomain=None,
10512        tags=None,
10513        tls_required=None,
10514        username=None,
10515    ):
10516        self.bind_interface = bind_interface if bind_interface is not None else ''
10517        '''
10518         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10519        '''
10520        self.egress_filter = egress_filter if egress_filter is not None else ''
10521        '''
10522         A filter applied to the routing logic to pin datasource to nodes.
10523        '''
10524        self.healthy = healthy if healthy is not None else False
10525        '''
10526         True if the datasource is reachable and the credentials are valid.
10527        '''
10528        self.hostname = hostname if hostname is not None else ''
10529        '''
10530         The host to dial to initiate a connection from the egress node to this resource.
10531        '''
10532        self.id = id if id is not None else ''
10533        '''
10534         Unique identifier of the Resource.
10535        '''
10536        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
10537        '''
10538         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
10539        '''
10540        self.name = name if name is not None else ''
10541        '''
10542         Unique human-readable name of the Resource.
10543        '''
10544        self.password = password if password is not None else ''
10545        '''
10546         The password to authenticate with.
10547        '''
10548        self.port = port if port is not None else 0
10549        '''
10550         The port to dial to initiate a connection from the egress node to this resource.
10551        '''
10552        self.port_override = port_override if port_override is not None else 0
10553        '''
10554         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10555        '''
10556        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10557        '''
10558         ID of the proxy cluster for this resource, if any.
10559        '''
10560        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10561        '''
10562         ID of the secret store containing credentials for this resource, if any.
10563        '''
10564        self.subdomain = subdomain if subdomain is not None else ''
10565        '''
10566         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10567        '''
10568        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10569        '''
10570         Tags is a map of key, value pairs.
10571        '''
10572        self.tls_required = tls_required if tls_required is not None else False
10573        '''
10574         If set, TLS must be used to connect to this resource.
10575        '''
10576        self.username = username if username is not None else ''
10577        '''
10578         The username to authenticate with.
10579        '''
10580
10581    def __repr__(self):
10582        return '<sdm.CouchbaseDatabase ' + \
10583            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10584            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10585            'healthy: ' + repr(self.healthy) + ' ' +\
10586            'hostname: ' + repr(self.hostname) + ' ' +\
10587            'id: ' + repr(self.id) + ' ' +\
10588            'n1ql_port: ' + repr(self.n1ql_port) + ' ' +\
10589            'name: ' + repr(self.name) + ' ' +\
10590            'password: ' + repr(self.password) + ' ' +\
10591            'port: ' + repr(self.port) + ' ' +\
10592            'port_override: ' + repr(self.port_override) + ' ' +\
10593            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10594            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10595            'subdomain: ' + repr(self.subdomain) + ' ' +\
10596            'tags: ' + repr(self.tags) + ' ' +\
10597            'tls_required: ' + repr(self.tls_required) + ' ' +\
10598            'username: ' + repr(self.username) + ' ' +\
10599            '>'
10600
10601    def to_dict(self):
10602        return {
10603            'bind_interface': self.bind_interface,
10604            'egress_filter': self.egress_filter,
10605            'healthy': self.healthy,
10606            'hostname': self.hostname,
10607            'id': self.id,
10608            'n1ql_port': self.n1ql_port,
10609            'name': self.name,
10610            'password': self.password,
10611            'port': self.port,
10612            'port_override': self.port_override,
10613            'proxy_cluster_id': self.proxy_cluster_id,
10614            'secret_store_id': self.secret_store_id,
10615            'subdomain': self.subdomain,
10616            'tags': self.tags,
10617            'tls_required': self.tls_required,
10618            'username': self.username,
10619        }
10620
10621    @classmethod
10622    def from_dict(cls, d):
10623        return cls(
10624            bind_interface=d.get('bind_interface'),
10625            egress_filter=d.get('egress_filter'),
10626            healthy=d.get('healthy'),
10627            hostname=d.get('hostname'),
10628            id=d.get('id'),
10629            n1ql_port=d.get('n1ql_port'),
10630            name=d.get('name'),
10631            password=d.get('password'),
10632            port=d.get('port'),
10633            port_override=d.get('port_override'),
10634            proxy_cluster_id=d.get('proxy_cluster_id'),
10635            secret_store_id=d.get('secret_store_id'),
10636            subdomain=d.get('subdomain'),
10637            tags=d.get('tags'),
10638            tls_required=d.get('tls_required'),
10639            username=d.get('username'),
10640        )
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)
10497    def __init__(
10498        self,
10499        bind_interface=None,
10500        egress_filter=None,
10501        healthy=None,
10502        hostname=None,
10503        id=None,
10504        n1ql_port=None,
10505        name=None,
10506        password=None,
10507        port=None,
10508        port_override=None,
10509        proxy_cluster_id=None,
10510        secret_store_id=None,
10511        subdomain=None,
10512        tags=None,
10513        tls_required=None,
10514        username=None,
10515    ):
10516        self.bind_interface = bind_interface if bind_interface is not None else ''
10517        '''
10518         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10519        '''
10520        self.egress_filter = egress_filter if egress_filter is not None else ''
10521        '''
10522         A filter applied to the routing logic to pin datasource to nodes.
10523        '''
10524        self.healthy = healthy if healthy is not None else False
10525        '''
10526         True if the datasource is reachable and the credentials are valid.
10527        '''
10528        self.hostname = hostname if hostname is not None else ''
10529        '''
10530         The host to dial to initiate a connection from the egress node to this resource.
10531        '''
10532        self.id = id if id is not None else ''
10533        '''
10534         Unique identifier of the Resource.
10535        '''
10536        self.n1ql_port = n1ql_port if n1ql_port is not None else 0
10537        '''
10538         The port number for N1QL queries. Default HTTP is 8093. Default HTTPS is 18093.
10539        '''
10540        self.name = name if name is not None else ''
10541        '''
10542         Unique human-readable name of the Resource.
10543        '''
10544        self.password = password if password is not None else ''
10545        '''
10546         The password to authenticate with.
10547        '''
10548        self.port = port if port is not None else 0
10549        '''
10550         The port to dial to initiate a connection from the egress node to this resource.
10551        '''
10552        self.port_override = port_override if port_override is not None else 0
10553        '''
10554         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10555        '''
10556        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10557        '''
10558         ID of the proxy cluster for this resource, if any.
10559        '''
10560        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10561        '''
10562         ID of the secret store containing credentials for this resource, if any.
10563        '''
10564        self.subdomain = subdomain if subdomain is not None else ''
10565        '''
10566         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
10567        '''
10568        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10569        '''
10570         Tags is a map of key, value pairs.
10571        '''
10572        self.tls_required = tls_required if tls_required is not None else False
10573        '''
10574         If set, TLS must be used to connect to this resource.
10575        '''
10576        self.username = username if username is not None else ''
10577        '''
10578         The username to authenticate with.
10579        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

True if the datasource is reachable and the credentials 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
10601    def to_dict(self):
10602        return {
10603            'bind_interface': self.bind_interface,
10604            'egress_filter': self.egress_filter,
10605            'healthy': self.healthy,
10606            'hostname': self.hostname,
10607            'id': self.id,
10608            'n1ql_port': self.n1ql_port,
10609            'name': self.name,
10610            'password': self.password,
10611            'port': self.port,
10612            'port_override': self.port_override,
10613            'proxy_cluster_id': self.proxy_cluster_id,
10614            'secret_store_id': self.secret_store_id,
10615            'subdomain': self.subdomain,
10616            'tags': self.tags,
10617            'tls_required': self.tls_required,
10618            'username': self.username,
10619        }
@classmethod
def from_dict(cls, d)
10621    @classmethod
10622    def from_dict(cls, d):
10623        return cls(
10624            bind_interface=d.get('bind_interface'),
10625            egress_filter=d.get('egress_filter'),
10626            healthy=d.get('healthy'),
10627            hostname=d.get('hostname'),
10628            id=d.get('id'),
10629            n1ql_port=d.get('n1ql_port'),
10630            name=d.get('name'),
10631            password=d.get('password'),
10632            port=d.get('port'),
10633            port_override=d.get('port_override'),
10634            proxy_cluster_id=d.get('proxy_cluster_id'),
10635            secret_store_id=d.get('secret_store_id'),
10636            subdomain=d.get('subdomain'),
10637            tags=d.get('tags'),
10638            tls_required=d.get('tls_required'),
10639            username=d.get('username'),
10640        )
class CouchbaseWebUI:
10643class CouchbaseWebUI:
10644    __slots__ = [
10645        'bind_interface',
10646        'egress_filter',
10647        'healthy',
10648        'id',
10649        'name',
10650        'password',
10651        'port_override',
10652        'proxy_cluster_id',
10653        'secret_store_id',
10654        'subdomain',
10655        'tags',
10656        'url',
10657        'username',
10658    ]
10659
10660    def __init__(
10661        self,
10662        bind_interface=None,
10663        egress_filter=None,
10664        healthy=None,
10665        id=None,
10666        name=None,
10667        password=None,
10668        port_override=None,
10669        proxy_cluster_id=None,
10670        secret_store_id=None,
10671        subdomain=None,
10672        tags=None,
10673        url=None,
10674        username=None,
10675    ):
10676        self.bind_interface = bind_interface if bind_interface is not None else ''
10677        '''
10678         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10679        '''
10680        self.egress_filter = egress_filter if egress_filter is not None else ''
10681        '''
10682         A filter applied to the routing logic to pin datasource to nodes.
10683        '''
10684        self.healthy = healthy if healthy is not None else False
10685        '''
10686         True if the datasource is reachable and the credentials are valid.
10687        '''
10688        self.id = id if id is not None else ''
10689        '''
10690         Unique identifier of the Resource.
10691        '''
10692        self.name = name if name is not None else ''
10693        '''
10694         Unique human-readable name of the Resource.
10695        '''
10696        self.password = password if password is not None else ''
10697        '''
10698         The password to authenticate with.
10699        '''
10700        self.port_override = port_override if port_override is not None else 0
10701        '''
10702         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10703        '''
10704        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10705        '''
10706         ID of the proxy cluster for this resource, if any.
10707        '''
10708        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10709        '''
10710         ID of the secret store containing credentials for this resource, if any.
10711        '''
10712        self.subdomain = subdomain if subdomain is not None else ''
10713        '''
10714         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10715        '''
10716        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10717        '''
10718         Tags is a map of key, value pairs.
10719        '''
10720        self.url = url if url is not None else ''
10721        '''
10722         The base address of your website without the path.
10723        '''
10724        self.username = username if username is not None else ''
10725        '''
10726         The username to authenticate with.
10727        '''
10728
10729    def __repr__(self):
10730        return '<sdm.CouchbaseWebUI ' + \
10731            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
10732            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
10733            'healthy: ' + repr(self.healthy) + ' ' +\
10734            'id: ' + repr(self.id) + ' ' +\
10735            'name: ' + repr(self.name) + ' ' +\
10736            'password: ' + repr(self.password) + ' ' +\
10737            'port_override: ' + repr(self.port_override) + ' ' +\
10738            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
10739            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
10740            'subdomain: ' + repr(self.subdomain) + ' ' +\
10741            'tags: ' + repr(self.tags) + ' ' +\
10742            'url: ' + repr(self.url) + ' ' +\
10743            'username: ' + repr(self.username) + ' ' +\
10744            '>'
10745
10746    def to_dict(self):
10747        return {
10748            'bind_interface': self.bind_interface,
10749            'egress_filter': self.egress_filter,
10750            'healthy': self.healthy,
10751            'id': self.id,
10752            'name': self.name,
10753            'password': self.password,
10754            'port_override': self.port_override,
10755            'proxy_cluster_id': self.proxy_cluster_id,
10756            'secret_store_id': self.secret_store_id,
10757            'subdomain': self.subdomain,
10758            'tags': self.tags,
10759            'url': self.url,
10760            'username': self.username,
10761        }
10762
10763    @classmethod
10764    def from_dict(cls, d):
10765        return cls(
10766            bind_interface=d.get('bind_interface'),
10767            egress_filter=d.get('egress_filter'),
10768            healthy=d.get('healthy'),
10769            id=d.get('id'),
10770            name=d.get('name'),
10771            password=d.get('password'),
10772            port_override=d.get('port_override'),
10773            proxy_cluster_id=d.get('proxy_cluster_id'),
10774            secret_store_id=d.get('secret_store_id'),
10775            subdomain=d.get('subdomain'),
10776            tags=d.get('tags'),
10777            url=d.get('url'),
10778            username=d.get('username'),
10779        )
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)
10660    def __init__(
10661        self,
10662        bind_interface=None,
10663        egress_filter=None,
10664        healthy=None,
10665        id=None,
10666        name=None,
10667        password=None,
10668        port_override=None,
10669        proxy_cluster_id=None,
10670        secret_store_id=None,
10671        subdomain=None,
10672        tags=None,
10673        url=None,
10674        username=None,
10675    ):
10676        self.bind_interface = bind_interface if bind_interface is not None else ''
10677        '''
10678         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
10679        '''
10680        self.egress_filter = egress_filter if egress_filter is not None else ''
10681        '''
10682         A filter applied to the routing logic to pin datasource to nodes.
10683        '''
10684        self.healthy = healthy if healthy is not None else False
10685        '''
10686         True if the datasource is reachable and the credentials are valid.
10687        '''
10688        self.id = id if id is not None else ''
10689        '''
10690         Unique identifier of the Resource.
10691        '''
10692        self.name = name if name is not None else ''
10693        '''
10694         Unique human-readable name of the Resource.
10695        '''
10696        self.password = password if password is not None else ''
10697        '''
10698         The password to authenticate with.
10699        '''
10700        self.port_override = port_override if port_override is not None else 0
10701        '''
10702         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
10703        '''
10704        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
10705        '''
10706         ID of the proxy cluster for this resource, if any.
10707        '''
10708        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
10709        '''
10710         ID of the secret store containing credentials for this resource, if any.
10711        '''
10712        self.subdomain = subdomain if subdomain is not None else ''
10713        '''
10714         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
10715        '''
10716        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10717        '''
10718         Tags is a map of key, value pairs.
10719        '''
10720        self.url = url if url is not None else ''
10721        '''
10722         The base address of your website without the path.
10723        '''
10724        self.username = username if username is not None else ''
10725        '''
10726         The username to authenticate with.
10727        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

Subdomain is the local 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)
10746    def to_dict(self):
10747        return {
10748            'bind_interface': self.bind_interface,
10749            'egress_filter': self.egress_filter,
10750            'healthy': self.healthy,
10751            'id': self.id,
10752            'name': self.name,
10753            'password': self.password,
10754            'port_override': self.port_override,
10755            'proxy_cluster_id': self.proxy_cluster_id,
10756            'secret_store_id': self.secret_store_id,
10757            'subdomain': self.subdomain,
10758            'tags': self.tags,
10759            'url': self.url,
10760            'username': self.username,
10761        }
@classmethod
def from_dict(cls, d)
10763    @classmethod
10764    def from_dict(cls, d):
10765        return cls(
10766            bind_interface=d.get('bind_interface'),
10767            egress_filter=d.get('egress_filter'),
10768            healthy=d.get('healthy'),
10769            id=d.get('id'),
10770            name=d.get('name'),
10771            password=d.get('password'),
10772            port_override=d.get('port_override'),
10773            proxy_cluster_id=d.get('proxy_cluster_id'),
10774            secret_store_id=d.get('secret_store_id'),
10775            subdomain=d.get('subdomain'),
10776            tags=d.get('tags'),
10777            url=d.get('url'),
10778            username=d.get('username'),
10779        )
class CreateResponseMetadata:
10782class CreateResponseMetadata:
10783    '''
10784         CreateResponseMetadata is reserved for future use.
10785    '''
10786    __slots__ = []
10787
10788    def __init__(self, ):
10789        pass
10790
10791    def __repr__(self):
10792        return '<sdm.CreateResponseMetadata ' + \
10793            '>'
10794
10795    def to_dict(self):
10796        return {}
10797
10798    @classmethod
10799    def from_dict(cls, d):
10800        return cls()

CreateResponseMetadata is reserved for future use.

CreateResponseMetadata()
10788    def __init__(self, ):
10789        pass
def to_dict(self)
10795    def to_dict(self):
10796        return {}
@classmethod
def from_dict(cls, d)
10798    @classmethod
10799    def from_dict(cls, d):
10800        return cls()
class CyberarkConjurStore:
10803class CyberarkConjurStore:
10804    __slots__ = [
10805        'appurl',
10806        'id',
10807        'name',
10808        'tags',
10809    ]
10810
10811    def __init__(
10812        self,
10813        appurl=None,
10814        id=None,
10815        name=None,
10816        tags=None,
10817    ):
10818        self.appurl = appurl if appurl is not None else ''
10819        '''
10820         The URL of the Cyberark instance
10821        '''
10822        self.id = id if id is not None else ''
10823        '''
10824         Unique identifier of the SecretStore.
10825        '''
10826        self.name = name if name is not None else ''
10827        '''
10828         Unique human-readable name of the SecretStore.
10829        '''
10830        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10831        '''
10832         Tags is a map of key, value pairs.
10833        '''
10834
10835    def __repr__(self):
10836        return '<sdm.CyberarkConjurStore ' + \
10837            'appurl: ' + repr(self.appurl) + ' ' +\
10838            'id: ' + repr(self.id) + ' ' +\
10839            'name: ' + repr(self.name) + ' ' +\
10840            'tags: ' + repr(self.tags) + ' ' +\
10841            '>'
10842
10843    def to_dict(self):
10844        return {
10845            'appurl': self.appurl,
10846            'id': self.id,
10847            'name': self.name,
10848            'tags': self.tags,
10849        }
10850
10851    @classmethod
10852    def from_dict(cls, d):
10853        return cls(
10854            appurl=d.get('appurl'),
10855            id=d.get('id'),
10856            name=d.get('name'),
10857            tags=d.get('tags'),
10858        )
CyberarkConjurStore(appurl=None, id=None, name=None, tags=None)
10811    def __init__(
10812        self,
10813        appurl=None,
10814        id=None,
10815        name=None,
10816        tags=None,
10817    ):
10818        self.appurl = appurl if appurl is not None else ''
10819        '''
10820         The URL of the Cyberark instance
10821        '''
10822        self.id = id if id is not None else ''
10823        '''
10824         Unique identifier of the SecretStore.
10825        '''
10826        self.name = name if name is not None else ''
10827        '''
10828         Unique human-readable name of the SecretStore.
10829        '''
10830        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10831        '''
10832         Tags is a map of key, value pairs.
10833        '''
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)
10843    def to_dict(self):
10844        return {
10845            'appurl': self.appurl,
10846            'id': self.id,
10847            'name': self.name,
10848            'tags': self.tags,
10849        }
@classmethod
def from_dict(cls, d)
10851    @classmethod
10852    def from_dict(cls, d):
10853        return cls(
10854            appurl=d.get('appurl'),
10855            id=d.get('id'),
10856            name=d.get('name'),
10857            tags=d.get('tags'),
10858        )
class CyberarkPAMExperimentalStore:
10861class CyberarkPAMExperimentalStore:
10862    '''
10863    CyberarkPAMExperimentalStore is currently unstable, and its API may change, or it may be removed,
10864    without a major version bump.
10865    '''
10866    __slots__ = [
10867        'appurl',
10868        'id',
10869        'name',
10870        'tags',
10871    ]
10872
10873    def __init__(
10874        self,
10875        appurl=None,
10876        id=None,
10877        name=None,
10878        tags=None,
10879    ):
10880        self.appurl = appurl if appurl is not None else ''
10881        '''
10882         The URL of the Cyberark instance
10883        '''
10884        self.id = id if id is not None else ''
10885        '''
10886         Unique identifier of the SecretStore.
10887        '''
10888        self.name = name if name is not None else ''
10889        '''
10890         Unique human-readable name of the SecretStore.
10891        '''
10892        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10893        '''
10894         Tags is a map of key, value pairs.
10895        '''
10896
10897    def __repr__(self):
10898        return '<sdm.CyberarkPAMExperimentalStore ' + \
10899            'appurl: ' + repr(self.appurl) + ' ' +\
10900            'id: ' + repr(self.id) + ' ' +\
10901            'name: ' + repr(self.name) + ' ' +\
10902            'tags: ' + repr(self.tags) + ' ' +\
10903            '>'
10904
10905    def to_dict(self):
10906        return {
10907            'appurl': self.appurl,
10908            'id': self.id,
10909            'name': self.name,
10910            'tags': self.tags,
10911        }
10912
10913    @classmethod
10914    def from_dict(cls, d):
10915        return cls(
10916            appurl=d.get('appurl'),
10917            id=d.get('id'),
10918            name=d.get('name'),
10919            tags=d.get('tags'),
10920        )

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)
10873    def __init__(
10874        self,
10875        appurl=None,
10876        id=None,
10877        name=None,
10878        tags=None,
10879    ):
10880        self.appurl = appurl if appurl is not None else ''
10881        '''
10882         The URL of the Cyberark instance
10883        '''
10884        self.id = id if id is not None else ''
10885        '''
10886         Unique identifier of the SecretStore.
10887        '''
10888        self.name = name if name is not None else ''
10889        '''
10890         Unique human-readable name of the SecretStore.
10891        '''
10892        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10893        '''
10894         Tags is a map of key, value pairs.
10895        '''
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)
10905    def to_dict(self):
10906        return {
10907            'appurl': self.appurl,
10908            'id': self.id,
10909            'name': self.name,
10910            'tags': self.tags,
10911        }
@classmethod
def from_dict(cls, d)
10913    @classmethod
10914    def from_dict(cls, d):
10915        return cls(
10916            appurl=d.get('appurl'),
10917            id=d.get('id'),
10918            name=d.get('name'),
10919            tags=d.get('tags'),
10920        )
class CyberarkPAMStore:
10923class CyberarkPAMStore:
10924    __slots__ = [
10925        'appurl',
10926        'id',
10927        'name',
10928        'tags',
10929    ]
10930
10931    def __init__(
10932        self,
10933        appurl=None,
10934        id=None,
10935        name=None,
10936        tags=None,
10937    ):
10938        self.appurl = appurl if appurl is not None else ''
10939        '''
10940         The URL of the Cyberark instance
10941        '''
10942        self.id = id if id is not None else ''
10943        '''
10944         Unique identifier of the SecretStore.
10945        '''
10946        self.name = name if name is not None else ''
10947        '''
10948         Unique human-readable name of the SecretStore.
10949        '''
10950        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10951        '''
10952         Tags is a map of key, value pairs.
10953        '''
10954
10955    def __repr__(self):
10956        return '<sdm.CyberarkPAMStore ' + \
10957            'appurl: ' + repr(self.appurl) + ' ' +\
10958            'id: ' + repr(self.id) + ' ' +\
10959            'name: ' + repr(self.name) + ' ' +\
10960            'tags: ' + repr(self.tags) + ' ' +\
10961            '>'
10962
10963    def to_dict(self):
10964        return {
10965            'appurl': self.appurl,
10966            'id': self.id,
10967            'name': self.name,
10968            'tags': self.tags,
10969        }
10970
10971    @classmethod
10972    def from_dict(cls, d):
10973        return cls(
10974            appurl=d.get('appurl'),
10975            id=d.get('id'),
10976            name=d.get('name'),
10977            tags=d.get('tags'),
10978        )
CyberarkPAMStore(appurl=None, id=None, name=None, tags=None)
10931    def __init__(
10932        self,
10933        appurl=None,
10934        id=None,
10935        name=None,
10936        tags=None,
10937    ):
10938        self.appurl = appurl if appurl is not None else ''
10939        '''
10940         The URL of the Cyberark instance
10941        '''
10942        self.id = id if id is not None else ''
10943        '''
10944         Unique identifier of the SecretStore.
10945        '''
10946        self.name = name if name is not None else ''
10947        '''
10948         Unique human-readable name of the SecretStore.
10949        '''
10950        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
10951        '''
10952         Tags is a map of key, value pairs.
10953        '''
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)
10963    def to_dict(self):
10964        return {
10965            'appurl': self.appurl,
10966            'id': self.id,
10967            'name': self.name,
10968            'tags': self.tags,
10969        }
@classmethod
def from_dict(cls, d)
10971    @classmethod
10972    def from_dict(cls, d):
10973        return cls(
10974            appurl=d.get('appurl'),
10975            id=d.get('id'),
10976            name=d.get('name'),
10977            tags=d.get('tags'),
10978        )
class DB2I:
10981class DB2I:
10982    __slots__ = [
10983        'bind_interface',
10984        'egress_filter',
10985        'healthy',
10986        'hostname',
10987        'id',
10988        'name',
10989        'password',
10990        'port',
10991        'port_override',
10992        'proxy_cluster_id',
10993        'secret_store_id',
10994        'subdomain',
10995        'tags',
10996        'tls_required',
10997        'username',
10998    ]
10999
11000    def __init__(
11001        self,
11002        bind_interface=None,
11003        egress_filter=None,
11004        healthy=None,
11005        hostname=None,
11006        id=None,
11007        name=None,
11008        password=None,
11009        port=None,
11010        port_override=None,
11011        proxy_cluster_id=None,
11012        secret_store_id=None,
11013        subdomain=None,
11014        tags=None,
11015        tls_required=None,
11016        username=None,
11017    ):
11018        self.bind_interface = bind_interface if bind_interface is not None else ''
11019        '''
11020         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11021        '''
11022        self.egress_filter = egress_filter if egress_filter is not None else ''
11023        '''
11024         A filter applied to the routing logic to pin datasource to nodes.
11025        '''
11026        self.healthy = healthy if healthy is not None else False
11027        '''
11028         True if the datasource is reachable and the credentials are valid.
11029        '''
11030        self.hostname = hostname if hostname is not None else ''
11031        '''
11032         The host to dial to initiate a connection from the egress node to this resource.
11033        '''
11034        self.id = id if id is not None else ''
11035        '''
11036         Unique identifier of the Resource.
11037        '''
11038        self.name = name if name is not None else ''
11039        '''
11040         Unique human-readable name of the Resource.
11041        '''
11042        self.password = password if password is not None else ''
11043        '''
11044         The password to authenticate with.
11045        '''
11046        self.port = port if port is not None else 0
11047        '''
11048         The port to dial to initiate a connection from the egress node to this resource.
11049        '''
11050        self.port_override = port_override if port_override is not None else 0
11051        '''
11052         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11053        '''
11054        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11055        '''
11056         ID of the proxy cluster for this resource, if any.
11057        '''
11058        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11059        '''
11060         ID of the secret store containing credentials for this resource, if any.
11061        '''
11062        self.subdomain = subdomain if subdomain is not None else ''
11063        '''
11064         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11065        '''
11066        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11067        '''
11068         Tags is a map of key, value pairs.
11069        '''
11070        self.tls_required = tls_required if tls_required is not None else False
11071        '''
11072         If set, TLS must be used to connect to this resource.
11073        '''
11074        self.username = username if username is not None else ''
11075        '''
11076         The username to authenticate with.
11077        '''
11078
11079    def __repr__(self):
11080        return '<sdm.DB2I ' + \
11081            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11082            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11083            'healthy: ' + repr(self.healthy) + ' ' +\
11084            'hostname: ' + repr(self.hostname) + ' ' +\
11085            'id: ' + repr(self.id) + ' ' +\
11086            'name: ' + repr(self.name) + ' ' +\
11087            'password: ' + repr(self.password) + ' ' +\
11088            'port: ' + repr(self.port) + ' ' +\
11089            'port_override: ' + repr(self.port_override) + ' ' +\
11090            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11091            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11092            'subdomain: ' + repr(self.subdomain) + ' ' +\
11093            'tags: ' + repr(self.tags) + ' ' +\
11094            'tls_required: ' + repr(self.tls_required) + ' ' +\
11095            'username: ' + repr(self.username) + ' ' +\
11096            '>'
11097
11098    def to_dict(self):
11099        return {
11100            'bind_interface': self.bind_interface,
11101            'egress_filter': self.egress_filter,
11102            'healthy': self.healthy,
11103            'hostname': self.hostname,
11104            'id': self.id,
11105            'name': self.name,
11106            'password': self.password,
11107            'port': self.port,
11108            'port_override': self.port_override,
11109            'proxy_cluster_id': self.proxy_cluster_id,
11110            'secret_store_id': self.secret_store_id,
11111            'subdomain': self.subdomain,
11112            'tags': self.tags,
11113            'tls_required': self.tls_required,
11114            'username': self.username,
11115        }
11116
11117    @classmethod
11118    def from_dict(cls, d):
11119        return cls(
11120            bind_interface=d.get('bind_interface'),
11121            egress_filter=d.get('egress_filter'),
11122            healthy=d.get('healthy'),
11123            hostname=d.get('hostname'),
11124            id=d.get('id'),
11125            name=d.get('name'),
11126            password=d.get('password'),
11127            port=d.get('port'),
11128            port_override=d.get('port_override'),
11129            proxy_cluster_id=d.get('proxy_cluster_id'),
11130            secret_store_id=d.get('secret_store_id'),
11131            subdomain=d.get('subdomain'),
11132            tags=d.get('tags'),
11133            tls_required=d.get('tls_required'),
11134            username=d.get('username'),
11135        )
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)
11000    def __init__(
11001        self,
11002        bind_interface=None,
11003        egress_filter=None,
11004        healthy=None,
11005        hostname=None,
11006        id=None,
11007        name=None,
11008        password=None,
11009        port=None,
11010        port_override=None,
11011        proxy_cluster_id=None,
11012        secret_store_id=None,
11013        subdomain=None,
11014        tags=None,
11015        tls_required=None,
11016        username=None,
11017    ):
11018        self.bind_interface = bind_interface if bind_interface is not None else ''
11019        '''
11020         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11021        '''
11022        self.egress_filter = egress_filter if egress_filter is not None else ''
11023        '''
11024         A filter applied to the routing logic to pin datasource to nodes.
11025        '''
11026        self.healthy = healthy if healthy is not None else False
11027        '''
11028         True if the datasource is reachable and the credentials are valid.
11029        '''
11030        self.hostname = hostname if hostname is not None else ''
11031        '''
11032         The host to dial to initiate a connection from the egress node to this resource.
11033        '''
11034        self.id = id if id is not None else ''
11035        '''
11036         Unique identifier of the Resource.
11037        '''
11038        self.name = name if name is not None else ''
11039        '''
11040         Unique human-readable name of the Resource.
11041        '''
11042        self.password = password if password is not None else ''
11043        '''
11044         The password to authenticate with.
11045        '''
11046        self.port = port if port is not None else 0
11047        '''
11048         The port to dial to initiate a connection from the egress node to this resource.
11049        '''
11050        self.port_override = port_override if port_override is not None else 0
11051        '''
11052         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11053        '''
11054        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11055        '''
11056         ID of the proxy cluster for this resource, if any.
11057        '''
11058        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11059        '''
11060         ID of the secret store containing credentials for this resource, if any.
11061        '''
11062        self.subdomain = subdomain if subdomain is not None else ''
11063        '''
11064         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11065        '''
11066        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11067        '''
11068         Tags is a map of key, value pairs.
11069        '''
11070        self.tls_required = tls_required if tls_required is not None else False
11071        '''
11072         If set, TLS must be used to connect to this resource.
11073        '''
11074        self.username = username if username is not None else ''
11075        '''
11076         The username to authenticate with.
11077        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
11098    def to_dict(self):
11099        return {
11100            'bind_interface': self.bind_interface,
11101            'egress_filter': self.egress_filter,
11102            'healthy': self.healthy,
11103            'hostname': self.hostname,
11104            'id': self.id,
11105            'name': self.name,
11106            'password': self.password,
11107            'port': self.port,
11108            'port_override': self.port_override,
11109            'proxy_cluster_id': self.proxy_cluster_id,
11110            'secret_store_id': self.secret_store_id,
11111            'subdomain': self.subdomain,
11112            'tags': self.tags,
11113            'tls_required': self.tls_required,
11114            'username': self.username,
11115        }
@classmethod
def from_dict(cls, d)
11117    @classmethod
11118    def from_dict(cls, d):
11119        return cls(
11120            bind_interface=d.get('bind_interface'),
11121            egress_filter=d.get('egress_filter'),
11122            healthy=d.get('healthy'),
11123            hostname=d.get('hostname'),
11124            id=d.get('id'),
11125            name=d.get('name'),
11126            password=d.get('password'),
11127            port=d.get('port'),
11128            port_override=d.get('port_override'),
11129            proxy_cluster_id=d.get('proxy_cluster_id'),
11130            secret_store_id=d.get('secret_store_id'),
11131            subdomain=d.get('subdomain'),
11132            tags=d.get('tags'),
11133            tls_required=d.get('tls_required'),
11134            username=d.get('username'),
11135        )
class DB2LUW:
11138class DB2LUW:
11139    __slots__ = [
11140        'bind_interface',
11141        'database',
11142        'egress_filter',
11143        'healthy',
11144        'hostname',
11145        'id',
11146        'name',
11147        'password',
11148        'port',
11149        'port_override',
11150        'proxy_cluster_id',
11151        'secret_store_id',
11152        'subdomain',
11153        'tags',
11154        'tls_required',
11155        'username',
11156    ]
11157
11158    def __init__(
11159        self,
11160        bind_interface=None,
11161        database=None,
11162        egress_filter=None,
11163        healthy=None,
11164        hostname=None,
11165        id=None,
11166        name=None,
11167        password=None,
11168        port=None,
11169        port_override=None,
11170        proxy_cluster_id=None,
11171        secret_store_id=None,
11172        subdomain=None,
11173        tags=None,
11174        tls_required=None,
11175        username=None,
11176    ):
11177        self.bind_interface = bind_interface if bind_interface is not None else ''
11178        '''
11179         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11180        '''
11181        self.database = database if database is not None else ''
11182        '''
11183         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
11184        '''
11185        self.egress_filter = egress_filter if egress_filter is not None else ''
11186        '''
11187         A filter applied to the routing logic to pin datasource to nodes.
11188        '''
11189        self.healthy = healthy if healthy is not None else False
11190        '''
11191         True if the datasource is reachable and the credentials are valid.
11192        '''
11193        self.hostname = hostname if hostname is not None else ''
11194        '''
11195         The host to dial to initiate a connection from the egress node to this resource.
11196        '''
11197        self.id = id if id is not None else ''
11198        '''
11199         Unique identifier of the Resource.
11200        '''
11201        self.name = name if name is not None else ''
11202        '''
11203         Unique human-readable name of the Resource.
11204        '''
11205        self.password = password if password is not None else ''
11206        '''
11207         The password to authenticate with.
11208        '''
11209        self.port = port if port is not None else 0
11210        '''
11211         The port to dial to initiate a connection from the egress node to this resource.
11212        '''
11213        self.port_override = port_override if port_override is not None else 0
11214        '''
11215         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11216        '''
11217        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11218        '''
11219         ID of the proxy cluster for this resource, if any.
11220        '''
11221        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11222        '''
11223         ID of the secret store containing credentials for this resource, if any.
11224        '''
11225        self.subdomain = subdomain if subdomain is not None else ''
11226        '''
11227         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11228        '''
11229        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11230        '''
11231         Tags is a map of key, value pairs.
11232        '''
11233        self.tls_required = tls_required if tls_required is not None else False
11234        '''
11235         If set, TLS must be used to connect to this resource.
11236        '''
11237        self.username = username if username is not None else ''
11238        '''
11239         The username to authenticate with.
11240        '''
11241
11242    def __repr__(self):
11243        return '<sdm.DB2LUW ' + \
11244            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11245            'database: ' + repr(self.database) + ' ' +\
11246            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11247            'healthy: ' + repr(self.healthy) + ' ' +\
11248            'hostname: ' + repr(self.hostname) + ' ' +\
11249            'id: ' + repr(self.id) + ' ' +\
11250            'name: ' + repr(self.name) + ' ' +\
11251            'password: ' + repr(self.password) + ' ' +\
11252            'port: ' + repr(self.port) + ' ' +\
11253            'port_override: ' + repr(self.port_override) + ' ' +\
11254            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11255            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11256            'subdomain: ' + repr(self.subdomain) + ' ' +\
11257            'tags: ' + repr(self.tags) + ' ' +\
11258            'tls_required: ' + repr(self.tls_required) + ' ' +\
11259            'username: ' + repr(self.username) + ' ' +\
11260            '>'
11261
11262    def to_dict(self):
11263        return {
11264            'bind_interface': self.bind_interface,
11265            'database': self.database,
11266            'egress_filter': self.egress_filter,
11267            'healthy': self.healthy,
11268            'hostname': self.hostname,
11269            'id': self.id,
11270            'name': self.name,
11271            'password': self.password,
11272            'port': self.port,
11273            'port_override': self.port_override,
11274            'proxy_cluster_id': self.proxy_cluster_id,
11275            'secret_store_id': self.secret_store_id,
11276            'subdomain': self.subdomain,
11277            'tags': self.tags,
11278            'tls_required': self.tls_required,
11279            'username': self.username,
11280        }
11281
11282    @classmethod
11283    def from_dict(cls, d):
11284        return cls(
11285            bind_interface=d.get('bind_interface'),
11286            database=d.get('database'),
11287            egress_filter=d.get('egress_filter'),
11288            healthy=d.get('healthy'),
11289            hostname=d.get('hostname'),
11290            id=d.get('id'),
11291            name=d.get('name'),
11292            password=d.get('password'),
11293            port=d.get('port'),
11294            port_override=d.get('port_override'),
11295            proxy_cluster_id=d.get('proxy_cluster_id'),
11296            secret_store_id=d.get('secret_store_id'),
11297            subdomain=d.get('subdomain'),
11298            tags=d.get('tags'),
11299            tls_required=d.get('tls_required'),
11300            username=d.get('username'),
11301        )
DB2LUW( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
11158    def __init__(
11159        self,
11160        bind_interface=None,
11161        database=None,
11162        egress_filter=None,
11163        healthy=None,
11164        hostname=None,
11165        id=None,
11166        name=None,
11167        password=None,
11168        port=None,
11169        port_override=None,
11170        proxy_cluster_id=None,
11171        secret_store_id=None,
11172        subdomain=None,
11173        tags=None,
11174        tls_required=None,
11175        username=None,
11176    ):
11177        self.bind_interface = bind_interface if bind_interface is not None else ''
11178        '''
11179         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11180        '''
11181        self.database = database if database is not None else ''
11182        '''
11183         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
11184        '''
11185        self.egress_filter = egress_filter if egress_filter is not None else ''
11186        '''
11187         A filter applied to the routing logic to pin datasource to nodes.
11188        '''
11189        self.healthy = healthy if healthy is not None else False
11190        '''
11191         True if the datasource is reachable and the credentials are valid.
11192        '''
11193        self.hostname = hostname if hostname is not None else ''
11194        '''
11195         The host to dial to initiate a connection from the egress node to this resource.
11196        '''
11197        self.id = id if id is not None else ''
11198        '''
11199         Unique identifier of the Resource.
11200        '''
11201        self.name = name if name is not None else ''
11202        '''
11203         Unique human-readable name of the Resource.
11204        '''
11205        self.password = password if password is not None else ''
11206        '''
11207         The password to authenticate with.
11208        '''
11209        self.port = port if port is not None else 0
11210        '''
11211         The port to dial to initiate a connection from the egress node to this resource.
11212        '''
11213        self.port_override = port_override if port_override is not None else 0
11214        '''
11215         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11216        '''
11217        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11218        '''
11219         ID of the proxy cluster for this resource, if any.
11220        '''
11221        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11222        '''
11223         ID of the secret store containing credentials for this resource, if any.
11224        '''
11225        self.subdomain = subdomain if subdomain is not None else ''
11226        '''
11227         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11228        '''
11229        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11230        '''
11231         Tags is a map of key, value pairs.
11232        '''
11233        self.tls_required = tls_required if tls_required is not None else False
11234        '''
11235         If set, TLS must be used to connect to this resource.
11236        '''
11237        self.username = username if username is not None else ''
11238        '''
11239         The username to authenticate with.
11240        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
11262    def to_dict(self):
11263        return {
11264            'bind_interface': self.bind_interface,
11265            'database': self.database,
11266            'egress_filter': self.egress_filter,
11267            'healthy': self.healthy,
11268            'hostname': self.hostname,
11269            'id': self.id,
11270            'name': self.name,
11271            'password': self.password,
11272            'port': self.port,
11273            'port_override': self.port_override,
11274            'proxy_cluster_id': self.proxy_cluster_id,
11275            'secret_store_id': self.secret_store_id,
11276            'subdomain': self.subdomain,
11277            'tags': self.tags,
11278            'tls_required': self.tls_required,
11279            'username': self.username,
11280        }
@classmethod
def from_dict(cls, d)
11282    @classmethod
11283    def from_dict(cls, d):
11284        return cls(
11285            bind_interface=d.get('bind_interface'),
11286            database=d.get('database'),
11287            egress_filter=d.get('egress_filter'),
11288            healthy=d.get('healthy'),
11289            hostname=d.get('hostname'),
11290            id=d.get('id'),
11291            name=d.get('name'),
11292            password=d.get('password'),
11293            port=d.get('port'),
11294            port_override=d.get('port_override'),
11295            proxy_cluster_id=d.get('proxy_cluster_id'),
11296            secret_store_id=d.get('secret_store_id'),
11297            subdomain=d.get('subdomain'),
11298            tags=d.get('tags'),
11299            tls_required=d.get('tls_required'),
11300            username=d.get('username'),
11301        )
class DeleteResponseMetadata:
11304class DeleteResponseMetadata:
11305    '''
11306         DeleteResponseMetadata is reserved for future use.
11307    '''
11308    __slots__ = []
11309
11310    def __init__(self, ):
11311        pass
11312
11313    def __repr__(self):
11314        return '<sdm.DeleteResponseMetadata ' + \
11315            '>'
11316
11317    def to_dict(self):
11318        return {}
11319
11320    @classmethod
11321    def from_dict(cls, d):
11322        return cls()

DeleteResponseMetadata is reserved for future use.

DeleteResponseMetadata()
11310    def __init__(self, ):
11311        pass
def to_dict(self)
11317    def to_dict(self):
11318        return {}
@classmethod
def from_dict(cls, d)
11320    @classmethod
11321    def from_dict(cls, d):
11322        return cls()
class DelineaStore:
11325class DelineaStore:
11326    __slots__ = [
11327        'id',
11328        'name',
11329        'server_url',
11330        'tags',
11331        'tenant_name',
11332    ]
11333
11334    def __init__(
11335        self,
11336        id=None,
11337        name=None,
11338        server_url=None,
11339        tags=None,
11340        tenant_name=None,
11341    ):
11342        self.id = id if id is not None else ''
11343        '''
11344         Unique identifier of the SecretStore.
11345        '''
11346        self.name = name if name is not None else ''
11347        '''
11348         Unique human-readable name of the SecretStore.
11349        '''
11350        self.server_url = server_url if server_url is not None else ''
11351        '''
11352         The URL of the Delinea instance
11353        '''
11354        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11355        '''
11356         Tags is a map of key, value pairs.
11357        '''
11358        self.tenant_name = tenant_name if tenant_name is not None else ''
11359        '''
11360         The tenant name to target
11361        '''
11362
11363    def __repr__(self):
11364        return '<sdm.DelineaStore ' + \
11365            'id: ' + repr(self.id) + ' ' +\
11366            'name: ' + repr(self.name) + ' ' +\
11367            'server_url: ' + repr(self.server_url) + ' ' +\
11368            'tags: ' + repr(self.tags) + ' ' +\
11369            'tenant_name: ' + repr(self.tenant_name) + ' ' +\
11370            '>'
11371
11372    def to_dict(self):
11373        return {
11374            'id': self.id,
11375            'name': self.name,
11376            'server_url': self.server_url,
11377            'tags': self.tags,
11378            'tenant_name': self.tenant_name,
11379        }
11380
11381    @classmethod
11382    def from_dict(cls, d):
11383        return cls(
11384            id=d.get('id'),
11385            name=d.get('name'),
11386            server_url=d.get('server_url'),
11387            tags=d.get('tags'),
11388            tenant_name=d.get('tenant_name'),
11389        )
DelineaStore(id=None, name=None, server_url=None, tags=None, tenant_name=None)
11334    def __init__(
11335        self,
11336        id=None,
11337        name=None,
11338        server_url=None,
11339        tags=None,
11340        tenant_name=None,
11341    ):
11342        self.id = id if id is not None else ''
11343        '''
11344         Unique identifier of the SecretStore.
11345        '''
11346        self.name = name if name is not None else ''
11347        '''
11348         Unique human-readable name of the SecretStore.
11349        '''
11350        self.server_url = server_url if server_url is not None else ''
11351        '''
11352         The URL of the Delinea instance
11353        '''
11354        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11355        '''
11356         Tags is a map of key, value pairs.
11357        '''
11358        self.tenant_name = tenant_name if tenant_name is not None else ''
11359        '''
11360         The tenant name to target
11361        '''
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)
11372    def to_dict(self):
11373        return {
11374            'id': self.id,
11375            'name': self.name,
11376            'server_url': self.server_url,
11377            'tags': self.tags,
11378            'tenant_name': self.tenant_name,
11379        }
@classmethod
def from_dict(cls, d)
11381    @classmethod
11382    def from_dict(cls, d):
11383        return cls(
11384            id=d.get('id'),
11385            name=d.get('name'),
11386            server_url=d.get('server_url'),
11387            tags=d.get('tags'),
11388            tenant_name=d.get('tenant_name'),
11389        )
class DocumentDBHost:
11392class DocumentDBHost:
11393    __slots__ = [
11394        'auth_database',
11395        'bind_interface',
11396        'egress_filter',
11397        'healthy',
11398        'hostname',
11399        'id',
11400        'name',
11401        'password',
11402        'port',
11403        'port_override',
11404        'proxy_cluster_id',
11405        'secret_store_id',
11406        'subdomain',
11407        'tags',
11408        'username',
11409    ]
11410
11411    def __init__(
11412        self,
11413        auth_database=None,
11414        bind_interface=None,
11415        egress_filter=None,
11416        healthy=None,
11417        hostname=None,
11418        id=None,
11419        name=None,
11420        password=None,
11421        port=None,
11422        port_override=None,
11423        proxy_cluster_id=None,
11424        secret_store_id=None,
11425        subdomain=None,
11426        tags=None,
11427        username=None,
11428    ):
11429        self.auth_database = auth_database if auth_database is not None else ''
11430        '''
11431         The authentication database to use.
11432        '''
11433        self.bind_interface = bind_interface if bind_interface is not None else ''
11434        '''
11435         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11436        '''
11437        self.egress_filter = egress_filter if egress_filter is not None else ''
11438        '''
11439         A filter applied to the routing logic to pin datasource to nodes.
11440        '''
11441        self.healthy = healthy if healthy is not None else False
11442        '''
11443         True if the datasource is reachable and the credentials are valid.
11444        '''
11445        self.hostname = hostname if hostname is not None else ''
11446        '''
11447         The host to dial to initiate a connection from the egress node to this resource.
11448        '''
11449        self.id = id if id is not None else ''
11450        '''
11451         Unique identifier of the Resource.
11452        '''
11453        self.name = name if name is not None else ''
11454        '''
11455         Unique human-readable name of the Resource.
11456        '''
11457        self.password = password if password is not None else ''
11458        '''
11459         The password to authenticate with.
11460        '''
11461        self.port = port if port is not None else 0
11462        '''
11463         The port to dial to initiate a connection from the egress node to this resource.
11464        '''
11465        self.port_override = port_override if port_override is not None else 0
11466        '''
11467         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11468        '''
11469        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11470        '''
11471         ID of the proxy cluster for this resource, if any.
11472        '''
11473        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11474        '''
11475         ID of the secret store containing credentials for this resource, if any.
11476        '''
11477        self.subdomain = subdomain if subdomain is not None else ''
11478        '''
11479         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11480        '''
11481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11482        '''
11483         Tags is a map of key, value pairs.
11484        '''
11485        self.username = username if username is not None else ''
11486        '''
11487         The username to authenticate with.
11488        '''
11489
11490    def __repr__(self):
11491        return '<sdm.DocumentDBHost ' + \
11492            'auth_database: ' + repr(self.auth_database) + ' ' +\
11493            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11494            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11495            'healthy: ' + repr(self.healthy) + ' ' +\
11496            'hostname: ' + repr(self.hostname) + ' ' +\
11497            'id: ' + repr(self.id) + ' ' +\
11498            'name: ' + repr(self.name) + ' ' +\
11499            'password: ' + repr(self.password) + ' ' +\
11500            'port: ' + repr(self.port) + ' ' +\
11501            'port_override: ' + repr(self.port_override) + ' ' +\
11502            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11503            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11504            'subdomain: ' + repr(self.subdomain) + ' ' +\
11505            'tags: ' + repr(self.tags) + ' ' +\
11506            'username: ' + repr(self.username) + ' ' +\
11507            '>'
11508
11509    def to_dict(self):
11510        return {
11511            'auth_database': self.auth_database,
11512            'bind_interface': self.bind_interface,
11513            'egress_filter': self.egress_filter,
11514            'healthy': self.healthy,
11515            'hostname': self.hostname,
11516            'id': self.id,
11517            'name': self.name,
11518            'password': self.password,
11519            'port': self.port,
11520            'port_override': self.port_override,
11521            'proxy_cluster_id': self.proxy_cluster_id,
11522            'secret_store_id': self.secret_store_id,
11523            'subdomain': self.subdomain,
11524            'tags': self.tags,
11525            'username': self.username,
11526        }
11527
11528    @classmethod
11529    def from_dict(cls, d):
11530        return cls(
11531            auth_database=d.get('auth_database'),
11532            bind_interface=d.get('bind_interface'),
11533            egress_filter=d.get('egress_filter'),
11534            healthy=d.get('healthy'),
11535            hostname=d.get('hostname'),
11536            id=d.get('id'),
11537            name=d.get('name'),
11538            password=d.get('password'),
11539            port=d.get('port'),
11540            port_override=d.get('port_override'),
11541            proxy_cluster_id=d.get('proxy_cluster_id'),
11542            secret_store_id=d.get('secret_store_id'),
11543            subdomain=d.get('subdomain'),
11544            tags=d.get('tags'),
11545            username=d.get('username'),
11546        )
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)
11411    def __init__(
11412        self,
11413        auth_database=None,
11414        bind_interface=None,
11415        egress_filter=None,
11416        healthy=None,
11417        hostname=None,
11418        id=None,
11419        name=None,
11420        password=None,
11421        port=None,
11422        port_override=None,
11423        proxy_cluster_id=None,
11424        secret_store_id=None,
11425        subdomain=None,
11426        tags=None,
11427        username=None,
11428    ):
11429        self.auth_database = auth_database if auth_database is not None else ''
11430        '''
11431         The authentication database to use.
11432        '''
11433        self.bind_interface = bind_interface if bind_interface is not None else ''
11434        '''
11435         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11436        '''
11437        self.egress_filter = egress_filter if egress_filter is not None else ''
11438        '''
11439         A filter applied to the routing logic to pin datasource to nodes.
11440        '''
11441        self.healthy = healthy if healthy is not None else False
11442        '''
11443         True if the datasource is reachable and the credentials are valid.
11444        '''
11445        self.hostname = hostname if hostname is not None else ''
11446        '''
11447         The host to dial to initiate a connection from the egress node to this resource.
11448        '''
11449        self.id = id if id is not None else ''
11450        '''
11451         Unique identifier of the Resource.
11452        '''
11453        self.name = name if name is not None else ''
11454        '''
11455         Unique human-readable name of the Resource.
11456        '''
11457        self.password = password if password is not None else ''
11458        '''
11459         The password to authenticate with.
11460        '''
11461        self.port = port if port is not None else 0
11462        '''
11463         The port to dial to initiate a connection from the egress node to this resource.
11464        '''
11465        self.port_override = port_override if port_override is not None else 0
11466        '''
11467         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11468        '''
11469        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11470        '''
11471         ID of the proxy cluster for this resource, if any.
11472        '''
11473        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11474        '''
11475         ID of the secret store containing credentials for this resource, if any.
11476        '''
11477        self.subdomain = subdomain if subdomain is not None else ''
11478        '''
11479         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11480        '''
11481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11482        '''
11483         Tags is a map of key, value pairs.
11484        '''
11485        self.username = username if username is not None else ''
11486        '''
11487         The username to authenticate with.
11488        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
11509    def to_dict(self):
11510        return {
11511            'auth_database': self.auth_database,
11512            'bind_interface': self.bind_interface,
11513            'egress_filter': self.egress_filter,
11514            'healthy': self.healthy,
11515            'hostname': self.hostname,
11516            'id': self.id,
11517            'name': self.name,
11518            'password': self.password,
11519            'port': self.port,
11520            'port_override': self.port_override,
11521            'proxy_cluster_id': self.proxy_cluster_id,
11522            'secret_store_id': self.secret_store_id,
11523            'subdomain': self.subdomain,
11524            'tags': self.tags,
11525            'username': self.username,
11526        }
@classmethod
def from_dict(cls, d)
11528    @classmethod
11529    def from_dict(cls, d):
11530        return cls(
11531            auth_database=d.get('auth_database'),
11532            bind_interface=d.get('bind_interface'),
11533            egress_filter=d.get('egress_filter'),
11534            healthy=d.get('healthy'),
11535            hostname=d.get('hostname'),
11536            id=d.get('id'),
11537            name=d.get('name'),
11538            password=d.get('password'),
11539            port=d.get('port'),
11540            port_override=d.get('port_override'),
11541            proxy_cluster_id=d.get('proxy_cluster_id'),
11542            secret_store_id=d.get('secret_store_id'),
11543            subdomain=d.get('subdomain'),
11544            tags=d.get('tags'),
11545            username=d.get('username'),
11546        )
class DocumentDBHostIAM:
11549class DocumentDBHostIAM:
11550    __slots__ = [
11551        'bind_interface',
11552        'egress_filter',
11553        'healthy',
11554        'hostname',
11555        'id',
11556        'name',
11557        'port',
11558        'port_override',
11559        'proxy_cluster_id',
11560        'region',
11561        'secret_store_id',
11562        'subdomain',
11563        'tags',
11564    ]
11565
11566    def __init__(
11567        self,
11568        bind_interface=None,
11569        egress_filter=None,
11570        healthy=None,
11571        hostname=None,
11572        id=None,
11573        name=None,
11574        port=None,
11575        port_override=None,
11576        proxy_cluster_id=None,
11577        region=None,
11578        secret_store_id=None,
11579        subdomain=None,
11580        tags=None,
11581    ):
11582        self.bind_interface = bind_interface if bind_interface is not None else ''
11583        '''
11584         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11585        '''
11586        self.egress_filter = egress_filter if egress_filter is not None else ''
11587        '''
11588         A filter applied to the routing logic to pin datasource to nodes.
11589        '''
11590        self.healthy = healthy if healthy is not None else False
11591        '''
11592         True if the datasource is reachable and the credentials are valid.
11593        '''
11594        self.hostname = hostname if hostname is not None else ''
11595        '''
11596         The host to dial to initiate a connection from the egress node to this resource.
11597        '''
11598        self.id = id if id is not None else ''
11599        '''
11600         Unique identifier of the Resource.
11601        '''
11602        self.name = name if name is not None else ''
11603        '''
11604         Unique human-readable name of the Resource.
11605        '''
11606        self.port = port if port is not None else 0
11607        '''
11608         The port to dial to initiate a connection from the egress node to this resource.
11609        '''
11610        self.port_override = port_override if port_override is not None else 0
11611        '''
11612         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11613        '''
11614        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11615        '''
11616         ID of the proxy cluster for this resource, if any.
11617        '''
11618        self.region = region if region is not None else ''
11619        '''
11620         The AWS region to connect to.
11621        '''
11622        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11623        '''
11624         ID of the secret store containing credentials for this resource, if any.
11625        '''
11626        self.subdomain = subdomain if subdomain is not None else ''
11627        '''
11628         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11629        '''
11630        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11631        '''
11632         Tags is a map of key, value pairs.
11633        '''
11634
11635    def __repr__(self):
11636        return '<sdm.DocumentDBHostIAM ' + \
11637            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11638            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11639            'healthy: ' + repr(self.healthy) + ' ' +\
11640            'hostname: ' + repr(self.hostname) + ' ' +\
11641            'id: ' + repr(self.id) + ' ' +\
11642            'name: ' + repr(self.name) + ' ' +\
11643            'port: ' + repr(self.port) + ' ' +\
11644            'port_override: ' + repr(self.port_override) + ' ' +\
11645            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11646            'region: ' + repr(self.region) + ' ' +\
11647            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11648            'subdomain: ' + repr(self.subdomain) + ' ' +\
11649            'tags: ' + repr(self.tags) + ' ' +\
11650            '>'
11651
11652    def to_dict(self):
11653        return {
11654            'bind_interface': self.bind_interface,
11655            'egress_filter': self.egress_filter,
11656            'healthy': self.healthy,
11657            'hostname': self.hostname,
11658            'id': self.id,
11659            'name': self.name,
11660            'port': self.port,
11661            'port_override': self.port_override,
11662            'proxy_cluster_id': self.proxy_cluster_id,
11663            'region': self.region,
11664            'secret_store_id': self.secret_store_id,
11665            'subdomain': self.subdomain,
11666            'tags': self.tags,
11667        }
11668
11669    @classmethod
11670    def from_dict(cls, d):
11671        return cls(
11672            bind_interface=d.get('bind_interface'),
11673            egress_filter=d.get('egress_filter'),
11674            healthy=d.get('healthy'),
11675            hostname=d.get('hostname'),
11676            id=d.get('id'),
11677            name=d.get('name'),
11678            port=d.get('port'),
11679            port_override=d.get('port_override'),
11680            proxy_cluster_id=d.get('proxy_cluster_id'),
11681            region=d.get('region'),
11682            secret_store_id=d.get('secret_store_id'),
11683            subdomain=d.get('subdomain'),
11684            tags=d.get('tags'),
11685        )
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)
11566    def __init__(
11567        self,
11568        bind_interface=None,
11569        egress_filter=None,
11570        healthy=None,
11571        hostname=None,
11572        id=None,
11573        name=None,
11574        port=None,
11575        port_override=None,
11576        proxy_cluster_id=None,
11577        region=None,
11578        secret_store_id=None,
11579        subdomain=None,
11580        tags=None,
11581    ):
11582        self.bind_interface = bind_interface if bind_interface is not None else ''
11583        '''
11584         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11585        '''
11586        self.egress_filter = egress_filter if egress_filter is not None else ''
11587        '''
11588         A filter applied to the routing logic to pin datasource to nodes.
11589        '''
11590        self.healthy = healthy if healthy is not None else False
11591        '''
11592         True if the datasource is reachable and the credentials are valid.
11593        '''
11594        self.hostname = hostname if hostname is not None else ''
11595        '''
11596         The host to dial to initiate a connection from the egress node to this resource.
11597        '''
11598        self.id = id if id is not None else ''
11599        '''
11600         Unique identifier of the Resource.
11601        '''
11602        self.name = name if name is not None else ''
11603        '''
11604         Unique human-readable name of the Resource.
11605        '''
11606        self.port = port if port is not None else 0
11607        '''
11608         The port to dial to initiate a connection from the egress node to this resource.
11609        '''
11610        self.port_override = port_override if port_override is not None else 0
11611        '''
11612         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11613        '''
11614        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11615        '''
11616         ID of the proxy cluster for this resource, if any.
11617        '''
11618        self.region = region if region is not None else ''
11619        '''
11620         The AWS region to connect to.
11621        '''
11622        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11623        '''
11624         ID of the secret store containing credentials for this resource, if any.
11625        '''
11626        self.subdomain = subdomain if subdomain is not None else ''
11627        '''
11628         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11629        '''
11630        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11631        '''
11632         Tags is a map of key, value pairs.
11633        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
11652    def to_dict(self):
11653        return {
11654            'bind_interface': self.bind_interface,
11655            'egress_filter': self.egress_filter,
11656            'healthy': self.healthy,
11657            'hostname': self.hostname,
11658            'id': self.id,
11659            'name': self.name,
11660            'port': self.port,
11661            'port_override': self.port_override,
11662            'proxy_cluster_id': self.proxy_cluster_id,
11663            'region': self.region,
11664            'secret_store_id': self.secret_store_id,
11665            'subdomain': self.subdomain,
11666            'tags': self.tags,
11667        }
@classmethod
def from_dict(cls, d)
11669    @classmethod
11670    def from_dict(cls, d):
11671        return cls(
11672            bind_interface=d.get('bind_interface'),
11673            egress_filter=d.get('egress_filter'),
11674            healthy=d.get('healthy'),
11675            hostname=d.get('hostname'),
11676            id=d.get('id'),
11677            name=d.get('name'),
11678            port=d.get('port'),
11679            port_override=d.get('port_override'),
11680            proxy_cluster_id=d.get('proxy_cluster_id'),
11681            region=d.get('region'),
11682            secret_store_id=d.get('secret_store_id'),
11683            subdomain=d.get('subdomain'),
11684            tags=d.get('tags'),
11685        )
class DocumentDBReplicaSet:
11688class DocumentDBReplicaSet:
11689    __slots__ = [
11690        'auth_database',
11691        'bind_interface',
11692        'connect_to_replica',
11693        'egress_filter',
11694        'healthy',
11695        'hostname',
11696        'id',
11697        'name',
11698        'password',
11699        'port_override',
11700        'proxy_cluster_id',
11701        'replica_set',
11702        'secret_store_id',
11703        'subdomain',
11704        'tags',
11705        'username',
11706    ]
11707
11708    def __init__(
11709        self,
11710        auth_database=None,
11711        bind_interface=None,
11712        connect_to_replica=None,
11713        egress_filter=None,
11714        healthy=None,
11715        hostname=None,
11716        id=None,
11717        name=None,
11718        password=None,
11719        port_override=None,
11720        proxy_cluster_id=None,
11721        replica_set=None,
11722        secret_store_id=None,
11723        subdomain=None,
11724        tags=None,
11725        username=None,
11726    ):
11727        self.auth_database = auth_database if auth_database is not None else ''
11728        '''
11729         The authentication database to use.
11730        '''
11731        self.bind_interface = bind_interface if bind_interface is not None else ''
11732        '''
11733         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11734        '''
11735        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11736        '''
11737         Set to connect to a replica instead of the primary node.
11738        '''
11739        self.egress_filter = egress_filter if egress_filter is not None else ''
11740        '''
11741         A filter applied to the routing logic to pin datasource to nodes.
11742        '''
11743        self.healthy = healthy if healthy is not None else False
11744        '''
11745         True if the datasource is reachable and the credentials are valid.
11746        '''
11747        self.hostname = hostname if hostname is not None else ''
11748        '''
11749         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11750        '''
11751        self.id = id if id is not None else ''
11752        '''
11753         Unique identifier of the Resource.
11754        '''
11755        self.name = name if name is not None else ''
11756        '''
11757         Unique human-readable name of the Resource.
11758        '''
11759        self.password = password if password is not None else ''
11760        '''
11761         The password to authenticate with.
11762        '''
11763        self.port_override = port_override if port_override is not None else 0
11764        '''
11765         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11766        '''
11767        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11768        '''
11769         ID of the proxy cluster for this resource, if any.
11770        '''
11771        self.replica_set = replica_set if replica_set is not None else ''
11772        '''
11773         The name of the mongo replicaset.
11774        '''
11775        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11776        '''
11777         ID of the secret store containing credentials for this resource, if any.
11778        '''
11779        self.subdomain = subdomain if subdomain is not None else ''
11780        '''
11781         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11782        '''
11783        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11784        '''
11785         Tags is a map of key, value pairs.
11786        '''
11787        self.username = username if username is not None else ''
11788        '''
11789         The username to authenticate with.
11790        '''
11791
11792    def __repr__(self):
11793        return '<sdm.DocumentDBReplicaSet ' + \
11794            'auth_database: ' + repr(self.auth_database) + ' ' +\
11795            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11796            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11797            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11798            'healthy: ' + repr(self.healthy) + ' ' +\
11799            'hostname: ' + repr(self.hostname) + ' ' +\
11800            'id: ' + repr(self.id) + ' ' +\
11801            'name: ' + repr(self.name) + ' ' +\
11802            'password: ' + repr(self.password) + ' ' +\
11803            'port_override: ' + repr(self.port_override) + ' ' +\
11804            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11805            'replica_set: ' + repr(self.replica_set) + ' ' +\
11806            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11807            'subdomain: ' + repr(self.subdomain) + ' ' +\
11808            'tags: ' + repr(self.tags) + ' ' +\
11809            'username: ' + repr(self.username) + ' ' +\
11810            '>'
11811
11812    def to_dict(self):
11813        return {
11814            'auth_database': self.auth_database,
11815            'bind_interface': self.bind_interface,
11816            'connect_to_replica': self.connect_to_replica,
11817            'egress_filter': self.egress_filter,
11818            'healthy': self.healthy,
11819            'hostname': self.hostname,
11820            'id': self.id,
11821            'name': self.name,
11822            'password': self.password,
11823            'port_override': self.port_override,
11824            'proxy_cluster_id': self.proxy_cluster_id,
11825            'replica_set': self.replica_set,
11826            'secret_store_id': self.secret_store_id,
11827            'subdomain': self.subdomain,
11828            'tags': self.tags,
11829            'username': self.username,
11830        }
11831
11832    @classmethod
11833    def from_dict(cls, d):
11834        return cls(
11835            auth_database=d.get('auth_database'),
11836            bind_interface=d.get('bind_interface'),
11837            connect_to_replica=d.get('connect_to_replica'),
11838            egress_filter=d.get('egress_filter'),
11839            healthy=d.get('healthy'),
11840            hostname=d.get('hostname'),
11841            id=d.get('id'),
11842            name=d.get('name'),
11843            password=d.get('password'),
11844            port_override=d.get('port_override'),
11845            proxy_cluster_id=d.get('proxy_cluster_id'),
11846            replica_set=d.get('replica_set'),
11847            secret_store_id=d.get('secret_store_id'),
11848            subdomain=d.get('subdomain'),
11849            tags=d.get('tags'),
11850            username=d.get('username'),
11851        )
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)
11708    def __init__(
11709        self,
11710        auth_database=None,
11711        bind_interface=None,
11712        connect_to_replica=None,
11713        egress_filter=None,
11714        healthy=None,
11715        hostname=None,
11716        id=None,
11717        name=None,
11718        password=None,
11719        port_override=None,
11720        proxy_cluster_id=None,
11721        replica_set=None,
11722        secret_store_id=None,
11723        subdomain=None,
11724        tags=None,
11725        username=None,
11726    ):
11727        self.auth_database = auth_database if auth_database is not None else ''
11728        '''
11729         The authentication database to use.
11730        '''
11731        self.bind_interface = bind_interface if bind_interface is not None else ''
11732        '''
11733         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11734        '''
11735        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11736        '''
11737         Set to connect to a replica instead of the primary node.
11738        '''
11739        self.egress_filter = egress_filter if egress_filter is not None else ''
11740        '''
11741         A filter applied to the routing logic to pin datasource to nodes.
11742        '''
11743        self.healthy = healthy if healthy is not None else False
11744        '''
11745         True if the datasource is reachable and the credentials are valid.
11746        '''
11747        self.hostname = hostname if hostname is not None else ''
11748        '''
11749         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11750        '''
11751        self.id = id if id is not None else ''
11752        '''
11753         Unique identifier of the Resource.
11754        '''
11755        self.name = name if name is not None else ''
11756        '''
11757         Unique human-readable name of the Resource.
11758        '''
11759        self.password = password if password is not None else ''
11760        '''
11761         The password to authenticate with.
11762        '''
11763        self.port_override = port_override if port_override is not None else 0
11764        '''
11765         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11766        '''
11767        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11768        '''
11769         ID of the proxy cluster for this resource, if any.
11770        '''
11771        self.replica_set = replica_set if replica_set is not None else ''
11772        '''
11773         The name of the mongo replicaset.
11774        '''
11775        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11776        '''
11777         ID of the secret store containing credentials for this resource, if any.
11778        '''
11779        self.subdomain = subdomain if subdomain is not None else ''
11780        '''
11781         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11782        '''
11783        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11784        '''
11785         Tags is a map of key, value pairs.
11786        '''
11787        self.username = username if username is not None else ''
11788        '''
11789         The username to authenticate with.
11790        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
11812    def to_dict(self):
11813        return {
11814            'auth_database': self.auth_database,
11815            'bind_interface': self.bind_interface,
11816            'connect_to_replica': self.connect_to_replica,
11817            'egress_filter': self.egress_filter,
11818            'healthy': self.healthy,
11819            'hostname': self.hostname,
11820            'id': self.id,
11821            'name': self.name,
11822            'password': self.password,
11823            'port_override': self.port_override,
11824            'proxy_cluster_id': self.proxy_cluster_id,
11825            'replica_set': self.replica_set,
11826            'secret_store_id': self.secret_store_id,
11827            'subdomain': self.subdomain,
11828            'tags': self.tags,
11829            'username': self.username,
11830        }
@classmethod
def from_dict(cls, d)
11832    @classmethod
11833    def from_dict(cls, d):
11834        return cls(
11835            auth_database=d.get('auth_database'),
11836            bind_interface=d.get('bind_interface'),
11837            connect_to_replica=d.get('connect_to_replica'),
11838            egress_filter=d.get('egress_filter'),
11839            healthy=d.get('healthy'),
11840            hostname=d.get('hostname'),
11841            id=d.get('id'),
11842            name=d.get('name'),
11843            password=d.get('password'),
11844            port_override=d.get('port_override'),
11845            proxy_cluster_id=d.get('proxy_cluster_id'),
11846            replica_set=d.get('replica_set'),
11847            secret_store_id=d.get('secret_store_id'),
11848            subdomain=d.get('subdomain'),
11849            tags=d.get('tags'),
11850            username=d.get('username'),
11851        )
class DocumentDBReplicaSetIAM:
11854class DocumentDBReplicaSetIAM:
11855    '''
11856    DocumentDBReplicaSetIAM is currently unstable, and its API may change, or it may be removed,
11857    without a major version bump.
11858    '''
11859    __slots__ = [
11860        'bind_interface',
11861        'connect_to_replica',
11862        'egress_filter',
11863        'healthy',
11864        'hostname',
11865        'id',
11866        'name',
11867        'port_override',
11868        'proxy_cluster_id',
11869        'region',
11870        'secret_store_id',
11871        'subdomain',
11872        'tags',
11873    ]
11874
11875    def __init__(
11876        self,
11877        bind_interface=None,
11878        connect_to_replica=None,
11879        egress_filter=None,
11880        healthy=None,
11881        hostname=None,
11882        id=None,
11883        name=None,
11884        port_override=None,
11885        proxy_cluster_id=None,
11886        region=None,
11887        secret_store_id=None,
11888        subdomain=None,
11889        tags=None,
11890    ):
11891        self.bind_interface = bind_interface if bind_interface is not None else ''
11892        '''
11893         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11894        '''
11895        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11896        '''
11897         Set to connect to a replica instead of the primary node.
11898        '''
11899        self.egress_filter = egress_filter if egress_filter is not None else ''
11900        '''
11901         A filter applied to the routing logic to pin datasource to nodes.
11902        '''
11903        self.healthy = healthy if healthy is not None else False
11904        '''
11905         True if the datasource is reachable and the credentials are valid.
11906        '''
11907        self.hostname = hostname if hostname is not None else ''
11908        '''
11909         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11910        '''
11911        self.id = id if id is not None else ''
11912        '''
11913         Unique identifier of the Resource.
11914        '''
11915        self.name = name if name is not None else ''
11916        '''
11917         Unique human-readable name of the Resource.
11918        '''
11919        self.port_override = port_override if port_override is not None else 0
11920        '''
11921         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11922        '''
11923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11924        '''
11925         ID of the proxy cluster for this resource, if any.
11926        '''
11927        self.region = region if region is not None else ''
11928        '''
11929         The region of the document db cluster
11930        '''
11931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11932        '''
11933         ID of the secret store containing credentials for this resource, if any.
11934        '''
11935        self.subdomain = subdomain if subdomain is not None else ''
11936        '''
11937         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11938        '''
11939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11940        '''
11941         Tags is a map of key, value pairs.
11942        '''
11943
11944    def __repr__(self):
11945        return '<sdm.DocumentDBReplicaSetIAM ' + \
11946            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
11947            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
11948            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
11949            'healthy: ' + repr(self.healthy) + ' ' +\
11950            'hostname: ' + repr(self.hostname) + ' ' +\
11951            'id: ' + repr(self.id) + ' ' +\
11952            'name: ' + repr(self.name) + ' ' +\
11953            'port_override: ' + repr(self.port_override) + ' ' +\
11954            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
11955            'region: ' + repr(self.region) + ' ' +\
11956            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
11957            'subdomain: ' + repr(self.subdomain) + ' ' +\
11958            'tags: ' + repr(self.tags) + ' ' +\
11959            '>'
11960
11961    def to_dict(self):
11962        return {
11963            'bind_interface': self.bind_interface,
11964            'connect_to_replica': self.connect_to_replica,
11965            'egress_filter': self.egress_filter,
11966            'healthy': self.healthy,
11967            'hostname': self.hostname,
11968            'id': self.id,
11969            'name': self.name,
11970            'port_override': self.port_override,
11971            'proxy_cluster_id': self.proxy_cluster_id,
11972            'region': self.region,
11973            'secret_store_id': self.secret_store_id,
11974            'subdomain': self.subdomain,
11975            'tags': self.tags,
11976        }
11977
11978    @classmethod
11979    def from_dict(cls, d):
11980        return cls(
11981            bind_interface=d.get('bind_interface'),
11982            connect_to_replica=d.get('connect_to_replica'),
11983            egress_filter=d.get('egress_filter'),
11984            healthy=d.get('healthy'),
11985            hostname=d.get('hostname'),
11986            id=d.get('id'),
11987            name=d.get('name'),
11988            port_override=d.get('port_override'),
11989            proxy_cluster_id=d.get('proxy_cluster_id'),
11990            region=d.get('region'),
11991            secret_store_id=d.get('secret_store_id'),
11992            subdomain=d.get('subdomain'),
11993            tags=d.get('tags'),
11994        )

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)
11875    def __init__(
11876        self,
11877        bind_interface=None,
11878        connect_to_replica=None,
11879        egress_filter=None,
11880        healthy=None,
11881        hostname=None,
11882        id=None,
11883        name=None,
11884        port_override=None,
11885        proxy_cluster_id=None,
11886        region=None,
11887        secret_store_id=None,
11888        subdomain=None,
11889        tags=None,
11890    ):
11891        self.bind_interface = bind_interface if bind_interface is not None else ''
11892        '''
11893         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11894        '''
11895        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
11896        '''
11897         Set to connect to a replica instead of the primary node.
11898        '''
11899        self.egress_filter = egress_filter if egress_filter is not None else ''
11900        '''
11901         A filter applied to the routing logic to pin datasource to nodes.
11902        '''
11903        self.healthy = healthy if healthy is not None else False
11904        '''
11905         True if the datasource is reachable and the credentials are valid.
11906        '''
11907        self.hostname = hostname if hostname is not None else ''
11908        '''
11909         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
11910        '''
11911        self.id = id if id is not None else ''
11912        '''
11913         Unique identifier of the Resource.
11914        '''
11915        self.name = name if name is not None else ''
11916        '''
11917         Unique human-readable name of the Resource.
11918        '''
11919        self.port_override = port_override if port_override is not None else 0
11920        '''
11921         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
11922        '''
11923        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
11924        '''
11925         ID of the proxy cluster for this resource, if any.
11926        '''
11927        self.region = region if region is not None else ''
11928        '''
11929         The region of the document db cluster
11930        '''
11931        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
11932        '''
11933         ID of the secret store containing credentials for this resource, if any.
11934        '''
11935        self.subdomain = subdomain if subdomain is not None else ''
11936        '''
11937         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
11938        '''
11939        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
11940        '''
11941         Tags is a map of key, value pairs.
11942        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

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

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
12107    def to_dict(self):
12108        return {
12109            'bind_interface': self.bind_interface,
12110            'egress_filter': self.egress_filter,
12111            'healthy': self.healthy,
12112            'hostname': self.hostname,
12113            'id': self.id,
12114            'name': self.name,
12115            'password': self.password,
12116            'port': self.port,
12117            'port_override': self.port_override,
12118            'proxy_cluster_id': self.proxy_cluster_id,
12119            'secret_store_id': self.secret_store_id,
12120            'subdomain': self.subdomain,
12121            'tags': self.tags,
12122            'username': self.username,
12123        }
@classmethod
def from_dict(cls, d)
12125    @classmethod
12126    def from_dict(cls, d):
12127        return cls(
12128            bind_interface=d.get('bind_interface'),
12129            egress_filter=d.get('egress_filter'),
12130            healthy=d.get('healthy'),
12131            hostname=d.get('hostname'),
12132            id=d.get('id'),
12133            name=d.get('name'),
12134            password=d.get('password'),
12135            port=d.get('port'),
12136            port_override=d.get('port_override'),
12137            proxy_cluster_id=d.get('proxy_cluster_id'),
12138            secret_store_id=d.get('secret_store_id'),
12139            subdomain=d.get('subdomain'),
12140            tags=d.get('tags'),
12141            username=d.get('username'),
12142        )
class DynamoDB:
12145class DynamoDB:
12146    __slots__ = [
12147        'access_key',
12148        'bind_interface',
12149        'egress_filter',
12150        'endpoint',
12151        'healthy',
12152        'id',
12153        'name',
12154        'port_override',
12155        'proxy_cluster_id',
12156        'region',
12157        'role_arn',
12158        'role_external_id',
12159        'secret_access_key',
12160        'secret_store_id',
12161        'subdomain',
12162        'tags',
12163    ]
12164
12165    def __init__(
12166        self,
12167        access_key=None,
12168        bind_interface=None,
12169        egress_filter=None,
12170        endpoint=None,
12171        healthy=None,
12172        id=None,
12173        name=None,
12174        port_override=None,
12175        proxy_cluster_id=None,
12176        region=None,
12177        role_arn=None,
12178        role_external_id=None,
12179        secret_access_key=None,
12180        secret_store_id=None,
12181        subdomain=None,
12182        tags=None,
12183    ):
12184        self.access_key = access_key if access_key is not None else ''
12185        '''
12186         The Access Key ID to use to authenticate.
12187        '''
12188        self.bind_interface = bind_interface if bind_interface is not None else ''
12189        '''
12190         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12191        '''
12192        self.egress_filter = egress_filter if egress_filter is not None else ''
12193        '''
12194         A filter applied to the routing logic to pin datasource to nodes.
12195        '''
12196        self.endpoint = endpoint if endpoint is not None else ''
12197        '''
12198         The endpoint to dial e.g. dynamodb.region.amazonaws.com
12199        '''
12200        self.healthy = healthy if healthy is not None else False
12201        '''
12202         True if the datasource is reachable and the credentials are valid.
12203        '''
12204        self.id = id if id is not None else ''
12205        '''
12206         Unique identifier of the Resource.
12207        '''
12208        self.name = name if name is not None else ''
12209        '''
12210         Unique human-readable name of the Resource.
12211        '''
12212        self.port_override = port_override if port_override is not None else 0
12213        '''
12214         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12215        '''
12216        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12217        '''
12218         ID of the proxy cluster for this resource, if any.
12219        '''
12220        self.region = region if region is not None else ''
12221        '''
12222         The region to authenticate requests against e.g. us-east-1
12223        '''
12224        self.role_arn = role_arn if role_arn is not None else ''
12225        '''
12226         The role to assume after logging in.
12227        '''
12228        self.role_external_id = role_external_id if role_external_id is not None else ''
12229        '''
12230         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
12231        '''
12232        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
12233        '''
12234         The Secret Access Key to use to authenticate.
12235        '''
12236        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12237        '''
12238         ID of the secret store containing credentials for this resource, if any.
12239        '''
12240        self.subdomain = subdomain if subdomain is not None else ''
12241        '''
12242         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12243        '''
12244        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12245        '''
12246         Tags is a map of key, value pairs.
12247        '''
12248
12249    def __repr__(self):
12250        return '<sdm.DynamoDB ' + \
12251            'access_key: ' + repr(self.access_key) + ' ' +\
12252            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12253            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12254            'endpoint: ' + repr(self.endpoint) + ' ' +\
12255            'healthy: ' + repr(self.healthy) + ' ' +\
12256            'id: ' + repr(self.id) + ' ' +\
12257            'name: ' + repr(self.name) + ' ' +\
12258            'port_override: ' + repr(self.port_override) + ' ' +\
12259            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12260            'region: ' + repr(self.region) + ' ' +\
12261            'role_arn: ' + repr(self.role_arn) + ' ' +\
12262            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
12263            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
12264            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12265            'subdomain: ' + repr(self.subdomain) + ' ' +\
12266            'tags: ' + repr(self.tags) + ' ' +\
12267            '>'
12268
12269    def to_dict(self):
12270        return {
12271            'access_key': self.access_key,
12272            'bind_interface': self.bind_interface,
12273            'egress_filter': self.egress_filter,
12274            'endpoint': self.endpoint,
12275            'healthy': self.healthy,
12276            'id': self.id,
12277            'name': self.name,
12278            'port_override': self.port_override,
12279            'proxy_cluster_id': self.proxy_cluster_id,
12280            'region': self.region,
12281            'role_arn': self.role_arn,
12282            'role_external_id': self.role_external_id,
12283            'secret_access_key': self.secret_access_key,
12284            'secret_store_id': self.secret_store_id,
12285            'subdomain': self.subdomain,
12286            'tags': self.tags,
12287        }
12288
12289    @classmethod
12290    def from_dict(cls, d):
12291        return cls(
12292            access_key=d.get('access_key'),
12293            bind_interface=d.get('bind_interface'),
12294            egress_filter=d.get('egress_filter'),
12295            endpoint=d.get('endpoint'),
12296            healthy=d.get('healthy'),
12297            id=d.get('id'),
12298            name=d.get('name'),
12299            port_override=d.get('port_override'),
12300            proxy_cluster_id=d.get('proxy_cluster_id'),
12301            region=d.get('region'),
12302            role_arn=d.get('role_arn'),
12303            role_external_id=d.get('role_external_id'),
12304            secret_access_key=d.get('secret_access_key'),
12305            secret_store_id=d.get('secret_store_id'),
12306            subdomain=d.get('subdomain'),
12307            tags=d.get('tags'),
12308        )
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)
12165    def __init__(
12166        self,
12167        access_key=None,
12168        bind_interface=None,
12169        egress_filter=None,
12170        endpoint=None,
12171        healthy=None,
12172        id=None,
12173        name=None,
12174        port_override=None,
12175        proxy_cluster_id=None,
12176        region=None,
12177        role_arn=None,
12178        role_external_id=None,
12179        secret_access_key=None,
12180        secret_store_id=None,
12181        subdomain=None,
12182        tags=None,
12183    ):
12184        self.access_key = access_key if access_key is not None else ''
12185        '''
12186         The Access Key ID to use to authenticate.
12187        '''
12188        self.bind_interface = bind_interface if bind_interface is not None else ''
12189        '''
12190         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12191        '''
12192        self.egress_filter = egress_filter if egress_filter is not None else ''
12193        '''
12194         A filter applied to the routing logic to pin datasource to nodes.
12195        '''
12196        self.endpoint = endpoint if endpoint is not None else ''
12197        '''
12198         The endpoint to dial e.g. dynamodb.region.amazonaws.com
12199        '''
12200        self.healthy = healthy if healthy is not None else False
12201        '''
12202         True if the datasource is reachable and the credentials are valid.
12203        '''
12204        self.id = id if id is not None else ''
12205        '''
12206         Unique identifier of the Resource.
12207        '''
12208        self.name = name if name is not None else ''
12209        '''
12210         Unique human-readable name of the Resource.
12211        '''
12212        self.port_override = port_override if port_override is not None else 0
12213        '''
12214         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12215        '''
12216        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12217        '''
12218         ID of the proxy cluster for this resource, if any.
12219        '''
12220        self.region = region if region is not None else ''
12221        '''
12222         The region to authenticate requests against e.g. us-east-1
12223        '''
12224        self.role_arn = role_arn if role_arn is not None else ''
12225        '''
12226         The role to assume after logging in.
12227        '''
12228        self.role_external_id = role_external_id if role_external_id is not None else ''
12229        '''
12230         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
12231        '''
12232        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
12233        '''
12234         The Secret Access Key to use to authenticate.
12235        '''
12236        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12237        '''
12238         ID of the secret store containing credentials for this resource, if any.
12239        '''
12240        self.subdomain = subdomain if subdomain is not None else ''
12241        '''
12242         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12243        '''
12244        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12245        '''
12246         Tags is a map of key, value pairs.
12247        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
12269    def to_dict(self):
12270        return {
12271            'access_key': self.access_key,
12272            'bind_interface': self.bind_interface,
12273            'egress_filter': self.egress_filter,
12274            'endpoint': self.endpoint,
12275            'healthy': self.healthy,
12276            'id': self.id,
12277            'name': self.name,
12278            'port_override': self.port_override,
12279            'proxy_cluster_id': self.proxy_cluster_id,
12280            'region': self.region,
12281            'role_arn': self.role_arn,
12282            'role_external_id': self.role_external_id,
12283            'secret_access_key': self.secret_access_key,
12284            'secret_store_id': self.secret_store_id,
12285            'subdomain': self.subdomain,
12286            'tags': self.tags,
12287        }
@classmethod
def from_dict(cls, d)
12289    @classmethod
12290    def from_dict(cls, d):
12291        return cls(
12292            access_key=d.get('access_key'),
12293            bind_interface=d.get('bind_interface'),
12294            egress_filter=d.get('egress_filter'),
12295            endpoint=d.get('endpoint'),
12296            healthy=d.get('healthy'),
12297            id=d.get('id'),
12298            name=d.get('name'),
12299            port_override=d.get('port_override'),
12300            proxy_cluster_id=d.get('proxy_cluster_id'),
12301            region=d.get('region'),
12302            role_arn=d.get('role_arn'),
12303            role_external_id=d.get('role_external_id'),
12304            secret_access_key=d.get('secret_access_key'),
12305            secret_store_id=d.get('secret_store_id'),
12306            subdomain=d.get('subdomain'),
12307            tags=d.get('tags'),
12308        )
class DynamoDBIAM:
12311class DynamoDBIAM:
12312    __slots__ = [
12313        'bind_interface',
12314        'egress_filter',
12315        'endpoint',
12316        'healthy',
12317        'id',
12318        'name',
12319        'port_override',
12320        'proxy_cluster_id',
12321        'region',
12322        'role_arn',
12323        'role_external_id',
12324        'secret_store_id',
12325        'subdomain',
12326        'tags',
12327    ]
12328
12329    def __init__(
12330        self,
12331        bind_interface=None,
12332        egress_filter=None,
12333        endpoint=None,
12334        healthy=None,
12335        id=None,
12336        name=None,
12337        port_override=None,
12338        proxy_cluster_id=None,
12339        region=None,
12340        role_arn=None,
12341        role_external_id=None,
12342        secret_store_id=None,
12343        subdomain=None,
12344        tags=None,
12345    ):
12346        self.bind_interface = bind_interface if bind_interface is not None else ''
12347        '''
12348         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12349        '''
12350        self.egress_filter = egress_filter if egress_filter is not None else ''
12351        '''
12352         A filter applied to the routing logic to pin datasource to nodes.
12353        '''
12354        self.endpoint = endpoint if endpoint is not None else ''
12355        '''
12356         The endpoint to dial e.g. dynamodb.region.amazonaws.com
12357        '''
12358        self.healthy = healthy if healthy is not None else False
12359        '''
12360         True if the datasource is reachable and the credentials are valid.
12361        '''
12362        self.id = id if id is not None else ''
12363        '''
12364         Unique identifier of the Resource.
12365        '''
12366        self.name = name if name is not None else ''
12367        '''
12368         Unique human-readable name of the Resource.
12369        '''
12370        self.port_override = port_override if port_override is not None else 0
12371        '''
12372         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12373        '''
12374        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12375        '''
12376         ID of the proxy cluster for this resource, if any.
12377        '''
12378        self.region = region if region is not None else ''
12379        '''
12380         The region to authenticate requests against e.g. us-east-1
12381        '''
12382        self.role_arn = role_arn if role_arn is not None else ''
12383        '''
12384         The role to assume after logging in.
12385        '''
12386        self.role_external_id = role_external_id if role_external_id is not None else ''
12387        '''
12388         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
12389        '''
12390        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12391        '''
12392         ID of the secret store containing credentials for this resource, if any.
12393        '''
12394        self.subdomain = subdomain if subdomain is not None else ''
12395        '''
12396         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12397        '''
12398        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12399        '''
12400         Tags is a map of key, value pairs.
12401        '''
12402
12403    def __repr__(self):
12404        return '<sdm.DynamoDBIAM ' + \
12405            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12406            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12407            'endpoint: ' + repr(self.endpoint) + ' ' +\
12408            'healthy: ' + repr(self.healthy) + ' ' +\
12409            'id: ' + repr(self.id) + ' ' +\
12410            'name: ' + repr(self.name) + ' ' +\
12411            'port_override: ' + repr(self.port_override) + ' ' +\
12412            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12413            'region: ' + repr(self.region) + ' ' +\
12414            'role_arn: ' + repr(self.role_arn) + ' ' +\
12415            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
12416            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12417            'subdomain: ' + repr(self.subdomain) + ' ' +\
12418            'tags: ' + repr(self.tags) + ' ' +\
12419            '>'
12420
12421    def to_dict(self):
12422        return {
12423            'bind_interface': self.bind_interface,
12424            'egress_filter': self.egress_filter,
12425            'endpoint': self.endpoint,
12426            'healthy': self.healthy,
12427            'id': self.id,
12428            'name': self.name,
12429            'port_override': self.port_override,
12430            'proxy_cluster_id': self.proxy_cluster_id,
12431            'region': self.region,
12432            'role_arn': self.role_arn,
12433            'role_external_id': self.role_external_id,
12434            'secret_store_id': self.secret_store_id,
12435            'subdomain': self.subdomain,
12436            'tags': self.tags,
12437        }
12438
12439    @classmethod
12440    def from_dict(cls, d):
12441        return cls(
12442            bind_interface=d.get('bind_interface'),
12443            egress_filter=d.get('egress_filter'),
12444            endpoint=d.get('endpoint'),
12445            healthy=d.get('healthy'),
12446            id=d.get('id'),
12447            name=d.get('name'),
12448            port_override=d.get('port_override'),
12449            proxy_cluster_id=d.get('proxy_cluster_id'),
12450            region=d.get('region'),
12451            role_arn=d.get('role_arn'),
12452            role_external_id=d.get('role_external_id'),
12453            secret_store_id=d.get('secret_store_id'),
12454            subdomain=d.get('subdomain'),
12455            tags=d.get('tags'),
12456        )
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)
12329    def __init__(
12330        self,
12331        bind_interface=None,
12332        egress_filter=None,
12333        endpoint=None,
12334        healthy=None,
12335        id=None,
12336        name=None,
12337        port_override=None,
12338        proxy_cluster_id=None,
12339        region=None,
12340        role_arn=None,
12341        role_external_id=None,
12342        secret_store_id=None,
12343        subdomain=None,
12344        tags=None,
12345    ):
12346        self.bind_interface = bind_interface if bind_interface is not None else ''
12347        '''
12348         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12349        '''
12350        self.egress_filter = egress_filter if egress_filter is not None else ''
12351        '''
12352         A filter applied to the routing logic to pin datasource to nodes.
12353        '''
12354        self.endpoint = endpoint if endpoint is not None else ''
12355        '''
12356         The endpoint to dial e.g. dynamodb.region.amazonaws.com
12357        '''
12358        self.healthy = healthy if healthy is not None else False
12359        '''
12360         True if the datasource is reachable and the credentials are valid.
12361        '''
12362        self.id = id if id is not None else ''
12363        '''
12364         Unique identifier of the Resource.
12365        '''
12366        self.name = name if name is not None else ''
12367        '''
12368         Unique human-readable name of the Resource.
12369        '''
12370        self.port_override = port_override if port_override is not None else 0
12371        '''
12372         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12373        '''
12374        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12375        '''
12376         ID of the proxy cluster for this resource, if any.
12377        '''
12378        self.region = region if region is not None else ''
12379        '''
12380         The region to authenticate requests against e.g. us-east-1
12381        '''
12382        self.role_arn = role_arn if role_arn is not None else ''
12383        '''
12384         The role to assume after logging in.
12385        '''
12386        self.role_external_id = role_external_id if role_external_id is not None else ''
12387        '''
12388         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
12389        '''
12390        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12391        '''
12392         ID of the secret store containing credentials for this resource, if any.
12393        '''
12394        self.subdomain = subdomain if subdomain is not None else ''
12395        '''
12396         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12397        '''
12398        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12399        '''
12400         Tags is a map of key, value pairs.
12401        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
12421    def to_dict(self):
12422        return {
12423            'bind_interface': self.bind_interface,
12424            'egress_filter': self.egress_filter,
12425            'endpoint': self.endpoint,
12426            'healthy': self.healthy,
12427            'id': self.id,
12428            'name': self.name,
12429            'port_override': self.port_override,
12430            'proxy_cluster_id': self.proxy_cluster_id,
12431            'region': self.region,
12432            'role_arn': self.role_arn,
12433            'role_external_id': self.role_external_id,
12434            'secret_store_id': self.secret_store_id,
12435            'subdomain': self.subdomain,
12436            'tags': self.tags,
12437        }
@classmethod
def from_dict(cls, d)
12439    @classmethod
12440    def from_dict(cls, d):
12441        return cls(
12442            bind_interface=d.get('bind_interface'),
12443            egress_filter=d.get('egress_filter'),
12444            endpoint=d.get('endpoint'),
12445            healthy=d.get('healthy'),
12446            id=d.get('id'),
12447            name=d.get('name'),
12448            port_override=d.get('port_override'),
12449            proxy_cluster_id=d.get('proxy_cluster_id'),
12450            region=d.get('region'),
12451            role_arn=d.get('role_arn'),
12452            role_external_id=d.get('role_external_id'),
12453            secret_store_id=d.get('secret_store_id'),
12454            subdomain=d.get('subdomain'),
12455            tags=d.get('tags'),
12456        )
class Elastic:
12459class Elastic:
12460    __slots__ = [
12461        'bind_interface',
12462        'egress_filter',
12463        'healthy',
12464        'hostname',
12465        'id',
12466        'name',
12467        'password',
12468        'port',
12469        'port_override',
12470        'proxy_cluster_id',
12471        'secret_store_id',
12472        'subdomain',
12473        'tags',
12474        'tls_required',
12475        'username',
12476    ]
12477
12478    def __init__(
12479        self,
12480        bind_interface=None,
12481        egress_filter=None,
12482        healthy=None,
12483        hostname=None,
12484        id=None,
12485        name=None,
12486        password=None,
12487        port=None,
12488        port_override=None,
12489        proxy_cluster_id=None,
12490        secret_store_id=None,
12491        subdomain=None,
12492        tags=None,
12493        tls_required=None,
12494        username=None,
12495    ):
12496        self.bind_interface = bind_interface if bind_interface is not None else ''
12497        '''
12498         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12499        '''
12500        self.egress_filter = egress_filter if egress_filter is not None else ''
12501        '''
12502         A filter applied to the routing logic to pin datasource to nodes.
12503        '''
12504        self.healthy = healthy if healthy is not None else False
12505        '''
12506         True if the datasource is reachable and the credentials are valid.
12507        '''
12508        self.hostname = hostname if hostname is not None else ''
12509        '''
12510         The host to dial to initiate a connection from the egress node to this resource.
12511        '''
12512        self.id = id if id is not None else ''
12513        '''
12514         Unique identifier of the Resource.
12515        '''
12516        self.name = name if name is not None else ''
12517        '''
12518         Unique human-readable name of the Resource.
12519        '''
12520        self.password = password if password is not None else ''
12521        '''
12522         The password to authenticate with.
12523        '''
12524        self.port = port if port is not None else 0
12525        '''
12526         The port to dial to initiate a connection from the egress node to this resource.
12527        '''
12528        self.port_override = port_override if port_override is not None else 0
12529        '''
12530         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12531        '''
12532        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12533        '''
12534         ID of the proxy cluster for this resource, if any.
12535        '''
12536        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12537        '''
12538         ID of the secret store containing credentials for this resource, if any.
12539        '''
12540        self.subdomain = subdomain if subdomain is not None else ''
12541        '''
12542         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12543        '''
12544        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12545        '''
12546         Tags is a map of key, value pairs.
12547        '''
12548        self.tls_required = tls_required if tls_required is not None else False
12549        '''
12550         If set, TLS must be used to connect to this resource.
12551        '''
12552        self.username = username if username is not None else ''
12553        '''
12554         The username to authenticate with.
12555        '''
12556
12557    def __repr__(self):
12558        return '<sdm.Elastic ' + \
12559            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12560            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12561            'healthy: ' + repr(self.healthy) + ' ' +\
12562            'hostname: ' + repr(self.hostname) + ' ' +\
12563            'id: ' + repr(self.id) + ' ' +\
12564            'name: ' + repr(self.name) + ' ' +\
12565            'password: ' + repr(self.password) + ' ' +\
12566            'port: ' + repr(self.port) + ' ' +\
12567            'port_override: ' + repr(self.port_override) + ' ' +\
12568            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12569            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12570            'subdomain: ' + repr(self.subdomain) + ' ' +\
12571            'tags: ' + repr(self.tags) + ' ' +\
12572            'tls_required: ' + repr(self.tls_required) + ' ' +\
12573            'username: ' + repr(self.username) + ' ' +\
12574            '>'
12575
12576    def to_dict(self):
12577        return {
12578            'bind_interface': self.bind_interface,
12579            'egress_filter': self.egress_filter,
12580            'healthy': self.healthy,
12581            'hostname': self.hostname,
12582            'id': self.id,
12583            'name': self.name,
12584            'password': self.password,
12585            'port': self.port,
12586            'port_override': self.port_override,
12587            'proxy_cluster_id': self.proxy_cluster_id,
12588            'secret_store_id': self.secret_store_id,
12589            'subdomain': self.subdomain,
12590            'tags': self.tags,
12591            'tls_required': self.tls_required,
12592            'username': self.username,
12593        }
12594
12595    @classmethod
12596    def from_dict(cls, d):
12597        return cls(
12598            bind_interface=d.get('bind_interface'),
12599            egress_filter=d.get('egress_filter'),
12600            healthy=d.get('healthy'),
12601            hostname=d.get('hostname'),
12602            id=d.get('id'),
12603            name=d.get('name'),
12604            password=d.get('password'),
12605            port=d.get('port'),
12606            port_override=d.get('port_override'),
12607            proxy_cluster_id=d.get('proxy_cluster_id'),
12608            secret_store_id=d.get('secret_store_id'),
12609            subdomain=d.get('subdomain'),
12610            tags=d.get('tags'),
12611            tls_required=d.get('tls_required'),
12612            username=d.get('username'),
12613        )
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)
12478    def __init__(
12479        self,
12480        bind_interface=None,
12481        egress_filter=None,
12482        healthy=None,
12483        hostname=None,
12484        id=None,
12485        name=None,
12486        password=None,
12487        port=None,
12488        port_override=None,
12489        proxy_cluster_id=None,
12490        secret_store_id=None,
12491        subdomain=None,
12492        tags=None,
12493        tls_required=None,
12494        username=None,
12495    ):
12496        self.bind_interface = bind_interface if bind_interface is not None else ''
12497        '''
12498         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12499        '''
12500        self.egress_filter = egress_filter if egress_filter is not None else ''
12501        '''
12502         A filter applied to the routing logic to pin datasource to nodes.
12503        '''
12504        self.healthy = healthy if healthy is not None else False
12505        '''
12506         True if the datasource is reachable and the credentials are valid.
12507        '''
12508        self.hostname = hostname if hostname is not None else ''
12509        '''
12510         The host to dial to initiate a connection from the egress node to this resource.
12511        '''
12512        self.id = id if id is not None else ''
12513        '''
12514         Unique identifier of the Resource.
12515        '''
12516        self.name = name if name is not None else ''
12517        '''
12518         Unique human-readable name of the Resource.
12519        '''
12520        self.password = password if password is not None else ''
12521        '''
12522         The password to authenticate with.
12523        '''
12524        self.port = port if port is not None else 0
12525        '''
12526         The port to dial to initiate a connection from the egress node to this resource.
12527        '''
12528        self.port_override = port_override if port_override is not None else 0
12529        '''
12530         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12531        '''
12532        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12533        '''
12534         ID of the proxy cluster for this resource, if any.
12535        '''
12536        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12537        '''
12538         ID of the secret store containing credentials for this resource, if any.
12539        '''
12540        self.subdomain = subdomain if subdomain is not None else ''
12541        '''
12542         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12543        '''
12544        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12545        '''
12546         Tags is a map of key, value pairs.
12547        '''
12548        self.tls_required = tls_required if tls_required is not None else False
12549        '''
12550         If set, TLS must be used to connect to this resource.
12551        '''
12552        self.username = username if username is not None else ''
12553        '''
12554         The username to authenticate with.
12555        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
12576    def to_dict(self):
12577        return {
12578            'bind_interface': self.bind_interface,
12579            'egress_filter': self.egress_filter,
12580            'healthy': self.healthy,
12581            'hostname': self.hostname,
12582            'id': self.id,
12583            'name': self.name,
12584            'password': self.password,
12585            'port': self.port,
12586            'port_override': self.port_override,
12587            'proxy_cluster_id': self.proxy_cluster_id,
12588            'secret_store_id': self.secret_store_id,
12589            'subdomain': self.subdomain,
12590            'tags': self.tags,
12591            'tls_required': self.tls_required,
12592            'username': self.username,
12593        }
@classmethod
def from_dict(cls, d)
12595    @classmethod
12596    def from_dict(cls, d):
12597        return cls(
12598            bind_interface=d.get('bind_interface'),
12599            egress_filter=d.get('egress_filter'),
12600            healthy=d.get('healthy'),
12601            hostname=d.get('hostname'),
12602            id=d.get('id'),
12603            name=d.get('name'),
12604            password=d.get('password'),
12605            port=d.get('port'),
12606            port_override=d.get('port_override'),
12607            proxy_cluster_id=d.get('proxy_cluster_id'),
12608            secret_store_id=d.get('secret_store_id'),
12609            subdomain=d.get('subdomain'),
12610            tags=d.get('tags'),
12611            tls_required=d.get('tls_required'),
12612            username=d.get('username'),
12613        )
class ElasticacheRedis:
12616class ElasticacheRedis:
12617    __slots__ = [
12618        'bind_interface',
12619        'egress_filter',
12620        'healthy',
12621        'hostname',
12622        'id',
12623        'name',
12624        'password',
12625        'port',
12626        'port_override',
12627        'proxy_cluster_id',
12628        'secret_store_id',
12629        'subdomain',
12630        'tags',
12631        'tls_required',
12632        'username',
12633    ]
12634
12635    def __init__(
12636        self,
12637        bind_interface=None,
12638        egress_filter=None,
12639        healthy=None,
12640        hostname=None,
12641        id=None,
12642        name=None,
12643        password=None,
12644        port=None,
12645        port_override=None,
12646        proxy_cluster_id=None,
12647        secret_store_id=None,
12648        subdomain=None,
12649        tags=None,
12650        tls_required=None,
12651        username=None,
12652    ):
12653        self.bind_interface = bind_interface if bind_interface is not None else ''
12654        '''
12655         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12656        '''
12657        self.egress_filter = egress_filter if egress_filter is not None else ''
12658        '''
12659         A filter applied to the routing logic to pin datasource to nodes.
12660        '''
12661        self.healthy = healthy if healthy is not None else False
12662        '''
12663         True if the datasource is reachable and the credentials are valid.
12664        '''
12665        self.hostname = hostname if hostname is not None else ''
12666        '''
12667         The host to dial to initiate a connection from the egress node to this resource.
12668        '''
12669        self.id = id if id is not None else ''
12670        '''
12671         Unique identifier of the Resource.
12672        '''
12673        self.name = name if name is not None else ''
12674        '''
12675         Unique human-readable name of the Resource.
12676        '''
12677        self.password = password if password is not None else ''
12678        '''
12679         The password to authenticate with.
12680        '''
12681        self.port = port if port is not None else 0
12682        '''
12683         The port to dial to initiate a connection from the egress node to this resource.
12684        '''
12685        self.port_override = port_override if port_override is not None else 0
12686        '''
12687         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12688        '''
12689        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12690        '''
12691         ID of the proxy cluster for this resource, if any.
12692        '''
12693        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12694        '''
12695         ID of the secret store containing credentials for this resource, if any.
12696        '''
12697        self.subdomain = subdomain if subdomain is not None else ''
12698        '''
12699         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12700        '''
12701        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12702        '''
12703         Tags is a map of key, value pairs.
12704        '''
12705        self.tls_required = tls_required if tls_required is not None else False
12706        '''
12707         If set, TLS must be used to connect to this resource.
12708        '''
12709        self.username = username if username is not None else ''
12710        '''
12711         The username to authenticate with.
12712        '''
12713
12714    def __repr__(self):
12715        return '<sdm.ElasticacheRedis ' + \
12716            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12717            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12718            'healthy: ' + repr(self.healthy) + ' ' +\
12719            'hostname: ' + repr(self.hostname) + ' ' +\
12720            'id: ' + repr(self.id) + ' ' +\
12721            'name: ' + repr(self.name) + ' ' +\
12722            'password: ' + repr(self.password) + ' ' +\
12723            'port: ' + repr(self.port) + ' ' +\
12724            'port_override: ' + repr(self.port_override) + ' ' +\
12725            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12726            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12727            'subdomain: ' + repr(self.subdomain) + ' ' +\
12728            'tags: ' + repr(self.tags) + ' ' +\
12729            'tls_required: ' + repr(self.tls_required) + ' ' +\
12730            'username: ' + repr(self.username) + ' ' +\
12731            '>'
12732
12733    def to_dict(self):
12734        return {
12735            'bind_interface': self.bind_interface,
12736            'egress_filter': self.egress_filter,
12737            'healthy': self.healthy,
12738            'hostname': self.hostname,
12739            'id': self.id,
12740            'name': self.name,
12741            'password': self.password,
12742            'port': self.port,
12743            'port_override': self.port_override,
12744            'proxy_cluster_id': self.proxy_cluster_id,
12745            'secret_store_id': self.secret_store_id,
12746            'subdomain': self.subdomain,
12747            'tags': self.tags,
12748            'tls_required': self.tls_required,
12749            'username': self.username,
12750        }
12751
12752    @classmethod
12753    def from_dict(cls, d):
12754        return cls(
12755            bind_interface=d.get('bind_interface'),
12756            egress_filter=d.get('egress_filter'),
12757            healthy=d.get('healthy'),
12758            hostname=d.get('hostname'),
12759            id=d.get('id'),
12760            name=d.get('name'),
12761            password=d.get('password'),
12762            port=d.get('port'),
12763            port_override=d.get('port_override'),
12764            proxy_cluster_id=d.get('proxy_cluster_id'),
12765            secret_store_id=d.get('secret_store_id'),
12766            subdomain=d.get('subdomain'),
12767            tags=d.get('tags'),
12768            tls_required=d.get('tls_required'),
12769            username=d.get('username'),
12770        )
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)
12635    def __init__(
12636        self,
12637        bind_interface=None,
12638        egress_filter=None,
12639        healthy=None,
12640        hostname=None,
12641        id=None,
12642        name=None,
12643        password=None,
12644        port=None,
12645        port_override=None,
12646        proxy_cluster_id=None,
12647        secret_store_id=None,
12648        subdomain=None,
12649        tags=None,
12650        tls_required=None,
12651        username=None,
12652    ):
12653        self.bind_interface = bind_interface if bind_interface is not None else ''
12654        '''
12655         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12656        '''
12657        self.egress_filter = egress_filter if egress_filter is not None else ''
12658        '''
12659         A filter applied to the routing logic to pin datasource to nodes.
12660        '''
12661        self.healthy = healthy if healthy is not None else False
12662        '''
12663         True if the datasource is reachable and the credentials are valid.
12664        '''
12665        self.hostname = hostname if hostname is not None else ''
12666        '''
12667         The host to dial to initiate a connection from the egress node to this resource.
12668        '''
12669        self.id = id if id is not None else ''
12670        '''
12671         Unique identifier of the Resource.
12672        '''
12673        self.name = name if name is not None else ''
12674        '''
12675         Unique human-readable name of the Resource.
12676        '''
12677        self.password = password if password is not None else ''
12678        '''
12679         The password to authenticate with.
12680        '''
12681        self.port = port if port is not None else 0
12682        '''
12683         The port to dial to initiate a connection from the egress node to this resource.
12684        '''
12685        self.port_override = port_override if port_override is not None else 0
12686        '''
12687         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
12688        '''
12689        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12690        '''
12691         ID of the proxy cluster for this resource, if any.
12692        '''
12693        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12694        '''
12695         ID of the secret store containing credentials for this resource, if any.
12696        '''
12697        self.subdomain = subdomain if subdomain is not None else ''
12698        '''
12699         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12700        '''
12701        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12702        '''
12703         Tags is a map of key, value pairs.
12704        '''
12705        self.tls_required = tls_required if tls_required is not None else False
12706        '''
12707         If set, TLS must be used to connect to this resource.
12708        '''
12709        self.username = username if username is not None else ''
12710        '''
12711         The username to authenticate with.
12712        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
12733    def to_dict(self):
12734        return {
12735            'bind_interface': self.bind_interface,
12736            'egress_filter': self.egress_filter,
12737            'healthy': self.healthy,
12738            'hostname': self.hostname,
12739            'id': self.id,
12740            'name': self.name,
12741            'password': self.password,
12742            'port': self.port,
12743            'port_override': self.port_override,
12744            'proxy_cluster_id': self.proxy_cluster_id,
12745            'secret_store_id': self.secret_store_id,
12746            'subdomain': self.subdomain,
12747            'tags': self.tags,
12748            'tls_required': self.tls_required,
12749            'username': self.username,
12750        }
@classmethod
def from_dict(cls, d)
12752    @classmethod
12753    def from_dict(cls, d):
12754        return cls(
12755            bind_interface=d.get('bind_interface'),
12756            egress_filter=d.get('egress_filter'),
12757            healthy=d.get('healthy'),
12758            hostname=d.get('hostname'),
12759            id=d.get('id'),
12760            name=d.get('name'),
12761            password=d.get('password'),
12762            port=d.get('port'),
12763            port_override=d.get('port_override'),
12764            proxy_cluster_id=d.get('proxy_cluster_id'),
12765            secret_store_id=d.get('secret_store_id'),
12766            subdomain=d.get('subdomain'),
12767            tags=d.get('tags'),
12768            tls_required=d.get('tls_required'),
12769            username=d.get('username'),
12770        )
class EntraID:
12773class EntraID:
12774    __slots__ = [
12775        'bind_interface',
12776        'discovery_enabled',
12777        'egress_filter',
12778        'group_names',
12779        'healthy',
12780        'id',
12781        'identity_set_id',
12782        'management_group_id',
12783        'name',
12784        'privilege_levels',
12785        'proxy_cluster_id',
12786        'resource_group_id',
12787        'secret_store_id',
12788        'subdomain',
12789        'subscription_id',
12790        'tags',
12791        'tenant_id',
12792    ]
12793
12794    def __init__(
12795        self,
12796        bind_interface=None,
12797        discovery_enabled=None,
12798        egress_filter=None,
12799        group_names=None,
12800        healthy=None,
12801        id=None,
12802        identity_set_id=None,
12803        management_group_id=None,
12804        name=None,
12805        privilege_levels=None,
12806        proxy_cluster_id=None,
12807        resource_group_id=None,
12808        secret_store_id=None,
12809        subdomain=None,
12810        subscription_id=None,
12811        tags=None,
12812        tenant_id=None,
12813    ):
12814        self.bind_interface = bind_interface if bind_interface is not None else ''
12815        '''
12816         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12817        '''
12818        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12819        '''
12820         If true, configures discovery of the tenant to be run from a node.
12821        '''
12822        self.egress_filter = egress_filter if egress_filter is not None else ''
12823        '''
12824         A filter applied to the routing logic to pin datasource to nodes.
12825        '''
12826        self.group_names = group_names if group_names is not None else ''
12827        '''
12828         comma separated list of group names to filter by. Supports wildcards (*)
12829        '''
12830        self.healthy = healthy if healthy is not None else False
12831        '''
12832         True if the datasource is reachable and the credentials are valid.
12833        '''
12834        self.id = id if id is not None else ''
12835        '''
12836         Unique identifier of the Resource.
12837        '''
12838        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12839        '''
12840         The ID of the identity set to use for identity connections.
12841        '''
12842        self.management_group_id = management_group_id if management_group_id is not None else ''
12843        '''
12844         The management group ID to authenticate scope Privileges to.
12845        '''
12846        self.name = name if name is not None else ''
12847        '''
12848         Unique human-readable name of the Resource.
12849        '''
12850        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
12851        '''
12852         The privilege levels specify which Groups are managed externally
12853        '''
12854        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12855        '''
12856         ID of the proxy cluster for this resource, if any.
12857        '''
12858        self.resource_group_id = resource_group_id if resource_group_id is not None else ''
12859        '''
12860         filters discovered groups to the specified Resource Group
12861        '''
12862        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12863        '''
12864         ID of the secret store containing credentials for this resource, if any.
12865        '''
12866        self.subdomain = subdomain if subdomain is not None else ''
12867        '''
12868         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12869        '''
12870        self.subscription_id = subscription_id if subscription_id is not None else ''
12871        '''
12872         The subscription ID to authenticate scope Privileges to.
12873        '''
12874        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12875        '''
12876         Tags is a map of key, value pairs.
12877        '''
12878        self.tenant_id = tenant_id if tenant_id is not None else ''
12879        '''
12880         The connector ID to authenticate through.
12881        '''
12882
12883    def __repr__(self):
12884        return '<sdm.EntraID ' + \
12885            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
12886            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
12887            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
12888            'group_names: ' + repr(self.group_names) + ' ' +\
12889            'healthy: ' + repr(self.healthy) + ' ' +\
12890            'id: ' + repr(self.id) + ' ' +\
12891            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
12892            'management_group_id: ' + repr(self.management_group_id) + ' ' +\
12893            'name: ' + repr(self.name) + ' ' +\
12894            'privilege_levels: ' + repr(self.privilege_levels) + ' ' +\
12895            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
12896            'resource_group_id: ' + repr(self.resource_group_id) + ' ' +\
12897            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
12898            'subdomain: ' + repr(self.subdomain) + ' ' +\
12899            'subscription_id: ' + repr(self.subscription_id) + ' ' +\
12900            'tags: ' + repr(self.tags) + ' ' +\
12901            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
12902            '>'
12903
12904    def to_dict(self):
12905        return {
12906            'bind_interface': self.bind_interface,
12907            'discovery_enabled': self.discovery_enabled,
12908            'egress_filter': self.egress_filter,
12909            'group_names': self.group_names,
12910            'healthy': self.healthy,
12911            'id': self.id,
12912            'identity_set_id': self.identity_set_id,
12913            'management_group_id': self.management_group_id,
12914            'name': self.name,
12915            'privilege_levels': self.privilege_levels,
12916            'proxy_cluster_id': self.proxy_cluster_id,
12917            'resource_group_id': self.resource_group_id,
12918            'secret_store_id': self.secret_store_id,
12919            'subdomain': self.subdomain,
12920            'subscription_id': self.subscription_id,
12921            'tags': self.tags,
12922            'tenant_id': self.tenant_id,
12923        }
12924
12925    @classmethod
12926    def from_dict(cls, d):
12927        return cls(
12928            bind_interface=d.get('bind_interface'),
12929            discovery_enabled=d.get('discovery_enabled'),
12930            egress_filter=d.get('egress_filter'),
12931            group_names=d.get('group_names'),
12932            healthy=d.get('healthy'),
12933            id=d.get('id'),
12934            identity_set_id=d.get('identity_set_id'),
12935            management_group_id=d.get('management_group_id'),
12936            name=d.get('name'),
12937            privilege_levels=d.get('privilege_levels'),
12938            proxy_cluster_id=d.get('proxy_cluster_id'),
12939            resource_group_id=d.get('resource_group_id'),
12940            secret_store_id=d.get('secret_store_id'),
12941            subdomain=d.get('subdomain'),
12942            subscription_id=d.get('subscription_id'),
12943            tags=d.get('tags'),
12944            tenant_id=d.get('tenant_id'),
12945        )
EntraID( bind_interface=None, discovery_enabled=None, egress_filter=None, group_names=None, healthy=None, id=None, identity_set_id=None, management_group_id=None, name=None, privilege_levels=None, proxy_cluster_id=None, resource_group_id=None, secret_store_id=None, subdomain=None, subscription_id=None, tags=None, tenant_id=None)
12794    def __init__(
12795        self,
12796        bind_interface=None,
12797        discovery_enabled=None,
12798        egress_filter=None,
12799        group_names=None,
12800        healthy=None,
12801        id=None,
12802        identity_set_id=None,
12803        management_group_id=None,
12804        name=None,
12805        privilege_levels=None,
12806        proxy_cluster_id=None,
12807        resource_group_id=None,
12808        secret_store_id=None,
12809        subdomain=None,
12810        subscription_id=None,
12811        tags=None,
12812        tenant_id=None,
12813    ):
12814        self.bind_interface = bind_interface if bind_interface is not None else ''
12815        '''
12816         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12817        '''
12818        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
12819        '''
12820         If true, configures discovery of the tenant to be run from a node.
12821        '''
12822        self.egress_filter = egress_filter if egress_filter is not None else ''
12823        '''
12824         A filter applied to the routing logic to pin datasource to nodes.
12825        '''
12826        self.group_names = group_names if group_names is not None else ''
12827        '''
12828         comma separated list of group names to filter by. Supports wildcards (*)
12829        '''
12830        self.healthy = healthy if healthy is not None else False
12831        '''
12832         True if the datasource is reachable and the credentials are valid.
12833        '''
12834        self.id = id if id is not None else ''
12835        '''
12836         Unique identifier of the Resource.
12837        '''
12838        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
12839        '''
12840         The ID of the identity set to use for identity connections.
12841        '''
12842        self.management_group_id = management_group_id if management_group_id is not None else ''
12843        '''
12844         The management group ID to authenticate scope Privileges to.
12845        '''
12846        self.name = name if name is not None else ''
12847        '''
12848         Unique human-readable name of the Resource.
12849        '''
12850        self.privilege_levels = privilege_levels if privilege_levels is not None else ''
12851        '''
12852         The privilege levels specify which Groups are managed externally
12853        '''
12854        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
12855        '''
12856         ID of the proxy cluster for this resource, if any.
12857        '''
12858        self.resource_group_id = resource_group_id if resource_group_id is not None else ''
12859        '''
12860         filters discovered groups to the specified Resource Group
12861        '''
12862        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
12863        '''
12864         ID of the secret store containing credentials for this resource, if any.
12865        '''
12866        self.subdomain = subdomain if subdomain is not None else ''
12867        '''
12868         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
12869        '''
12870        self.subscription_id = subscription_id if subscription_id is not None else ''
12871        '''
12872         The subscription ID to authenticate scope Privileges to.
12873        '''
12874        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
12875        '''
12876         Tags is a map of key, value pairs.
12877        '''
12878        self.tenant_id = tenant_id if tenant_id is not None else ''
12879        '''
12880         The connector ID to authenticate through.
12881        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

discovery_enabled

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

egress_filter

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

group_names

comma separated list of group names to filter by. Supports wildcards (*)

healthy

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

id

Unique identifier of the Resource.

identity_set_id

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

management_group_id

The management group ID to authenticate scope Privileges to.

name

Unique human-readable name of the Resource.

privilege_levels

The privilege levels specify which Groups are managed externally

proxy_cluster_id

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

resource_group_id

filters discovered groups to the specified Resource Group

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

subscription_id

The subscription ID to authenticate scope Privileges to.

tags

Tags is a map of key, value pairs.

tenant_id

The connector ID to authenticate through.

def to_dict(self)
12904    def to_dict(self):
12905        return {
12906            'bind_interface': self.bind_interface,
12907            'discovery_enabled': self.discovery_enabled,
12908            'egress_filter': self.egress_filter,
12909            'group_names': self.group_names,
12910            'healthy': self.healthy,
12911            'id': self.id,
12912            'identity_set_id': self.identity_set_id,
12913            'management_group_id': self.management_group_id,
12914            'name': self.name,
12915            'privilege_levels': self.privilege_levels,
12916            'proxy_cluster_id': self.proxy_cluster_id,
12917            'resource_group_id': self.resource_group_id,
12918            'secret_store_id': self.secret_store_id,
12919            'subdomain': self.subdomain,
12920            'subscription_id': self.subscription_id,
12921            'tags': self.tags,
12922            'tenant_id': self.tenant_id,
12923        }
@classmethod
def from_dict(cls, d)
12925    @classmethod
12926    def from_dict(cls, d):
12927        return cls(
12928            bind_interface=d.get('bind_interface'),
12929            discovery_enabled=d.get('discovery_enabled'),
12930            egress_filter=d.get('egress_filter'),
12931            group_names=d.get('group_names'),
12932            healthy=d.get('healthy'),
12933            id=d.get('id'),
12934            identity_set_id=d.get('identity_set_id'),
12935            management_group_id=d.get('management_group_id'),
12936            name=d.get('name'),
12937            privilege_levels=d.get('privilege_levels'),
12938            proxy_cluster_id=d.get('proxy_cluster_id'),
12939            resource_group_id=d.get('resource_group_id'),
12940            secret_store_id=d.get('secret_store_id'),
12941            subdomain=d.get('subdomain'),
12942            subscription_id=d.get('subscription_id'),
12943            tags=d.get('tags'),
12944            tenant_id=d.get('tenant_id'),
12945        )
class GCP:
12948class GCP:
12949    __slots__ = [
12950        'bind_interface',
12951        'egress_filter',
12952        'healthy',
12953        'id',
12954        'keyfile',
12955        'name',
12956        'port_override',
12957        'proxy_cluster_id',
12958        'scopes',
12959        'secret_store_id',
12960        'subdomain',
12961        'tags',
12962    ]
12963
12964    def __init__(
12965        self,
12966        bind_interface=None,
12967        egress_filter=None,
12968        healthy=None,
12969        id=None,
12970        keyfile=None,
12971        name=None,
12972        port_override=None,
12973        proxy_cluster_id=None,
12974        scopes=None,
12975        secret_store_id=None,
12976        subdomain=None,
12977        tags=None,
12978    ):
12979        self.bind_interface = bind_interface if bind_interface is not None else ''
12980        '''
12981         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12982        '''
12983        self.egress_filter = egress_filter if egress_filter is not None else ''
12984        '''
12985         A filter applied to the routing logic to pin datasource to nodes.
12986        '''
12987        self.healthy = healthy if healthy is not None else False
12988        '''
12989         True if the datasource is reachable and the credentials are valid.
12990        '''
12991        self.id = id if id is not None else ''
12992        '''
12993         Unique identifier of the Resource.
12994        '''
12995        self.keyfile = keyfile if keyfile is not None else ''
12996        '''
12997         The service account keyfile to authenticate with.
12998        '''
12999        self.name = name if name is not None else ''
13000        '''
13001         Unique human-readable name of the Resource.
13002        '''
13003        self.port_override = port_override if port_override is not None else 0
13004        '''
13005         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13006        '''
13007        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13008        '''
13009         ID of the proxy cluster for this resource, if any.
13010        '''
13011        self.scopes = scopes if scopes is not None else ''
13012        '''
13013         Space separated scopes that this login should assume into when authenticating.
13014        '''
13015        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13016        '''
13017         ID of the secret store containing credentials for this resource, if any.
13018        '''
13019        self.subdomain = subdomain if subdomain is not None else ''
13020        '''
13021         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13022        '''
13023        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13024        '''
13025         Tags is a map of key, value pairs.
13026        '''
13027
13028    def __repr__(self):
13029        return '<sdm.GCP ' + \
13030            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13031            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13032            'healthy: ' + repr(self.healthy) + ' ' +\
13033            'id: ' + repr(self.id) + ' ' +\
13034            'keyfile: ' + repr(self.keyfile) + ' ' +\
13035            'name: ' + repr(self.name) + ' ' +\
13036            'port_override: ' + repr(self.port_override) + ' ' +\
13037            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13038            'scopes: ' + repr(self.scopes) + ' ' +\
13039            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13040            'subdomain: ' + repr(self.subdomain) + ' ' +\
13041            'tags: ' + repr(self.tags) + ' ' +\
13042            '>'
13043
13044    def to_dict(self):
13045        return {
13046            'bind_interface': self.bind_interface,
13047            'egress_filter': self.egress_filter,
13048            'healthy': self.healthy,
13049            'id': self.id,
13050            'keyfile': self.keyfile,
13051            'name': self.name,
13052            'port_override': self.port_override,
13053            'proxy_cluster_id': self.proxy_cluster_id,
13054            'scopes': self.scopes,
13055            'secret_store_id': self.secret_store_id,
13056            'subdomain': self.subdomain,
13057            'tags': self.tags,
13058        }
13059
13060    @classmethod
13061    def from_dict(cls, d):
13062        return cls(
13063            bind_interface=d.get('bind_interface'),
13064            egress_filter=d.get('egress_filter'),
13065            healthy=d.get('healthy'),
13066            id=d.get('id'),
13067            keyfile=d.get('keyfile'),
13068            name=d.get('name'),
13069            port_override=d.get('port_override'),
13070            proxy_cluster_id=d.get('proxy_cluster_id'),
13071            scopes=d.get('scopes'),
13072            secret_store_id=d.get('secret_store_id'),
13073            subdomain=d.get('subdomain'),
13074            tags=d.get('tags'),
13075        )
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)
12964    def __init__(
12965        self,
12966        bind_interface=None,
12967        egress_filter=None,
12968        healthy=None,
12969        id=None,
12970        keyfile=None,
12971        name=None,
12972        port_override=None,
12973        proxy_cluster_id=None,
12974        scopes=None,
12975        secret_store_id=None,
12976        subdomain=None,
12977        tags=None,
12978    ):
12979        self.bind_interface = bind_interface if bind_interface is not None else ''
12980        '''
12981         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
12982        '''
12983        self.egress_filter = egress_filter if egress_filter is not None else ''
12984        '''
12985         A filter applied to the routing logic to pin datasource to nodes.
12986        '''
12987        self.healthy = healthy if healthy is not None else False
12988        '''
12989         True if the datasource is reachable and the credentials are valid.
12990        '''
12991        self.id = id if id is not None else ''
12992        '''
12993         Unique identifier of the Resource.
12994        '''
12995        self.keyfile = keyfile if keyfile is not None else ''
12996        '''
12997         The service account keyfile to authenticate with.
12998        '''
12999        self.name = name if name is not None else ''
13000        '''
13001         Unique human-readable name of the Resource.
13002        '''
13003        self.port_override = port_override if port_override is not None else 0
13004        '''
13005         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13006        '''
13007        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13008        '''
13009         ID of the proxy cluster for this resource, if any.
13010        '''
13011        self.scopes = scopes if scopes is not None else ''
13012        '''
13013         Space separated scopes that this login should assume into when authenticating.
13014        '''
13015        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13016        '''
13017         ID of the secret store containing credentials for this resource, if any.
13018        '''
13019        self.subdomain = subdomain if subdomain is not None else ''
13020        '''
13021         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13022        '''
13023        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13024        '''
13025         Tags is a map of key, value pairs.
13026        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
13044    def to_dict(self):
13045        return {
13046            'bind_interface': self.bind_interface,
13047            'egress_filter': self.egress_filter,
13048            'healthy': self.healthy,
13049            'id': self.id,
13050            'keyfile': self.keyfile,
13051            'name': self.name,
13052            'port_override': self.port_override,
13053            'proxy_cluster_id': self.proxy_cluster_id,
13054            'scopes': self.scopes,
13055            'secret_store_id': self.secret_store_id,
13056            'subdomain': self.subdomain,
13057            'tags': self.tags,
13058        }
@classmethod
def from_dict(cls, d)
13060    @classmethod
13061    def from_dict(cls, d):
13062        return cls(
13063            bind_interface=d.get('bind_interface'),
13064            egress_filter=d.get('egress_filter'),
13065            healthy=d.get('healthy'),
13066            id=d.get('id'),
13067            keyfile=d.get('keyfile'),
13068            name=d.get('name'),
13069            port_override=d.get('port_override'),
13070            proxy_cluster_id=d.get('proxy_cluster_id'),
13071            scopes=d.get('scopes'),
13072            secret_store_id=d.get('secret_store_id'),
13073            subdomain=d.get('subdomain'),
13074            tags=d.get('tags'),
13075        )
class GCPCertX509Store:
13078class GCPCertX509Store:
13079    __slots__ = [
13080        'caid',
13081        'capoolid',
13082        'id',
13083        'issuedcertttlminutes',
13084        'location',
13085        'name',
13086        'projectid',
13087        'tags',
13088    ]
13089
13090    def __init__(
13091        self,
13092        caid=None,
13093        capoolid=None,
13094        id=None,
13095        issuedcertttlminutes=None,
13096        location=None,
13097        name=None,
13098        projectid=None,
13099        tags=None,
13100    ):
13101        self.caid = caid if caid is not None else ''
13102        '''
13103         The ID of the target CA
13104        '''
13105        self.capoolid = capoolid if capoolid is not None else ''
13106        '''
13107         The ID of the target CA pool
13108        '''
13109        self.id = id if id is not None else ''
13110        '''
13111         Unique identifier of the SecretStore.
13112        '''
13113        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
13114        '''
13115         The lifetime of certificates issued by this CA represented in minutes.
13116        '''
13117        self.location = location if location is not None else ''
13118        '''
13119         The Region for the CA in GCP format e.g. us-west1
13120        '''
13121        self.name = name if name is not None else ''
13122        '''
13123         Unique human-readable name of the SecretStore.
13124        '''
13125        self.projectid = projectid if projectid is not None else ''
13126        '''
13127         The GCP project ID to target.
13128        '''
13129        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13130        '''
13131         Tags is a map of key, value pairs.
13132        '''
13133
13134    def __repr__(self):
13135        return '<sdm.GCPCertX509Store ' + \
13136            'caid: ' + repr(self.caid) + ' ' +\
13137            'capoolid: ' + repr(self.capoolid) + ' ' +\
13138            'id: ' + repr(self.id) + ' ' +\
13139            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
13140            'location: ' + repr(self.location) + ' ' +\
13141            'name: ' + repr(self.name) + ' ' +\
13142            'projectid: ' + repr(self.projectid) + ' ' +\
13143            'tags: ' + repr(self.tags) + ' ' +\
13144            '>'
13145
13146    def to_dict(self):
13147        return {
13148            'caid': self.caid,
13149            'capoolid': self.capoolid,
13150            'id': self.id,
13151            'issuedcertttlminutes': self.issuedcertttlminutes,
13152            'location': self.location,
13153            'name': self.name,
13154            'projectid': self.projectid,
13155            'tags': self.tags,
13156        }
13157
13158    @classmethod
13159    def from_dict(cls, d):
13160        return cls(
13161            caid=d.get('caid'),
13162            capoolid=d.get('capoolid'),
13163            id=d.get('id'),
13164            issuedcertttlminutes=d.get('issuedcertttlminutes'),
13165            location=d.get('location'),
13166            name=d.get('name'),
13167            projectid=d.get('projectid'),
13168            tags=d.get('tags'),
13169        )
GCPCertX509Store( caid=None, capoolid=None, id=None, issuedcertttlminutes=None, location=None, name=None, projectid=None, tags=None)
13090    def __init__(
13091        self,
13092        caid=None,
13093        capoolid=None,
13094        id=None,
13095        issuedcertttlminutes=None,
13096        location=None,
13097        name=None,
13098        projectid=None,
13099        tags=None,
13100    ):
13101        self.caid = caid if caid is not None else ''
13102        '''
13103         The ID of the target CA
13104        '''
13105        self.capoolid = capoolid if capoolid is not None else ''
13106        '''
13107         The ID of the target CA pool
13108        '''
13109        self.id = id if id is not None else ''
13110        '''
13111         Unique identifier of the SecretStore.
13112        '''
13113        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
13114        '''
13115         The lifetime of certificates issued by this CA represented in minutes.
13116        '''
13117        self.location = location if location is not None else ''
13118        '''
13119         The Region for the CA in GCP format e.g. us-west1
13120        '''
13121        self.name = name if name is not None else ''
13122        '''
13123         Unique human-readable name of the SecretStore.
13124        '''
13125        self.projectid = projectid if projectid is not None else ''
13126        '''
13127         The GCP project ID to target.
13128        '''
13129        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13130        '''
13131         Tags is a map of key, value pairs.
13132        '''
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)
13146    def to_dict(self):
13147        return {
13148            'caid': self.caid,
13149            'capoolid': self.capoolid,
13150            'id': self.id,
13151            'issuedcertttlminutes': self.issuedcertttlminutes,
13152            'location': self.location,
13153            'name': self.name,
13154            'projectid': self.projectid,
13155            'tags': self.tags,
13156        }
@classmethod
def from_dict(cls, d)
13158    @classmethod
13159    def from_dict(cls, d):
13160        return cls(
13161            caid=d.get('caid'),
13162            capoolid=d.get('capoolid'),
13163            id=d.get('id'),
13164            issuedcertttlminutes=d.get('issuedcertttlminutes'),
13165            location=d.get('location'),
13166            name=d.get('name'),
13167            projectid=d.get('projectid'),
13168            tags=d.get('tags'),
13169        )
class GCPConsole:
13172class GCPConsole:
13173    __slots__ = [
13174        'bind_interface',
13175        'egress_filter',
13176        'healthy',
13177        'id',
13178        'identity_alias_healthcheck_username',
13179        'identity_set_id',
13180        'name',
13181        'port_override',
13182        'proxy_cluster_id',
13183        'secret_store_id',
13184        'session_expiry',
13185        'subdomain',
13186        'tags',
13187        'workforce_pool_id',
13188        'workforce_provider_id',
13189    ]
13190
13191    def __init__(
13192        self,
13193        bind_interface=None,
13194        egress_filter=None,
13195        healthy=None,
13196        id=None,
13197        identity_alias_healthcheck_username=None,
13198        identity_set_id=None,
13199        name=None,
13200        port_override=None,
13201        proxy_cluster_id=None,
13202        secret_store_id=None,
13203        session_expiry=None,
13204        subdomain=None,
13205        tags=None,
13206        workforce_pool_id=None,
13207        workforce_provider_id=None,
13208    ):
13209        self.bind_interface = bind_interface if bind_interface is not None else ''
13210        '''
13211         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13212        '''
13213        self.egress_filter = egress_filter if egress_filter is not None else ''
13214        '''
13215         A filter applied to the routing logic to pin datasource to nodes.
13216        '''
13217        self.healthy = healthy if healthy is not None else False
13218        '''
13219         True if the datasource is reachable and the credentials are valid.
13220        '''
13221        self.id = id if id is not None else ''
13222        '''
13223         Unique identifier of the Resource.
13224        '''
13225        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13226        '''
13227         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13228        '''
13229        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13230        '''
13231         The ID of the identity set to use for identity connections.
13232        '''
13233        self.name = name if name is not None else ''
13234        '''
13235         Unique human-readable name of the Resource.
13236        '''
13237        self.port_override = port_override if port_override is not None else 0
13238        '''
13239         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13240        '''
13241        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13242        '''
13243         ID of the proxy cluster for this resource, if any.
13244        '''
13245        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13246        '''
13247         ID of the secret store containing credentials for this resource, if any.
13248        '''
13249        self.session_expiry = session_expiry if session_expiry is not None else 0
13250        '''
13251         The length of time in seconds console sessions will live before needing to reauthenticate.
13252        '''
13253        self.subdomain = subdomain if subdomain is not None else ''
13254        '''
13255         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13256        '''
13257        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13258        '''
13259         Tags is a map of key, value pairs.
13260        '''
13261        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
13262        '''
13263         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
13264        '''
13265        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
13266        '''
13267         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
13268        '''
13269
13270    def __repr__(self):
13271        return '<sdm.GCPConsole ' + \
13272            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13273            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13274            'healthy: ' + repr(self.healthy) + ' ' +\
13275            'id: ' + repr(self.id) + ' ' +\
13276            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13277            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13278            'name: ' + repr(self.name) + ' ' +\
13279            'port_override: ' + repr(self.port_override) + ' ' +\
13280            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13281            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13282            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
13283            'subdomain: ' + repr(self.subdomain) + ' ' +\
13284            'tags: ' + repr(self.tags) + ' ' +\
13285            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
13286            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
13287            '>'
13288
13289    def to_dict(self):
13290        return {
13291            'bind_interface': self.bind_interface,
13292            'egress_filter': self.egress_filter,
13293            'healthy': self.healthy,
13294            'id': self.id,
13295            'identity_alias_healthcheck_username':
13296            self.identity_alias_healthcheck_username,
13297            'identity_set_id': self.identity_set_id,
13298            'name': self.name,
13299            'port_override': self.port_override,
13300            'proxy_cluster_id': self.proxy_cluster_id,
13301            'secret_store_id': self.secret_store_id,
13302            'session_expiry': self.session_expiry,
13303            'subdomain': self.subdomain,
13304            'tags': self.tags,
13305            'workforce_pool_id': self.workforce_pool_id,
13306            'workforce_provider_id': self.workforce_provider_id,
13307        }
13308
13309    @classmethod
13310    def from_dict(cls, d):
13311        return cls(
13312            bind_interface=d.get('bind_interface'),
13313            egress_filter=d.get('egress_filter'),
13314            healthy=d.get('healthy'),
13315            id=d.get('id'),
13316            identity_alias_healthcheck_username=d.get(
13317                'identity_alias_healthcheck_username'),
13318            identity_set_id=d.get('identity_set_id'),
13319            name=d.get('name'),
13320            port_override=d.get('port_override'),
13321            proxy_cluster_id=d.get('proxy_cluster_id'),
13322            secret_store_id=d.get('secret_store_id'),
13323            session_expiry=d.get('session_expiry'),
13324            subdomain=d.get('subdomain'),
13325            tags=d.get('tags'),
13326            workforce_pool_id=d.get('workforce_pool_id'),
13327            workforce_provider_id=d.get('workforce_provider_id'),
13328        )
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)
13191    def __init__(
13192        self,
13193        bind_interface=None,
13194        egress_filter=None,
13195        healthy=None,
13196        id=None,
13197        identity_alias_healthcheck_username=None,
13198        identity_set_id=None,
13199        name=None,
13200        port_override=None,
13201        proxy_cluster_id=None,
13202        secret_store_id=None,
13203        session_expiry=None,
13204        subdomain=None,
13205        tags=None,
13206        workforce_pool_id=None,
13207        workforce_provider_id=None,
13208    ):
13209        self.bind_interface = bind_interface if bind_interface is not None else ''
13210        '''
13211         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13212        '''
13213        self.egress_filter = egress_filter if egress_filter is not None else ''
13214        '''
13215         A filter applied to the routing logic to pin datasource to nodes.
13216        '''
13217        self.healthy = healthy if healthy is not None else False
13218        '''
13219         True if the datasource is reachable and the credentials are valid.
13220        '''
13221        self.id = id if id is not None else ''
13222        '''
13223         Unique identifier of the Resource.
13224        '''
13225        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13226        '''
13227         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13228        '''
13229        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13230        '''
13231         The ID of the identity set to use for identity connections.
13232        '''
13233        self.name = name if name is not None else ''
13234        '''
13235         Unique human-readable name of the Resource.
13236        '''
13237        self.port_override = port_override if port_override is not None else 0
13238        '''
13239         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13240        '''
13241        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13242        '''
13243         ID of the proxy cluster for this resource, if any.
13244        '''
13245        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13246        '''
13247         ID of the secret store containing credentials for this resource, if any.
13248        '''
13249        self.session_expiry = session_expiry if session_expiry is not None else 0
13250        '''
13251         The length of time in seconds console sessions will live before needing to reauthenticate.
13252        '''
13253        self.subdomain = subdomain if subdomain is not None else ''
13254        '''
13255         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
13256        '''
13257        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13258        '''
13259         Tags is a map of key, value pairs.
13260        '''
13261        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
13262        '''
13263         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
13264        '''
13265        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
13266        '''
13267         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
13268        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID 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)
13289    def to_dict(self):
13290        return {
13291            'bind_interface': self.bind_interface,
13292            'egress_filter': self.egress_filter,
13293            'healthy': self.healthy,
13294            'id': self.id,
13295            'identity_alias_healthcheck_username':
13296            self.identity_alias_healthcheck_username,
13297            'identity_set_id': self.identity_set_id,
13298            'name': self.name,
13299            'port_override': self.port_override,
13300            'proxy_cluster_id': self.proxy_cluster_id,
13301            'secret_store_id': self.secret_store_id,
13302            'session_expiry': self.session_expiry,
13303            'subdomain': self.subdomain,
13304            'tags': self.tags,
13305            'workforce_pool_id': self.workforce_pool_id,
13306            'workforce_provider_id': self.workforce_provider_id,
13307        }
@classmethod
def from_dict(cls, d)
13309    @classmethod
13310    def from_dict(cls, d):
13311        return cls(
13312            bind_interface=d.get('bind_interface'),
13313            egress_filter=d.get('egress_filter'),
13314            healthy=d.get('healthy'),
13315            id=d.get('id'),
13316            identity_alias_healthcheck_username=d.get(
13317                'identity_alias_healthcheck_username'),
13318            identity_set_id=d.get('identity_set_id'),
13319            name=d.get('name'),
13320            port_override=d.get('port_override'),
13321            proxy_cluster_id=d.get('proxy_cluster_id'),
13322            secret_store_id=d.get('secret_store_id'),
13323            session_expiry=d.get('session_expiry'),
13324            subdomain=d.get('subdomain'),
13325            tags=d.get('tags'),
13326            workforce_pool_id=d.get('workforce_pool_id'),
13327            workforce_provider_id=d.get('workforce_provider_id'),
13328        )
class GCPStore:
13331class GCPStore:
13332    __slots__ = [
13333        'id',
13334        'name',
13335        'projectid',
13336        'tags',
13337    ]
13338
13339    def __init__(
13340        self,
13341        id=None,
13342        name=None,
13343        projectid=None,
13344        tags=None,
13345    ):
13346        self.id = id if id is not None else ''
13347        '''
13348         Unique identifier of the SecretStore.
13349        '''
13350        self.name = name if name is not None else ''
13351        '''
13352         Unique human-readable name of the SecretStore.
13353        '''
13354        self.projectid = projectid if projectid is not None else ''
13355        '''
13356         The GCP project ID to target.
13357        '''
13358        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13359        '''
13360         Tags is a map of key, value pairs.
13361        '''
13362
13363    def __repr__(self):
13364        return '<sdm.GCPStore ' + \
13365            'id: ' + repr(self.id) + ' ' +\
13366            'name: ' + repr(self.name) + ' ' +\
13367            'projectid: ' + repr(self.projectid) + ' ' +\
13368            'tags: ' + repr(self.tags) + ' ' +\
13369            '>'
13370
13371    def to_dict(self):
13372        return {
13373            'id': self.id,
13374            'name': self.name,
13375            'projectid': self.projectid,
13376            'tags': self.tags,
13377        }
13378
13379    @classmethod
13380    def from_dict(cls, d):
13381        return cls(
13382            id=d.get('id'),
13383            name=d.get('name'),
13384            projectid=d.get('projectid'),
13385            tags=d.get('tags'),
13386        )
GCPStore(id=None, name=None, projectid=None, tags=None)
13339    def __init__(
13340        self,
13341        id=None,
13342        name=None,
13343        projectid=None,
13344        tags=None,
13345    ):
13346        self.id = id if id is not None else ''
13347        '''
13348         Unique identifier of the SecretStore.
13349        '''
13350        self.name = name if name is not None else ''
13351        '''
13352         Unique human-readable name of the SecretStore.
13353        '''
13354        self.projectid = projectid if projectid is not None else ''
13355        '''
13356         The GCP project ID to target.
13357        '''
13358        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13359        '''
13360         Tags is a map of key, value pairs.
13361        '''
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)
13371    def to_dict(self):
13372        return {
13373            'id': self.id,
13374            'name': self.name,
13375            'projectid': self.projectid,
13376            'tags': self.tags,
13377        }
@classmethod
def from_dict(cls, d)
13379    @classmethod
13380    def from_dict(cls, d):
13381        return cls(
13382            id=d.get('id'),
13383            name=d.get('name'),
13384            projectid=d.get('projectid'),
13385            tags=d.get('tags'),
13386        )
class GCPWIF:
13389class GCPWIF:
13390    __slots__ = [
13391        'bind_interface',
13392        'egress_filter',
13393        'healthy',
13394        'id',
13395        'identity_alias_healthcheck_username',
13396        'identity_set_id',
13397        'name',
13398        'port_override',
13399        'project_id',
13400        'proxy_cluster_id',
13401        'scopes',
13402        'secret_store_id',
13403        'session_expiry',
13404        'subdomain',
13405        'tags',
13406        'workforce_pool_id',
13407        'workforce_provider_id',
13408    ]
13409
13410    def __init__(
13411        self,
13412        bind_interface=None,
13413        egress_filter=None,
13414        healthy=None,
13415        id=None,
13416        identity_alias_healthcheck_username=None,
13417        identity_set_id=None,
13418        name=None,
13419        port_override=None,
13420        project_id=None,
13421        proxy_cluster_id=None,
13422        scopes=None,
13423        secret_store_id=None,
13424        session_expiry=None,
13425        subdomain=None,
13426        tags=None,
13427        workforce_pool_id=None,
13428        workforce_provider_id=None,
13429    ):
13430        self.bind_interface = bind_interface if bind_interface is not None else ''
13431        '''
13432         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13433        '''
13434        self.egress_filter = egress_filter if egress_filter is not None else ''
13435        '''
13436         A filter applied to the routing logic to pin datasource to nodes.
13437        '''
13438        self.healthy = healthy if healthy is not None else False
13439        '''
13440         True if the datasource is reachable and the credentials are valid.
13441        '''
13442        self.id = id if id is not None else ''
13443        '''
13444         Unique identifier of the Resource.
13445        '''
13446        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13447        '''
13448         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13449        '''
13450        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13451        '''
13452         The ID of the identity set to use for identity connections.
13453        '''
13454        self.name = name if name is not None else ''
13455        '''
13456         Unique human-readable name of the Resource.
13457        '''
13458        self.port_override = port_override if port_override is not None else 0
13459        '''
13460         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13461        '''
13462        self.project_id = project_id if project_id is not None else ''
13463        '''
13464         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
13465        '''
13466        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13467        '''
13468         ID of the proxy cluster for this resource, if any.
13469        '''
13470        self.scopes = scopes if scopes is not None else ''
13471        '''
13472         Space separated scopes that this login should assume into when authenticating.
13473        '''
13474        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13475        '''
13476         ID of the secret store containing credentials for this resource, if any.
13477        '''
13478        self.session_expiry = session_expiry if session_expiry is not None else 0
13479        '''
13480         The length of time in seconds console sessions will live before needing to reauthenticate.
13481        '''
13482        self.subdomain = subdomain if subdomain is not None else ''
13483        '''
13484         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13485        '''
13486        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13487        '''
13488         Tags is a map of key, value pairs.
13489        '''
13490        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
13491        '''
13492         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
13493        '''
13494        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
13495        '''
13496         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
13497        '''
13498
13499    def __repr__(self):
13500        return '<sdm.GCPWIF ' + \
13501            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13502            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13503            'healthy: ' + repr(self.healthy) + ' ' +\
13504            'id: ' + repr(self.id) + ' ' +\
13505            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13506            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13507            'name: ' + repr(self.name) + ' ' +\
13508            'port_override: ' + repr(self.port_override) + ' ' +\
13509            'project_id: ' + repr(self.project_id) + ' ' +\
13510            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13511            'scopes: ' + repr(self.scopes) + ' ' +\
13512            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13513            'session_expiry: ' + repr(self.session_expiry) + ' ' +\
13514            'subdomain: ' + repr(self.subdomain) + ' ' +\
13515            'tags: ' + repr(self.tags) + ' ' +\
13516            'workforce_pool_id: ' + repr(self.workforce_pool_id) + ' ' +\
13517            'workforce_provider_id: ' + repr(self.workforce_provider_id) + ' ' +\
13518            '>'
13519
13520    def to_dict(self):
13521        return {
13522            'bind_interface': self.bind_interface,
13523            'egress_filter': self.egress_filter,
13524            'healthy': self.healthy,
13525            'id': self.id,
13526            'identity_alias_healthcheck_username':
13527            self.identity_alias_healthcheck_username,
13528            'identity_set_id': self.identity_set_id,
13529            'name': self.name,
13530            'port_override': self.port_override,
13531            'project_id': self.project_id,
13532            'proxy_cluster_id': self.proxy_cluster_id,
13533            'scopes': self.scopes,
13534            'secret_store_id': self.secret_store_id,
13535            'session_expiry': self.session_expiry,
13536            'subdomain': self.subdomain,
13537            'tags': self.tags,
13538            'workforce_pool_id': self.workforce_pool_id,
13539            'workforce_provider_id': self.workforce_provider_id,
13540        }
13541
13542    @classmethod
13543    def from_dict(cls, d):
13544        return cls(
13545            bind_interface=d.get('bind_interface'),
13546            egress_filter=d.get('egress_filter'),
13547            healthy=d.get('healthy'),
13548            id=d.get('id'),
13549            identity_alias_healthcheck_username=d.get(
13550                'identity_alias_healthcheck_username'),
13551            identity_set_id=d.get('identity_set_id'),
13552            name=d.get('name'),
13553            port_override=d.get('port_override'),
13554            project_id=d.get('project_id'),
13555            proxy_cluster_id=d.get('proxy_cluster_id'),
13556            scopes=d.get('scopes'),
13557            secret_store_id=d.get('secret_store_id'),
13558            session_expiry=d.get('session_expiry'),
13559            subdomain=d.get('subdomain'),
13560            tags=d.get('tags'),
13561            workforce_pool_id=d.get('workforce_pool_id'),
13562            workforce_provider_id=d.get('workforce_provider_id'),
13563        )
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)
13410    def __init__(
13411        self,
13412        bind_interface=None,
13413        egress_filter=None,
13414        healthy=None,
13415        id=None,
13416        identity_alias_healthcheck_username=None,
13417        identity_set_id=None,
13418        name=None,
13419        port_override=None,
13420        project_id=None,
13421        proxy_cluster_id=None,
13422        scopes=None,
13423        secret_store_id=None,
13424        session_expiry=None,
13425        subdomain=None,
13426        tags=None,
13427        workforce_pool_id=None,
13428        workforce_provider_id=None,
13429    ):
13430        self.bind_interface = bind_interface if bind_interface is not None else ''
13431        '''
13432         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13433        '''
13434        self.egress_filter = egress_filter if egress_filter is not None else ''
13435        '''
13436         A filter applied to the routing logic to pin datasource to nodes.
13437        '''
13438        self.healthy = healthy if healthy is not None else False
13439        '''
13440         True if the datasource is reachable and the credentials are valid.
13441        '''
13442        self.id = id if id is not None else ''
13443        '''
13444         Unique identifier of the Resource.
13445        '''
13446        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13447        '''
13448         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13449        '''
13450        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13451        '''
13452         The ID of the identity set to use for identity connections.
13453        '''
13454        self.name = name if name is not None else ''
13455        '''
13456         Unique human-readable name of the Resource.
13457        '''
13458        self.port_override = port_override if port_override is not None else 0
13459        '''
13460         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13461        '''
13462        self.project_id = project_id if project_id is not None else ''
13463        '''
13464         When specified, all project scoped requests will use this Project ID, overriding the project ID specified by clients
13465        '''
13466        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13467        '''
13468         ID of the proxy cluster for this resource, if any.
13469        '''
13470        self.scopes = scopes if scopes is not None else ''
13471        '''
13472         Space separated scopes that this login should assume into when authenticating.
13473        '''
13474        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13475        '''
13476         ID of the secret store containing credentials for this resource, if any.
13477        '''
13478        self.session_expiry = session_expiry if session_expiry is not None else 0
13479        '''
13480         The length of time in seconds console sessions will live before needing to reauthenticate.
13481        '''
13482        self.subdomain = subdomain if subdomain is not None else ''
13483        '''
13484         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13485        '''
13486        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13487        '''
13488         Tags is a map of key, value pairs.
13489        '''
13490        self.workforce_pool_id = workforce_pool_id if workforce_pool_id is not None else ''
13491        '''
13492         The ID of the Workforce Identity Pool in GCP to use for federated authentication.
13493        '''
13494        self.workforce_provider_id = workforce_provider_id if workforce_provider_id is not None else ''
13495        '''
13496         The ID of the Workforce Identity Provider in GCP to use for federated authentication.
13497        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
13520    def to_dict(self):
13521        return {
13522            'bind_interface': self.bind_interface,
13523            'egress_filter': self.egress_filter,
13524            'healthy': self.healthy,
13525            'id': self.id,
13526            'identity_alias_healthcheck_username':
13527            self.identity_alias_healthcheck_username,
13528            'identity_set_id': self.identity_set_id,
13529            'name': self.name,
13530            'port_override': self.port_override,
13531            'project_id': self.project_id,
13532            'proxy_cluster_id': self.proxy_cluster_id,
13533            'scopes': self.scopes,
13534            'secret_store_id': self.secret_store_id,
13535            'session_expiry': self.session_expiry,
13536            'subdomain': self.subdomain,
13537            'tags': self.tags,
13538            'workforce_pool_id': self.workforce_pool_id,
13539            'workforce_provider_id': self.workforce_provider_id,
13540        }
@classmethod
def from_dict(cls, d)
13542    @classmethod
13543    def from_dict(cls, d):
13544        return cls(
13545            bind_interface=d.get('bind_interface'),
13546            egress_filter=d.get('egress_filter'),
13547            healthy=d.get('healthy'),
13548            id=d.get('id'),
13549            identity_alias_healthcheck_username=d.get(
13550                'identity_alias_healthcheck_username'),
13551            identity_set_id=d.get('identity_set_id'),
13552            name=d.get('name'),
13553            port_override=d.get('port_override'),
13554            project_id=d.get('project_id'),
13555            proxy_cluster_id=d.get('proxy_cluster_id'),
13556            scopes=d.get('scopes'),
13557            secret_store_id=d.get('secret_store_id'),
13558            session_expiry=d.get('session_expiry'),
13559            subdomain=d.get('subdomain'),
13560            tags=d.get('tags'),
13561            workforce_pool_id=d.get('workforce_pool_id'),
13562            workforce_provider_id=d.get('workforce_provider_id'),
13563        )
class Gateway:
13566class Gateway:
13567    '''
13568         Gateway represents a StrongDM CLI installation running in gateway mode.
13569    '''
13570    __slots__ = [
13571        'bind_address',
13572        'device',
13573        'gateway_filter',
13574        'id',
13575        'listen_address',
13576        'location',
13577        'maintenance_windows',
13578        'name',
13579        'state',
13580        'tags',
13581        'version',
13582    ]
13583
13584    def __init__(
13585        self,
13586        bind_address=None,
13587        device=None,
13588        gateway_filter=None,
13589        id=None,
13590        listen_address=None,
13591        location=None,
13592        maintenance_windows=None,
13593        name=None,
13594        state=None,
13595        tags=None,
13596        version=None,
13597    ):
13598        self.bind_address = bind_address if bind_address is not None else ''
13599        '''
13600         The hostname/port tuple which the gateway daemon will bind to.
13601         If not provided on create, set to "0.0.0.0:listen_address_port".
13602        '''
13603        self.device = device if device is not None else ''
13604        '''
13605         Device is a read only device name uploaded by the gateway process when
13606         it comes online.
13607        '''
13608        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
13609        '''
13610         GatewayFilter can be used to restrict the peering between relays and
13611         gateways. Deprecated.
13612        '''
13613        self.id = id if id is not None else ''
13614        '''
13615         Unique identifier of the Gateway.
13616        '''
13617        self.listen_address = listen_address if listen_address is not None else ''
13618        '''
13619         The public hostname/port tuple at which the gateway will be accessible to clients.
13620        '''
13621        self.location = location if location is not None else ''
13622        '''
13623         Location is a read only network location uploaded by the gateway process
13624         when it comes online.
13625        '''
13626        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
13627        '''
13628         Maintenance Windows define when this node is allowed to restart. If a node
13629         is requested to restart, it will check each window to determine if any of
13630         them permit it to restart, and if any do, it will. This check is repeated
13631         per window until the restart is successfully completed.
13632         
13633         If not set here, may be set on the command line or via an environment variable
13634         on the process itself; any server setting will take precedence over local
13635         settings. This setting is ineffective for nodes below version 38.44.0.
13636         
13637         If this setting is not applied via this remote configuration or via local
13638         configuration, the default setting is used: always allow restarts if serving
13639         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
13640        '''
13641        self.name = name if name is not None else ''
13642        '''
13643         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.
13644        '''
13645        self.state = state if state is not None else ''
13646        '''
13647         The current state of the gateway. One of: "new", "verifying_restart",
13648         "restarting", "started", "stopped", "dead", "unknown"
13649        '''
13650        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13651        '''
13652         Tags is a map of key, value pairs.
13653        '''
13654        self.version = version if version is not None else ''
13655        '''
13656         Version is a read only sdm binary version uploaded by the gateway process
13657         when it comes online.
13658        '''
13659
13660    def __repr__(self):
13661        return '<sdm.Gateway ' + \
13662            'bind_address: ' + repr(self.bind_address) + ' ' +\
13663            'device: ' + repr(self.device) + ' ' +\
13664            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
13665            'id: ' + repr(self.id) + ' ' +\
13666            'listen_address: ' + repr(self.listen_address) + ' ' +\
13667            'location: ' + repr(self.location) + ' ' +\
13668            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
13669            'name: ' + repr(self.name) + ' ' +\
13670            'state: ' + repr(self.state) + ' ' +\
13671            'tags: ' + repr(self.tags) + ' ' +\
13672            'version: ' + repr(self.version) + ' ' +\
13673            '>'
13674
13675    def to_dict(self):
13676        return {
13677            'bind_address': self.bind_address,
13678            'device': self.device,
13679            'gateway_filter': self.gateway_filter,
13680            'id': self.id,
13681            'listen_address': self.listen_address,
13682            'location': self.location,
13683            'maintenance_windows': self.maintenance_windows,
13684            'name': self.name,
13685            'state': self.state,
13686            'tags': self.tags,
13687            'version': self.version,
13688        }
13689
13690    @classmethod
13691    def from_dict(cls, d):
13692        return cls(
13693            bind_address=d.get('bind_address'),
13694            device=d.get('device'),
13695            gateway_filter=d.get('gateway_filter'),
13696            id=d.get('id'),
13697            listen_address=d.get('listen_address'),
13698            location=d.get('location'),
13699            maintenance_windows=d.get('maintenance_windows'),
13700            name=d.get('name'),
13701            state=d.get('state'),
13702            tags=d.get('tags'),
13703            version=d.get('version'),
13704        )

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)
13584    def __init__(
13585        self,
13586        bind_address=None,
13587        device=None,
13588        gateway_filter=None,
13589        id=None,
13590        listen_address=None,
13591        location=None,
13592        maintenance_windows=None,
13593        name=None,
13594        state=None,
13595        tags=None,
13596        version=None,
13597    ):
13598        self.bind_address = bind_address if bind_address is not None else ''
13599        '''
13600         The hostname/port tuple which the gateway daemon will bind to.
13601         If not provided on create, set to "0.0.0.0:listen_address_port".
13602        '''
13603        self.device = device if device is not None else ''
13604        '''
13605         Device is a read only device name uploaded by the gateway process when
13606         it comes online.
13607        '''
13608        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
13609        '''
13610         GatewayFilter can be used to restrict the peering between relays and
13611         gateways. Deprecated.
13612        '''
13613        self.id = id if id is not None else ''
13614        '''
13615         Unique identifier of the Gateway.
13616        '''
13617        self.listen_address = listen_address if listen_address is not None else ''
13618        '''
13619         The public hostname/port tuple at which the gateway will be accessible to clients.
13620        '''
13621        self.location = location if location is not None else ''
13622        '''
13623         Location is a read only network location uploaded by the gateway process
13624         when it comes online.
13625        '''
13626        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
13627        '''
13628         Maintenance Windows define when this node is allowed to restart. If a node
13629         is requested to restart, it will check each window to determine if any of
13630         them permit it to restart, and if any do, it will. This check is repeated
13631         per window until the restart is successfully completed.
13632         
13633         If not set here, may be set on the command line or via an environment variable
13634         on the process itself; any server setting will take precedence over local
13635         settings. This setting is ineffective for nodes below version 38.44.0.
13636         
13637         If this setting is not applied via this remote configuration or via local
13638         configuration, the default setting is used: always allow restarts if serving
13639         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
13640        '''
13641        self.name = name if name is not None else ''
13642        '''
13643         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.
13644        '''
13645        self.state = state if state is not None else ''
13646        '''
13647         The current state of the gateway. One of: "new", "verifying_restart",
13648         "restarting", "started", "stopped", "dead", "unknown"
13649        '''
13650        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13651        '''
13652         Tags is a map of key, value pairs.
13653        '''
13654        self.version = version if version is not None else ''
13655        '''
13656         Version is a read only sdm binary version uploaded by the gateway process
13657         when it comes online.
13658        '''
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)
13675    def to_dict(self):
13676        return {
13677            'bind_address': self.bind_address,
13678            'device': self.device,
13679            'gateway_filter': self.gateway_filter,
13680            'id': self.id,
13681            'listen_address': self.listen_address,
13682            'location': self.location,
13683            'maintenance_windows': self.maintenance_windows,
13684            'name': self.name,
13685            'state': self.state,
13686            'tags': self.tags,
13687            'version': self.version,
13688        }
@classmethod
def from_dict(cls, d)
13690    @classmethod
13691    def from_dict(cls, d):
13692        return cls(
13693            bind_address=d.get('bind_address'),
13694            device=d.get('device'),
13695            gateway_filter=d.get('gateway_filter'),
13696            id=d.get('id'),
13697            listen_address=d.get('listen_address'),
13698            location=d.get('location'),
13699            maintenance_windows=d.get('maintenance_windows'),
13700            name=d.get('name'),
13701            state=d.get('state'),
13702            tags=d.get('tags'),
13703            version=d.get('version'),
13704        )
class GenerateKeysRequest:
13707class GenerateKeysRequest:
13708    __slots__ = [
13709        'secret_engine_id',
13710    ]
13711
13712    def __init__(
13713        self,
13714        secret_engine_id=None,
13715    ):
13716        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13717        '''
13718         required
13719        '''
13720
13721    def __repr__(self):
13722        return '<sdm.GenerateKeysRequest ' + \
13723            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
13724            '>'
13725
13726    def to_dict(self):
13727        return {
13728            'secret_engine_id': self.secret_engine_id,
13729        }
13730
13731    @classmethod
13732    def from_dict(cls, d):
13733        return cls(secret_engine_id=d.get('secret_engine_id'), )
GenerateKeysRequest(secret_engine_id=None)
13712    def __init__(
13713        self,
13714        secret_engine_id=None,
13715    ):
13716        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
13717        '''
13718         required
13719        '''
secret_engine_id

required

def to_dict(self)
13726    def to_dict(self):
13727        return {
13728            'secret_engine_id': self.secret_engine_id,
13729        }
@classmethod
def from_dict(cls, d)
13731    @classmethod
13732    def from_dict(cls, d):
13733        return cls(secret_engine_id=d.get('secret_engine_id'), )
class GenerateKeysResponse:
13736class GenerateKeysResponse:
13737    __slots__ = [
13738        'rate_limit',
13739    ]
13740
13741    def __init__(
13742        self,
13743        rate_limit=None,
13744    ):
13745        self.rate_limit = rate_limit if rate_limit is not None else None
13746        '''
13747         Rate limit information.
13748        '''
13749
13750    def __repr__(self):
13751        return '<sdm.GenerateKeysResponse ' + \
13752            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
13753            '>'
13754
13755    def to_dict(self):
13756        return {
13757            'rate_limit': self.rate_limit,
13758        }
13759
13760    @classmethod
13761    def from_dict(cls, d):
13762        return cls(rate_limit=d.get('rate_limit'), )
GenerateKeysResponse(rate_limit=None)
13741    def __init__(
13742        self,
13743        rate_limit=None,
13744    ):
13745        self.rate_limit = rate_limit if rate_limit is not None else None
13746        '''
13747         Rate limit information.
13748        '''
rate_limit

Rate limit information.

def to_dict(self)
13755    def to_dict(self):
13756        return {
13757            'rate_limit': self.rate_limit,
13758        }
@classmethod
def from_dict(cls, d)
13760    @classmethod
13761    def from_dict(cls, d):
13762        return cls(rate_limit=d.get('rate_limit'), )
class GenericResponseMetadata:
13765class GenericResponseMetadata:
13766    '''
13767         GenericResponseMetadata contains common headers for generic request
13768     responses.
13769    '''
13770    __slots__ = []
13771
13772    def __init__(self, ):
13773        pass
13774
13775    def __repr__(self):
13776        return '<sdm.GenericResponseMetadata ' + \
13777            '>'
13778
13779    def to_dict(self):
13780        return {}
13781
13782    @classmethod
13783    def from_dict(cls, d):
13784        return cls()

GenericResponseMetadata contains common headers for generic request responses.

GenericResponseMetadata()
13772    def __init__(self, ):
13773        pass
def to_dict(self)
13779    def to_dict(self):
13780        return {}
@classmethod
def from_dict(cls, d)
13782    @classmethod
13783    def from_dict(cls, d):
13784        return cls()
class GetResponseMetadata:
13787class GetResponseMetadata:
13788    '''
13789         GetResponseMetadata is reserved for future use.
13790    '''
13791    __slots__ = []
13792
13793    def __init__(self, ):
13794        pass
13795
13796    def __repr__(self):
13797        return '<sdm.GetResponseMetadata ' + \
13798            '>'
13799
13800    def to_dict(self):
13801        return {}
13802
13803    @classmethod
13804    def from_dict(cls, d):
13805        return cls()

GetResponseMetadata is reserved for future use.

GetResponseMetadata()
13793    def __init__(self, ):
13794        pass
def to_dict(self)
13800    def to_dict(self):
13801        return {}
@classmethod
def from_dict(cls, d)
13803    @classmethod
13804    def from_dict(cls, d):
13805        return cls()
class GoogleGKE:
13808class GoogleGKE:
13809    __slots__ = [
13810        'allow_resource_role_bypass',
13811        'bind_interface',
13812        'certificate_authority',
13813        'discovery_enabled',
13814        'discovery_username',
13815        'egress_filter',
13816        'endpoint',
13817        'healthcheck_namespace',
13818        'healthy',
13819        'id',
13820        'identity_alias_healthcheck_username',
13821        'identity_set_id',
13822        'name',
13823        'port_override',
13824        'proxy_cluster_id',
13825        'secret_store_id',
13826        'service_account_key',
13827        'subdomain',
13828        'tags',
13829    ]
13830
13831    def __init__(
13832        self,
13833        allow_resource_role_bypass=None,
13834        bind_interface=None,
13835        certificate_authority=None,
13836        discovery_enabled=None,
13837        discovery_username=None,
13838        egress_filter=None,
13839        endpoint=None,
13840        healthcheck_namespace=None,
13841        healthy=None,
13842        id=None,
13843        identity_alias_healthcheck_username=None,
13844        identity_set_id=None,
13845        name=None,
13846        port_override=None,
13847        proxy_cluster_id=None,
13848        secret_store_id=None,
13849        service_account_key=None,
13850        subdomain=None,
13851        tags=None,
13852    ):
13853        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13854        '''
13855         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13856         when a resource role is not provided.
13857        '''
13858        self.bind_interface = bind_interface if bind_interface is not None else ''
13859        '''
13860         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13861        '''
13862        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13863        '''
13864         The CA to authenticate TLS connections with.
13865        '''
13866        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13867        '''
13868         If true, configures discovery of a cluster to be run from a node.
13869        '''
13870        self.discovery_username = discovery_username if discovery_username is not None else ''
13871        '''
13872         If a cluster is configured for user impersonation, this is the user to impersonate when
13873         running discovery.
13874        '''
13875        self.egress_filter = egress_filter if egress_filter is not None else ''
13876        '''
13877         A filter applied to the routing logic to pin datasource to nodes.
13878        '''
13879        self.endpoint = endpoint if endpoint is not None else ''
13880        '''
13881         The endpoint to dial.
13882        '''
13883        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13884        '''
13885         The path used to check the health of your connection.  Defaults to `default`.
13886        '''
13887        self.healthy = healthy if healthy is not None else False
13888        '''
13889         True if the datasource is reachable and the credentials are valid.
13890        '''
13891        self.id = id if id is not None else ''
13892        '''
13893         Unique identifier of the Resource.
13894        '''
13895        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13896        '''
13897         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13898        '''
13899        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13900        '''
13901         The ID of the identity set to use for identity connections.
13902        '''
13903        self.name = name if name is not None else ''
13904        '''
13905         Unique human-readable name of the Resource.
13906        '''
13907        self.port_override = port_override if port_override is not None else 0
13908        '''
13909         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13910        '''
13911        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13912        '''
13913         ID of the proxy cluster for this resource, if any.
13914        '''
13915        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13916        '''
13917         ID of the secret store containing credentials for this resource, if any.
13918        '''
13919        self.service_account_key = service_account_key if service_account_key is not None else ''
13920        '''
13921         The service account key to authenticate with.
13922        '''
13923        self.subdomain = subdomain if subdomain is not None else ''
13924        '''
13925         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13926        '''
13927        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13928        '''
13929         Tags is a map of key, value pairs.
13930        '''
13931
13932    def __repr__(self):
13933        return '<sdm.GoogleGKE ' + \
13934            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
13935            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
13936            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
13937            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
13938            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
13939            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
13940            'endpoint: ' + repr(self.endpoint) + ' ' +\
13941            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
13942            'healthy: ' + repr(self.healthy) + ' ' +\
13943            'id: ' + repr(self.id) + ' ' +\
13944            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
13945            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
13946            'name: ' + repr(self.name) + ' ' +\
13947            'port_override: ' + repr(self.port_override) + ' ' +\
13948            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
13949            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
13950            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
13951            'subdomain: ' + repr(self.subdomain) + ' ' +\
13952            'tags: ' + repr(self.tags) + ' ' +\
13953            '>'
13954
13955    def to_dict(self):
13956        return {
13957            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13958            'bind_interface': self.bind_interface,
13959            'certificate_authority': self.certificate_authority,
13960            'discovery_enabled': self.discovery_enabled,
13961            'discovery_username': self.discovery_username,
13962            'egress_filter': self.egress_filter,
13963            'endpoint': self.endpoint,
13964            'healthcheck_namespace': self.healthcheck_namespace,
13965            'healthy': self.healthy,
13966            'id': self.id,
13967            'identity_alias_healthcheck_username':
13968            self.identity_alias_healthcheck_username,
13969            'identity_set_id': self.identity_set_id,
13970            'name': self.name,
13971            'port_override': self.port_override,
13972            'proxy_cluster_id': self.proxy_cluster_id,
13973            'secret_store_id': self.secret_store_id,
13974            'service_account_key': self.service_account_key,
13975            'subdomain': self.subdomain,
13976            'tags': self.tags,
13977        }
13978
13979    @classmethod
13980    def from_dict(cls, d):
13981        return cls(
13982            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13983            bind_interface=d.get('bind_interface'),
13984            certificate_authority=d.get('certificate_authority'),
13985            discovery_enabled=d.get('discovery_enabled'),
13986            discovery_username=d.get('discovery_username'),
13987            egress_filter=d.get('egress_filter'),
13988            endpoint=d.get('endpoint'),
13989            healthcheck_namespace=d.get('healthcheck_namespace'),
13990            healthy=d.get('healthy'),
13991            id=d.get('id'),
13992            identity_alias_healthcheck_username=d.get(
13993                'identity_alias_healthcheck_username'),
13994            identity_set_id=d.get('identity_set_id'),
13995            name=d.get('name'),
13996            port_override=d.get('port_override'),
13997            proxy_cluster_id=d.get('proxy_cluster_id'),
13998            secret_store_id=d.get('secret_store_id'),
13999            service_account_key=d.get('service_account_key'),
14000            subdomain=d.get('subdomain'),
14001            tags=d.get('tags'),
14002        )
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)
13831    def __init__(
13832        self,
13833        allow_resource_role_bypass=None,
13834        bind_interface=None,
13835        certificate_authority=None,
13836        discovery_enabled=None,
13837        discovery_username=None,
13838        egress_filter=None,
13839        endpoint=None,
13840        healthcheck_namespace=None,
13841        healthy=None,
13842        id=None,
13843        identity_alias_healthcheck_username=None,
13844        identity_set_id=None,
13845        name=None,
13846        port_override=None,
13847        proxy_cluster_id=None,
13848        secret_store_id=None,
13849        service_account_key=None,
13850        subdomain=None,
13851        tags=None,
13852    ):
13853        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
13854        '''
13855         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
13856         when a resource role is not provided.
13857        '''
13858        self.bind_interface = bind_interface if bind_interface is not None else ''
13859        '''
13860         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
13861        '''
13862        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
13863        '''
13864         The CA to authenticate TLS connections with.
13865        '''
13866        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
13867        '''
13868         If true, configures discovery of a cluster to be run from a node.
13869        '''
13870        self.discovery_username = discovery_username if discovery_username is not None else ''
13871        '''
13872         If a cluster is configured for user impersonation, this is the user to impersonate when
13873         running discovery.
13874        '''
13875        self.egress_filter = egress_filter if egress_filter is not None else ''
13876        '''
13877         A filter applied to the routing logic to pin datasource to nodes.
13878        '''
13879        self.endpoint = endpoint if endpoint is not None else ''
13880        '''
13881         The endpoint to dial.
13882        '''
13883        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
13884        '''
13885         The path used to check the health of your connection.  Defaults to `default`.
13886        '''
13887        self.healthy = healthy if healthy is not None else False
13888        '''
13889         True if the datasource is reachable and the credentials are valid.
13890        '''
13891        self.id = id if id is not None else ''
13892        '''
13893         Unique identifier of the Resource.
13894        '''
13895        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
13896        '''
13897         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
13898        '''
13899        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
13900        '''
13901         The ID of the identity set to use for identity connections.
13902        '''
13903        self.name = name if name is not None else ''
13904        '''
13905         Unique human-readable name of the Resource.
13906        '''
13907        self.port_override = port_override if port_override is not None else 0
13908        '''
13909         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
13910        '''
13911        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
13912        '''
13913         ID of the proxy cluster for this resource, if any.
13914        '''
13915        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
13916        '''
13917         ID of the secret store containing credentials for this resource, if any.
13918        '''
13919        self.service_account_key = service_account_key if service_account_key is not None else ''
13920        '''
13921         The service account key to authenticate with.
13922        '''
13923        self.subdomain = subdomain if subdomain is not None else ''
13924        '''
13925         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
13926        '''
13927        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
13928        '''
13929         Tags is a map of key, value pairs.
13930        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID 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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
13955    def to_dict(self):
13956        return {
13957            'allow_resource_role_bypass': self.allow_resource_role_bypass,
13958            'bind_interface': self.bind_interface,
13959            'certificate_authority': self.certificate_authority,
13960            'discovery_enabled': self.discovery_enabled,
13961            'discovery_username': self.discovery_username,
13962            'egress_filter': self.egress_filter,
13963            'endpoint': self.endpoint,
13964            'healthcheck_namespace': self.healthcheck_namespace,
13965            'healthy': self.healthy,
13966            'id': self.id,
13967            'identity_alias_healthcheck_username':
13968            self.identity_alias_healthcheck_username,
13969            'identity_set_id': self.identity_set_id,
13970            'name': self.name,
13971            'port_override': self.port_override,
13972            'proxy_cluster_id': self.proxy_cluster_id,
13973            'secret_store_id': self.secret_store_id,
13974            'service_account_key': self.service_account_key,
13975            'subdomain': self.subdomain,
13976            'tags': self.tags,
13977        }
@classmethod
def from_dict(cls, d)
13979    @classmethod
13980    def from_dict(cls, d):
13981        return cls(
13982            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
13983            bind_interface=d.get('bind_interface'),
13984            certificate_authority=d.get('certificate_authority'),
13985            discovery_enabled=d.get('discovery_enabled'),
13986            discovery_username=d.get('discovery_username'),
13987            egress_filter=d.get('egress_filter'),
13988            endpoint=d.get('endpoint'),
13989            healthcheck_namespace=d.get('healthcheck_namespace'),
13990            healthy=d.get('healthy'),
13991            id=d.get('id'),
13992            identity_alias_healthcheck_username=d.get(
13993                'identity_alias_healthcheck_username'),
13994            identity_set_id=d.get('identity_set_id'),
13995            name=d.get('name'),
13996            port_override=d.get('port_override'),
13997            proxy_cluster_id=d.get('proxy_cluster_id'),
13998            secret_store_id=d.get('secret_store_id'),
13999            service_account_key=d.get('service_account_key'),
14000            subdomain=d.get('subdomain'),
14001            tags=d.get('tags'),
14002        )
class GoogleGKEUserImpersonation:
14005class GoogleGKEUserImpersonation:
14006    '''
14007    GoogleGKEUserImpersonation is deprecated, see docs for more info.
14008    '''
14009    __slots__ = [
14010        'bind_interface',
14011        'certificate_authority',
14012        'egress_filter',
14013        'endpoint',
14014        'healthcheck_namespace',
14015        'healthy',
14016        'id',
14017        'name',
14018        'port_override',
14019        'proxy_cluster_id',
14020        'secret_store_id',
14021        'service_account_key',
14022        'subdomain',
14023        'tags',
14024    ]
14025
14026    def __init__(
14027        self,
14028        bind_interface=None,
14029        certificate_authority=None,
14030        egress_filter=None,
14031        endpoint=None,
14032        healthcheck_namespace=None,
14033        healthy=None,
14034        id=None,
14035        name=None,
14036        port_override=None,
14037        proxy_cluster_id=None,
14038        secret_store_id=None,
14039        service_account_key=None,
14040        subdomain=None,
14041        tags=None,
14042    ):
14043        self.bind_interface = bind_interface if bind_interface is not None else ''
14044        '''
14045         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14046        '''
14047        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14048        '''
14049         The CA to authenticate TLS connections with.
14050        '''
14051        self.egress_filter = egress_filter if egress_filter is not None else ''
14052        '''
14053         A filter applied to the routing logic to pin datasource to nodes.
14054        '''
14055        self.endpoint = endpoint if endpoint is not None else ''
14056        '''
14057         The endpoint to dial.
14058        '''
14059        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14060        '''
14061         The path used to check the health of your connection.  Defaults to `default`.
14062        '''
14063        self.healthy = healthy if healthy is not None else False
14064        '''
14065         True if the datasource is reachable and the credentials are valid.
14066        '''
14067        self.id = id if id is not None else ''
14068        '''
14069         Unique identifier of the Resource.
14070        '''
14071        self.name = name if name is not None else ''
14072        '''
14073         Unique human-readable name of the Resource.
14074        '''
14075        self.port_override = port_override if port_override is not None else 0
14076        '''
14077         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14078        '''
14079        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14080        '''
14081         ID of the proxy cluster for this resource, if any.
14082        '''
14083        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14084        '''
14085         ID of the secret store containing credentials for this resource, if any.
14086        '''
14087        self.service_account_key = service_account_key if service_account_key is not None else ''
14088        '''
14089         The service account key to authenticate with.
14090        '''
14091        self.subdomain = subdomain if subdomain is not None else ''
14092        '''
14093         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14094        '''
14095        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14096        '''
14097         Tags is a map of key, value pairs.
14098        '''
14099
14100    def __repr__(self):
14101        return '<sdm.GoogleGKEUserImpersonation ' + \
14102            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14103            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
14104            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14105            'endpoint: ' + repr(self.endpoint) + ' ' +\
14106            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
14107            'healthy: ' + repr(self.healthy) + ' ' +\
14108            'id: ' + repr(self.id) + ' ' +\
14109            'name: ' + repr(self.name) + ' ' +\
14110            'port_override: ' + repr(self.port_override) + ' ' +\
14111            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14112            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14113            'service_account_key: ' + repr(self.service_account_key) + ' ' +\
14114            'subdomain: ' + repr(self.subdomain) + ' ' +\
14115            'tags: ' + repr(self.tags) + ' ' +\
14116            '>'
14117
14118    def to_dict(self):
14119        return {
14120            'bind_interface': self.bind_interface,
14121            'certificate_authority': self.certificate_authority,
14122            'egress_filter': self.egress_filter,
14123            'endpoint': self.endpoint,
14124            'healthcheck_namespace': self.healthcheck_namespace,
14125            'healthy': self.healthy,
14126            'id': self.id,
14127            'name': self.name,
14128            'port_override': self.port_override,
14129            'proxy_cluster_id': self.proxy_cluster_id,
14130            'secret_store_id': self.secret_store_id,
14131            'service_account_key': self.service_account_key,
14132            'subdomain': self.subdomain,
14133            'tags': self.tags,
14134        }
14135
14136    @classmethod
14137    def from_dict(cls, d):
14138        return cls(
14139            bind_interface=d.get('bind_interface'),
14140            certificate_authority=d.get('certificate_authority'),
14141            egress_filter=d.get('egress_filter'),
14142            endpoint=d.get('endpoint'),
14143            healthcheck_namespace=d.get('healthcheck_namespace'),
14144            healthy=d.get('healthy'),
14145            id=d.get('id'),
14146            name=d.get('name'),
14147            port_override=d.get('port_override'),
14148            proxy_cluster_id=d.get('proxy_cluster_id'),
14149            secret_store_id=d.get('secret_store_id'),
14150            service_account_key=d.get('service_account_key'),
14151            subdomain=d.get('subdomain'),
14152            tags=d.get('tags'),
14153        )

GoogleGKEUserImpersonation is deprecated, see docs for more info.

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)
14026    def __init__(
14027        self,
14028        bind_interface=None,
14029        certificate_authority=None,
14030        egress_filter=None,
14031        endpoint=None,
14032        healthcheck_namespace=None,
14033        healthy=None,
14034        id=None,
14035        name=None,
14036        port_override=None,
14037        proxy_cluster_id=None,
14038        secret_store_id=None,
14039        service_account_key=None,
14040        subdomain=None,
14041        tags=None,
14042    ):
14043        self.bind_interface = bind_interface if bind_interface is not None else ''
14044        '''
14045         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14046        '''
14047        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
14048        '''
14049         The CA to authenticate TLS connections with.
14050        '''
14051        self.egress_filter = egress_filter if egress_filter is not None else ''
14052        '''
14053         A filter applied to the routing logic to pin datasource to nodes.
14054        '''
14055        self.endpoint = endpoint if endpoint is not None else ''
14056        '''
14057         The endpoint to dial.
14058        '''
14059        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
14060        '''
14061         The path used to check the health of your connection.  Defaults to `default`.
14062        '''
14063        self.healthy = healthy if healthy is not None else False
14064        '''
14065         True if the datasource is reachable and the credentials are valid.
14066        '''
14067        self.id = id if id is not None else ''
14068        '''
14069         Unique identifier of the Resource.
14070        '''
14071        self.name = name if name is not None else ''
14072        '''
14073         Unique human-readable name of the Resource.
14074        '''
14075        self.port_override = port_override if port_override is not None else 0
14076        '''
14077         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14078        '''
14079        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14080        '''
14081         ID of the proxy cluster for this resource, if any.
14082        '''
14083        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14084        '''
14085         ID of the secret store containing credentials for this resource, if any.
14086        '''
14087        self.service_account_key = service_account_key if service_account_key is not None else ''
14088        '''
14089         The service account key to authenticate with.
14090        '''
14091        self.subdomain = subdomain if subdomain is not None else ''
14092        '''
14093         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14094        '''
14095        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14096        '''
14097         Tags is a map of key, value pairs.
14098        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID 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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
14118    def to_dict(self):
14119        return {
14120            'bind_interface': self.bind_interface,
14121            'certificate_authority': self.certificate_authority,
14122            'egress_filter': self.egress_filter,
14123            'endpoint': self.endpoint,
14124            'healthcheck_namespace': self.healthcheck_namespace,
14125            'healthy': self.healthy,
14126            'id': self.id,
14127            'name': self.name,
14128            'port_override': self.port_override,
14129            'proxy_cluster_id': self.proxy_cluster_id,
14130            'secret_store_id': self.secret_store_id,
14131            'service_account_key': self.service_account_key,
14132            'subdomain': self.subdomain,
14133            'tags': self.tags,
14134        }
@classmethod
def from_dict(cls, d)
14136    @classmethod
14137    def from_dict(cls, d):
14138        return cls(
14139            bind_interface=d.get('bind_interface'),
14140            certificate_authority=d.get('certificate_authority'),
14141            egress_filter=d.get('egress_filter'),
14142            endpoint=d.get('endpoint'),
14143            healthcheck_namespace=d.get('healthcheck_namespace'),
14144            healthy=d.get('healthy'),
14145            id=d.get('id'),
14146            name=d.get('name'),
14147            port_override=d.get('port_override'),
14148            proxy_cluster_id=d.get('proxy_cluster_id'),
14149            secret_store_id=d.get('secret_store_id'),
14150            service_account_key=d.get('service_account_key'),
14151            subdomain=d.get('subdomain'),
14152            tags=d.get('tags'),
14153        )
class Greenplum:
14156class Greenplum:
14157    __slots__ = [
14158        'bind_interface',
14159        'database',
14160        'egress_filter',
14161        'healthy',
14162        'hostname',
14163        'id',
14164        'name',
14165        'override_database',
14166        'password',
14167        'port',
14168        'port_override',
14169        'proxy_cluster_id',
14170        'secret_store_id',
14171        'subdomain',
14172        'tags',
14173        'username',
14174    ]
14175
14176    def __init__(
14177        self,
14178        bind_interface=None,
14179        database=None,
14180        egress_filter=None,
14181        healthy=None,
14182        hostname=None,
14183        id=None,
14184        name=None,
14185        override_database=None,
14186        password=None,
14187        port=None,
14188        port_override=None,
14189        proxy_cluster_id=None,
14190        secret_store_id=None,
14191        subdomain=None,
14192        tags=None,
14193        username=None,
14194    ):
14195        self.bind_interface = bind_interface if bind_interface is not None else ''
14196        '''
14197         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14198        '''
14199        self.database = database if database is not None else ''
14200        '''
14201         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
14202        '''
14203        self.egress_filter = egress_filter if egress_filter is not None else ''
14204        '''
14205         A filter applied to the routing logic to pin datasource to nodes.
14206        '''
14207        self.healthy = healthy if healthy is not None else False
14208        '''
14209         True if the datasource is reachable and the credentials are valid.
14210        '''
14211        self.hostname = hostname if hostname is not None else ''
14212        '''
14213         The host to dial to initiate a connection from the egress node to this resource.
14214        '''
14215        self.id = id if id is not None else ''
14216        '''
14217         Unique identifier of the Resource.
14218        '''
14219        self.name = name if name is not None else ''
14220        '''
14221         Unique human-readable name of the Resource.
14222        '''
14223        self.override_database = override_database if override_database is not None else False
14224        '''
14225         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
14226        '''
14227        self.password = password if password is not None else ''
14228        '''
14229         The password to authenticate with.
14230        '''
14231        self.port = port if port is not None else 0
14232        '''
14233         The port to dial to initiate a connection from the egress node to this resource.
14234        '''
14235        self.port_override = port_override if port_override is not None else 0
14236        '''
14237         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14238        '''
14239        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14240        '''
14241         ID of the proxy cluster for this resource, if any.
14242        '''
14243        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14244        '''
14245         ID of the secret store containing credentials for this resource, if any.
14246        '''
14247        self.subdomain = subdomain if subdomain is not None else ''
14248        '''
14249         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14250        '''
14251        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14252        '''
14253         Tags is a map of key, value pairs.
14254        '''
14255        self.username = username if username is not None else ''
14256        '''
14257         The username to authenticate with.
14258        '''
14259
14260    def __repr__(self):
14261        return '<sdm.Greenplum ' + \
14262            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
14263            'database: ' + repr(self.database) + ' ' +\
14264            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
14265            'healthy: ' + repr(self.healthy) + ' ' +\
14266            'hostname: ' + repr(self.hostname) + ' ' +\
14267            'id: ' + repr(self.id) + ' ' +\
14268            'name: ' + repr(self.name) + ' ' +\
14269            'override_database: ' + repr(self.override_database) + ' ' +\
14270            'password: ' + repr(self.password) + ' ' +\
14271            'port: ' + repr(self.port) + ' ' +\
14272            'port_override: ' + repr(self.port_override) + ' ' +\
14273            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
14274            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
14275            'subdomain: ' + repr(self.subdomain) + ' ' +\
14276            'tags: ' + repr(self.tags) + ' ' +\
14277            'username: ' + repr(self.username) + ' ' +\
14278            '>'
14279
14280    def to_dict(self):
14281        return {
14282            'bind_interface': self.bind_interface,
14283            'database': self.database,
14284            'egress_filter': self.egress_filter,
14285            'healthy': self.healthy,
14286            'hostname': self.hostname,
14287            'id': self.id,
14288            'name': self.name,
14289            'override_database': self.override_database,
14290            'password': self.password,
14291            'port': self.port,
14292            'port_override': self.port_override,
14293            'proxy_cluster_id': self.proxy_cluster_id,
14294            'secret_store_id': self.secret_store_id,
14295            'subdomain': self.subdomain,
14296            'tags': self.tags,
14297            'username': self.username,
14298        }
14299
14300    @classmethod
14301    def from_dict(cls, d):
14302        return cls(
14303            bind_interface=d.get('bind_interface'),
14304            database=d.get('database'),
14305            egress_filter=d.get('egress_filter'),
14306            healthy=d.get('healthy'),
14307            hostname=d.get('hostname'),
14308            id=d.get('id'),
14309            name=d.get('name'),
14310            override_database=d.get('override_database'),
14311            password=d.get('password'),
14312            port=d.get('port'),
14313            port_override=d.get('port_override'),
14314            proxy_cluster_id=d.get('proxy_cluster_id'),
14315            secret_store_id=d.get('secret_store_id'),
14316            subdomain=d.get('subdomain'),
14317            tags=d.get('tags'),
14318            username=d.get('username'),
14319        )
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)
14176    def __init__(
14177        self,
14178        bind_interface=None,
14179        database=None,
14180        egress_filter=None,
14181        healthy=None,
14182        hostname=None,
14183        id=None,
14184        name=None,
14185        override_database=None,
14186        password=None,
14187        port=None,
14188        port_override=None,
14189        proxy_cluster_id=None,
14190        secret_store_id=None,
14191        subdomain=None,
14192        tags=None,
14193        username=None,
14194    ):
14195        self.bind_interface = bind_interface if bind_interface is not None else ''
14196        '''
14197         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
14198        '''
14199        self.database = database if database is not None else ''
14200        '''
14201         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
14202        '''
14203        self.egress_filter = egress_filter if egress_filter is not None else ''
14204        '''
14205         A filter applied to the routing logic to pin datasource to nodes.
14206        '''
14207        self.healthy = healthy if healthy is not None else False
14208        '''
14209         True if the datasource is reachable and the credentials are valid.
14210        '''
14211        self.hostname = hostname if hostname is not None else ''
14212        '''
14213         The host to dial to initiate a connection from the egress node to this resource.
14214        '''
14215        self.id = id if id is not None else ''
14216        '''
14217         Unique identifier of the Resource.
14218        '''
14219        self.name = name if name is not None else ''
14220        '''
14221         Unique human-readable name of the Resource.
14222        '''
14223        self.override_database = override_database if override_database is not None else False
14224        '''
14225         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
14226        '''
14227        self.password = password if password is not None else ''
14228        '''
14229         The password to authenticate with.
14230        '''
14231        self.port = port if port is not None else 0
14232        '''
14233         The port to dial to initiate a connection from the egress node to this resource.
14234        '''
14235        self.port_override = port_override if port_override is not None else 0
14236        '''
14237         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
14238        '''
14239        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
14240        '''
14241         ID of the proxy cluster for this resource, if any.
14242        '''
14243        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
14244        '''
14245         ID of the secret store containing credentials for this resource, if any.
14246        '''
14247        self.subdomain = subdomain if subdomain is not None else ''
14248        '''
14249         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
14250        '''
14251        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14252        '''
14253         Tags is a map of key, value pairs.
14254        '''
14255        self.username = username if username is not None else ''
14256        '''
14257         The username to authenticate with.
14258        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
14280    def to_dict(self):
14281        return {
14282            'bind_interface': self.bind_interface,
14283            'database': self.database,
14284            'egress_filter': self.egress_filter,
14285            'healthy': self.healthy,
14286            'hostname': self.hostname,
14287            'id': self.id,
14288            'name': self.name,
14289            'override_database': self.override_database,
14290            'password': self.password,
14291            'port': self.port,
14292            'port_override': self.port_override,
14293            'proxy_cluster_id': self.proxy_cluster_id,
14294            'secret_store_id': self.secret_store_id,
14295            'subdomain': self.subdomain,
14296            'tags': self.tags,
14297            'username': self.username,
14298        }
@classmethod
def from_dict(cls, d)
14300    @classmethod
14301    def from_dict(cls, d):
14302        return cls(
14303            bind_interface=d.get('bind_interface'),
14304            database=d.get('database'),
14305            egress_filter=d.get('egress_filter'),
14306            healthy=d.get('healthy'),
14307            hostname=d.get('hostname'),
14308            id=d.get('id'),
14309            name=d.get('name'),
14310            override_database=d.get('override_database'),
14311            password=d.get('password'),
14312            port=d.get('port'),
14313            port_override=d.get('port_override'),
14314            proxy_cluster_id=d.get('proxy_cluster_id'),
14315            secret_store_id=d.get('secret_store_id'),
14316            subdomain=d.get('subdomain'),
14317            tags=d.get('tags'),
14318            username=d.get('username'),
14319        )
class Group:
14322class Group:
14323    '''
14324         A Group is a named set of principals.
14325    '''
14326    __slots__ = [
14327        'description',
14328        'id',
14329        'name',
14330        'source',
14331        'tags',
14332    ]
14333
14334    def __init__(
14335        self,
14336        description=None,
14337        id=None,
14338        name=None,
14339        source=None,
14340        tags=None,
14341    ):
14342        self.description = description if description is not None else ''
14343        '''
14344         Description of the Group.
14345        '''
14346        self.id = id if id is not None else ''
14347        '''
14348         Unique identifier of the Group.
14349        '''
14350        self.name = name if name is not None else ''
14351        '''
14352         Unique human-readable name of the Group.
14353        '''
14354        self.source = source if source is not None else ''
14355        '''
14356         Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
14357        '''
14358        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14359        '''
14360         Tags is a map of key/value pairs that can be attached to a Group.
14361        '''
14362
14363    def __repr__(self):
14364        return '<sdm.Group ' + \
14365            'description: ' + repr(self.description) + ' ' +\
14366            'id: ' + repr(self.id) + ' ' +\
14367            'name: ' + repr(self.name) + ' ' +\
14368            'source: ' + repr(self.source) + ' ' +\
14369            'tags: ' + repr(self.tags) + ' ' +\
14370            '>'
14371
14372    def to_dict(self):
14373        return {
14374            'description': self.description,
14375            'id': self.id,
14376            'name': self.name,
14377            'source': self.source,
14378            'tags': self.tags,
14379        }
14380
14381    @classmethod
14382    def from_dict(cls, d):
14383        return cls(
14384            description=d.get('description'),
14385            id=d.get('id'),
14386            name=d.get('name'),
14387            source=d.get('source'),
14388            tags=d.get('tags'),
14389        )

A Group is a named set of principals.

Group(description=None, id=None, name=None, source=None, tags=None)
14334    def __init__(
14335        self,
14336        description=None,
14337        id=None,
14338        name=None,
14339        source=None,
14340        tags=None,
14341    ):
14342        self.description = description if description is not None else ''
14343        '''
14344         Description of the Group.
14345        '''
14346        self.id = id if id is not None else ''
14347        '''
14348         Unique identifier of the Group.
14349        '''
14350        self.name = name if name is not None else ''
14351        '''
14352         Unique human-readable name of the Group.
14353        '''
14354        self.source = source if source is not None else ''
14355        '''
14356         Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.
14357        '''
14358        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
14359        '''
14360         Tags is a map of key/value pairs that can be attached to a Group.
14361        '''
description

Description of the Group.

id

Unique identifier of the Group.

name

Unique human-readable name of the Group.

source

Source is a read only field for what service manages this group, e.g. StrongDM, Okta, Azure.

tags

Tags is a map of key/value pairs that can be attached to a Group.

def to_dict(self)
14372    def to_dict(self):
14373        return {
14374            'description': self.description,
14375            'id': self.id,
14376            'name': self.name,
14377            'source': self.source,
14378            'tags': self.tags,
14379        }
@classmethod
def from_dict(cls, d)
14381    @classmethod
14382    def from_dict(cls, d):
14383        return cls(
14384            description=d.get('description'),
14385            id=d.get('id'),
14386            name=d.get('name'),
14387            source=d.get('source'),
14388            tags=d.get('tags'),
14389        )
class GroupCreateFromRolesRequest:
14392class GroupCreateFromRolesRequest:
14393    __slots__ = [
14394        'commit',
14395        'role_ids',
14396    ]
14397
14398    def __init__(
14399        self,
14400        commit=None,
14401        role_ids=None,
14402    ):
14403        self.commit = commit if commit is not None else False
14404        '''
14405         Commit
14406        '''
14407        self.role_ids = role_ids if role_ids is not None else []
14408        '''
14409         The unique identifiers of the roles create groups from.
14410        '''
14411
14412    def __repr__(self):
14413        return '<sdm.GroupCreateFromRolesRequest ' + \
14414            'commit: ' + repr(self.commit) + ' ' +\
14415            'role_ids: ' + repr(self.role_ids) + ' ' +\
14416            '>'
14417
14418    def to_dict(self):
14419        return {
14420            'commit': self.commit,
14421            'role_ids': self.role_ids,
14422        }
14423
14424    @classmethod
14425    def from_dict(cls, d):
14426        return cls(
14427            commit=d.get('commit'),
14428            role_ids=d.get('role_ids'),
14429        )
GroupCreateFromRolesRequest(commit=None, role_ids=None)
14398    def __init__(
14399        self,
14400        commit=None,
14401        role_ids=None,
14402    ):
14403        self.commit = commit if commit is not None else False
14404        '''
14405         Commit
14406        '''
14407        self.role_ids = role_ids if role_ids is not None else []
14408        '''
14409         The unique identifiers of the roles create groups from.
14410        '''
commit

Commit

role_ids

The unique identifiers of the roles create groups from.

def to_dict(self)
14418    def to_dict(self):
14419        return {
14420            'commit': self.commit,
14421            'role_ids': self.role_ids,
14422        }
@classmethod
def from_dict(cls, d)
14424    @classmethod
14425    def from_dict(cls, d):
14426        return cls(
14427            commit=d.get('commit'),
14428            role_ids=d.get('role_ids'),
14429        )
class GroupCreateFromRolesResponse:
14432class GroupCreateFromRolesResponse:
14433    __slots__ = [
14434        'group_from_role',
14435        'rate_limit',
14436    ]
14437
14438    def __init__(
14439        self,
14440        group_from_role=None,
14441        rate_limit=None,
14442    ):
14443        self.group_from_role = group_from_role if group_from_role is not None else []
14444        '''
14445         The created Group.
14446        '''
14447        self.rate_limit = rate_limit if rate_limit is not None else None
14448        '''
14449         Rate limit information.
14450        '''
14451
14452    def __repr__(self):
14453        return '<sdm.GroupCreateFromRolesResponse ' + \
14454            'group_from_role: ' + repr(self.group_from_role) + ' ' +\
14455            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14456            '>'
14457
14458    def to_dict(self):
14459        return {
14460            'group_from_role': self.group_from_role,
14461            'rate_limit': self.rate_limit,
14462        }
14463
14464    @classmethod
14465    def from_dict(cls, d):
14466        return cls(
14467            group_from_role=d.get('group_from_role'),
14468            rate_limit=d.get('rate_limit'),
14469        )
GroupCreateFromRolesResponse(group_from_role=None, rate_limit=None)
14438    def __init__(
14439        self,
14440        group_from_role=None,
14441        rate_limit=None,
14442    ):
14443        self.group_from_role = group_from_role if group_from_role is not None else []
14444        '''
14445         The created Group.
14446        '''
14447        self.rate_limit = rate_limit if rate_limit is not None else None
14448        '''
14449         Rate limit information.
14450        '''
group_from_role

The created Group.

rate_limit

Rate limit information.

def to_dict(self)
14458    def to_dict(self):
14459        return {
14460            'group_from_role': self.group_from_role,
14461            'rate_limit': self.rate_limit,
14462        }
@classmethod
def from_dict(cls, d)
14464    @classmethod
14465    def from_dict(cls, d):
14466        return cls(
14467            group_from_role=d.get('group_from_role'),
14468            rate_limit=d.get('rate_limit'),
14469        )
class GroupCreateRequest:
14472class GroupCreateRequest:
14473    '''
14474         GroupCreateRequest specifies a group to create.
14475    '''
14476    __slots__ = [
14477        'group',
14478    ]
14479
14480    def __init__(
14481        self,
14482        group=None,
14483    ):
14484        self.group = group if group is not None else None
14485        '''
14486         Parameters to define the new Group.
14487        '''
14488
14489    def __repr__(self):
14490        return '<sdm.GroupCreateRequest ' + \
14491            'group: ' + repr(self.group) + ' ' +\
14492            '>'
14493
14494    def to_dict(self):
14495        return {
14496            'group': self.group,
14497        }
14498
14499    @classmethod
14500    def from_dict(cls, d):
14501        return cls(group=d.get('group'), )

GroupCreateRequest specifies a group to create.

GroupCreateRequest(group=None)
14480    def __init__(
14481        self,
14482        group=None,
14483    ):
14484        self.group = group if group is not None else None
14485        '''
14486         Parameters to define the new Group.
14487        '''
group

Parameters to define the new Group.

def to_dict(self)
14494    def to_dict(self):
14495        return {
14496            'group': self.group,
14497        }
@classmethod
def from_dict(cls, d)
14499    @classmethod
14500    def from_dict(cls, d):
14501        return cls(group=d.get('group'), )
class GroupCreateResponse:
14504class GroupCreateResponse:
14505    '''
14506         GroupCreateResponse reports the result of a create.
14507    '''
14508    __slots__ = [
14509        'group',
14510        'rate_limit',
14511    ]
14512
14513    def __init__(
14514        self,
14515        group=None,
14516        rate_limit=None,
14517    ):
14518        self.group = group if group is not None else None
14519        '''
14520         The created Group.
14521        '''
14522        self.rate_limit = rate_limit if rate_limit is not None else None
14523        '''
14524         Rate limit information.
14525        '''
14526
14527    def __repr__(self):
14528        return '<sdm.GroupCreateResponse ' + \
14529            'group: ' + repr(self.group) + ' ' +\
14530            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14531            '>'
14532
14533    def to_dict(self):
14534        return {
14535            'group': self.group,
14536            'rate_limit': self.rate_limit,
14537        }
14538
14539    @classmethod
14540    def from_dict(cls, d):
14541        return cls(
14542            group=d.get('group'),
14543            rate_limit=d.get('rate_limit'),
14544        )

GroupCreateResponse reports the result of a create.

GroupCreateResponse(group=None, rate_limit=None)
14513    def __init__(
14514        self,
14515        group=None,
14516        rate_limit=None,
14517    ):
14518        self.group = group if group is not None else None
14519        '''
14520         The created Group.
14521        '''
14522        self.rate_limit = rate_limit if rate_limit is not None else None
14523        '''
14524         Rate limit information.
14525        '''
group

The created Group.

rate_limit

Rate limit information.

def to_dict(self)
14533    def to_dict(self):
14534        return {
14535            'group': self.group,
14536            'rate_limit': self.rate_limit,
14537        }
@classmethod
def from_dict(cls, d)
14539    @classmethod
14540    def from_dict(cls, d):
14541        return cls(
14542            group=d.get('group'),
14543            rate_limit=d.get('rate_limit'),
14544        )
class GroupDeleteRequest:
14547class GroupDeleteRequest:
14548    '''
14549         groupDeleteRequest identifies a group by ID to delete.
14550    '''
14551    __slots__ = [
14552        'id',
14553    ]
14554
14555    def __init__(
14556        self,
14557        id=None,
14558    ):
14559        self.id = id if id is not None else ''
14560        '''
14561         The unique identifier of the group to delete.
14562        '''
14563
14564    def __repr__(self):
14565        return '<sdm.GroupDeleteRequest ' + \
14566            'id: ' + repr(self.id) + ' ' +\
14567            '>'
14568
14569    def to_dict(self):
14570        return {
14571            'id': self.id,
14572        }
14573
14574    @classmethod
14575    def from_dict(cls, d):
14576        return cls(id=d.get('id'), )

groupDeleteRequest identifies a group by ID to delete.

GroupDeleteRequest(id=None)
14555    def __init__(
14556        self,
14557        id=None,
14558    ):
14559        self.id = id if id is not None else ''
14560        '''
14561         The unique identifier of the group to delete.
14562        '''
id

The unique identifier of the group to delete.

def to_dict(self)
14569    def to_dict(self):
14570        return {
14571            'id': self.id,
14572        }
@classmethod
def from_dict(cls, d)
14574    @classmethod
14575    def from_dict(cls, d):
14576        return cls(id=d.get('id'), )
class GroupDeleteResponse:
14579class GroupDeleteResponse:
14580    '''
14581         groupDeleteResponse returns information about a group that was deleted.
14582    '''
14583    __slots__ = [
14584        'meta',
14585        'rate_limit',
14586    ]
14587
14588    def __init__(
14589        self,
14590        meta=None,
14591        rate_limit=None,
14592    ):
14593        self.meta = meta if meta is not None else None
14594        '''
14595         Reserved for future use.
14596        '''
14597        self.rate_limit = rate_limit if rate_limit is not None else None
14598        '''
14599         Rate limit information.
14600        '''
14601
14602    def __repr__(self):
14603        return '<sdm.GroupDeleteResponse ' + \
14604            'meta: ' + repr(self.meta) + ' ' +\
14605            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14606            '>'
14607
14608    def to_dict(self):
14609        return {
14610            'meta': self.meta,
14611            'rate_limit': self.rate_limit,
14612        }
14613
14614    @classmethod
14615    def from_dict(cls, d):
14616        return cls(
14617            meta=d.get('meta'),
14618            rate_limit=d.get('rate_limit'),
14619        )

groupDeleteResponse returns information about a group that was deleted.

GroupDeleteResponse(meta=None, rate_limit=None)
14588    def __init__(
14589        self,
14590        meta=None,
14591        rate_limit=None,
14592    ):
14593        self.meta = meta if meta is not None else None
14594        '''
14595         Reserved for future use.
14596        '''
14597        self.rate_limit = rate_limit if rate_limit is not None else None
14598        '''
14599         Rate limit information.
14600        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14608    def to_dict(self):
14609        return {
14610            'meta': self.meta,
14611            'rate_limit': self.rate_limit,
14612        }
@classmethod
def from_dict(cls, d)
14614    @classmethod
14615    def from_dict(cls, d):
14616        return cls(
14617            meta=d.get('meta'),
14618            rate_limit=d.get('rate_limit'),
14619        )
class GroupFromRole:
14622class GroupFromRole:
14623    __slots__ = [
14624        'accounts',
14625        'approval_flows',
14626        'group',
14627        'rate_limit',
14628        'role',
14629    ]
14630
14631    def __init__(
14632        self,
14633        accounts=None,
14634        approval_flows=None,
14635        group=None,
14636        rate_limit=None,
14637        role=None,
14638    ):
14639        self.accounts = accounts if accounts is not None else []
14640        '''
14641         The migrated Accounts.
14642        '''
14643        self.approval_flows = approval_flows if approval_flows is not None else []
14644        '''
14645         The affected approval flows.
14646        '''
14647        self.group = group if group is not None else None
14648        '''
14649         The group created from the source role.
14650        '''
14651        self.rate_limit = rate_limit if rate_limit is not None else None
14652        '''
14653         Rate limit information.
14654        '''
14655        self.role = role if role is not None else None
14656        '''
14657         The source role.
14658        '''
14659
14660    def __repr__(self):
14661        return '<sdm.GroupFromRole ' + \
14662            'accounts: ' + repr(self.accounts) + ' ' +\
14663            'approval_flows: ' + repr(self.approval_flows) + ' ' +\
14664            'group: ' + repr(self.group) + ' ' +\
14665            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14666            'role: ' + repr(self.role) + ' ' +\
14667            '>'
14668
14669    def to_dict(self):
14670        return {
14671            'accounts': self.accounts,
14672            'approval_flows': self.approval_flows,
14673            'group': self.group,
14674            'rate_limit': self.rate_limit,
14675            'role': self.role,
14676        }
14677
14678    @classmethod
14679    def from_dict(cls, d):
14680        return cls(
14681            accounts=d.get('accounts'),
14682            approval_flows=d.get('approval_flows'),
14683            group=d.get('group'),
14684            rate_limit=d.get('rate_limit'),
14685            role=d.get('role'),
14686        )
GroupFromRole( accounts=None, approval_flows=None, group=None, rate_limit=None, role=None)
14631    def __init__(
14632        self,
14633        accounts=None,
14634        approval_flows=None,
14635        group=None,
14636        rate_limit=None,
14637        role=None,
14638    ):
14639        self.accounts = accounts if accounts is not None else []
14640        '''
14641         The migrated Accounts.
14642        '''
14643        self.approval_flows = approval_flows if approval_flows is not None else []
14644        '''
14645         The affected approval flows.
14646        '''
14647        self.group = group if group is not None else None
14648        '''
14649         The group created from the source role.
14650        '''
14651        self.rate_limit = rate_limit if rate_limit is not None else None
14652        '''
14653         Rate limit information.
14654        '''
14655        self.role = role if role is not None else None
14656        '''
14657         The source role.
14658        '''
accounts

The migrated Accounts.

approval_flows

The affected approval flows.

group

The group created from the source role.

rate_limit

Rate limit information.

role

The source role.

def to_dict(self)
14669    def to_dict(self):
14670        return {
14671            'accounts': self.accounts,
14672            'approval_flows': self.approval_flows,
14673            'group': self.group,
14674            'rate_limit': self.rate_limit,
14675            'role': self.role,
14676        }
@classmethod
def from_dict(cls, d)
14678    @classmethod
14679    def from_dict(cls, d):
14680        return cls(
14681            accounts=d.get('accounts'),
14682            approval_flows=d.get('approval_flows'),
14683            group=d.get('group'),
14684            rate_limit=d.get('rate_limit'),
14685            role=d.get('role'),
14686        )
class GroupGetRequest:
14689class GroupGetRequest:
14690    '''
14691         GroupGetRequest specifies which Group to retrieve.
14692    '''
14693    __slots__ = [
14694        'id',
14695    ]
14696
14697    def __init__(
14698        self,
14699        id=None,
14700    ):
14701        self.id = id if id is not None else ''
14702        '''
14703         The unique identifier of the Group to retrieve.
14704        '''
14705
14706    def __repr__(self):
14707        return '<sdm.GroupGetRequest ' + \
14708            'id: ' + repr(self.id) + ' ' +\
14709            '>'
14710
14711    def to_dict(self):
14712        return {
14713            'id': self.id,
14714        }
14715
14716    @classmethod
14717    def from_dict(cls, d):
14718        return cls(id=d.get('id'), )

GroupGetRequest specifies which Group to retrieve.

GroupGetRequest(id=None)
14697    def __init__(
14698        self,
14699        id=None,
14700    ):
14701        self.id = id if id is not None else ''
14702        '''
14703         The unique identifier of the Group to retrieve.
14704        '''
id

The unique identifier of the Group to retrieve.

def to_dict(self)
14711    def to_dict(self):
14712        return {
14713            'id': self.id,
14714        }
@classmethod
def from_dict(cls, d)
14716    @classmethod
14717    def from_dict(cls, d):
14718        return cls(id=d.get('id'), )
class GroupGetResponse:
14721class GroupGetResponse:
14722    '''
14723         GroupGetResponse returns a requested Group.
14724    '''
14725    __slots__ = [
14726        'group',
14727        'meta',
14728        'rate_limit',
14729    ]
14730
14731    def __init__(
14732        self,
14733        group=None,
14734        meta=None,
14735        rate_limit=None,
14736    ):
14737        self.group = group if group is not None else None
14738        '''
14739         The requested Group.
14740        '''
14741        self.meta = meta if meta is not None else None
14742        '''
14743         Reserved for future use.
14744        '''
14745        self.rate_limit = rate_limit if rate_limit is not None else None
14746        '''
14747         Rate limit information.
14748        '''
14749
14750    def __repr__(self):
14751        return '<sdm.GroupGetResponse ' + \
14752            'group: ' + repr(self.group) + ' ' +\
14753            'meta: ' + repr(self.meta) + ' ' +\
14754            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14755            '>'
14756
14757    def to_dict(self):
14758        return {
14759            'group': self.group,
14760            'meta': self.meta,
14761            'rate_limit': self.rate_limit,
14762        }
14763
14764    @classmethod
14765    def from_dict(cls, d):
14766        return cls(
14767            group=d.get('group'),
14768            meta=d.get('meta'),
14769            rate_limit=d.get('rate_limit'),
14770        )

GroupGetResponse returns a requested Group.

GroupGetResponse(group=None, meta=None, rate_limit=None)
14731    def __init__(
14732        self,
14733        group=None,
14734        meta=None,
14735        rate_limit=None,
14736    ):
14737        self.group = group if group is not None else None
14738        '''
14739         The requested Group.
14740        '''
14741        self.meta = meta if meta is not None else None
14742        '''
14743         Reserved for future use.
14744        '''
14745        self.rate_limit = rate_limit if rate_limit is not None else None
14746        '''
14747         Rate limit information.
14748        '''
group

The requested Group.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
14757    def to_dict(self):
14758        return {
14759            'group': self.group,
14760            'meta': self.meta,
14761            'rate_limit': self.rate_limit,
14762        }
@classmethod
def from_dict(cls, d)
14764    @classmethod
14765    def from_dict(cls, d):
14766        return cls(
14767            group=d.get('group'),
14768            meta=d.get('meta'),
14769            rate_limit=d.get('rate_limit'),
14770        )
class GroupHistory:
14773class GroupHistory:
14774    '''
14775         GroupHistory records the state of a Group at a given point in time,
14776     where every change (create, update and delete) to a Group produces a
14777     GroupHistory record.
14778    '''
14779    __slots__ = [
14780        'activity_id',
14781        'deleted_at',
14782        'group',
14783        'timestamp',
14784    ]
14785
14786    def __init__(
14787        self,
14788        activity_id=None,
14789        deleted_at=None,
14790        group=None,
14791        timestamp=None,
14792    ):
14793        self.activity_id = activity_id if activity_id is not None else ''
14794        '''
14795         The unique identifier of the Activity that produced this change to the Group.
14796         May be empty for some system-initiated updates.
14797        '''
14798        self.deleted_at = deleted_at if deleted_at is not None else None
14799        '''
14800         If this Group was deleted, the time it was deleted.
14801        '''
14802        self.group = group if group is not None else None
14803        '''
14804         The complete Group state at this time.
14805        '''
14806        self.timestamp = timestamp if timestamp is not None else None
14807        '''
14808         The time at which the Group state was recorded.
14809        '''
14810
14811    def __repr__(self):
14812        return '<sdm.GroupHistory ' + \
14813            'activity_id: ' + repr(self.activity_id) + ' ' +\
14814            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
14815            'group: ' + repr(self.group) + ' ' +\
14816            'timestamp: ' + repr(self.timestamp) + ' ' +\
14817            '>'
14818
14819    def to_dict(self):
14820        return {
14821            'activity_id': self.activity_id,
14822            'deleted_at': self.deleted_at,
14823            'group': self.group,
14824            'timestamp': self.timestamp,
14825        }
14826
14827    @classmethod
14828    def from_dict(cls, d):
14829        return cls(
14830            activity_id=d.get('activity_id'),
14831            deleted_at=d.get('deleted_at'),
14832            group=d.get('group'),
14833            timestamp=d.get('timestamp'),
14834        )

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

GroupHistory(activity_id=None, deleted_at=None, group=None, timestamp=None)
14786    def __init__(
14787        self,
14788        activity_id=None,
14789        deleted_at=None,
14790        group=None,
14791        timestamp=None,
14792    ):
14793        self.activity_id = activity_id if activity_id is not None else ''
14794        '''
14795         The unique identifier of the Activity that produced this change to the Group.
14796         May be empty for some system-initiated updates.
14797        '''
14798        self.deleted_at = deleted_at if deleted_at is not None else None
14799        '''
14800         If this Group was deleted, the time it was deleted.
14801        '''
14802        self.group = group if group is not None else None
14803        '''
14804         The complete Group state at this time.
14805        '''
14806        self.timestamp = timestamp if timestamp is not None else None
14807        '''
14808         The time at which the Group state was recorded.
14809        '''
activity_id

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

deleted_at

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

group

The complete Group state at this time.

timestamp

The time at which the Group state was recorded.

def to_dict(self)
14819    def to_dict(self):
14820        return {
14821            'activity_id': self.activity_id,
14822            'deleted_at': self.deleted_at,
14823            'group': self.group,
14824            'timestamp': self.timestamp,
14825        }
@classmethod
def from_dict(cls, d)
14827    @classmethod
14828    def from_dict(cls, d):
14829        return cls(
14830            activity_id=d.get('activity_id'),
14831            deleted_at=d.get('deleted_at'),
14832            group=d.get('group'),
14833            timestamp=d.get('timestamp'),
14834        )
class GroupListRequest:
14837class GroupListRequest:
14838    '''
14839         groupListRequest specifies criteria for retrieving a list of groups.
14840    '''
14841    __slots__ = [
14842        'filter',
14843    ]
14844
14845    def __init__(
14846        self,
14847        filter=None,
14848    ):
14849        self.filter = filter if filter is not None else ''
14850        '''
14851         A human-readable filter query string.
14852        '''
14853
14854    def __repr__(self):
14855        return '<sdm.GroupListRequest ' + \
14856            'filter: ' + repr(self.filter) + ' ' +\
14857            '>'
14858
14859    def to_dict(self):
14860        return {
14861            'filter': self.filter,
14862        }
14863
14864    @classmethod
14865    def from_dict(cls, d):
14866        return cls(filter=d.get('filter'), )

groupListRequest specifies criteria for retrieving a list of groups.

GroupListRequest(filter=None)
14845    def __init__(
14846        self,
14847        filter=None,
14848    ):
14849        self.filter = filter if filter is not None else ''
14850        '''
14851         A human-readable filter query string.
14852        '''
filter

A human-readable filter query string.

def to_dict(self)
14859    def to_dict(self):
14860        return {
14861            'filter': self.filter,
14862        }
@classmethod
def from_dict(cls, d)
14864    @classmethod
14865    def from_dict(cls, d):
14866        return cls(filter=d.get('filter'), )
class GroupListResponse:
14869class GroupListResponse:
14870    '''
14871         groupListResponse returns a list of groups that meet the criteria of a
14872     groupListRequest.
14873    '''
14874    __slots__ = [
14875        'rate_limit',
14876    ]
14877
14878    def __init__(
14879        self,
14880        rate_limit=None,
14881    ):
14882        self.rate_limit = rate_limit if rate_limit is not None else None
14883        '''
14884         Rate limit information.
14885        '''
14886
14887    def __repr__(self):
14888        return '<sdm.GroupListResponse ' + \
14889            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
14890            '>'
14891
14892    def to_dict(self):
14893        return {
14894            'rate_limit': self.rate_limit,
14895        }
14896
14897    @classmethod
14898    def from_dict(cls, d):
14899        return cls(rate_limit=d.get('rate_limit'), )

groupListResponse returns a list of groups that meet the criteria of a groupListRequest.

GroupListResponse(rate_limit=None)
14878    def __init__(
14879        self,
14880        rate_limit=None,
14881    ):
14882        self.rate_limit = rate_limit if rate_limit is not None else None
14883        '''
14884         Rate limit information.
14885        '''
rate_limit

Rate limit information.

def to_dict(self)
14892    def to_dict(self):
14893        return {
14894            'rate_limit': self.rate_limit,
14895        }
@classmethod
def from_dict(cls, d)
14897    @classmethod
14898    def from_dict(cls, d):
14899        return cls(rate_limit=d.get('rate_limit'), )
class GroupRole:
14902class GroupRole:
14903    '''
14904         A GroupRole assigns a Group to a Role.
14905    '''
14906    __slots__ = [
14907        'group_id',
14908        'id',
14909        'role_id',
14910    ]
14911
14912    def __init__(
14913        self,
14914        group_id=None,
14915        id=None,
14916        role_id=None,
14917    ):
14918        self.group_id = group_id if group_id is not None else ''
14919        '''
14920         The assigned Group ID.
14921        '''
14922        self.id = id if id is not None else ''
14923        '''
14924         Unique identifier of the GroupRole.
14925        '''
14926        self.role_id = role_id if role_id is not None else ''
14927        '''
14928         The assigned Role ID.
14929        '''
14930
14931    def __repr__(self):
14932        return '<sdm.GroupRole ' + \
14933            'group_id: ' + repr(self.group_id) + ' ' +\
14934            'id: ' + repr(self.id) + ' ' +\
14935            'role_id: ' + repr(self.role_id) + ' ' +\
14936            '>'
14937
14938    def to_dict(self):
14939        return {
14940            'group_id': self.group_id,
14941            'id': self.id,
14942            'role_id': self.role_id,
14943        }
14944
14945    @classmethod
14946    def from_dict(cls, d):
14947        return cls(
14948            group_id=d.get('group_id'),
14949            id=d.get('id'),
14950            role_id=d.get('role_id'),
14951        )

A GroupRole assigns a Group to a Role.

GroupRole(group_id=None, id=None, role_id=None)
14912    def __init__(
14913        self,
14914        group_id=None,
14915        id=None,
14916        role_id=None,
14917    ):
14918        self.group_id = group_id if group_id is not None else ''
14919        '''
14920         The assigned Group ID.
14921        '''
14922        self.id = id if id is not None else ''
14923        '''
14924         Unique identifier of the GroupRole.
14925        '''
14926        self.role_id = role_id if role_id is not None else ''
14927        '''
14928         The assigned Role ID.
14929        '''
group_id

The assigned Group ID.

id

Unique identifier of the GroupRole.

role_id

The assigned Role ID.

def to_dict(self)
14938    def to_dict(self):
14939        return {
14940            'group_id': self.group_id,
14941            'id': self.id,
14942            'role_id': self.role_id,
14943        }
@classmethod
def from_dict(cls, d)
14945    @classmethod
14946    def from_dict(cls, d):
14947        return cls(
14948            group_id=d.get('group_id'),
14949            id=d.get('id'),
14950            role_id=d.get('role_id'),
14951        )
class GroupRoleCreateRequest:
14954class GroupRoleCreateRequest:
14955    '''
14956         GroupRoleCreateRequest specifies a group role to create.
14957    '''
14958    __slots__ = [
14959        'group_role',
14960    ]
14961
14962    def __init__(
14963        self,
14964        group_role=None,
14965    ):
14966        self.group_role = group_role if group_role is not None else None
14967        '''
14968         Parameters to define the new GroupRole.
14969        '''
14970
14971    def __repr__(self):
14972        return '<sdm.GroupRoleCreateRequest ' + \
14973            'group_role: ' + repr(self.group_role) + ' ' +\
14974            '>'
14975
14976    def to_dict(self):
14977        return {
14978            'group_role': self.group_role,
14979        }
14980
14981    @classmethod
14982    def from_dict(cls, d):
14983        return cls(group_role=d.get('group_role'), )

GroupRoleCreateRequest specifies a group role to create.

GroupRoleCreateRequest(group_role=None)
14962    def __init__(
14963        self,
14964        group_role=None,
14965    ):
14966        self.group_role = group_role if group_role is not None else None
14967        '''
14968         Parameters to define the new GroupRole.
14969        '''
group_role

Parameters to define the new GroupRole.

def to_dict(self)
14976    def to_dict(self):
14977        return {
14978            'group_role': self.group_role,
14979        }
@classmethod
def from_dict(cls, d)
14981    @classmethod
14982    def from_dict(cls, d):
14983        return cls(group_role=d.get('group_role'), )
class GroupRoleCreateResponse:
14986class GroupRoleCreateResponse:
14987    '''
14988         GroupRoleCreateResponse reports the result of a create.
14989    '''
14990    __slots__ = [
14991        'group_role',
14992        'rate_limit',
14993    ]
14994
14995    def __init__(
14996        self,
14997        group_role=None,
14998        rate_limit=None,
14999    ):
15000        self.group_role = group_role if group_role is not None else None
15001        '''
15002         The created GroupRole.
15003        '''
15004        self.rate_limit = rate_limit if rate_limit is not None else None
15005        '''
15006         Rate limit information.
15007        '''
15008
15009    def __repr__(self):
15010        return '<sdm.GroupRoleCreateResponse ' + \
15011            'group_role: ' + repr(self.group_role) + ' ' +\
15012            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15013            '>'
15014
15015    def to_dict(self):
15016        return {
15017            'group_role': self.group_role,
15018            'rate_limit': self.rate_limit,
15019        }
15020
15021    @classmethod
15022    def from_dict(cls, d):
15023        return cls(
15024            group_role=d.get('group_role'),
15025            rate_limit=d.get('rate_limit'),
15026        )

GroupRoleCreateResponse reports the result of a create.

GroupRoleCreateResponse(group_role=None, rate_limit=None)
14995    def __init__(
14996        self,
14997        group_role=None,
14998        rate_limit=None,
14999    ):
15000        self.group_role = group_role if group_role is not None else None
15001        '''
15002         The created GroupRole.
15003        '''
15004        self.rate_limit = rate_limit if rate_limit is not None else None
15005        '''
15006         Rate limit information.
15007        '''
group_role

The created GroupRole.

rate_limit

Rate limit information.

def to_dict(self)
15015    def to_dict(self):
15016        return {
15017            'group_role': self.group_role,
15018            'rate_limit': self.rate_limit,
15019        }
@classmethod
def from_dict(cls, d)
15021    @classmethod
15022    def from_dict(cls, d):
15023        return cls(
15024            group_role=d.get('group_role'),
15025            rate_limit=d.get('rate_limit'),
15026        )
class GroupRoleDeleteRequest:
15029class GroupRoleDeleteRequest:
15030    '''
15031         GroupRoleDeleteRequest identifies a group role by ID to delete.
15032    '''
15033    __slots__ = [
15034        'id',
15035    ]
15036
15037    def __init__(
15038        self,
15039        id=None,
15040    ):
15041        self.id = id if id is not None else ''
15042        '''
15043         The unique identifier of the group to delete.
15044        '''
15045
15046    def __repr__(self):
15047        return '<sdm.GroupRoleDeleteRequest ' + \
15048            'id: ' + repr(self.id) + ' ' +\
15049            '>'
15050
15051    def to_dict(self):
15052        return {
15053            'id': self.id,
15054        }
15055
15056    @classmethod
15057    def from_dict(cls, d):
15058        return cls(id=d.get('id'), )

GroupRoleDeleteRequest identifies a group role by ID to delete.

GroupRoleDeleteRequest(id=None)
15037    def __init__(
15038        self,
15039        id=None,
15040    ):
15041        self.id = id if id is not None else ''
15042        '''
15043         The unique identifier of the group to delete.
15044        '''
id

The unique identifier of the group to delete.

def to_dict(self)
15051    def to_dict(self):
15052        return {
15053            'id': self.id,
15054        }
@classmethod
def from_dict(cls, d)
15056    @classmethod
15057    def from_dict(cls, d):
15058        return cls(id=d.get('id'), )
class GroupRoleDeleteResponse:
15061class GroupRoleDeleteResponse:
15062    '''
15063         GroupRoleDeleteResponse returns information about a group that was deleted.
15064    '''
15065    __slots__ = [
15066        'group_role',
15067        'meta',
15068        'rate_limit',
15069    ]
15070
15071    def __init__(
15072        self,
15073        group_role=None,
15074        meta=None,
15075        rate_limit=None,
15076    ):
15077        self.group_role = group_role if group_role is not None else None
15078        '''
15079         The deleted GroupRole.
15080        '''
15081        self.meta = meta if meta is not None else None
15082        '''
15083         Reserved for future use.
15084        '''
15085        self.rate_limit = rate_limit if rate_limit is not None else None
15086        '''
15087         Rate limit information.
15088        '''
15089
15090    def __repr__(self):
15091        return '<sdm.GroupRoleDeleteResponse ' + \
15092            'group_role: ' + repr(self.group_role) + ' ' +\
15093            'meta: ' + repr(self.meta) + ' ' +\
15094            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15095            '>'
15096
15097    def to_dict(self):
15098        return {
15099            'group_role': self.group_role,
15100            'meta': self.meta,
15101            'rate_limit': self.rate_limit,
15102        }
15103
15104    @classmethod
15105    def from_dict(cls, d):
15106        return cls(
15107            group_role=d.get('group_role'),
15108            meta=d.get('meta'),
15109            rate_limit=d.get('rate_limit'),
15110        )

GroupRoleDeleteResponse returns information about a group that was deleted.

GroupRoleDeleteResponse(group_role=None, meta=None, rate_limit=None)
15071    def __init__(
15072        self,
15073        group_role=None,
15074        meta=None,
15075        rate_limit=None,
15076    ):
15077        self.group_role = group_role if group_role is not None else None
15078        '''
15079         The deleted GroupRole.
15080        '''
15081        self.meta = meta if meta is not None else None
15082        '''
15083         Reserved for future use.
15084        '''
15085        self.rate_limit = rate_limit if rate_limit is not None else None
15086        '''
15087         Rate limit information.
15088        '''
group_role

The deleted GroupRole.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
15097    def to_dict(self):
15098        return {
15099            'group_role': self.group_role,
15100            'meta': self.meta,
15101            'rate_limit': self.rate_limit,
15102        }
@classmethod
def from_dict(cls, d)
15104    @classmethod
15105    def from_dict(cls, d):
15106        return cls(
15107            group_role=d.get('group_role'),
15108            meta=d.get('meta'),
15109            rate_limit=d.get('rate_limit'),
15110        )
class GroupRoleGetRequest:
15113class GroupRoleGetRequest:
15114    '''
15115         GroupRoleGetRequest specifies which GroupRole to retrieve.
15116    '''
15117    __slots__ = [
15118        'id',
15119    ]
15120
15121    def __init__(
15122        self,
15123        id=None,
15124    ):
15125        self.id = id if id is not None else ''
15126        '''
15127         The unique identifier of the GroupRole to retrieve.
15128        '''
15129
15130    def __repr__(self):
15131        return '<sdm.GroupRoleGetRequest ' + \
15132            'id: ' + repr(self.id) + ' ' +\
15133            '>'
15134
15135    def to_dict(self):
15136        return {
15137            'id': self.id,
15138        }
15139
15140    @classmethod
15141    def from_dict(cls, d):
15142        return cls(id=d.get('id'), )

GroupRoleGetRequest specifies which GroupRole to retrieve.

GroupRoleGetRequest(id=None)
15121    def __init__(
15122        self,
15123        id=None,
15124    ):
15125        self.id = id if id is not None else ''
15126        '''
15127         The unique identifier of the GroupRole to retrieve.
15128        '''
id

The unique identifier of the GroupRole to retrieve.

def to_dict(self)
15135    def to_dict(self):
15136        return {
15137            'id': self.id,
15138        }
@classmethod
def from_dict(cls, d)
15140    @classmethod
15141    def from_dict(cls, d):
15142        return cls(id=d.get('id'), )
class GroupRoleGetResponse:
15145class GroupRoleGetResponse:
15146    '''
15147         GroupRoleGetResponse returns a requested GroupRole.
15148    '''
15149    __slots__ = [
15150        'group_role',
15151        'meta',
15152        'rate_limit',
15153    ]
15154
15155    def __init__(
15156        self,
15157        group_role=None,
15158        meta=None,
15159        rate_limit=None,
15160    ):
15161        self.group_role = group_role if group_role is not None else None
15162        '''
15163         The requested GroupRole.
15164        '''
15165        self.meta = meta if meta is not None else None
15166        '''
15167         Reserved for future use.
15168        '''
15169        self.rate_limit = rate_limit if rate_limit is not None else None
15170        '''
15171         Rate limit information.
15172        '''
15173
15174    def __repr__(self):
15175        return '<sdm.GroupRoleGetResponse ' + \
15176            'group_role: ' + repr(self.group_role) + ' ' +\
15177            'meta: ' + repr(self.meta) + ' ' +\
15178            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15179            '>'
15180
15181    def to_dict(self):
15182        return {
15183            'group_role': self.group_role,
15184            'meta': self.meta,
15185            'rate_limit': self.rate_limit,
15186        }
15187
15188    @classmethod
15189    def from_dict(cls, d):
15190        return cls(
15191            group_role=d.get('group_role'),
15192            meta=d.get('meta'),
15193            rate_limit=d.get('rate_limit'),
15194        )

GroupRoleGetResponse returns a requested GroupRole.

GroupRoleGetResponse(group_role=None, meta=None, rate_limit=None)
15155    def __init__(
15156        self,
15157        group_role=None,
15158        meta=None,
15159        rate_limit=None,
15160    ):
15161        self.group_role = group_role if group_role is not None else None
15162        '''
15163         The requested GroupRole.
15164        '''
15165        self.meta = meta if meta is not None else None
15166        '''
15167         Reserved for future use.
15168        '''
15169        self.rate_limit = rate_limit if rate_limit is not None else None
15170        '''
15171         Rate limit information.
15172        '''
group_role

The requested GroupRole.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
15181    def to_dict(self):
15182        return {
15183            'group_role': self.group_role,
15184            'meta': self.meta,
15185            'rate_limit': self.rate_limit,
15186        }
@classmethod
def from_dict(cls, d)
15188    @classmethod
15189    def from_dict(cls, d):
15190        return cls(
15191            group_role=d.get('group_role'),
15192            meta=d.get('meta'),
15193            rate_limit=d.get('rate_limit'),
15194        )
class GroupRoleHistory:
15197class GroupRoleHistory:
15198    '''
15199         GroupRoleHistory records the state of a GroupRole at a given point in time,
15200     where every change (create, update and delete) to a GroupRole produces a
15201     GroupRoleHistory record.
15202    '''
15203    __slots__ = [
15204        'activity_id',
15205        'deleted_at',
15206        'group_role',
15207        'timestamp',
15208    ]
15209
15210    def __init__(
15211        self,
15212        activity_id=None,
15213        deleted_at=None,
15214        group_role=None,
15215        timestamp=None,
15216    ):
15217        self.activity_id = activity_id if activity_id is not None else ''
15218        '''
15219         The unique identifier of the Activity that produced this change to the GroupRole.
15220         May be empty for some system-initiated updates.
15221        '''
15222        self.deleted_at = deleted_at if deleted_at is not None else None
15223        '''
15224         If this GroupRole was deleted, the time it was deleted.
15225        '''
15226        self.group_role = group_role if group_role is not None else None
15227        '''
15228         The complete GroupRole state at this time.
15229        '''
15230        self.timestamp = timestamp if timestamp is not None else None
15231        '''
15232         The time at which the GroupRole state was recorded.
15233        '''
15234
15235    def __repr__(self):
15236        return '<sdm.GroupRoleHistory ' + \
15237            'activity_id: ' + repr(self.activity_id) + ' ' +\
15238            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
15239            'group_role: ' + repr(self.group_role) + ' ' +\
15240            'timestamp: ' + repr(self.timestamp) + ' ' +\
15241            '>'
15242
15243    def to_dict(self):
15244        return {
15245            'activity_id': self.activity_id,
15246            'deleted_at': self.deleted_at,
15247            'group_role': self.group_role,
15248            'timestamp': self.timestamp,
15249        }
15250
15251    @classmethod
15252    def from_dict(cls, d):
15253        return cls(
15254            activity_id=d.get('activity_id'),
15255            deleted_at=d.get('deleted_at'),
15256            group_role=d.get('group_role'),
15257            timestamp=d.get('timestamp'),
15258        )

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

GroupRoleHistory(activity_id=None, deleted_at=None, group_role=None, timestamp=None)
15210    def __init__(
15211        self,
15212        activity_id=None,
15213        deleted_at=None,
15214        group_role=None,
15215        timestamp=None,
15216    ):
15217        self.activity_id = activity_id if activity_id is not None else ''
15218        '''
15219         The unique identifier of the Activity that produced this change to the GroupRole.
15220         May be empty for some system-initiated updates.
15221        '''
15222        self.deleted_at = deleted_at if deleted_at is not None else None
15223        '''
15224         If this GroupRole was deleted, the time it was deleted.
15225        '''
15226        self.group_role = group_role if group_role is not None else None
15227        '''
15228         The complete GroupRole state at this time.
15229        '''
15230        self.timestamp = timestamp if timestamp is not None else None
15231        '''
15232         The time at which the GroupRole state was recorded.
15233        '''
activity_id

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

deleted_at

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

group_role

The complete GroupRole state at this time.

timestamp

The time at which the GroupRole state was recorded.

def to_dict(self)
15243    def to_dict(self):
15244        return {
15245            'activity_id': self.activity_id,
15246            'deleted_at': self.deleted_at,
15247            'group_role': self.group_role,
15248            'timestamp': self.timestamp,
15249        }
@classmethod
def from_dict(cls, d)
15251    @classmethod
15252    def from_dict(cls, d):
15253        return cls(
15254            activity_id=d.get('activity_id'),
15255            deleted_at=d.get('deleted_at'),
15256            group_role=d.get('group_role'),
15257            timestamp=d.get('timestamp'),
15258        )
class GroupRoleListRequest:
15261class GroupRoleListRequest:
15262    '''
15263         GroupRoleListRequest specifies criteria for retrieving a list of groups.
15264    '''
15265    __slots__ = [
15266        'filter',
15267    ]
15268
15269    def __init__(
15270        self,
15271        filter=None,
15272    ):
15273        self.filter = filter if filter is not None else ''
15274        '''
15275         A human-readable filter query string.
15276        '''
15277
15278    def __repr__(self):
15279        return '<sdm.GroupRoleListRequest ' + \
15280            'filter: ' + repr(self.filter) + ' ' +\
15281            '>'
15282
15283    def to_dict(self):
15284        return {
15285            'filter': self.filter,
15286        }
15287
15288    @classmethod
15289    def from_dict(cls, d):
15290        return cls(filter=d.get('filter'), )

GroupRoleListRequest specifies criteria for retrieving a list of groups.

GroupRoleListRequest(filter=None)
15269    def __init__(
15270        self,
15271        filter=None,
15272    ):
15273        self.filter = filter if filter is not None else ''
15274        '''
15275         A human-readable filter query string.
15276        '''
filter

A human-readable filter query string.

def to_dict(self)
15283    def to_dict(self):
15284        return {
15285            'filter': self.filter,
15286        }
@classmethod
def from_dict(cls, d)
15288    @classmethod
15289    def from_dict(cls, d):
15290        return cls(filter=d.get('filter'), )
class GroupRoleListResponse:
15293class GroupRoleListResponse:
15294    '''
15295         GroupRoleListResponse returns a list of group roles that meet the criteria of a
15296     GroupRoleListRequest.
15297    '''
15298    __slots__ = [
15299        'rate_limit',
15300    ]
15301
15302    def __init__(
15303        self,
15304        rate_limit=None,
15305    ):
15306        self.rate_limit = rate_limit if rate_limit is not None else None
15307        '''
15308         Rate limit information.
15309        '''
15310
15311    def __repr__(self):
15312        return '<sdm.GroupRoleListResponse ' + \
15313            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15314            '>'
15315
15316    def to_dict(self):
15317        return {
15318            'rate_limit': self.rate_limit,
15319        }
15320
15321    @classmethod
15322    def from_dict(cls, d):
15323        return cls(rate_limit=d.get('rate_limit'), )

GroupRoleListResponse returns a list of group roles that meet the criteria of a GroupRoleListRequest.

GroupRoleListResponse(rate_limit=None)
15302    def __init__(
15303        self,
15304        rate_limit=None,
15305    ):
15306        self.rate_limit = rate_limit if rate_limit is not None else None
15307        '''
15308         Rate limit information.
15309        '''
rate_limit

Rate limit information.

def to_dict(self)
15316    def to_dict(self):
15317        return {
15318            'rate_limit': self.rate_limit,
15319        }
@classmethod
def from_dict(cls, d)
15321    @classmethod
15322    def from_dict(cls, d):
15323        return cls(rate_limit=d.get('rate_limit'), )
class GroupUpdateRequest:
15326class GroupUpdateRequest:
15327    '''
15328         GroupUpdateRequest updates a group.
15329    '''
15330    __slots__ = [
15331        'group',
15332    ]
15333
15334    def __init__(
15335        self,
15336        group=None,
15337    ):
15338        self.group = group if group is not None else None
15339        '''
15340         Parameters to overwrite the specified group.
15341        '''
15342
15343    def __repr__(self):
15344        return '<sdm.GroupUpdateRequest ' + \
15345            'group: ' + repr(self.group) + ' ' +\
15346            '>'
15347
15348    def to_dict(self):
15349        return {
15350            'group': self.group,
15351        }
15352
15353    @classmethod
15354    def from_dict(cls, d):
15355        return cls(group=d.get('group'), )

GroupUpdateRequest updates a group.

GroupUpdateRequest(group=None)
15334    def __init__(
15335        self,
15336        group=None,
15337    ):
15338        self.group = group if group is not None else None
15339        '''
15340         Parameters to overwrite the specified group.
15341        '''
group

Parameters to overwrite the specified group.

def to_dict(self)
15348    def to_dict(self):
15349        return {
15350            'group': self.group,
15351        }
@classmethod
def from_dict(cls, d)
15353    @classmethod
15354    def from_dict(cls, d):
15355        return cls(group=d.get('group'), )
class GroupUpdateResponse:
15358class GroupUpdateResponse:
15359    '''
15360         groupUpdateResponse returns the fields of a group after it has been updated by
15361     a groupUpdateRequest.
15362    '''
15363    __slots__ = [
15364        'group',
15365        'rate_limit',
15366    ]
15367
15368    def __init__(
15369        self,
15370        group=None,
15371        rate_limit=None,
15372    ):
15373        self.group = group if group is not None else None
15374        '''
15375         The updated group.
15376        '''
15377        self.rate_limit = rate_limit if rate_limit is not None else None
15378        '''
15379         Rate limit information.
15380        '''
15381
15382    def __repr__(self):
15383        return '<sdm.GroupUpdateResponse ' + \
15384            'group: ' + repr(self.group) + ' ' +\
15385            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
15386            '>'
15387
15388    def to_dict(self):
15389        return {
15390            'group': self.group,
15391            'rate_limit': self.rate_limit,
15392        }
15393
15394    @classmethod
15395    def from_dict(cls, d):
15396        return cls(
15397            group=d.get('group'),
15398            rate_limit=d.get('rate_limit'),
15399        )

groupUpdateResponse returns the fields of a group after it has been updated by a groupUpdateRequest.

GroupUpdateResponse(group=None, rate_limit=None)
15368    def __init__(
15369        self,
15370        group=None,
15371        rate_limit=None,
15372    ):
15373        self.group = group if group is not None else None
15374        '''
15375         The updated group.
15376        '''
15377        self.rate_limit = rate_limit if rate_limit is not None else None
15378        '''
15379         Rate limit information.
15380        '''
group

The updated group.

rate_limit

Rate limit information.

def to_dict(self)
15388    def to_dict(self):
15389        return {
15390            'group': self.group,
15391            'rate_limit': self.rate_limit,
15392        }
@classmethod
def from_dict(cls, d)
15394    @classmethod
15395    def from_dict(cls, d):
15396        return cls(
15397            group=d.get('group'),
15398            rate_limit=d.get('rate_limit'),
15399        )
class HTTPAuth:
15402class HTTPAuth:
15403    __slots__ = [
15404        'auth_header',
15405        'bind_interface',
15406        'default_path',
15407        'egress_filter',
15408        'headers_blacklist',
15409        'healthcheck_path',
15410        'healthy',
15411        'host_override',
15412        'id',
15413        'name',
15414        'port_override',
15415        'proxy_cluster_id',
15416        'secret_store_id',
15417        'subdomain',
15418        'tags',
15419        'url',
15420    ]
15421
15422    def __init__(
15423        self,
15424        auth_header=None,
15425        bind_interface=None,
15426        default_path=None,
15427        egress_filter=None,
15428        headers_blacklist=None,
15429        healthcheck_path=None,
15430        healthy=None,
15431        host_override=None,
15432        id=None,
15433        name=None,
15434        port_override=None,
15435        proxy_cluster_id=None,
15436        secret_store_id=None,
15437        subdomain=None,
15438        tags=None,
15439        url=None,
15440    ):
15441        self.auth_header = auth_header if auth_header is not None else ''
15442        '''
15443         The content to set as the authorization header.
15444        '''
15445        self.bind_interface = bind_interface if bind_interface is not None else ''
15446        '''
15447         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15448        '''
15449        self.default_path = default_path if default_path is not None else ''
15450        '''
15451         Automatically redirect to this path upon connecting.
15452        '''
15453        self.egress_filter = egress_filter if egress_filter is not None else ''
15454        '''
15455         A filter applied to the routing logic to pin datasource to nodes.
15456        '''
15457        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15458        '''
15459         Header names (e.g. Authorization), to omit from logs.
15460        '''
15461        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15462        '''
15463         This path will be used to check the health of your site.
15464        '''
15465        self.healthy = healthy if healthy is not None else False
15466        '''
15467         True if the datasource is reachable and the credentials are valid.
15468        '''
15469        self.host_override = host_override if host_override is not None else ''
15470        '''
15471         The host header will be overwritten with this field if provided.
15472        '''
15473        self.id = id if id is not None else ''
15474        '''
15475         Unique identifier of the Resource.
15476        '''
15477        self.name = name if name is not None else ''
15478        '''
15479         Unique human-readable name of the Resource.
15480        '''
15481        self.port_override = port_override if port_override is not None else 0
15482        '''
15483         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15484        '''
15485        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15486        '''
15487         ID of the proxy cluster for this resource, if any.
15488        '''
15489        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15490        '''
15491         ID of the secret store containing credentials for this resource, if any.
15492        '''
15493        self.subdomain = subdomain if subdomain is not None else ''
15494        '''
15495         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15496        '''
15497        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15498        '''
15499         Tags is a map of key, value pairs.
15500        '''
15501        self.url = url if url is not None else ''
15502        '''
15503         The base address of your website without the path.
15504        '''
15505
15506    def __repr__(self):
15507        return '<sdm.HTTPAuth ' + \
15508            'auth_header: ' + repr(self.auth_header) + ' ' +\
15509            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15510            'default_path: ' + repr(self.default_path) + ' ' +\
15511            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15512            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
15513            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
15514            'healthy: ' + repr(self.healthy) + ' ' +\
15515            'host_override: ' + repr(self.host_override) + ' ' +\
15516            'id: ' + repr(self.id) + ' ' +\
15517            'name: ' + repr(self.name) + ' ' +\
15518            'port_override: ' + repr(self.port_override) + ' ' +\
15519            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15520            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15521            'subdomain: ' + repr(self.subdomain) + ' ' +\
15522            'tags: ' + repr(self.tags) + ' ' +\
15523            'url: ' + repr(self.url) + ' ' +\
15524            '>'
15525
15526    def to_dict(self):
15527        return {
15528            'auth_header': self.auth_header,
15529            'bind_interface': self.bind_interface,
15530            'default_path': self.default_path,
15531            'egress_filter': self.egress_filter,
15532            'headers_blacklist': self.headers_blacklist,
15533            'healthcheck_path': self.healthcheck_path,
15534            'healthy': self.healthy,
15535            'host_override': self.host_override,
15536            'id': self.id,
15537            'name': self.name,
15538            'port_override': self.port_override,
15539            'proxy_cluster_id': self.proxy_cluster_id,
15540            'secret_store_id': self.secret_store_id,
15541            'subdomain': self.subdomain,
15542            'tags': self.tags,
15543            'url': self.url,
15544        }
15545
15546    @classmethod
15547    def from_dict(cls, d):
15548        return cls(
15549            auth_header=d.get('auth_header'),
15550            bind_interface=d.get('bind_interface'),
15551            default_path=d.get('default_path'),
15552            egress_filter=d.get('egress_filter'),
15553            headers_blacklist=d.get('headers_blacklist'),
15554            healthcheck_path=d.get('healthcheck_path'),
15555            healthy=d.get('healthy'),
15556            host_override=d.get('host_override'),
15557            id=d.get('id'),
15558            name=d.get('name'),
15559            port_override=d.get('port_override'),
15560            proxy_cluster_id=d.get('proxy_cluster_id'),
15561            secret_store_id=d.get('secret_store_id'),
15562            subdomain=d.get('subdomain'),
15563            tags=d.get('tags'),
15564            url=d.get('url'),
15565        )
HTTPAuth( auth_header=None, bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
15422    def __init__(
15423        self,
15424        auth_header=None,
15425        bind_interface=None,
15426        default_path=None,
15427        egress_filter=None,
15428        headers_blacklist=None,
15429        healthcheck_path=None,
15430        healthy=None,
15431        host_override=None,
15432        id=None,
15433        name=None,
15434        port_override=None,
15435        proxy_cluster_id=None,
15436        secret_store_id=None,
15437        subdomain=None,
15438        tags=None,
15439        url=None,
15440    ):
15441        self.auth_header = auth_header if auth_header is not None else ''
15442        '''
15443         The content to set as the authorization header.
15444        '''
15445        self.bind_interface = bind_interface if bind_interface is not None else ''
15446        '''
15447         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15448        '''
15449        self.default_path = default_path if default_path is not None else ''
15450        '''
15451         Automatically redirect to this path upon connecting.
15452        '''
15453        self.egress_filter = egress_filter if egress_filter is not None else ''
15454        '''
15455         A filter applied to the routing logic to pin datasource to nodes.
15456        '''
15457        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15458        '''
15459         Header names (e.g. Authorization), to omit from logs.
15460        '''
15461        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15462        '''
15463         This path will be used to check the health of your site.
15464        '''
15465        self.healthy = healthy if healthy is not None else False
15466        '''
15467         True if the datasource is reachable and the credentials are valid.
15468        '''
15469        self.host_override = host_override if host_override is not None else ''
15470        '''
15471         The host header will be overwritten with this field if provided.
15472        '''
15473        self.id = id if id is not None else ''
15474        '''
15475         Unique identifier of the Resource.
15476        '''
15477        self.name = name if name is not None else ''
15478        '''
15479         Unique human-readable name of the Resource.
15480        '''
15481        self.port_override = port_override if port_override is not None else 0
15482        '''
15483         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15484        '''
15485        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15486        '''
15487         ID of the proxy cluster for this resource, if any.
15488        '''
15489        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15490        '''
15491         ID of the secret store containing credentials for this resource, if any.
15492        '''
15493        self.subdomain = subdomain if subdomain is not None else ''
15494        '''
15495         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15496        '''
15497        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15498        '''
15499         Tags is a map of key, value pairs.
15500        '''
15501        self.url = url if url is not None else ''
15502        '''
15503         The base address of your website without the path.
15504        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

default_path

Automatically redirect to this path upon connecting.

egress_filter

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

headers_blacklist

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

healthcheck_path

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

healthy

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

host_override

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

Subdomain is the local 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)
15526    def to_dict(self):
15527        return {
15528            'auth_header': self.auth_header,
15529            'bind_interface': self.bind_interface,
15530            'default_path': self.default_path,
15531            'egress_filter': self.egress_filter,
15532            'headers_blacklist': self.headers_blacklist,
15533            'healthcheck_path': self.healthcheck_path,
15534            'healthy': self.healthy,
15535            'host_override': self.host_override,
15536            'id': self.id,
15537            'name': self.name,
15538            'port_override': self.port_override,
15539            'proxy_cluster_id': self.proxy_cluster_id,
15540            'secret_store_id': self.secret_store_id,
15541            'subdomain': self.subdomain,
15542            'tags': self.tags,
15543            'url': self.url,
15544        }
@classmethod
def from_dict(cls, d)
15546    @classmethod
15547    def from_dict(cls, d):
15548        return cls(
15549            auth_header=d.get('auth_header'),
15550            bind_interface=d.get('bind_interface'),
15551            default_path=d.get('default_path'),
15552            egress_filter=d.get('egress_filter'),
15553            headers_blacklist=d.get('headers_blacklist'),
15554            healthcheck_path=d.get('healthcheck_path'),
15555            healthy=d.get('healthy'),
15556            host_override=d.get('host_override'),
15557            id=d.get('id'),
15558            name=d.get('name'),
15559            port_override=d.get('port_override'),
15560            proxy_cluster_id=d.get('proxy_cluster_id'),
15561            secret_store_id=d.get('secret_store_id'),
15562            subdomain=d.get('subdomain'),
15563            tags=d.get('tags'),
15564            url=d.get('url'),
15565        )
class HTTPBasicAuth:
15568class HTTPBasicAuth:
15569    __slots__ = [
15570        'bind_interface',
15571        'default_path',
15572        'egress_filter',
15573        'headers_blacklist',
15574        'healthcheck_path',
15575        'healthy',
15576        'host_override',
15577        'id',
15578        'name',
15579        'password',
15580        'port_override',
15581        'proxy_cluster_id',
15582        'secret_store_id',
15583        'subdomain',
15584        'tags',
15585        'url',
15586        'username',
15587    ]
15588
15589    def __init__(
15590        self,
15591        bind_interface=None,
15592        default_path=None,
15593        egress_filter=None,
15594        headers_blacklist=None,
15595        healthcheck_path=None,
15596        healthy=None,
15597        host_override=None,
15598        id=None,
15599        name=None,
15600        password=None,
15601        port_override=None,
15602        proxy_cluster_id=None,
15603        secret_store_id=None,
15604        subdomain=None,
15605        tags=None,
15606        url=None,
15607        username=None,
15608    ):
15609        self.bind_interface = bind_interface if bind_interface is not None else ''
15610        '''
15611         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15612        '''
15613        self.default_path = default_path if default_path is not None else ''
15614        '''
15615         Automatically redirect to this path upon connecting.
15616        '''
15617        self.egress_filter = egress_filter if egress_filter is not None else ''
15618        '''
15619         A filter applied to the routing logic to pin datasource to nodes.
15620        '''
15621        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15622        '''
15623         Header names (e.g. Authorization), to omit from logs.
15624        '''
15625        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15626        '''
15627         This path will be used to check the health of your site.
15628        '''
15629        self.healthy = healthy if healthy is not None else False
15630        '''
15631         True if the datasource is reachable and the credentials are valid.
15632        '''
15633        self.host_override = host_override if host_override is not None else ''
15634        '''
15635         The host header will be overwritten with this field if provided.
15636        '''
15637        self.id = id if id is not None else ''
15638        '''
15639         Unique identifier of the Resource.
15640        '''
15641        self.name = name if name is not None else ''
15642        '''
15643         Unique human-readable name of the Resource.
15644        '''
15645        self.password = password if password is not None else ''
15646        '''
15647         The password to authenticate with.
15648        '''
15649        self.port_override = port_override if port_override is not None else 0
15650        '''
15651         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15652        '''
15653        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15654        '''
15655         ID of the proxy cluster for this resource, if any.
15656        '''
15657        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15658        '''
15659         ID of the secret store containing credentials for this resource, if any.
15660        '''
15661        self.subdomain = subdomain if subdomain is not None else ''
15662        '''
15663         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15664        '''
15665        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15666        '''
15667         Tags is a map of key, value pairs.
15668        '''
15669        self.url = url if url is not None else ''
15670        '''
15671         The base address of your website without the path.
15672        '''
15673        self.username = username if username is not None else ''
15674        '''
15675         The username to authenticate with.
15676        '''
15677
15678    def __repr__(self):
15679        return '<sdm.HTTPBasicAuth ' + \
15680            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15681            'default_path: ' + repr(self.default_path) + ' ' +\
15682            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15683            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
15684            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
15685            'healthy: ' + repr(self.healthy) + ' ' +\
15686            'host_override: ' + repr(self.host_override) + ' ' +\
15687            'id: ' + repr(self.id) + ' ' +\
15688            'name: ' + repr(self.name) + ' ' +\
15689            'password: ' + repr(self.password) + ' ' +\
15690            'port_override: ' + repr(self.port_override) + ' ' +\
15691            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15692            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15693            'subdomain: ' + repr(self.subdomain) + ' ' +\
15694            'tags: ' + repr(self.tags) + ' ' +\
15695            'url: ' + repr(self.url) + ' ' +\
15696            'username: ' + repr(self.username) + ' ' +\
15697            '>'
15698
15699    def to_dict(self):
15700        return {
15701            'bind_interface': self.bind_interface,
15702            'default_path': self.default_path,
15703            'egress_filter': self.egress_filter,
15704            'headers_blacklist': self.headers_blacklist,
15705            'healthcheck_path': self.healthcheck_path,
15706            'healthy': self.healthy,
15707            'host_override': self.host_override,
15708            'id': self.id,
15709            'name': self.name,
15710            'password': self.password,
15711            'port_override': self.port_override,
15712            'proxy_cluster_id': self.proxy_cluster_id,
15713            'secret_store_id': self.secret_store_id,
15714            'subdomain': self.subdomain,
15715            'tags': self.tags,
15716            'url': self.url,
15717            'username': self.username,
15718        }
15719
15720    @classmethod
15721    def from_dict(cls, d):
15722        return cls(
15723            bind_interface=d.get('bind_interface'),
15724            default_path=d.get('default_path'),
15725            egress_filter=d.get('egress_filter'),
15726            headers_blacklist=d.get('headers_blacklist'),
15727            healthcheck_path=d.get('healthcheck_path'),
15728            healthy=d.get('healthy'),
15729            host_override=d.get('host_override'),
15730            id=d.get('id'),
15731            name=d.get('name'),
15732            password=d.get('password'),
15733            port_override=d.get('port_override'),
15734            proxy_cluster_id=d.get('proxy_cluster_id'),
15735            secret_store_id=d.get('secret_store_id'),
15736            subdomain=d.get('subdomain'),
15737            tags=d.get('tags'),
15738            url=d.get('url'),
15739            username=d.get('username'),
15740        )
HTTPBasicAuth( bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, password=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None, username=None)
15589    def __init__(
15590        self,
15591        bind_interface=None,
15592        default_path=None,
15593        egress_filter=None,
15594        headers_blacklist=None,
15595        healthcheck_path=None,
15596        healthy=None,
15597        host_override=None,
15598        id=None,
15599        name=None,
15600        password=None,
15601        port_override=None,
15602        proxy_cluster_id=None,
15603        secret_store_id=None,
15604        subdomain=None,
15605        tags=None,
15606        url=None,
15607        username=None,
15608    ):
15609        self.bind_interface = bind_interface if bind_interface is not None else ''
15610        '''
15611         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15612        '''
15613        self.default_path = default_path if default_path is not None else ''
15614        '''
15615         Automatically redirect to this path upon connecting.
15616        '''
15617        self.egress_filter = egress_filter if egress_filter is not None else ''
15618        '''
15619         A filter applied to the routing logic to pin datasource to nodes.
15620        '''
15621        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15622        '''
15623         Header names (e.g. Authorization), to omit from logs.
15624        '''
15625        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15626        '''
15627         This path will be used to check the health of your site.
15628        '''
15629        self.healthy = healthy if healthy is not None else False
15630        '''
15631         True if the datasource is reachable and the credentials are valid.
15632        '''
15633        self.host_override = host_override if host_override is not None else ''
15634        '''
15635         The host header will be overwritten with this field if provided.
15636        '''
15637        self.id = id if id is not None else ''
15638        '''
15639         Unique identifier of the Resource.
15640        '''
15641        self.name = name if name is not None else ''
15642        '''
15643         Unique human-readable name of the Resource.
15644        '''
15645        self.password = password if password is not None else ''
15646        '''
15647         The password to authenticate with.
15648        '''
15649        self.port_override = port_override if port_override is not None else 0
15650        '''
15651         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15652        '''
15653        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15654        '''
15655         ID of the proxy cluster for this resource, if any.
15656        '''
15657        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15658        '''
15659         ID of the secret store containing credentials for this resource, if any.
15660        '''
15661        self.subdomain = subdomain if subdomain is not None else ''
15662        '''
15663         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15664        '''
15665        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15666        '''
15667         Tags is a map of key, value pairs.
15668        '''
15669        self.url = url if url is not None else ''
15670        '''
15671         The base address of your website without the path.
15672        '''
15673        self.username = username if username is not None else ''
15674        '''
15675         The username to authenticate with.
15676        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

default_path

Automatically redirect to this path upon connecting.

egress_filter

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

headers_blacklist

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

healthcheck_path

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

healthy

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

host_override

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

The password to authenticate with.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

Subdomain is the local 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)
15699    def to_dict(self):
15700        return {
15701            'bind_interface': self.bind_interface,
15702            'default_path': self.default_path,
15703            'egress_filter': self.egress_filter,
15704            'headers_blacklist': self.headers_blacklist,
15705            'healthcheck_path': self.healthcheck_path,
15706            'healthy': self.healthy,
15707            'host_override': self.host_override,
15708            'id': self.id,
15709            'name': self.name,
15710            'password': self.password,
15711            'port_override': self.port_override,
15712            'proxy_cluster_id': self.proxy_cluster_id,
15713            'secret_store_id': self.secret_store_id,
15714            'subdomain': self.subdomain,
15715            'tags': self.tags,
15716            'url': self.url,
15717            'username': self.username,
15718        }
@classmethod
def from_dict(cls, d)
15720    @classmethod
15721    def from_dict(cls, d):
15722        return cls(
15723            bind_interface=d.get('bind_interface'),
15724            default_path=d.get('default_path'),
15725            egress_filter=d.get('egress_filter'),
15726            headers_blacklist=d.get('headers_blacklist'),
15727            healthcheck_path=d.get('healthcheck_path'),
15728            healthy=d.get('healthy'),
15729            host_override=d.get('host_override'),
15730            id=d.get('id'),
15731            name=d.get('name'),
15732            password=d.get('password'),
15733            port_override=d.get('port_override'),
15734            proxy_cluster_id=d.get('proxy_cluster_id'),
15735            secret_store_id=d.get('secret_store_id'),
15736            subdomain=d.get('subdomain'),
15737            tags=d.get('tags'),
15738            url=d.get('url'),
15739            username=d.get('username'),
15740        )
class HTTPNoAuth:
15743class HTTPNoAuth:
15744    __slots__ = [
15745        'bind_interface',
15746        'default_path',
15747        'egress_filter',
15748        'headers_blacklist',
15749        'healthcheck_path',
15750        'healthy',
15751        'host_override',
15752        'id',
15753        'name',
15754        'port_override',
15755        'proxy_cluster_id',
15756        'secret_store_id',
15757        'subdomain',
15758        'tags',
15759        'url',
15760    ]
15761
15762    def __init__(
15763        self,
15764        bind_interface=None,
15765        default_path=None,
15766        egress_filter=None,
15767        headers_blacklist=None,
15768        healthcheck_path=None,
15769        healthy=None,
15770        host_override=None,
15771        id=None,
15772        name=None,
15773        port_override=None,
15774        proxy_cluster_id=None,
15775        secret_store_id=None,
15776        subdomain=None,
15777        tags=None,
15778        url=None,
15779    ):
15780        self.bind_interface = bind_interface if bind_interface is not None else ''
15781        '''
15782         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15783        '''
15784        self.default_path = default_path if default_path is not None else ''
15785        '''
15786         Automatically redirect to this path upon connecting.
15787        '''
15788        self.egress_filter = egress_filter if egress_filter is not None else ''
15789        '''
15790         A filter applied to the routing logic to pin datasource to nodes.
15791        '''
15792        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15793        '''
15794         Header names (e.g. Authorization), to omit from logs.
15795        '''
15796        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15797        '''
15798         This path will be used to check the health of your site.
15799        '''
15800        self.healthy = healthy if healthy is not None else False
15801        '''
15802         True if the datasource is reachable and the credentials are valid.
15803        '''
15804        self.host_override = host_override if host_override is not None else ''
15805        '''
15806         The host header will be overwritten with this field if provided.
15807        '''
15808        self.id = id if id is not None else ''
15809        '''
15810         Unique identifier of the Resource.
15811        '''
15812        self.name = name if name is not None else ''
15813        '''
15814         Unique human-readable name of the Resource.
15815        '''
15816        self.port_override = port_override if port_override is not None else 0
15817        '''
15818         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15819        '''
15820        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15821        '''
15822         ID of the proxy cluster for this resource, if any.
15823        '''
15824        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15825        '''
15826         ID of the secret store containing credentials for this resource, if any.
15827        '''
15828        self.subdomain = subdomain if subdomain is not None else ''
15829        '''
15830         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15831        '''
15832        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15833        '''
15834         Tags is a map of key, value pairs.
15835        '''
15836        self.url = url if url is not None else ''
15837        '''
15838         The base address of your website without the path.
15839        '''
15840
15841    def __repr__(self):
15842        return '<sdm.HTTPNoAuth ' + \
15843            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
15844            'default_path: ' + repr(self.default_path) + ' ' +\
15845            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
15846            'headers_blacklist: ' + repr(self.headers_blacklist) + ' ' +\
15847            'healthcheck_path: ' + repr(self.healthcheck_path) + ' ' +\
15848            'healthy: ' + repr(self.healthy) + ' ' +\
15849            'host_override: ' + repr(self.host_override) + ' ' +\
15850            'id: ' + repr(self.id) + ' ' +\
15851            'name: ' + repr(self.name) + ' ' +\
15852            'port_override: ' + repr(self.port_override) + ' ' +\
15853            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
15854            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
15855            'subdomain: ' + repr(self.subdomain) + ' ' +\
15856            'tags: ' + repr(self.tags) + ' ' +\
15857            'url: ' + repr(self.url) + ' ' +\
15858            '>'
15859
15860    def to_dict(self):
15861        return {
15862            'bind_interface': self.bind_interface,
15863            'default_path': self.default_path,
15864            'egress_filter': self.egress_filter,
15865            'headers_blacklist': self.headers_blacklist,
15866            'healthcheck_path': self.healthcheck_path,
15867            'healthy': self.healthy,
15868            'host_override': self.host_override,
15869            'id': self.id,
15870            'name': self.name,
15871            'port_override': self.port_override,
15872            'proxy_cluster_id': self.proxy_cluster_id,
15873            'secret_store_id': self.secret_store_id,
15874            'subdomain': self.subdomain,
15875            'tags': self.tags,
15876            'url': self.url,
15877        }
15878
15879    @classmethod
15880    def from_dict(cls, d):
15881        return cls(
15882            bind_interface=d.get('bind_interface'),
15883            default_path=d.get('default_path'),
15884            egress_filter=d.get('egress_filter'),
15885            headers_blacklist=d.get('headers_blacklist'),
15886            healthcheck_path=d.get('healthcheck_path'),
15887            healthy=d.get('healthy'),
15888            host_override=d.get('host_override'),
15889            id=d.get('id'),
15890            name=d.get('name'),
15891            port_override=d.get('port_override'),
15892            proxy_cluster_id=d.get('proxy_cluster_id'),
15893            secret_store_id=d.get('secret_store_id'),
15894            subdomain=d.get('subdomain'),
15895            tags=d.get('tags'),
15896            url=d.get('url'),
15897        )
HTTPNoAuth( bind_interface=None, default_path=None, egress_filter=None, headers_blacklist=None, healthcheck_path=None, healthy=None, host_override=None, id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, url=None)
15762    def __init__(
15763        self,
15764        bind_interface=None,
15765        default_path=None,
15766        egress_filter=None,
15767        headers_blacklist=None,
15768        healthcheck_path=None,
15769        healthy=None,
15770        host_override=None,
15771        id=None,
15772        name=None,
15773        port_override=None,
15774        proxy_cluster_id=None,
15775        secret_store_id=None,
15776        subdomain=None,
15777        tags=None,
15778        url=None,
15779    ):
15780        self.bind_interface = bind_interface if bind_interface is not None else ''
15781        '''
15782         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
15783        '''
15784        self.default_path = default_path if default_path is not None else ''
15785        '''
15786         Automatically redirect to this path upon connecting.
15787        '''
15788        self.egress_filter = egress_filter if egress_filter is not None else ''
15789        '''
15790         A filter applied to the routing logic to pin datasource to nodes.
15791        '''
15792        self.headers_blacklist = headers_blacklist if headers_blacklist is not None else ''
15793        '''
15794         Header names (e.g. Authorization), to omit from logs.
15795        '''
15796        self.healthcheck_path = healthcheck_path if healthcheck_path is not None else ''
15797        '''
15798         This path will be used to check the health of your site.
15799        '''
15800        self.healthy = healthy if healthy is not None else False
15801        '''
15802         True if the datasource is reachable and the credentials are valid.
15803        '''
15804        self.host_override = host_override if host_override is not None else ''
15805        '''
15806         The host header will be overwritten with this field if provided.
15807        '''
15808        self.id = id if id is not None else ''
15809        '''
15810         Unique identifier of the Resource.
15811        '''
15812        self.name = name if name is not None else ''
15813        '''
15814         Unique human-readable name of the Resource.
15815        '''
15816        self.port_override = port_override if port_override is not None else 0
15817        '''
15818         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
15819        '''
15820        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
15821        '''
15822         ID of the proxy cluster for this resource, if any.
15823        '''
15824        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
15825        '''
15826         ID of the secret store containing credentials for this resource, if any.
15827        '''
15828        self.subdomain = subdomain if subdomain is not None else ''
15829        '''
15830         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
15831        '''
15832        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
15833        '''
15834         Tags is a map of key, value pairs.
15835        '''
15836        self.url = url if url is not None else ''
15837        '''
15838         The base address of your website without the path.
15839        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

default_path

Automatically redirect to this path upon connecting.

egress_filter

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

headers_blacklist

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

healthcheck_path

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

healthy

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

host_override

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

Subdomain is the local 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)
15860    def to_dict(self):
15861        return {
15862            'bind_interface': self.bind_interface,
15863            'default_path': self.default_path,
15864            'egress_filter': self.egress_filter,
15865            'headers_blacklist': self.headers_blacklist,
15866            'healthcheck_path': self.healthcheck_path,
15867            'healthy': self.healthy,
15868            'host_override': self.host_override,
15869            'id': self.id,
15870            'name': self.name,
15871            'port_override': self.port_override,
15872            'proxy_cluster_id': self.proxy_cluster_id,
15873            'secret_store_id': self.secret_store_id,
15874            'subdomain': self.subdomain,
15875            'tags': self.tags,
15876            'url': self.url,
15877        }
@classmethod
def from_dict(cls, d)
15879    @classmethod
15880    def from_dict(cls, d):
15881        return cls(
15882            bind_interface=d.get('bind_interface'),
15883            default_path=d.get('default_path'),
15884            egress_filter=d.get('egress_filter'),
15885            headers_blacklist=d.get('headers_blacklist'),
15886            healthcheck_path=d.get('healthcheck_path'),
15887            healthy=d.get('healthy'),
15888            host_override=d.get('host_override'),
15889            id=d.get('id'),
15890            name=d.get('name'),
15891            port_override=d.get('port_override'),
15892            proxy_cluster_id=d.get('proxy_cluster_id'),
15893            secret_store_id=d.get('secret_store_id'),
15894            subdomain=d.get('subdomain'),
15895            tags=d.get('tags'),
15896            url=d.get('url'),
15897        )
class Healthcheck:
15900class Healthcheck:
15901    '''
15902         Healthcheck defines the status of the link between a node and a resource
15903    '''
15904    __slots__ = [
15905        'error_msg',
15906        'healthy',
15907        'id',
15908        'node_id',
15909        'node_name',
15910        'resource_id',
15911        'resource_name',
15912        'timestamp',
15913    ]
15914
15915    def __init__(
15916        self,
15917        error_msg=None,
15918        healthy=None,
15919        id=None,
15920        node_id=None,
15921        node_name=None,
15922        resource_id=None,
15923        resource_name=None,
15924        timestamp=None,
15925    ):
15926        self.error_msg = error_msg if error_msg is not None else ''
15927        '''
15928         The error if unhealthy
15929        '''
15930        self.healthy = healthy if healthy is not None else False
15931        '''
15932         Whether the healthcheck succeeded.
15933        '''
15934        self.id = id if id is not None else ''
15935        '''
15936         Unique identifier of the healthcheck.
15937        '''
15938        self.node_id = node_id if node_id is not None else ''
15939        '''
15940         Unique identifier of the healthcheck node.
15941        '''
15942        self.node_name = node_name if node_name is not None else ''
15943        '''
15944         The name of the node.
15945        '''
15946        self.resource_id = resource_id if resource_id is not None else ''
15947        '''
15948         Unique identifier of the healthcheck resource.
15949        '''
15950        self.resource_name = resource_name if resource_name is not None else ''
15951        '''
15952         The name of the resource.
15953        '''
15954        self.timestamp = timestamp if timestamp is not None else None
15955        '''
15956         The time at which the healthcheck state was recorded.
15957        '''
15958
15959    def __repr__(self):
15960        return '<sdm.Healthcheck ' + \
15961            'error_msg: ' + repr(self.error_msg) + ' ' +\
15962            'healthy: ' + repr(self.healthy) + ' ' +\
15963            'id: ' + repr(self.id) + ' ' +\
15964            'node_id: ' + repr(self.node_id) + ' ' +\
15965            'node_name: ' + repr(self.node_name) + ' ' +\
15966            'resource_id: ' + repr(self.resource_id) + ' ' +\
15967            'resource_name: ' + repr(self.resource_name) + ' ' +\
15968            'timestamp: ' + repr(self.timestamp) + ' ' +\
15969            '>'
15970
15971    def to_dict(self):
15972        return {
15973            'error_msg': self.error_msg,
15974            'healthy': self.healthy,
15975            'id': self.id,
15976            'node_id': self.node_id,
15977            'node_name': self.node_name,
15978            'resource_id': self.resource_id,
15979            'resource_name': self.resource_name,
15980            'timestamp': self.timestamp,
15981        }
15982
15983    @classmethod
15984    def from_dict(cls, d):
15985        return cls(
15986            error_msg=d.get('error_msg'),
15987            healthy=d.get('healthy'),
15988            id=d.get('id'),
15989            node_id=d.get('node_id'),
15990            node_name=d.get('node_name'),
15991            resource_id=d.get('resource_id'),
15992            resource_name=d.get('resource_name'),
15993            timestamp=d.get('timestamp'),
15994        )

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)
15915    def __init__(
15916        self,
15917        error_msg=None,
15918        healthy=None,
15919        id=None,
15920        node_id=None,
15921        node_name=None,
15922        resource_id=None,
15923        resource_name=None,
15924        timestamp=None,
15925    ):
15926        self.error_msg = error_msg if error_msg is not None else ''
15927        '''
15928         The error if unhealthy
15929        '''
15930        self.healthy = healthy if healthy is not None else False
15931        '''
15932         Whether the healthcheck succeeded.
15933        '''
15934        self.id = id if id is not None else ''
15935        '''
15936         Unique identifier of the healthcheck.
15937        '''
15938        self.node_id = node_id if node_id is not None else ''
15939        '''
15940         Unique identifier of the healthcheck node.
15941        '''
15942        self.node_name = node_name if node_name is not None else ''
15943        '''
15944         The name of the node.
15945        '''
15946        self.resource_id = resource_id if resource_id is not None else ''
15947        '''
15948         Unique identifier of the healthcheck resource.
15949        '''
15950        self.resource_name = resource_name if resource_name is not None else ''
15951        '''
15952         The name of the resource.
15953        '''
15954        self.timestamp = timestamp if timestamp is not None else None
15955        '''
15956         The time at which the healthcheck state was recorded.
15957        '''
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)
15971    def to_dict(self):
15972        return {
15973            'error_msg': self.error_msg,
15974            'healthy': self.healthy,
15975            'id': self.id,
15976            'node_id': self.node_id,
15977            'node_name': self.node_name,
15978            'resource_id': self.resource_id,
15979            'resource_name': self.resource_name,
15980            'timestamp': self.timestamp,
15981        }
@classmethod
def from_dict(cls, d)
15983    @classmethod
15984    def from_dict(cls, d):
15985        return cls(
15986            error_msg=d.get('error_msg'),
15987            healthy=d.get('healthy'),
15988            id=d.get('id'),
15989            node_id=d.get('node_id'),
15990            node_name=d.get('node_name'),
15991            resource_id=d.get('resource_id'),
15992            resource_name=d.get('resource_name'),
15993            timestamp=d.get('timestamp'),
15994        )
class HealthcheckListResponse:
15997class HealthcheckListResponse:
15998    '''
15999         HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
16000     HealthcheckListRequest.
16001    '''
16002    __slots__ = [
16003        'rate_limit',
16004    ]
16005
16006    def __init__(
16007        self,
16008        rate_limit=None,
16009    ):
16010        self.rate_limit = rate_limit if rate_limit is not None else None
16011        '''
16012         Rate limit information.
16013        '''
16014
16015    def __repr__(self):
16016        return '<sdm.HealthcheckListResponse ' + \
16017            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16018            '>'
16019
16020    def to_dict(self):
16021        return {
16022            'rate_limit': self.rate_limit,
16023        }
16024
16025    @classmethod
16026    def from_dict(cls, d):
16027        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)
16006    def __init__(
16007        self,
16008        rate_limit=None,
16009    ):
16010        self.rate_limit = rate_limit if rate_limit is not None else None
16011        '''
16012         Rate limit information.
16013        '''
rate_limit

Rate limit information.

def to_dict(self)
16020    def to_dict(self):
16021        return {
16022            'rate_limit': self.rate_limit,
16023        }
@classmethod
def from_dict(cls, d)
16025    @classmethod
16026    def from_dict(cls, d):
16027        return cls(rate_limit=d.get('rate_limit'), )
class HealthcheckRequest:
16030class HealthcheckRequest:
16031    __slots__ = [
16032        'secret_engine_id',
16033    ]
16034
16035    def __init__(
16036        self,
16037        secret_engine_id=None,
16038    ):
16039        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16040        '''
16041         required
16042        '''
16043
16044    def __repr__(self):
16045        return '<sdm.HealthcheckRequest ' + \
16046            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
16047            '>'
16048
16049    def to_dict(self):
16050        return {
16051            'secret_engine_id': self.secret_engine_id,
16052        }
16053
16054    @classmethod
16055    def from_dict(cls, d):
16056        return cls(secret_engine_id=d.get('secret_engine_id'), )
HealthcheckRequest(secret_engine_id=None)
16035    def __init__(
16036        self,
16037        secret_engine_id=None,
16038    ):
16039        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
16040        '''
16041         required
16042        '''
secret_engine_id

required

def to_dict(self)
16049    def to_dict(self):
16050        return {
16051            'secret_engine_id': self.secret_engine_id,
16052        }
@classmethod
def from_dict(cls, d)
16054    @classmethod
16055    def from_dict(cls, d):
16056        return cls(secret_engine_id=d.get('secret_engine_id'), )
class HealthcheckResponse:
16059class HealthcheckResponse:
16060    __slots__ = [
16061        'rate_limit',
16062        'status',
16063    ]
16064
16065    def __init__(
16066        self,
16067        rate_limit=None,
16068        status=None,
16069    ):
16070        self.rate_limit = rate_limit if rate_limit is not None else None
16071        '''
16072         Rate limit information.
16073        '''
16074        self.status = status if status is not None else []
16075        '''
16076         Array of statuses of all nodes serving a secret engine
16077        '''
16078
16079    def __repr__(self):
16080        return '<sdm.HealthcheckResponse ' + \
16081            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16082            'status: ' + repr(self.status) + ' ' +\
16083            '>'
16084
16085    def to_dict(self):
16086        return {
16087            'rate_limit': self.rate_limit,
16088            'status': self.status,
16089        }
16090
16091    @classmethod
16092    def from_dict(cls, d):
16093        return cls(
16094            rate_limit=d.get('rate_limit'),
16095            status=d.get('status'),
16096        )
HealthcheckResponse(rate_limit=None, status=None)
16065    def __init__(
16066        self,
16067        rate_limit=None,
16068        status=None,
16069    ):
16070        self.rate_limit = rate_limit if rate_limit is not None else None
16071        '''
16072         Rate limit information.
16073        '''
16074        self.status = status if status is not None else []
16075        '''
16076         Array of statuses of all nodes serving a secret engine
16077        '''
rate_limit

Rate limit information.

status

Array of statuses of all nodes serving a secret engine

def to_dict(self)
16085    def to_dict(self):
16086        return {
16087            'rate_limit': self.rate_limit,
16088            'status': self.status,
16089        }
@classmethod
def from_dict(cls, d)
16091    @classmethod
16092    def from_dict(cls, d):
16093        return cls(
16094            rate_limit=d.get('rate_limit'),
16095            status=d.get('status'),
16096        )
class HealthcheckStatus:
16099class HealthcheckStatus:
16100    '''
16101         HealthcheckStatus contains status of a node health
16102    '''
16103    __slots__ = [
16104        'node_id',
16105        'status',
16106    ]
16107
16108    def __init__(
16109        self,
16110        node_id=None,
16111        status=None,
16112    ):
16113        self.node_id = node_id if node_id is not None else ''
16114        '''
16115         ID of node
16116        '''
16117        self.status = status if status is not None else ''
16118        '''
16119         Status of node's health
16120        '''
16121
16122    def __repr__(self):
16123        return '<sdm.HealthcheckStatus ' + \
16124            'node_id: ' + repr(self.node_id) + ' ' +\
16125            'status: ' + repr(self.status) + ' ' +\
16126            '>'
16127
16128    def to_dict(self):
16129        return {
16130            'node_id': self.node_id,
16131            'status': self.status,
16132        }
16133
16134    @classmethod
16135    def from_dict(cls, d):
16136        return cls(
16137            node_id=d.get('node_id'),
16138            status=d.get('status'),
16139        )

HealthcheckStatus contains status of a node health

HealthcheckStatus(node_id=None, status=None)
16108    def __init__(
16109        self,
16110        node_id=None,
16111        status=None,
16112    ):
16113        self.node_id = node_id if node_id is not None else ''
16114        '''
16115         ID of node
16116        '''
16117        self.status = status if status is not None else ''
16118        '''
16119         Status of node's health
16120        '''
node_id

ID of node

status

Status of node's health

def to_dict(self)
16128    def to_dict(self):
16129        return {
16130            'node_id': self.node_id,
16131            'status': self.status,
16132        }
@classmethod
def from_dict(cls, d)
16134    @classmethod
16135    def from_dict(cls, d):
16136        return cls(
16137            node_id=d.get('node_id'),
16138            status=d.get('status'),
16139        )
class IdentityAlias:
16142class IdentityAlias:
16143    '''
16144         IdentityAliases define the username to be used for a specific account
16145     when connecting to a remote resource using that identity set.
16146    '''
16147    __slots__ = [
16148        'account_id',
16149        'id',
16150        'identity_set_id',
16151        'username',
16152    ]
16153
16154    def __init__(
16155        self,
16156        account_id=None,
16157        id=None,
16158        identity_set_id=None,
16159        username=None,
16160    ):
16161        self.account_id = account_id if account_id is not None else ''
16162        '''
16163         The account for this identity alias.
16164        '''
16165        self.id = id if id is not None else ''
16166        '''
16167         Unique identifier of the IdentityAlias.
16168        '''
16169        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
16170        '''
16171         The identity set.
16172        '''
16173        self.username = username if username is not None else ''
16174        '''
16175         The username to be used as the identity alias for this account.
16176        '''
16177
16178    def __repr__(self):
16179        return '<sdm.IdentityAlias ' + \
16180            'account_id: ' + repr(self.account_id) + ' ' +\
16181            'id: ' + repr(self.id) + ' ' +\
16182            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
16183            'username: ' + repr(self.username) + ' ' +\
16184            '>'
16185
16186    def to_dict(self):
16187        return {
16188            'account_id': self.account_id,
16189            'id': self.id,
16190            'identity_set_id': self.identity_set_id,
16191            'username': self.username,
16192        }
16193
16194    @classmethod
16195    def from_dict(cls, d):
16196        return cls(
16197            account_id=d.get('account_id'),
16198            id=d.get('id'),
16199            identity_set_id=d.get('identity_set_id'),
16200            username=d.get('username'),
16201        )

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)
16154    def __init__(
16155        self,
16156        account_id=None,
16157        id=None,
16158        identity_set_id=None,
16159        username=None,
16160    ):
16161        self.account_id = account_id if account_id is not None else ''
16162        '''
16163         The account for this identity alias.
16164        '''
16165        self.id = id if id is not None else ''
16166        '''
16167         Unique identifier of the IdentityAlias.
16168        '''
16169        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
16170        '''
16171         The identity set.
16172        '''
16173        self.username = username if username is not None else ''
16174        '''
16175         The username to be used as the identity alias for this account.
16176        '''
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)
16186    def to_dict(self):
16187        return {
16188            'account_id': self.account_id,
16189            'id': self.id,
16190            'identity_set_id': self.identity_set_id,
16191            'username': self.username,
16192        }
@classmethod
def from_dict(cls, d)
16194    @classmethod
16195    def from_dict(cls, d):
16196        return cls(
16197            account_id=d.get('account_id'),
16198            id=d.get('id'),
16199            identity_set_id=d.get('identity_set_id'),
16200            username=d.get('username'),
16201        )
class IdentityAliasCreateResponse:
16204class IdentityAliasCreateResponse:
16205    '''
16206         IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.
16207    '''
16208    __slots__ = [
16209        'identity_alias',
16210        'meta',
16211        'rate_limit',
16212    ]
16213
16214    def __init__(
16215        self,
16216        identity_alias=None,
16217        meta=None,
16218        rate_limit=None,
16219    ):
16220        self.identity_alias = identity_alias if identity_alias is not None else None
16221        '''
16222         The created IdentityAlias.
16223        '''
16224        self.meta = meta if meta is not None else None
16225        '''
16226         Reserved for future use.
16227        '''
16228        self.rate_limit = rate_limit if rate_limit is not None else None
16229        '''
16230         Rate limit information.
16231        '''
16232
16233    def __repr__(self):
16234        return '<sdm.IdentityAliasCreateResponse ' + \
16235            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16236            'meta: ' + repr(self.meta) + ' ' +\
16237            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16238            '>'
16239
16240    def to_dict(self):
16241        return {
16242            'identity_alias': self.identity_alias,
16243            'meta': self.meta,
16244            'rate_limit': self.rate_limit,
16245        }
16246
16247    @classmethod
16248    def from_dict(cls, d):
16249        return cls(
16250            identity_alias=d.get('identity_alias'),
16251            meta=d.get('meta'),
16252            rate_limit=d.get('rate_limit'),
16253        )

IdentityAliasCreateResponse reports how the IdentityAliases were created in the system.

IdentityAliasCreateResponse(identity_alias=None, meta=None, rate_limit=None)
16214    def __init__(
16215        self,
16216        identity_alias=None,
16217        meta=None,
16218        rate_limit=None,
16219    ):
16220        self.identity_alias = identity_alias if identity_alias is not None else None
16221        '''
16222         The created IdentityAlias.
16223        '''
16224        self.meta = meta if meta is not None else None
16225        '''
16226         Reserved for future use.
16227        '''
16228        self.rate_limit = rate_limit if rate_limit is not None else None
16229        '''
16230         Rate limit information.
16231        '''
identity_alias

The created IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16240    def to_dict(self):
16241        return {
16242            'identity_alias': self.identity_alias,
16243            'meta': self.meta,
16244            'rate_limit': self.rate_limit,
16245        }
@classmethod
def from_dict(cls, d)
16247    @classmethod
16248    def from_dict(cls, d):
16249        return cls(
16250            identity_alias=d.get('identity_alias'),
16251            meta=d.get('meta'),
16252            rate_limit=d.get('rate_limit'),
16253        )
class IdentityAliasDeleteResponse:
16256class IdentityAliasDeleteResponse:
16257    '''
16258         IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.
16259    '''
16260    __slots__ = [
16261        'meta',
16262        'rate_limit',
16263    ]
16264
16265    def __init__(
16266        self,
16267        meta=None,
16268        rate_limit=None,
16269    ):
16270        self.meta = meta if meta is not None else None
16271        '''
16272         Reserved for future use.
16273        '''
16274        self.rate_limit = rate_limit if rate_limit is not None else None
16275        '''
16276         Rate limit information.
16277        '''
16278
16279    def __repr__(self):
16280        return '<sdm.IdentityAliasDeleteResponse ' + \
16281            'meta: ' + repr(self.meta) + ' ' +\
16282            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16283            '>'
16284
16285    def to_dict(self):
16286        return {
16287            'meta': self.meta,
16288            'rate_limit': self.rate_limit,
16289        }
16290
16291    @classmethod
16292    def from_dict(cls, d):
16293        return cls(
16294            meta=d.get('meta'),
16295            rate_limit=d.get('rate_limit'),
16296        )

IdentityAliasDeleteResponse returns information about a IdentityAlias that was deleted.

IdentityAliasDeleteResponse(meta=None, rate_limit=None)
16265    def __init__(
16266        self,
16267        meta=None,
16268        rate_limit=None,
16269    ):
16270        self.meta = meta if meta is not None else None
16271        '''
16272         Reserved for future use.
16273        '''
16274        self.rate_limit = rate_limit if rate_limit is not None else None
16275        '''
16276         Rate limit information.
16277        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16285    def to_dict(self):
16286        return {
16287            'meta': self.meta,
16288            'rate_limit': self.rate_limit,
16289        }
@classmethod
def from_dict(cls, d)
16291    @classmethod
16292    def from_dict(cls, d):
16293        return cls(
16294            meta=d.get('meta'),
16295            rate_limit=d.get('rate_limit'),
16296        )
class IdentityAliasGetResponse:
16299class IdentityAliasGetResponse:
16300    '''
16301         IdentityAliasGetResponse returns a requested IdentityAlias.
16302    '''
16303    __slots__ = [
16304        'identity_alias',
16305        'meta',
16306        'rate_limit',
16307    ]
16308
16309    def __init__(
16310        self,
16311        identity_alias=None,
16312        meta=None,
16313        rate_limit=None,
16314    ):
16315        self.identity_alias = identity_alias if identity_alias is not None else None
16316        '''
16317         The requested IdentityAlias.
16318        '''
16319        self.meta = meta if meta is not None else None
16320        '''
16321         Reserved for future use.
16322        '''
16323        self.rate_limit = rate_limit if rate_limit is not None else None
16324        '''
16325         Rate limit information.
16326        '''
16327
16328    def __repr__(self):
16329        return '<sdm.IdentityAliasGetResponse ' + \
16330            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16331            'meta: ' + repr(self.meta) + ' ' +\
16332            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16333            '>'
16334
16335    def to_dict(self):
16336        return {
16337            'identity_alias': self.identity_alias,
16338            'meta': self.meta,
16339            'rate_limit': self.rate_limit,
16340        }
16341
16342    @classmethod
16343    def from_dict(cls, d):
16344        return cls(
16345            identity_alias=d.get('identity_alias'),
16346            meta=d.get('meta'),
16347            rate_limit=d.get('rate_limit'),
16348        )

IdentityAliasGetResponse returns a requested IdentityAlias.

IdentityAliasGetResponse(identity_alias=None, meta=None, rate_limit=None)
16309    def __init__(
16310        self,
16311        identity_alias=None,
16312        meta=None,
16313        rate_limit=None,
16314    ):
16315        self.identity_alias = identity_alias if identity_alias is not None else None
16316        '''
16317         The requested IdentityAlias.
16318        '''
16319        self.meta = meta if meta is not None else None
16320        '''
16321         Reserved for future use.
16322        '''
16323        self.rate_limit = rate_limit if rate_limit is not None else None
16324        '''
16325         Rate limit information.
16326        '''
identity_alias

The requested IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16335    def to_dict(self):
16336        return {
16337            'identity_alias': self.identity_alias,
16338            'meta': self.meta,
16339            'rate_limit': self.rate_limit,
16340        }
@classmethod
def from_dict(cls, d)
16342    @classmethod
16343    def from_dict(cls, d):
16344        return cls(
16345            identity_alias=d.get('identity_alias'),
16346            meta=d.get('meta'),
16347            rate_limit=d.get('rate_limit'),
16348        )
class IdentityAliasHistory:
16351class IdentityAliasHistory:
16352    '''
16353         IdentityAliasHistory records the state of a IdentityAlias at a given point in time,
16354     where every change (create, update and delete) to a IdentityAlias produces an
16355     IdentityAliasHistory record.
16356    '''
16357    __slots__ = [
16358        'activity_id',
16359        'deleted_at',
16360        'identity_alias',
16361        'timestamp',
16362    ]
16363
16364    def __init__(
16365        self,
16366        activity_id=None,
16367        deleted_at=None,
16368        identity_alias=None,
16369        timestamp=None,
16370    ):
16371        self.activity_id = activity_id if activity_id is not None else ''
16372        '''
16373         The unique identifier of the Activity that produced this change to the IdentityAlias.
16374         May be empty for some system-initiated updates.
16375        '''
16376        self.deleted_at = deleted_at if deleted_at is not None else None
16377        '''
16378         If this IdentityAlias was deleted, the time it was deleted.
16379        '''
16380        self.identity_alias = identity_alias if identity_alias is not None else None
16381        '''
16382         The complete IdentityAlias state at this time.
16383        '''
16384        self.timestamp = timestamp if timestamp is not None else None
16385        '''
16386         The time at which the IdentityAlias state was recorded.
16387        '''
16388
16389    def __repr__(self):
16390        return '<sdm.IdentityAliasHistory ' + \
16391            'activity_id: ' + repr(self.activity_id) + ' ' +\
16392            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16393            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16394            'timestamp: ' + repr(self.timestamp) + ' ' +\
16395            '>'
16396
16397    def to_dict(self):
16398        return {
16399            'activity_id': self.activity_id,
16400            'deleted_at': self.deleted_at,
16401            'identity_alias': self.identity_alias,
16402            'timestamp': self.timestamp,
16403        }
16404
16405    @classmethod
16406    def from_dict(cls, d):
16407        return cls(
16408            activity_id=d.get('activity_id'),
16409            deleted_at=d.get('deleted_at'),
16410            identity_alias=d.get('identity_alias'),
16411            timestamp=d.get('timestamp'),
16412        )

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)
16364    def __init__(
16365        self,
16366        activity_id=None,
16367        deleted_at=None,
16368        identity_alias=None,
16369        timestamp=None,
16370    ):
16371        self.activity_id = activity_id if activity_id is not None else ''
16372        '''
16373         The unique identifier of the Activity that produced this change to the IdentityAlias.
16374         May be empty for some system-initiated updates.
16375        '''
16376        self.deleted_at = deleted_at if deleted_at is not None else None
16377        '''
16378         If this IdentityAlias was deleted, the time it was deleted.
16379        '''
16380        self.identity_alias = identity_alias if identity_alias is not None else None
16381        '''
16382         The complete IdentityAlias state at this time.
16383        '''
16384        self.timestamp = timestamp if timestamp is not None else None
16385        '''
16386         The time at which the IdentityAlias state was recorded.
16387        '''
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)
16397    def to_dict(self):
16398        return {
16399            'activity_id': self.activity_id,
16400            'deleted_at': self.deleted_at,
16401            'identity_alias': self.identity_alias,
16402            'timestamp': self.timestamp,
16403        }
@classmethod
def from_dict(cls, d)
16405    @classmethod
16406    def from_dict(cls, d):
16407        return cls(
16408            activity_id=d.get('activity_id'),
16409            deleted_at=d.get('deleted_at'),
16410            identity_alias=d.get('identity_alias'),
16411            timestamp=d.get('timestamp'),
16412        )
class IdentityAliasUpdateResponse:
16415class IdentityAliasUpdateResponse:
16416    '''
16417         IdentityAliasUpdateResponse returns the fields of a IdentityAlias after it has been updated by
16418     a IdentityAliasUpdateRequest.
16419    '''
16420    __slots__ = [
16421        'identity_alias',
16422        'meta',
16423        'rate_limit',
16424    ]
16425
16426    def __init__(
16427        self,
16428        identity_alias=None,
16429        meta=None,
16430        rate_limit=None,
16431    ):
16432        self.identity_alias = identity_alias if identity_alias is not None else None
16433        '''
16434         The updated IdentityAlias.
16435        '''
16436        self.meta = meta if meta is not None else None
16437        '''
16438         Reserved for future use.
16439        '''
16440        self.rate_limit = rate_limit if rate_limit is not None else None
16441        '''
16442         Rate limit information.
16443        '''
16444
16445    def __repr__(self):
16446        return '<sdm.IdentityAliasUpdateResponse ' + \
16447            'identity_alias: ' + repr(self.identity_alias) + ' ' +\
16448            'meta: ' + repr(self.meta) + ' ' +\
16449            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16450            '>'
16451
16452    def to_dict(self):
16453        return {
16454            'identity_alias': self.identity_alias,
16455            'meta': self.meta,
16456            'rate_limit': self.rate_limit,
16457        }
16458
16459    @classmethod
16460    def from_dict(cls, d):
16461        return cls(
16462            identity_alias=d.get('identity_alias'),
16463            meta=d.get('meta'),
16464            rate_limit=d.get('rate_limit'),
16465        )

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

IdentityAliasUpdateResponse(identity_alias=None, meta=None, rate_limit=None)
16426    def __init__(
16427        self,
16428        identity_alias=None,
16429        meta=None,
16430        rate_limit=None,
16431    ):
16432        self.identity_alias = identity_alias if identity_alias is not None else None
16433        '''
16434         The updated IdentityAlias.
16435        '''
16436        self.meta = meta if meta is not None else None
16437        '''
16438         Reserved for future use.
16439        '''
16440        self.rate_limit = rate_limit if rate_limit is not None else None
16441        '''
16442         Rate limit information.
16443        '''
identity_alias

The updated IdentityAlias.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16452    def to_dict(self):
16453        return {
16454            'identity_alias': self.identity_alias,
16455            'meta': self.meta,
16456            'rate_limit': self.rate_limit,
16457        }
@classmethod
def from_dict(cls, d)
16459    @classmethod
16460    def from_dict(cls, d):
16461        return cls(
16462            identity_alias=d.get('identity_alias'),
16463            meta=d.get('meta'),
16464            rate_limit=d.get('rate_limit'),
16465        )
class IdentitySet:
16468class IdentitySet:
16469    '''
16470         A IdentitySet defines a group of identity aliases.
16471    '''
16472    __slots__ = [
16473        'id',
16474        'name',
16475    ]
16476
16477    def __init__(
16478        self,
16479        id=None,
16480        name=None,
16481    ):
16482        self.id = id if id is not None else ''
16483        '''
16484         Unique identifier of the IdentitySet.
16485        '''
16486        self.name = name if name is not None else ''
16487        '''
16488         Unique human-readable name of the IdentitySet.
16489        '''
16490
16491    def __repr__(self):
16492        return '<sdm.IdentitySet ' + \
16493            'id: ' + repr(self.id) + ' ' +\
16494            'name: ' + repr(self.name) + ' ' +\
16495            '>'
16496
16497    def to_dict(self):
16498        return {
16499            'id': self.id,
16500            'name': self.name,
16501        }
16502
16503    @classmethod
16504    def from_dict(cls, d):
16505        return cls(
16506            id=d.get('id'),
16507            name=d.get('name'),
16508        )

A IdentitySet defines a group of identity aliases.

IdentitySet(id=None, name=None)
16477    def __init__(
16478        self,
16479        id=None,
16480        name=None,
16481    ):
16482        self.id = id if id is not None else ''
16483        '''
16484         Unique identifier of the IdentitySet.
16485        '''
16486        self.name = name if name is not None else ''
16487        '''
16488         Unique human-readable name of the IdentitySet.
16489        '''
id

Unique identifier of the IdentitySet.

name

Unique human-readable name of the IdentitySet.

def to_dict(self)
16497    def to_dict(self):
16498        return {
16499            'id': self.id,
16500            'name': self.name,
16501        }
@classmethod
def from_dict(cls, d)
16503    @classmethod
16504    def from_dict(cls, d):
16505        return cls(
16506            id=d.get('id'),
16507            name=d.get('name'),
16508        )
class IdentitySetCreateResponse:
16511class IdentitySetCreateResponse:
16512    '''
16513         IdentitySetCreateResponse reports how the IdentitySets were created in the system. It can
16514     communicate partial successes or failures.
16515    '''
16516    __slots__ = [
16517        'identity_set',
16518        'meta',
16519        'rate_limit',
16520    ]
16521
16522    def __init__(
16523        self,
16524        identity_set=None,
16525        meta=None,
16526        rate_limit=None,
16527    ):
16528        self.identity_set = identity_set if identity_set is not None else None
16529        '''
16530         The created IdentitySet.
16531        '''
16532        self.meta = meta if meta is not None else None
16533        '''
16534         Reserved for future use.
16535        '''
16536        self.rate_limit = rate_limit if rate_limit is not None else None
16537        '''
16538         Rate limit information.
16539        '''
16540
16541    def __repr__(self):
16542        return '<sdm.IdentitySetCreateResponse ' + \
16543            'identity_set: ' + repr(self.identity_set) + ' ' +\
16544            'meta: ' + repr(self.meta) + ' ' +\
16545            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16546            '>'
16547
16548    def to_dict(self):
16549        return {
16550            'identity_set': self.identity_set,
16551            'meta': self.meta,
16552            'rate_limit': self.rate_limit,
16553        }
16554
16555    @classmethod
16556    def from_dict(cls, d):
16557        return cls(
16558            identity_set=d.get('identity_set'),
16559            meta=d.get('meta'),
16560            rate_limit=d.get('rate_limit'),
16561        )

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)
16522    def __init__(
16523        self,
16524        identity_set=None,
16525        meta=None,
16526        rate_limit=None,
16527    ):
16528        self.identity_set = identity_set if identity_set is not None else None
16529        '''
16530         The created IdentitySet.
16531        '''
16532        self.meta = meta if meta is not None else None
16533        '''
16534         Reserved for future use.
16535        '''
16536        self.rate_limit = rate_limit if rate_limit is not None else None
16537        '''
16538         Rate limit information.
16539        '''
identity_set

The created IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16548    def to_dict(self):
16549        return {
16550            'identity_set': self.identity_set,
16551            'meta': self.meta,
16552            'rate_limit': self.rate_limit,
16553        }
@classmethod
def from_dict(cls, d)
16555    @classmethod
16556    def from_dict(cls, d):
16557        return cls(
16558            identity_set=d.get('identity_set'),
16559            meta=d.get('meta'),
16560            rate_limit=d.get('rate_limit'),
16561        )
class IdentitySetDeleteResponse:
16564class IdentitySetDeleteResponse:
16565    '''
16566         IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.
16567    '''
16568    __slots__ = [
16569        'meta',
16570        'rate_limit',
16571    ]
16572
16573    def __init__(
16574        self,
16575        meta=None,
16576        rate_limit=None,
16577    ):
16578        self.meta = meta if meta is not None else None
16579        '''
16580         Reserved for future use.
16581        '''
16582        self.rate_limit = rate_limit if rate_limit is not None else None
16583        '''
16584         Rate limit information.
16585        '''
16586
16587    def __repr__(self):
16588        return '<sdm.IdentitySetDeleteResponse ' + \
16589            'meta: ' + repr(self.meta) + ' ' +\
16590            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16591            '>'
16592
16593    def to_dict(self):
16594        return {
16595            'meta': self.meta,
16596            'rate_limit': self.rate_limit,
16597        }
16598
16599    @classmethod
16600    def from_dict(cls, d):
16601        return cls(
16602            meta=d.get('meta'),
16603            rate_limit=d.get('rate_limit'),
16604        )

IdentitySetDeleteResponse returns information about a IdentitySet that was deleted.

IdentitySetDeleteResponse(meta=None, rate_limit=None)
16573    def __init__(
16574        self,
16575        meta=None,
16576        rate_limit=None,
16577    ):
16578        self.meta = meta if meta is not None else None
16579        '''
16580         Reserved for future use.
16581        '''
16582        self.rate_limit = rate_limit if rate_limit is not None else None
16583        '''
16584         Rate limit information.
16585        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16593    def to_dict(self):
16594        return {
16595            'meta': self.meta,
16596            'rate_limit': self.rate_limit,
16597        }
@classmethod
def from_dict(cls, d)
16599    @classmethod
16600    def from_dict(cls, d):
16601        return cls(
16602            meta=d.get('meta'),
16603            rate_limit=d.get('rate_limit'),
16604        )
class IdentitySetGetResponse:
16607class IdentitySetGetResponse:
16608    '''
16609         IdentitySetGetResponse returns a requested IdentitySet.
16610    '''
16611    __slots__ = [
16612        'identity_set',
16613        'meta',
16614        'rate_limit',
16615    ]
16616
16617    def __init__(
16618        self,
16619        identity_set=None,
16620        meta=None,
16621        rate_limit=None,
16622    ):
16623        self.identity_set = identity_set if identity_set is not None else None
16624        '''
16625         The requested IdentitySet.
16626        '''
16627        self.meta = meta if meta is not None else None
16628        '''
16629         Reserved for future use.
16630        '''
16631        self.rate_limit = rate_limit if rate_limit is not None else None
16632        '''
16633         Rate limit information.
16634        '''
16635
16636    def __repr__(self):
16637        return '<sdm.IdentitySetGetResponse ' + \
16638            'identity_set: ' + repr(self.identity_set) + ' ' +\
16639            'meta: ' + repr(self.meta) + ' ' +\
16640            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16641            '>'
16642
16643    def to_dict(self):
16644        return {
16645            'identity_set': self.identity_set,
16646            'meta': self.meta,
16647            'rate_limit': self.rate_limit,
16648        }
16649
16650    @classmethod
16651    def from_dict(cls, d):
16652        return cls(
16653            identity_set=d.get('identity_set'),
16654            meta=d.get('meta'),
16655            rate_limit=d.get('rate_limit'),
16656        )

IdentitySetGetResponse returns a requested IdentitySet.

IdentitySetGetResponse(identity_set=None, meta=None, rate_limit=None)
16617    def __init__(
16618        self,
16619        identity_set=None,
16620        meta=None,
16621        rate_limit=None,
16622    ):
16623        self.identity_set = identity_set if identity_set is not None else None
16624        '''
16625         The requested IdentitySet.
16626        '''
16627        self.meta = meta if meta is not None else None
16628        '''
16629         Reserved for future use.
16630        '''
16631        self.rate_limit = rate_limit if rate_limit is not None else None
16632        '''
16633         Rate limit information.
16634        '''
identity_set

The requested IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16643    def to_dict(self):
16644        return {
16645            'identity_set': self.identity_set,
16646            'meta': self.meta,
16647            'rate_limit': self.rate_limit,
16648        }
@classmethod
def from_dict(cls, d)
16650    @classmethod
16651    def from_dict(cls, d):
16652        return cls(
16653            identity_set=d.get('identity_set'),
16654            meta=d.get('meta'),
16655            rate_limit=d.get('rate_limit'),
16656        )
class IdentitySetHistory:
16659class IdentitySetHistory:
16660    '''
16661         IdentitySetHistory records the state of a IdentitySet at a given point in time,
16662     where every change (create, update and delete) to a IdentitySet produces an
16663     IdentitySetHistory record.
16664    '''
16665    __slots__ = [
16666        'activity_id',
16667        'deleted_at',
16668        'identity_set',
16669        'timestamp',
16670    ]
16671
16672    def __init__(
16673        self,
16674        activity_id=None,
16675        deleted_at=None,
16676        identity_set=None,
16677        timestamp=None,
16678    ):
16679        self.activity_id = activity_id if activity_id is not None else ''
16680        '''
16681         The unique identifier of the Activity that produced this change to the IdentitySet.
16682         May be empty for some system-initiated updates.
16683        '''
16684        self.deleted_at = deleted_at if deleted_at is not None else None
16685        '''
16686         If this IdentitySet was deleted, the time it was deleted.
16687        '''
16688        self.identity_set = identity_set if identity_set is not None else None
16689        '''
16690         The complete IdentitySet state at this time.
16691        '''
16692        self.timestamp = timestamp if timestamp is not None else None
16693        '''
16694         The time at which the IdentitySet state was recorded.
16695        '''
16696
16697    def __repr__(self):
16698        return '<sdm.IdentitySetHistory ' + \
16699            'activity_id: ' + repr(self.activity_id) + ' ' +\
16700            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
16701            'identity_set: ' + repr(self.identity_set) + ' ' +\
16702            'timestamp: ' + repr(self.timestamp) + ' ' +\
16703            '>'
16704
16705    def to_dict(self):
16706        return {
16707            'activity_id': self.activity_id,
16708            'deleted_at': self.deleted_at,
16709            'identity_set': self.identity_set,
16710            'timestamp': self.timestamp,
16711        }
16712
16713    @classmethod
16714    def from_dict(cls, d):
16715        return cls(
16716            activity_id=d.get('activity_id'),
16717            deleted_at=d.get('deleted_at'),
16718            identity_set=d.get('identity_set'),
16719            timestamp=d.get('timestamp'),
16720        )

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)
16672    def __init__(
16673        self,
16674        activity_id=None,
16675        deleted_at=None,
16676        identity_set=None,
16677        timestamp=None,
16678    ):
16679        self.activity_id = activity_id if activity_id is not None else ''
16680        '''
16681         The unique identifier of the Activity that produced this change to the IdentitySet.
16682         May be empty for some system-initiated updates.
16683        '''
16684        self.deleted_at = deleted_at if deleted_at is not None else None
16685        '''
16686         If this IdentitySet was deleted, the time it was deleted.
16687        '''
16688        self.identity_set = identity_set if identity_set is not None else None
16689        '''
16690         The complete IdentitySet state at this time.
16691        '''
16692        self.timestamp = timestamp if timestamp is not None else None
16693        '''
16694         The time at which the IdentitySet state was recorded.
16695        '''
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)
16705    def to_dict(self):
16706        return {
16707            'activity_id': self.activity_id,
16708            'deleted_at': self.deleted_at,
16709            'identity_set': self.identity_set,
16710            'timestamp': self.timestamp,
16711        }
@classmethod
def from_dict(cls, d)
16713    @classmethod
16714    def from_dict(cls, d):
16715        return cls(
16716            activity_id=d.get('activity_id'),
16717            deleted_at=d.get('deleted_at'),
16718            identity_set=d.get('identity_set'),
16719            timestamp=d.get('timestamp'),
16720        )
class IdentitySetUpdateResponse:
16723class IdentitySetUpdateResponse:
16724    '''
16725         IdentitySetUpdateResponse returns the fields of a IdentitySet after it has been updated by
16726     a IdentitySetUpdateRequest.
16727    '''
16728    __slots__ = [
16729        'identity_set',
16730        'meta',
16731        'rate_limit',
16732    ]
16733
16734    def __init__(
16735        self,
16736        identity_set=None,
16737        meta=None,
16738        rate_limit=None,
16739    ):
16740        self.identity_set = identity_set if identity_set is not None else None
16741        '''
16742         The updated IdentitySet.
16743        '''
16744        self.meta = meta if meta is not None else None
16745        '''
16746         Reserved for future use.
16747        '''
16748        self.rate_limit = rate_limit if rate_limit is not None else None
16749        '''
16750         Rate limit information.
16751        '''
16752
16753    def __repr__(self):
16754        return '<sdm.IdentitySetUpdateResponse ' + \
16755            'identity_set: ' + repr(self.identity_set) + ' ' +\
16756            'meta: ' + repr(self.meta) + ' ' +\
16757            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
16758            '>'
16759
16760    def to_dict(self):
16761        return {
16762            'identity_set': self.identity_set,
16763            'meta': self.meta,
16764            'rate_limit': self.rate_limit,
16765        }
16766
16767    @classmethod
16768    def from_dict(cls, d):
16769        return cls(
16770            identity_set=d.get('identity_set'),
16771            meta=d.get('meta'),
16772            rate_limit=d.get('rate_limit'),
16773        )

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

IdentitySetUpdateResponse(identity_set=None, meta=None, rate_limit=None)
16734    def __init__(
16735        self,
16736        identity_set=None,
16737        meta=None,
16738        rate_limit=None,
16739    ):
16740        self.identity_set = identity_set if identity_set is not None else None
16741        '''
16742         The updated IdentitySet.
16743        '''
16744        self.meta = meta if meta is not None else None
16745        '''
16746         Reserved for future use.
16747        '''
16748        self.rate_limit = rate_limit if rate_limit is not None else None
16749        '''
16750         Rate limit information.
16751        '''
identity_set

The updated IdentitySet.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
16760    def to_dict(self):
16761        return {
16762            'identity_set': self.identity_set,
16763            'meta': self.meta,
16764            'rate_limit': self.rate_limit,
16765        }
@classmethod
def from_dict(cls, d)
16767    @classmethod
16768    def from_dict(cls, d):
16769        return cls(
16770            identity_set=d.get('identity_set'),
16771            meta=d.get('meta'),
16772            rate_limit=d.get('rate_limit'),
16773        )
class KeyValueEngine:
16776class KeyValueEngine:
16777    __slots__ = [
16778        'id',
16779        'key_rotation_interval_days',
16780        'name',
16781        'public_key',
16782        'secret_store_id',
16783        'secret_store_root_path',
16784        'tags',
16785    ]
16786
16787    def __init__(
16788        self,
16789        id=None,
16790        key_rotation_interval_days=None,
16791        name=None,
16792        public_key=None,
16793        secret_store_id=None,
16794        secret_store_root_path=None,
16795        tags=None,
16796    ):
16797        self.id = id if id is not None else ''
16798        '''
16799         Unique identifier of the Secret Engine.
16800        '''
16801        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
16802        '''
16803         An interval of public/private key rotation for secret engine in days
16804        '''
16805        self.name = name if name is not None else ''
16806        '''
16807         Unique human-readable name of the Secret Engine.
16808        '''
16809        self.public_key = public_key if public_key is not None else b''
16810        '''
16811         Public key linked with a secret engine
16812        '''
16813        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16814        '''
16815         Backing secret store identifier
16816        '''
16817        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
16818        '''
16819         Backing Secret Store root path where managed secrets are going to be stored
16820        '''
16821        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16822        '''
16823         Tags is a map of key, value pairs.
16824        '''
16825
16826    def __repr__(self):
16827        return '<sdm.KeyValueEngine ' + \
16828            'id: ' + repr(self.id) + ' ' +\
16829            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
16830            'name: ' + repr(self.name) + ' ' +\
16831            'public_key: ' + repr(self.public_key) + ' ' +\
16832            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
16833            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
16834            'tags: ' + repr(self.tags) + ' ' +\
16835            '>'
16836
16837    def to_dict(self):
16838        return {
16839            'id': self.id,
16840            'key_rotation_interval_days': self.key_rotation_interval_days,
16841            'name': self.name,
16842            'public_key': self.public_key,
16843            'secret_store_id': self.secret_store_id,
16844            'secret_store_root_path': self.secret_store_root_path,
16845            'tags': self.tags,
16846        }
16847
16848    @classmethod
16849    def from_dict(cls, d):
16850        return cls(
16851            id=d.get('id'),
16852            key_rotation_interval_days=d.get('key_rotation_interval_days'),
16853            name=d.get('name'),
16854            public_key=d.get('public_key'),
16855            secret_store_id=d.get('secret_store_id'),
16856            secret_store_root_path=d.get('secret_store_root_path'),
16857            tags=d.get('tags'),
16858        )
KeyValueEngine( id=None, key_rotation_interval_days=None, name=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None)
16787    def __init__(
16788        self,
16789        id=None,
16790        key_rotation_interval_days=None,
16791        name=None,
16792        public_key=None,
16793        secret_store_id=None,
16794        secret_store_root_path=None,
16795        tags=None,
16796    ):
16797        self.id = id if id is not None else ''
16798        '''
16799         Unique identifier of the Secret Engine.
16800        '''
16801        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
16802        '''
16803         An interval of public/private key rotation for secret engine in days
16804        '''
16805        self.name = name if name is not None else ''
16806        '''
16807         Unique human-readable name of the Secret Engine.
16808        '''
16809        self.public_key = public_key if public_key is not None else b''
16810        '''
16811         Public key linked with a secret engine
16812        '''
16813        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
16814        '''
16815         Backing secret store identifier
16816        '''
16817        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
16818        '''
16819         Backing Secret Store root path where managed secrets are going to be stored
16820        '''
16821        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16822        '''
16823         Tags is a map of key, value pairs.
16824        '''
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)
16837    def to_dict(self):
16838        return {
16839            'id': self.id,
16840            'key_rotation_interval_days': self.key_rotation_interval_days,
16841            'name': self.name,
16842            'public_key': self.public_key,
16843            'secret_store_id': self.secret_store_id,
16844            'secret_store_root_path': self.secret_store_root_path,
16845            'tags': self.tags,
16846        }
@classmethod
def from_dict(cls, d)
16848    @classmethod
16849    def from_dict(cls, d):
16850        return cls(
16851            id=d.get('id'),
16852            key_rotation_interval_days=d.get('key_rotation_interval_days'),
16853            name=d.get('name'),
16854            public_key=d.get('public_key'),
16855            secret_store_id=d.get('secret_store_id'),
16856            secret_store_root_path=d.get('secret_store_root_path'),
16857            tags=d.get('tags'),
16858        )
class KeyfactorSSHStore:
16861class KeyfactorSSHStore:
16862    __slots__ = [
16863        'ca_file_path',
16864        'certificate_file_path',
16865        'default_certificate_authority_name',
16866        'default_certificate_profile_name',
16867        'default_end_entity_profile_name',
16868        'enrollment_code_env_var',
16869        'enrollment_username_env_var',
16870        'id',
16871        'key_file_path',
16872        'name',
16873        'server_address',
16874        'tags',
16875    ]
16876
16877    def __init__(
16878        self,
16879        ca_file_path=None,
16880        certificate_file_path=None,
16881        default_certificate_authority_name=None,
16882        default_certificate_profile_name=None,
16883        default_end_entity_profile_name=None,
16884        enrollment_code_env_var=None,
16885        enrollment_username_env_var=None,
16886        id=None,
16887        key_file_path=None,
16888        name=None,
16889        server_address=None,
16890        tags=None,
16891    ):
16892        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
16893        '''
16894         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
16895         This is not required if the CA is trusted by the host operating system. This should be a PEM
16896         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
16897        '''
16898        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
16899        '''
16900         Path to client certificate in PEM format. This certificate must contain a client certificate that
16901         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
16902         key associated with the certificate, but KeyFile can also be set to configure the private key.
16903        '''
16904        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
16905        '''
16906         Name of EJBCA certificate authority that will enroll CSR.
16907        '''
16908        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
16909        '''
16910         Certificate profile name that EJBCA will enroll the CSR with.
16911        '''
16912        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
16913        '''
16914         End entity profile that EJBCA will enroll the CSR with.
16915        '''
16916        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
16917        '''
16918         code used by EJBCA during enrollment. May be left blank if no code is required.
16919        '''
16920        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
16921        '''
16922         username that used by the EJBCA during enrollment. This can be left out. 
16923         If so, the username must be auto-generated on the Keyfactor side.
16924        '''
16925        self.id = id if id is not None else ''
16926        '''
16927         Unique identifier of the SecretStore.
16928        '''
16929        self.key_file_path = key_file_path if key_file_path is not None else ''
16930        '''
16931         Path to private key in PEM format. This file should contain the private key associated with the
16932         client certificate configured in CertificateFile.
16933        '''
16934        self.name = name if name is not None else ''
16935        '''
16936         Unique human-readable name of the SecretStore.
16937        '''
16938        self.server_address = server_address if server_address is not None else ''
16939        '''
16940         the host of the Key Factor CA
16941        '''
16942        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16943        '''
16944         Tags is a map of key, value pairs.
16945        '''
16946
16947    def __repr__(self):
16948        return '<sdm.KeyfactorSSHStore ' + \
16949            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
16950            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
16951            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
16952            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
16953            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
16954            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
16955            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
16956            'id: ' + repr(self.id) + ' ' +\
16957            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
16958            'name: ' + repr(self.name) + ' ' +\
16959            'server_address: ' + repr(self.server_address) + ' ' +\
16960            'tags: ' + repr(self.tags) + ' ' +\
16961            '>'
16962
16963    def to_dict(self):
16964        return {
16965            'ca_file_path': self.ca_file_path,
16966            'certificate_file_path': self.certificate_file_path,
16967            'default_certificate_authority_name':
16968            self.default_certificate_authority_name,
16969            'default_certificate_profile_name':
16970            self.default_certificate_profile_name,
16971            'default_end_entity_profile_name':
16972            self.default_end_entity_profile_name,
16973            'enrollment_code_env_var': self.enrollment_code_env_var,
16974            'enrollment_username_env_var': self.enrollment_username_env_var,
16975            'id': self.id,
16976            'key_file_path': self.key_file_path,
16977            'name': self.name,
16978            'server_address': self.server_address,
16979            'tags': self.tags,
16980        }
16981
16982    @classmethod
16983    def from_dict(cls, d):
16984        return cls(
16985            ca_file_path=d.get('ca_file_path'),
16986            certificate_file_path=d.get('certificate_file_path'),
16987            default_certificate_authority_name=d.get(
16988                'default_certificate_authority_name'),
16989            default_certificate_profile_name=d.get(
16990                'default_certificate_profile_name'),
16991            default_end_entity_profile_name=d.get(
16992                'default_end_entity_profile_name'),
16993            enrollment_code_env_var=d.get('enrollment_code_env_var'),
16994            enrollment_username_env_var=d.get('enrollment_username_env_var'),
16995            id=d.get('id'),
16996            key_file_path=d.get('key_file_path'),
16997            name=d.get('name'),
16998            server_address=d.get('server_address'),
16999            tags=d.get('tags'),
17000        )
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)
16877    def __init__(
16878        self,
16879        ca_file_path=None,
16880        certificate_file_path=None,
16881        default_certificate_authority_name=None,
16882        default_certificate_profile_name=None,
16883        default_end_entity_profile_name=None,
16884        enrollment_code_env_var=None,
16885        enrollment_username_env_var=None,
16886        id=None,
16887        key_file_path=None,
16888        name=None,
16889        server_address=None,
16890        tags=None,
16891    ):
16892        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
16893        '''
16894         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
16895         This is not required if the CA is trusted by the host operating system. This should be a PEM
16896         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
16897        '''
16898        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
16899        '''
16900         Path to client certificate in PEM format. This certificate must contain a client certificate that
16901         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
16902         key associated with the certificate, but KeyFile can also be set to configure the private key.
16903        '''
16904        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
16905        '''
16906         Name of EJBCA certificate authority that will enroll CSR.
16907        '''
16908        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
16909        '''
16910         Certificate profile name that EJBCA will enroll the CSR with.
16911        '''
16912        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
16913        '''
16914         End entity profile that EJBCA will enroll the CSR with.
16915        '''
16916        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
16917        '''
16918         code used by EJBCA during enrollment. May be left blank if no code is required.
16919        '''
16920        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
16921        '''
16922         username that used by the EJBCA during enrollment. This can be left out. 
16923         If so, the username must be auto-generated on the Keyfactor side.
16924        '''
16925        self.id = id if id is not None else ''
16926        '''
16927         Unique identifier of the SecretStore.
16928        '''
16929        self.key_file_path = key_file_path if key_file_path is not None else ''
16930        '''
16931         Path to private key in PEM format. This file should contain the private key associated with the
16932         client certificate configured in CertificateFile.
16933        '''
16934        self.name = name if name is not None else ''
16935        '''
16936         Unique human-readable name of the SecretStore.
16937        '''
16938        self.server_address = server_address if server_address is not None else ''
16939        '''
16940         the host of the Key Factor CA
16941        '''
16942        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
16943        '''
16944         Tags is a map of key, value pairs.
16945        '''
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)
16963    def to_dict(self):
16964        return {
16965            'ca_file_path': self.ca_file_path,
16966            'certificate_file_path': self.certificate_file_path,
16967            'default_certificate_authority_name':
16968            self.default_certificate_authority_name,
16969            'default_certificate_profile_name':
16970            self.default_certificate_profile_name,
16971            'default_end_entity_profile_name':
16972            self.default_end_entity_profile_name,
16973            'enrollment_code_env_var': self.enrollment_code_env_var,
16974            'enrollment_username_env_var': self.enrollment_username_env_var,
16975            'id': self.id,
16976            'key_file_path': self.key_file_path,
16977            'name': self.name,
16978            'server_address': self.server_address,
16979            'tags': self.tags,
16980        }
@classmethod
def from_dict(cls, d)
16982    @classmethod
16983    def from_dict(cls, d):
16984        return cls(
16985            ca_file_path=d.get('ca_file_path'),
16986            certificate_file_path=d.get('certificate_file_path'),
16987            default_certificate_authority_name=d.get(
16988                'default_certificate_authority_name'),
16989            default_certificate_profile_name=d.get(
16990                'default_certificate_profile_name'),
16991            default_end_entity_profile_name=d.get(
16992                'default_end_entity_profile_name'),
16993            enrollment_code_env_var=d.get('enrollment_code_env_var'),
16994            enrollment_username_env_var=d.get('enrollment_username_env_var'),
16995            id=d.get('id'),
16996            key_file_path=d.get('key_file_path'),
16997            name=d.get('name'),
16998            server_address=d.get('server_address'),
16999            tags=d.get('tags'),
17000        )
class KeyfactorX509Store:
17003class KeyfactorX509Store:
17004    __slots__ = [
17005        'ca_file_path',
17006        'certificate_file_path',
17007        'default_certificate_authority_name',
17008        'default_certificate_profile_name',
17009        'default_end_entity_profile_name',
17010        'enrollment_code_env_var',
17011        'enrollment_username_env_var',
17012        'id',
17013        'key_file_path',
17014        'name',
17015        'server_address',
17016        'tags',
17017    ]
17018
17019    def __init__(
17020        self,
17021        ca_file_path=None,
17022        certificate_file_path=None,
17023        default_certificate_authority_name=None,
17024        default_certificate_profile_name=None,
17025        default_end_entity_profile_name=None,
17026        enrollment_code_env_var=None,
17027        enrollment_username_env_var=None,
17028        id=None,
17029        key_file_path=None,
17030        name=None,
17031        server_address=None,
17032        tags=None,
17033    ):
17034        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
17035        '''
17036         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
17037         This is not required if the CA is trusted by the host operating system. This should be a PEM
17038         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
17039        '''
17040        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
17041        '''
17042         Path to client certificate in PEM format. This certificate must contain a client certificate that
17043         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
17044         key associated with the certificate, but KeyFile can also be set to configure the private key.
17045        '''
17046        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
17047        '''
17048         Name of EJBCA certificate authority that will enroll CSR.
17049        '''
17050        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
17051        '''
17052         Certificate profile name that EJBCA will enroll the CSR with.
17053        '''
17054        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
17055        '''
17056         End entity profile that EJBCA will enroll the CSR with.
17057        '''
17058        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
17059        '''
17060         code used by EJBCA during enrollment. May be left blank if no code is required.
17061        '''
17062        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
17063        '''
17064         username that used by the EJBCA during enrollment. This can be left out. 
17065         If so, the username must be auto-generated on the Keyfactor side.
17066        '''
17067        self.id = id if id is not None else ''
17068        '''
17069         Unique identifier of the SecretStore.
17070        '''
17071        self.key_file_path = key_file_path if key_file_path is not None else ''
17072        '''
17073         Path to private key in PEM format. This file should contain the private key associated with the
17074         client certificate configured in CertificateFile.
17075        '''
17076        self.name = name if name is not None else ''
17077        '''
17078         Unique human-readable name of the SecretStore.
17079        '''
17080        self.server_address = server_address if server_address is not None else ''
17081        '''
17082         the host of the Key Factor CA
17083        '''
17084        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17085        '''
17086         Tags is a map of key, value pairs.
17087        '''
17088
17089    def __repr__(self):
17090        return '<sdm.KeyfactorX509Store ' + \
17091            'ca_file_path: ' + repr(self.ca_file_path) + ' ' +\
17092            'certificate_file_path: ' + repr(self.certificate_file_path) + ' ' +\
17093            'default_certificate_authority_name: ' + repr(self.default_certificate_authority_name) + ' ' +\
17094            'default_certificate_profile_name: ' + repr(self.default_certificate_profile_name) + ' ' +\
17095            'default_end_entity_profile_name: ' + repr(self.default_end_entity_profile_name) + ' ' +\
17096            'enrollment_code_env_var: ' + repr(self.enrollment_code_env_var) + ' ' +\
17097            'enrollment_username_env_var: ' + repr(self.enrollment_username_env_var) + ' ' +\
17098            'id: ' + repr(self.id) + ' ' +\
17099            'key_file_path: ' + repr(self.key_file_path) + ' ' +\
17100            'name: ' + repr(self.name) + ' ' +\
17101            'server_address: ' + repr(self.server_address) + ' ' +\
17102            'tags: ' + repr(self.tags) + ' ' +\
17103            '>'
17104
17105    def to_dict(self):
17106        return {
17107            'ca_file_path': self.ca_file_path,
17108            'certificate_file_path': self.certificate_file_path,
17109            'default_certificate_authority_name':
17110            self.default_certificate_authority_name,
17111            'default_certificate_profile_name':
17112            self.default_certificate_profile_name,
17113            'default_end_entity_profile_name':
17114            self.default_end_entity_profile_name,
17115            'enrollment_code_env_var': self.enrollment_code_env_var,
17116            'enrollment_username_env_var': self.enrollment_username_env_var,
17117            'id': self.id,
17118            'key_file_path': self.key_file_path,
17119            'name': self.name,
17120            'server_address': self.server_address,
17121            'tags': self.tags,
17122        }
17123
17124    @classmethod
17125    def from_dict(cls, d):
17126        return cls(
17127            ca_file_path=d.get('ca_file_path'),
17128            certificate_file_path=d.get('certificate_file_path'),
17129            default_certificate_authority_name=d.get(
17130                'default_certificate_authority_name'),
17131            default_certificate_profile_name=d.get(
17132                'default_certificate_profile_name'),
17133            default_end_entity_profile_name=d.get(
17134                'default_end_entity_profile_name'),
17135            enrollment_code_env_var=d.get('enrollment_code_env_var'),
17136            enrollment_username_env_var=d.get('enrollment_username_env_var'),
17137            id=d.get('id'),
17138            key_file_path=d.get('key_file_path'),
17139            name=d.get('name'),
17140            server_address=d.get('server_address'),
17141            tags=d.get('tags'),
17142        )
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)
17019    def __init__(
17020        self,
17021        ca_file_path=None,
17022        certificate_file_path=None,
17023        default_certificate_authority_name=None,
17024        default_certificate_profile_name=None,
17025        default_end_entity_profile_name=None,
17026        enrollment_code_env_var=None,
17027        enrollment_username_env_var=None,
17028        id=None,
17029        key_file_path=None,
17030        name=None,
17031        server_address=None,
17032        tags=None,
17033    ):
17034        self.ca_file_path = ca_file_path if ca_file_path is not None else ''
17035        '''
17036         Path to the root CA that signed the certificate passed to the client for HTTPS connection.
17037         This is not required if the CA is trusted by the host operating system. This should be a PEM
17038         formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
17039        '''
17040        self.certificate_file_path = certificate_file_path if certificate_file_path is not None else ''
17041        '''
17042         Path to client certificate in PEM format. This certificate must contain a client certificate that
17043         is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
17044         key associated with the certificate, but KeyFile can also be set to configure the private key.
17045        '''
17046        self.default_certificate_authority_name = default_certificate_authority_name if default_certificate_authority_name is not None else ''
17047        '''
17048         Name of EJBCA certificate authority that will enroll CSR.
17049        '''
17050        self.default_certificate_profile_name = default_certificate_profile_name if default_certificate_profile_name is not None else ''
17051        '''
17052         Certificate profile name that EJBCA will enroll the CSR with.
17053        '''
17054        self.default_end_entity_profile_name = default_end_entity_profile_name if default_end_entity_profile_name is not None else ''
17055        '''
17056         End entity profile that EJBCA will enroll the CSR with.
17057        '''
17058        self.enrollment_code_env_var = enrollment_code_env_var if enrollment_code_env_var is not None else ''
17059        '''
17060         code used by EJBCA during enrollment. May be left blank if no code is required.
17061        '''
17062        self.enrollment_username_env_var = enrollment_username_env_var if enrollment_username_env_var is not None else ''
17063        '''
17064         username that used by the EJBCA during enrollment. This can be left out. 
17065         If so, the username must be auto-generated on the Keyfactor side.
17066        '''
17067        self.id = id if id is not None else ''
17068        '''
17069         Unique identifier of the SecretStore.
17070        '''
17071        self.key_file_path = key_file_path if key_file_path is not None else ''
17072        '''
17073         Path to private key in PEM format. This file should contain the private key associated with the
17074         client certificate configured in CertificateFile.
17075        '''
17076        self.name = name if name is not None else ''
17077        '''
17078         Unique human-readable name of the SecretStore.
17079        '''
17080        self.server_address = server_address if server_address is not None else ''
17081        '''
17082         the host of the Key Factor CA
17083        '''
17084        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17085        '''
17086         Tags is a map of key, value pairs.
17087        '''
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)
17105    def to_dict(self):
17106        return {
17107            'ca_file_path': self.ca_file_path,
17108            'certificate_file_path': self.certificate_file_path,
17109            'default_certificate_authority_name':
17110            self.default_certificate_authority_name,
17111            'default_certificate_profile_name':
17112            self.default_certificate_profile_name,
17113            'default_end_entity_profile_name':
17114            self.default_end_entity_profile_name,
17115            'enrollment_code_env_var': self.enrollment_code_env_var,
17116            'enrollment_username_env_var': self.enrollment_username_env_var,
17117            'id': self.id,
17118            'key_file_path': self.key_file_path,
17119            'name': self.name,
17120            'server_address': self.server_address,
17121            'tags': self.tags,
17122        }
@classmethod
def from_dict(cls, d)
17124    @classmethod
17125    def from_dict(cls, d):
17126        return cls(
17127            ca_file_path=d.get('ca_file_path'),
17128            certificate_file_path=d.get('certificate_file_path'),
17129            default_certificate_authority_name=d.get(
17130                'default_certificate_authority_name'),
17131            default_certificate_profile_name=d.get(
17132                'default_certificate_profile_name'),
17133            default_end_entity_profile_name=d.get(
17134                'default_end_entity_profile_name'),
17135            enrollment_code_env_var=d.get('enrollment_code_env_var'),
17136            enrollment_username_env_var=d.get('enrollment_username_env_var'),
17137            id=d.get('id'),
17138            key_file_path=d.get('key_file_path'),
17139            name=d.get('name'),
17140            server_address=d.get('server_address'),
17141            tags=d.get('tags'),
17142        )
class Kubernetes:
17145class Kubernetes:
17146    __slots__ = [
17147        'allow_resource_role_bypass',
17148        'bind_interface',
17149        'certificate_authority',
17150        'client_certificate',
17151        'client_key',
17152        'discovery_enabled',
17153        'discovery_username',
17154        'egress_filter',
17155        'healthcheck_namespace',
17156        'healthy',
17157        'hostname',
17158        'id',
17159        'identity_alias_healthcheck_username',
17160        'identity_set_id',
17161        'name',
17162        'port',
17163        'port_override',
17164        'proxy_cluster_id',
17165        'secret_store_id',
17166        'subdomain',
17167        'tags',
17168    ]
17169
17170    def __init__(
17171        self,
17172        allow_resource_role_bypass=None,
17173        bind_interface=None,
17174        certificate_authority=None,
17175        client_certificate=None,
17176        client_key=None,
17177        discovery_enabled=None,
17178        discovery_username=None,
17179        egress_filter=None,
17180        healthcheck_namespace=None,
17181        healthy=None,
17182        hostname=None,
17183        id=None,
17184        identity_alias_healthcheck_username=None,
17185        identity_set_id=None,
17186        name=None,
17187        port=None,
17188        port_override=None,
17189        proxy_cluster_id=None,
17190        secret_store_id=None,
17191        subdomain=None,
17192        tags=None,
17193    ):
17194        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17195        '''
17196         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17197         when a resource role is not provided.
17198        '''
17199        self.bind_interface = bind_interface if bind_interface is not None else ''
17200        '''
17201         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17202        '''
17203        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
17204        '''
17205         The CA to authenticate TLS connections with.
17206        '''
17207        self.client_certificate = client_certificate if client_certificate is not None else ''
17208        '''
17209         The certificate to authenticate TLS connections with.
17210        '''
17211        self.client_key = client_key if client_key is not None else ''
17212        '''
17213         The key to authenticate TLS connections with.
17214        '''
17215        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17216        '''
17217         If true, configures discovery of a cluster to be run from a node.
17218        '''
17219        self.discovery_username = discovery_username if discovery_username is not None else ''
17220        '''
17221         If a cluster is configured for user impersonation, this is the user to impersonate when
17222         running discovery.
17223        '''
17224        self.egress_filter = egress_filter if egress_filter is not None else ''
17225        '''
17226         A filter applied to the routing logic to pin datasource to nodes.
17227        '''
17228        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17229        '''
17230         The path used to check the health of your connection.  Defaults to `default`.
17231        '''
17232        self.healthy = healthy if healthy is not None else False
17233        '''
17234         True if the datasource is reachable and the credentials are valid.
17235        '''
17236        self.hostname = hostname if hostname is not None else ''
17237        '''
17238         The host to dial to initiate a connection from the egress node to this resource.
17239        '''
17240        self.id = id if id is not None else ''
17241        '''
17242         Unique identifier of the Resource.
17243        '''
17244        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17245        '''
17246         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17247        '''
17248        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17249        '''
17250         The ID of the identity set to use for identity connections.
17251        '''
17252        self.name = name if name is not None else ''
17253        '''
17254         Unique human-readable name of the Resource.
17255        '''
17256        self.port = port if port is not None else 0
17257        '''
17258         The port to dial to initiate a connection from the egress node to this resource.
17259        '''
17260        self.port_override = port_override if port_override is not None else 0
17261        '''
17262         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17263        '''
17264        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17265        '''
17266         ID of the proxy cluster for this resource, if any.
17267        '''
17268        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17269        '''
17270         ID of the secret store containing credentials for this resource, if any.
17271        '''
17272        self.subdomain = subdomain if subdomain is not None else ''
17273        '''
17274         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17275        '''
17276        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17277        '''
17278         Tags is a map of key, value pairs.
17279        '''
17280
17281    def __repr__(self):
17282        return '<sdm.Kubernetes ' + \
17283            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
17284            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17285            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
17286            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
17287            'client_key: ' + repr(self.client_key) + ' ' +\
17288            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
17289            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
17290            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17291            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17292            'healthy: ' + repr(self.healthy) + ' ' +\
17293            'hostname: ' + repr(self.hostname) + ' ' +\
17294            'id: ' + repr(self.id) + ' ' +\
17295            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
17296            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
17297            'name: ' + repr(self.name) + ' ' +\
17298            'port: ' + repr(self.port) + ' ' +\
17299            'port_override: ' + repr(self.port_override) + ' ' +\
17300            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17301            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17302            'subdomain: ' + repr(self.subdomain) + ' ' +\
17303            'tags: ' + repr(self.tags) + ' ' +\
17304            '>'
17305
17306    def to_dict(self):
17307        return {
17308            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17309            'bind_interface': self.bind_interface,
17310            'certificate_authority': self.certificate_authority,
17311            'client_certificate': self.client_certificate,
17312            'client_key': self.client_key,
17313            'discovery_enabled': self.discovery_enabled,
17314            'discovery_username': self.discovery_username,
17315            'egress_filter': self.egress_filter,
17316            'healthcheck_namespace': self.healthcheck_namespace,
17317            'healthy': self.healthy,
17318            'hostname': self.hostname,
17319            'id': self.id,
17320            'identity_alias_healthcheck_username':
17321            self.identity_alias_healthcheck_username,
17322            'identity_set_id': self.identity_set_id,
17323            'name': self.name,
17324            'port': self.port,
17325            'port_override': self.port_override,
17326            'proxy_cluster_id': self.proxy_cluster_id,
17327            'secret_store_id': self.secret_store_id,
17328            'subdomain': self.subdomain,
17329            'tags': self.tags,
17330        }
17331
17332    @classmethod
17333    def from_dict(cls, d):
17334        return cls(
17335            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17336            bind_interface=d.get('bind_interface'),
17337            certificate_authority=d.get('certificate_authority'),
17338            client_certificate=d.get('client_certificate'),
17339            client_key=d.get('client_key'),
17340            discovery_enabled=d.get('discovery_enabled'),
17341            discovery_username=d.get('discovery_username'),
17342            egress_filter=d.get('egress_filter'),
17343            healthcheck_namespace=d.get('healthcheck_namespace'),
17344            healthy=d.get('healthy'),
17345            hostname=d.get('hostname'),
17346            id=d.get('id'),
17347            identity_alias_healthcheck_username=d.get(
17348                'identity_alias_healthcheck_username'),
17349            identity_set_id=d.get('identity_set_id'),
17350            name=d.get('name'),
17351            port=d.get('port'),
17352            port_override=d.get('port_override'),
17353            proxy_cluster_id=d.get('proxy_cluster_id'),
17354            secret_store_id=d.get('secret_store_id'),
17355            subdomain=d.get('subdomain'),
17356            tags=d.get('tags'),
17357        )
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)
17170    def __init__(
17171        self,
17172        allow_resource_role_bypass=None,
17173        bind_interface=None,
17174        certificate_authority=None,
17175        client_certificate=None,
17176        client_key=None,
17177        discovery_enabled=None,
17178        discovery_username=None,
17179        egress_filter=None,
17180        healthcheck_namespace=None,
17181        healthy=None,
17182        hostname=None,
17183        id=None,
17184        identity_alias_healthcheck_username=None,
17185        identity_set_id=None,
17186        name=None,
17187        port=None,
17188        port_override=None,
17189        proxy_cluster_id=None,
17190        secret_store_id=None,
17191        subdomain=None,
17192        tags=None,
17193    ):
17194        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17195        '''
17196         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17197         when a resource role is not provided.
17198        '''
17199        self.bind_interface = bind_interface if bind_interface is not None else ''
17200        '''
17201         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17202        '''
17203        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
17204        '''
17205         The CA to authenticate TLS connections with.
17206        '''
17207        self.client_certificate = client_certificate if client_certificate is not None else ''
17208        '''
17209         The certificate to authenticate TLS connections with.
17210        '''
17211        self.client_key = client_key if client_key is not None else ''
17212        '''
17213         The key to authenticate TLS connections with.
17214        '''
17215        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17216        '''
17217         If true, configures discovery of a cluster to be run from a node.
17218        '''
17219        self.discovery_username = discovery_username if discovery_username is not None else ''
17220        '''
17221         If a cluster is configured for user impersonation, this is the user to impersonate when
17222         running discovery.
17223        '''
17224        self.egress_filter = egress_filter if egress_filter is not None else ''
17225        '''
17226         A filter applied to the routing logic to pin datasource to nodes.
17227        '''
17228        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17229        '''
17230         The path used to check the health of your connection.  Defaults to `default`.
17231        '''
17232        self.healthy = healthy if healthy is not None else False
17233        '''
17234         True if the datasource is reachable and the credentials are valid.
17235        '''
17236        self.hostname = hostname if hostname is not None else ''
17237        '''
17238         The host to dial to initiate a connection from the egress node to this resource.
17239        '''
17240        self.id = id if id is not None else ''
17241        '''
17242         Unique identifier of the Resource.
17243        '''
17244        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17245        '''
17246         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17247        '''
17248        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17249        '''
17250         The ID of the identity set to use for identity connections.
17251        '''
17252        self.name = name if name is not None else ''
17253        '''
17254         Unique human-readable name of the Resource.
17255        '''
17256        self.port = port if port is not None else 0
17257        '''
17258         The port to dial to initiate a connection from the egress node to this resource.
17259        '''
17260        self.port_override = port_override if port_override is not None else 0
17261        '''
17262         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17263        '''
17264        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17265        '''
17266         ID of the proxy cluster for this resource, if any.
17267        '''
17268        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17269        '''
17270         ID of the secret store containing credentials for this resource, if any.
17271        '''
17272        self.subdomain = subdomain if subdomain is not None else ''
17273        '''
17274         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17275        '''
17276        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17277        '''
17278         Tags is a map of key, value pairs.
17279        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
17306    def to_dict(self):
17307        return {
17308            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17309            'bind_interface': self.bind_interface,
17310            'certificate_authority': self.certificate_authority,
17311            'client_certificate': self.client_certificate,
17312            'client_key': self.client_key,
17313            'discovery_enabled': self.discovery_enabled,
17314            'discovery_username': self.discovery_username,
17315            'egress_filter': self.egress_filter,
17316            'healthcheck_namespace': self.healthcheck_namespace,
17317            'healthy': self.healthy,
17318            'hostname': self.hostname,
17319            'id': self.id,
17320            'identity_alias_healthcheck_username':
17321            self.identity_alias_healthcheck_username,
17322            'identity_set_id': self.identity_set_id,
17323            'name': self.name,
17324            'port': self.port,
17325            'port_override': self.port_override,
17326            'proxy_cluster_id': self.proxy_cluster_id,
17327            'secret_store_id': self.secret_store_id,
17328            'subdomain': self.subdomain,
17329            'tags': self.tags,
17330        }
@classmethod
def from_dict(cls, d)
17332    @classmethod
17333    def from_dict(cls, d):
17334        return cls(
17335            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17336            bind_interface=d.get('bind_interface'),
17337            certificate_authority=d.get('certificate_authority'),
17338            client_certificate=d.get('client_certificate'),
17339            client_key=d.get('client_key'),
17340            discovery_enabled=d.get('discovery_enabled'),
17341            discovery_username=d.get('discovery_username'),
17342            egress_filter=d.get('egress_filter'),
17343            healthcheck_namespace=d.get('healthcheck_namespace'),
17344            healthy=d.get('healthy'),
17345            hostname=d.get('hostname'),
17346            id=d.get('id'),
17347            identity_alias_healthcheck_username=d.get(
17348                'identity_alias_healthcheck_username'),
17349            identity_set_id=d.get('identity_set_id'),
17350            name=d.get('name'),
17351            port=d.get('port'),
17352            port_override=d.get('port_override'),
17353            proxy_cluster_id=d.get('proxy_cluster_id'),
17354            secret_store_id=d.get('secret_store_id'),
17355            subdomain=d.get('subdomain'),
17356            tags=d.get('tags'),
17357        )
class KubernetesBasicAuth:
17360class KubernetesBasicAuth:
17361    '''
17362    KubernetesBasicAuth is currently unstable, and its API may change, or it may be removed,
17363    without a major version bump.
17364    '''
17365    __slots__ = [
17366        'bind_interface',
17367        'egress_filter',
17368        'healthcheck_namespace',
17369        'healthy',
17370        'hostname',
17371        'id',
17372        'name',
17373        'password',
17374        'port',
17375        'port_override',
17376        'proxy_cluster_id',
17377        'secret_store_id',
17378        'subdomain',
17379        'tags',
17380        'username',
17381    ]
17382
17383    def __init__(
17384        self,
17385        bind_interface=None,
17386        egress_filter=None,
17387        healthcheck_namespace=None,
17388        healthy=None,
17389        hostname=None,
17390        id=None,
17391        name=None,
17392        password=None,
17393        port=None,
17394        port_override=None,
17395        proxy_cluster_id=None,
17396        secret_store_id=None,
17397        subdomain=None,
17398        tags=None,
17399        username=None,
17400    ):
17401        self.bind_interface = bind_interface if bind_interface is not None else ''
17402        '''
17403         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17404        '''
17405        self.egress_filter = egress_filter if egress_filter is not None else ''
17406        '''
17407         A filter applied to the routing logic to pin datasource to nodes.
17408        '''
17409        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17410        '''
17411         The path used to check the health of your connection.  Defaults to `default`.
17412        '''
17413        self.healthy = healthy if healthy is not None else False
17414        '''
17415         True if the datasource is reachable and the credentials are valid.
17416        '''
17417        self.hostname = hostname if hostname is not None else ''
17418        '''
17419         The host to dial to initiate a connection from the egress node to this resource.
17420        '''
17421        self.id = id if id is not None else ''
17422        '''
17423         Unique identifier of the Resource.
17424        '''
17425        self.name = name if name is not None else ''
17426        '''
17427         Unique human-readable name of the Resource.
17428        '''
17429        self.password = password if password is not None else ''
17430        '''
17431         The password to authenticate with.
17432        '''
17433        self.port = port if port is not None else 0
17434        '''
17435         The port to dial to initiate a connection from the egress node to this resource.
17436        '''
17437        self.port_override = port_override if port_override is not None else 0
17438        '''
17439         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17440        '''
17441        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17442        '''
17443         ID of the proxy cluster for this resource, if any.
17444        '''
17445        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17446        '''
17447         ID of the secret store containing credentials for this resource, if any.
17448        '''
17449        self.subdomain = subdomain if subdomain is not None else ''
17450        '''
17451         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17452        '''
17453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17454        '''
17455         Tags is a map of key, value pairs.
17456        '''
17457        self.username = username if username is not None else ''
17458        '''
17459         The username to authenticate with.
17460        '''
17461
17462    def __repr__(self):
17463        return '<sdm.KubernetesBasicAuth ' + \
17464            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17465            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17466            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17467            'healthy: ' + repr(self.healthy) + ' ' +\
17468            'hostname: ' + repr(self.hostname) + ' ' +\
17469            'id: ' + repr(self.id) + ' ' +\
17470            'name: ' + repr(self.name) + ' ' +\
17471            'password: ' + repr(self.password) + ' ' +\
17472            'port: ' + repr(self.port) + ' ' +\
17473            'port_override: ' + repr(self.port_override) + ' ' +\
17474            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17475            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17476            'subdomain: ' + repr(self.subdomain) + ' ' +\
17477            'tags: ' + repr(self.tags) + ' ' +\
17478            'username: ' + repr(self.username) + ' ' +\
17479            '>'
17480
17481    def to_dict(self):
17482        return {
17483            'bind_interface': self.bind_interface,
17484            'egress_filter': self.egress_filter,
17485            'healthcheck_namespace': self.healthcheck_namespace,
17486            'healthy': self.healthy,
17487            'hostname': self.hostname,
17488            'id': self.id,
17489            'name': self.name,
17490            'password': self.password,
17491            'port': self.port,
17492            'port_override': self.port_override,
17493            'proxy_cluster_id': self.proxy_cluster_id,
17494            'secret_store_id': self.secret_store_id,
17495            'subdomain': self.subdomain,
17496            'tags': self.tags,
17497            'username': self.username,
17498        }
17499
17500    @classmethod
17501    def from_dict(cls, d):
17502        return cls(
17503            bind_interface=d.get('bind_interface'),
17504            egress_filter=d.get('egress_filter'),
17505            healthcheck_namespace=d.get('healthcheck_namespace'),
17506            healthy=d.get('healthy'),
17507            hostname=d.get('hostname'),
17508            id=d.get('id'),
17509            name=d.get('name'),
17510            password=d.get('password'),
17511            port=d.get('port'),
17512            port_override=d.get('port_override'),
17513            proxy_cluster_id=d.get('proxy_cluster_id'),
17514            secret_store_id=d.get('secret_store_id'),
17515            subdomain=d.get('subdomain'),
17516            tags=d.get('tags'),
17517            username=d.get('username'),
17518        )

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)
17383    def __init__(
17384        self,
17385        bind_interface=None,
17386        egress_filter=None,
17387        healthcheck_namespace=None,
17388        healthy=None,
17389        hostname=None,
17390        id=None,
17391        name=None,
17392        password=None,
17393        port=None,
17394        port_override=None,
17395        proxy_cluster_id=None,
17396        secret_store_id=None,
17397        subdomain=None,
17398        tags=None,
17399        username=None,
17400    ):
17401        self.bind_interface = bind_interface if bind_interface is not None else ''
17402        '''
17403         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17404        '''
17405        self.egress_filter = egress_filter if egress_filter is not None else ''
17406        '''
17407         A filter applied to the routing logic to pin datasource to nodes.
17408        '''
17409        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17410        '''
17411         The path used to check the health of your connection.  Defaults to `default`.
17412        '''
17413        self.healthy = healthy if healthy is not None else False
17414        '''
17415         True if the datasource is reachable and the credentials are valid.
17416        '''
17417        self.hostname = hostname if hostname is not None else ''
17418        '''
17419         The host to dial to initiate a connection from the egress node to this resource.
17420        '''
17421        self.id = id if id is not None else ''
17422        '''
17423         Unique identifier of the Resource.
17424        '''
17425        self.name = name if name is not None else ''
17426        '''
17427         Unique human-readable name of the Resource.
17428        '''
17429        self.password = password if password is not None else ''
17430        '''
17431         The password to authenticate with.
17432        '''
17433        self.port = port if port is not None else 0
17434        '''
17435         The port to dial to initiate a connection from the egress node to this resource.
17436        '''
17437        self.port_override = port_override if port_override is not None else 0
17438        '''
17439         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17440        '''
17441        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17442        '''
17443         ID of the proxy cluster for this resource, if any.
17444        '''
17445        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17446        '''
17447         ID of the secret store containing credentials for this resource, if any.
17448        '''
17449        self.subdomain = subdomain if subdomain is not None else ''
17450        '''
17451         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17452        '''
17453        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17454        '''
17455         Tags is a map of key, value pairs.
17456        '''
17457        self.username = username if username is not None else ''
17458        '''
17459         The username to authenticate with.
17460        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
17481    def to_dict(self):
17482        return {
17483            'bind_interface': self.bind_interface,
17484            'egress_filter': self.egress_filter,
17485            'healthcheck_namespace': self.healthcheck_namespace,
17486            'healthy': self.healthy,
17487            'hostname': self.hostname,
17488            'id': self.id,
17489            'name': self.name,
17490            'password': self.password,
17491            'port': self.port,
17492            'port_override': self.port_override,
17493            'proxy_cluster_id': self.proxy_cluster_id,
17494            'secret_store_id': self.secret_store_id,
17495            'subdomain': self.subdomain,
17496            'tags': self.tags,
17497            'username': self.username,
17498        }
@classmethod
def from_dict(cls, d)
17500    @classmethod
17501    def from_dict(cls, d):
17502        return cls(
17503            bind_interface=d.get('bind_interface'),
17504            egress_filter=d.get('egress_filter'),
17505            healthcheck_namespace=d.get('healthcheck_namespace'),
17506            healthy=d.get('healthy'),
17507            hostname=d.get('hostname'),
17508            id=d.get('id'),
17509            name=d.get('name'),
17510            password=d.get('password'),
17511            port=d.get('port'),
17512            port_override=d.get('port_override'),
17513            proxy_cluster_id=d.get('proxy_cluster_id'),
17514            secret_store_id=d.get('secret_store_id'),
17515            subdomain=d.get('subdomain'),
17516            tags=d.get('tags'),
17517            username=d.get('username'),
17518        )
class KubernetesPodIdentity:
17521class KubernetesPodIdentity:
17522    __slots__ = [
17523        'allow_resource_role_bypass',
17524        'bind_interface',
17525        'certificate_authority',
17526        'discovery_enabled',
17527        'discovery_username',
17528        'egress_filter',
17529        'healthcheck_namespace',
17530        'healthy',
17531        'id',
17532        'identity_alias_healthcheck_username',
17533        'identity_set_id',
17534        'name',
17535        'port_override',
17536        'proxy_cluster_id',
17537        'secret_store_id',
17538        'subdomain',
17539        'tags',
17540    ]
17541
17542    def __init__(
17543        self,
17544        allow_resource_role_bypass=None,
17545        bind_interface=None,
17546        certificate_authority=None,
17547        discovery_enabled=None,
17548        discovery_username=None,
17549        egress_filter=None,
17550        healthcheck_namespace=None,
17551        healthy=None,
17552        id=None,
17553        identity_alias_healthcheck_username=None,
17554        identity_set_id=None,
17555        name=None,
17556        port_override=None,
17557        proxy_cluster_id=None,
17558        secret_store_id=None,
17559        subdomain=None,
17560        tags=None,
17561    ):
17562        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17563        '''
17564         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17565         when a resource role is not provided.
17566        '''
17567        self.bind_interface = bind_interface if bind_interface is not None else ''
17568        '''
17569         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17570        '''
17571        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
17572        '''
17573         The CA to authenticate TLS connections with.
17574        '''
17575        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17576        '''
17577         If true, configures discovery of a cluster to be run from a node.
17578        '''
17579        self.discovery_username = discovery_username if discovery_username is not None else ''
17580        '''
17581         If a cluster is configured for user impersonation, this is the user to impersonate when
17582         running discovery.
17583        '''
17584        self.egress_filter = egress_filter if egress_filter is not None else ''
17585        '''
17586         A filter applied to the routing logic to pin datasource to nodes.
17587        '''
17588        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17589        '''
17590         The path used to check the health of your connection.  Defaults to `default`.
17591        '''
17592        self.healthy = healthy if healthy is not None else False
17593        '''
17594         True if the datasource is reachable and the credentials are valid.
17595        '''
17596        self.id = id if id is not None else ''
17597        '''
17598         Unique identifier of the Resource.
17599        '''
17600        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17601        '''
17602         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17603        '''
17604        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17605        '''
17606         The ID of the identity set to use for identity connections.
17607        '''
17608        self.name = name if name is not None else ''
17609        '''
17610         Unique human-readable name of the Resource.
17611        '''
17612        self.port_override = port_override if port_override is not None else 0
17613        '''
17614         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17615        '''
17616        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17617        '''
17618         ID of the proxy cluster for this resource, if any.
17619        '''
17620        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17621        '''
17622         ID of the secret store containing credentials for this resource, if any.
17623        '''
17624        self.subdomain = subdomain if subdomain is not None else ''
17625        '''
17626         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17627        '''
17628        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17629        '''
17630         Tags is a map of key, value pairs.
17631        '''
17632
17633    def __repr__(self):
17634        return '<sdm.KubernetesPodIdentity ' + \
17635            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
17636            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17637            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
17638            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
17639            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
17640            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17641            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17642            'healthy: ' + repr(self.healthy) + ' ' +\
17643            'id: ' + repr(self.id) + ' ' +\
17644            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
17645            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
17646            'name: ' + repr(self.name) + ' ' +\
17647            'port_override: ' + repr(self.port_override) + ' ' +\
17648            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17649            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17650            'subdomain: ' + repr(self.subdomain) + ' ' +\
17651            'tags: ' + repr(self.tags) + ' ' +\
17652            '>'
17653
17654    def to_dict(self):
17655        return {
17656            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17657            'bind_interface': self.bind_interface,
17658            'certificate_authority': self.certificate_authority,
17659            'discovery_enabled': self.discovery_enabled,
17660            'discovery_username': self.discovery_username,
17661            'egress_filter': self.egress_filter,
17662            'healthcheck_namespace': self.healthcheck_namespace,
17663            'healthy': self.healthy,
17664            'id': self.id,
17665            'identity_alias_healthcheck_username':
17666            self.identity_alias_healthcheck_username,
17667            'identity_set_id': self.identity_set_id,
17668            'name': self.name,
17669            'port_override': self.port_override,
17670            'proxy_cluster_id': self.proxy_cluster_id,
17671            'secret_store_id': self.secret_store_id,
17672            'subdomain': self.subdomain,
17673            'tags': self.tags,
17674        }
17675
17676    @classmethod
17677    def from_dict(cls, d):
17678        return cls(
17679            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17680            bind_interface=d.get('bind_interface'),
17681            certificate_authority=d.get('certificate_authority'),
17682            discovery_enabled=d.get('discovery_enabled'),
17683            discovery_username=d.get('discovery_username'),
17684            egress_filter=d.get('egress_filter'),
17685            healthcheck_namespace=d.get('healthcheck_namespace'),
17686            healthy=d.get('healthy'),
17687            id=d.get('id'),
17688            identity_alias_healthcheck_username=d.get(
17689                'identity_alias_healthcheck_username'),
17690            identity_set_id=d.get('identity_set_id'),
17691            name=d.get('name'),
17692            port_override=d.get('port_override'),
17693            proxy_cluster_id=d.get('proxy_cluster_id'),
17694            secret_store_id=d.get('secret_store_id'),
17695            subdomain=d.get('subdomain'),
17696            tags=d.get('tags'),
17697        )
KubernetesPodIdentity( allow_resource_role_bypass=None, bind_interface=None, certificate_authority=None, discovery_enabled=None, discovery_username=None, egress_filter=None, healthcheck_namespace=None, healthy=None, id=None, identity_alias_healthcheck_username=None, identity_set_id=None, name=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None)
17542    def __init__(
17543        self,
17544        allow_resource_role_bypass=None,
17545        bind_interface=None,
17546        certificate_authority=None,
17547        discovery_enabled=None,
17548        discovery_username=None,
17549        egress_filter=None,
17550        healthcheck_namespace=None,
17551        healthy=None,
17552        id=None,
17553        identity_alias_healthcheck_username=None,
17554        identity_set_id=None,
17555        name=None,
17556        port_override=None,
17557        proxy_cluster_id=None,
17558        secret_store_id=None,
17559        subdomain=None,
17560        tags=None,
17561    ):
17562        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17563        '''
17564         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17565         when a resource role is not provided.
17566        '''
17567        self.bind_interface = bind_interface if bind_interface is not None else ''
17568        '''
17569         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17570        '''
17571        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
17572        '''
17573         The CA to authenticate TLS connections with.
17574        '''
17575        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17576        '''
17577         If true, configures discovery of a cluster to be run from a node.
17578        '''
17579        self.discovery_username = discovery_username if discovery_username is not None else ''
17580        '''
17581         If a cluster is configured for user impersonation, this is the user to impersonate when
17582         running discovery.
17583        '''
17584        self.egress_filter = egress_filter if egress_filter is not None else ''
17585        '''
17586         A filter applied to the routing logic to pin datasource to nodes.
17587        '''
17588        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17589        '''
17590         The path used to check the health of your connection.  Defaults to `default`.
17591        '''
17592        self.healthy = healthy if healthy is not None else False
17593        '''
17594         True if the datasource is reachable and the credentials are valid.
17595        '''
17596        self.id = id if id is not None else ''
17597        '''
17598         Unique identifier of the Resource.
17599        '''
17600        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17601        '''
17602         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17603        '''
17604        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17605        '''
17606         The ID of the identity set to use for identity connections.
17607        '''
17608        self.name = name if name is not None else ''
17609        '''
17610         Unique human-readable name of the Resource.
17611        '''
17612        self.port_override = port_override if port_override is not None else 0
17613        '''
17614         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17615        '''
17616        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17617        '''
17618         ID of the proxy cluster for this resource, if any.
17619        '''
17620        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17621        '''
17622         ID of the secret store containing credentials for this resource, if any.
17623        '''
17624        self.subdomain = subdomain if subdomain is not None else ''
17625        '''
17626         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17627        '''
17628        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17629        '''
17630         Tags is a map of key, value pairs.
17631        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

certificate_authority

The CA to authenticate TLS connections with.

discovery_enabled

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

discovery_username

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

egress_filter

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

healthcheck_namespace

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

healthy

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

id

Unique identifier of the Resource.

identity_alias_healthcheck_username

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

identity_set_id

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

name

Unique human-readable name of the Resource.

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
17654    def to_dict(self):
17655        return {
17656            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17657            'bind_interface': self.bind_interface,
17658            'certificate_authority': self.certificate_authority,
17659            'discovery_enabled': self.discovery_enabled,
17660            'discovery_username': self.discovery_username,
17661            'egress_filter': self.egress_filter,
17662            'healthcheck_namespace': self.healthcheck_namespace,
17663            'healthy': self.healthy,
17664            'id': self.id,
17665            'identity_alias_healthcheck_username':
17666            self.identity_alias_healthcheck_username,
17667            'identity_set_id': self.identity_set_id,
17668            'name': self.name,
17669            'port_override': self.port_override,
17670            'proxy_cluster_id': self.proxy_cluster_id,
17671            'secret_store_id': self.secret_store_id,
17672            'subdomain': self.subdomain,
17673            'tags': self.tags,
17674        }
@classmethod
def from_dict(cls, d)
17676    @classmethod
17677    def from_dict(cls, d):
17678        return cls(
17679            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17680            bind_interface=d.get('bind_interface'),
17681            certificate_authority=d.get('certificate_authority'),
17682            discovery_enabled=d.get('discovery_enabled'),
17683            discovery_username=d.get('discovery_username'),
17684            egress_filter=d.get('egress_filter'),
17685            healthcheck_namespace=d.get('healthcheck_namespace'),
17686            healthy=d.get('healthy'),
17687            id=d.get('id'),
17688            identity_alias_healthcheck_username=d.get(
17689                'identity_alias_healthcheck_username'),
17690            identity_set_id=d.get('identity_set_id'),
17691            name=d.get('name'),
17692            port_override=d.get('port_override'),
17693            proxy_cluster_id=d.get('proxy_cluster_id'),
17694            secret_store_id=d.get('secret_store_id'),
17695            subdomain=d.get('subdomain'),
17696            tags=d.get('tags'),
17697        )
class KubernetesServiceAccount:
17700class KubernetesServiceAccount:
17701    __slots__ = [
17702        'allow_resource_role_bypass',
17703        'bind_interface',
17704        'discovery_enabled',
17705        'discovery_username',
17706        'egress_filter',
17707        'healthcheck_namespace',
17708        'healthy',
17709        'hostname',
17710        'id',
17711        'identity_alias_healthcheck_username',
17712        'identity_set_id',
17713        'name',
17714        'port',
17715        'port_override',
17716        'proxy_cluster_id',
17717        'secret_store_id',
17718        'subdomain',
17719        'tags',
17720        'token',
17721    ]
17722
17723    def __init__(
17724        self,
17725        allow_resource_role_bypass=None,
17726        bind_interface=None,
17727        discovery_enabled=None,
17728        discovery_username=None,
17729        egress_filter=None,
17730        healthcheck_namespace=None,
17731        healthy=None,
17732        hostname=None,
17733        id=None,
17734        identity_alias_healthcheck_username=None,
17735        identity_set_id=None,
17736        name=None,
17737        port=None,
17738        port_override=None,
17739        proxy_cluster_id=None,
17740        secret_store_id=None,
17741        subdomain=None,
17742        tags=None,
17743        token=None,
17744    ):
17745        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17746        '''
17747         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17748         when a resource role is not provided.
17749        '''
17750        self.bind_interface = bind_interface if bind_interface is not None else ''
17751        '''
17752         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17753        '''
17754        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17755        '''
17756         If true, configures discovery of a cluster to be run from a node.
17757        '''
17758        self.discovery_username = discovery_username if discovery_username is not None else ''
17759        '''
17760         If a cluster is configured for user impersonation, this is the user to impersonate when
17761         running discovery.
17762        '''
17763        self.egress_filter = egress_filter if egress_filter is not None else ''
17764        '''
17765         A filter applied to the routing logic to pin datasource to nodes.
17766        '''
17767        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17768        '''
17769         The path used to check the health of your connection.  Defaults to `default`.
17770        '''
17771        self.healthy = healthy if healthy is not None else False
17772        '''
17773         True if the datasource is reachable and the credentials are valid.
17774        '''
17775        self.hostname = hostname if hostname is not None else ''
17776        '''
17777         The host to dial to initiate a connection from the egress node to this resource.
17778        '''
17779        self.id = id if id is not None else ''
17780        '''
17781         Unique identifier of the Resource.
17782        '''
17783        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17784        '''
17785         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17786        '''
17787        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17788        '''
17789         The ID of the identity set to use for identity connections.
17790        '''
17791        self.name = name if name is not None else ''
17792        '''
17793         Unique human-readable name of the Resource.
17794        '''
17795        self.port = port if port is not None else 0
17796        '''
17797         The port to dial to initiate a connection from the egress node to this resource.
17798        '''
17799        self.port_override = port_override if port_override is not None else 0
17800        '''
17801         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17802        '''
17803        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17804        '''
17805         ID of the proxy cluster for this resource, if any.
17806        '''
17807        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17808        '''
17809         ID of the secret store containing credentials for this resource, if any.
17810        '''
17811        self.subdomain = subdomain if subdomain is not None else ''
17812        '''
17813         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17814        '''
17815        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17816        '''
17817         Tags is a map of key, value pairs.
17818        '''
17819        self.token = token if token is not None else ''
17820        '''
17821         The API token to authenticate with.
17822        '''
17823
17824    def __repr__(self):
17825        return '<sdm.KubernetesServiceAccount ' + \
17826            'allow_resource_role_bypass: ' + repr(self.allow_resource_role_bypass) + ' ' +\
17827            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17828            'discovery_enabled: ' + repr(self.discovery_enabled) + ' ' +\
17829            'discovery_username: ' + repr(self.discovery_username) + ' ' +\
17830            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17831            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17832            'healthy: ' + repr(self.healthy) + ' ' +\
17833            'hostname: ' + repr(self.hostname) + ' ' +\
17834            'id: ' + repr(self.id) + ' ' +\
17835            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
17836            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
17837            'name: ' + repr(self.name) + ' ' +\
17838            'port: ' + repr(self.port) + ' ' +\
17839            'port_override: ' + repr(self.port_override) + ' ' +\
17840            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
17841            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
17842            'subdomain: ' + repr(self.subdomain) + ' ' +\
17843            'tags: ' + repr(self.tags) + ' ' +\
17844            'token: ' + repr(self.token) + ' ' +\
17845            '>'
17846
17847    def to_dict(self):
17848        return {
17849            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17850            'bind_interface': self.bind_interface,
17851            'discovery_enabled': self.discovery_enabled,
17852            'discovery_username': self.discovery_username,
17853            'egress_filter': self.egress_filter,
17854            'healthcheck_namespace': self.healthcheck_namespace,
17855            'healthy': self.healthy,
17856            'hostname': self.hostname,
17857            'id': self.id,
17858            'identity_alias_healthcheck_username':
17859            self.identity_alias_healthcheck_username,
17860            'identity_set_id': self.identity_set_id,
17861            'name': self.name,
17862            'port': self.port,
17863            'port_override': self.port_override,
17864            'proxy_cluster_id': self.proxy_cluster_id,
17865            'secret_store_id': self.secret_store_id,
17866            'subdomain': self.subdomain,
17867            'tags': self.tags,
17868            'token': self.token,
17869        }
17870
17871    @classmethod
17872    def from_dict(cls, d):
17873        return cls(
17874            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17875            bind_interface=d.get('bind_interface'),
17876            discovery_enabled=d.get('discovery_enabled'),
17877            discovery_username=d.get('discovery_username'),
17878            egress_filter=d.get('egress_filter'),
17879            healthcheck_namespace=d.get('healthcheck_namespace'),
17880            healthy=d.get('healthy'),
17881            hostname=d.get('hostname'),
17882            id=d.get('id'),
17883            identity_alias_healthcheck_username=d.get(
17884                'identity_alias_healthcheck_username'),
17885            identity_set_id=d.get('identity_set_id'),
17886            name=d.get('name'),
17887            port=d.get('port'),
17888            port_override=d.get('port_override'),
17889            proxy_cluster_id=d.get('proxy_cluster_id'),
17890            secret_store_id=d.get('secret_store_id'),
17891            subdomain=d.get('subdomain'),
17892            tags=d.get('tags'),
17893            token=d.get('token'),
17894        )
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)
17723    def __init__(
17724        self,
17725        allow_resource_role_bypass=None,
17726        bind_interface=None,
17727        discovery_enabled=None,
17728        discovery_username=None,
17729        egress_filter=None,
17730        healthcheck_namespace=None,
17731        healthy=None,
17732        hostname=None,
17733        id=None,
17734        identity_alias_healthcheck_username=None,
17735        identity_set_id=None,
17736        name=None,
17737        port=None,
17738        port_override=None,
17739        proxy_cluster_id=None,
17740        secret_store_id=None,
17741        subdomain=None,
17742        tags=None,
17743        token=None,
17744    ):
17745        self.allow_resource_role_bypass = allow_resource_role_bypass if allow_resource_role_bypass is not None else False
17746        '''
17747         If true, allows users to fallback to the existing authentication mode (Leased Credential or Identity Set)
17748         when a resource role is not provided.
17749        '''
17750        self.bind_interface = bind_interface if bind_interface is not None else ''
17751        '''
17752         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17753        '''
17754        self.discovery_enabled = discovery_enabled if discovery_enabled is not None else False
17755        '''
17756         If true, configures discovery of a cluster to be run from a node.
17757        '''
17758        self.discovery_username = discovery_username if discovery_username is not None else ''
17759        '''
17760         If a cluster is configured for user impersonation, this is the user to impersonate when
17761         running discovery.
17762        '''
17763        self.egress_filter = egress_filter if egress_filter is not None else ''
17764        '''
17765         A filter applied to the routing logic to pin datasource to nodes.
17766        '''
17767        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17768        '''
17769         The path used to check the health of your connection.  Defaults to `default`.
17770        '''
17771        self.healthy = healthy if healthy is not None else False
17772        '''
17773         True if the datasource is reachable and the credentials are valid.
17774        '''
17775        self.hostname = hostname if hostname is not None else ''
17776        '''
17777         The host to dial to initiate a connection from the egress node to this resource.
17778        '''
17779        self.id = id if id is not None else ''
17780        '''
17781         Unique identifier of the Resource.
17782        '''
17783        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
17784        '''
17785         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
17786        '''
17787        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
17788        '''
17789         The ID of the identity set to use for identity connections.
17790        '''
17791        self.name = name if name is not None else ''
17792        '''
17793         Unique human-readable name of the Resource.
17794        '''
17795        self.port = port if port is not None else 0
17796        '''
17797         The port to dial to initiate a connection from the egress node to this resource.
17798        '''
17799        self.port_override = port_override if port_override is not None else 0
17800        '''
17801         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17802        '''
17803        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17804        '''
17805         ID of the proxy cluster for this resource, if any.
17806        '''
17807        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17808        '''
17809         ID of the secret store containing credentials for this resource, if any.
17810        '''
17811        self.subdomain = subdomain if subdomain is not None else ''
17812        '''
17813         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17814        '''
17815        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17816        '''
17817         Tags is a map of key, value pairs.
17818        '''
17819        self.token = token if token is not None else ''
17820        '''
17821         The API token to authenticate with.
17822        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
17847    def to_dict(self):
17848        return {
17849            'allow_resource_role_bypass': self.allow_resource_role_bypass,
17850            'bind_interface': self.bind_interface,
17851            'discovery_enabled': self.discovery_enabled,
17852            'discovery_username': self.discovery_username,
17853            'egress_filter': self.egress_filter,
17854            'healthcheck_namespace': self.healthcheck_namespace,
17855            'healthy': self.healthy,
17856            'hostname': self.hostname,
17857            'id': self.id,
17858            'identity_alias_healthcheck_username':
17859            self.identity_alias_healthcheck_username,
17860            'identity_set_id': self.identity_set_id,
17861            'name': self.name,
17862            'port': self.port,
17863            'port_override': self.port_override,
17864            'proxy_cluster_id': self.proxy_cluster_id,
17865            'secret_store_id': self.secret_store_id,
17866            'subdomain': self.subdomain,
17867            'tags': self.tags,
17868            'token': self.token,
17869        }
@classmethod
def from_dict(cls, d)
17871    @classmethod
17872    def from_dict(cls, d):
17873        return cls(
17874            allow_resource_role_bypass=d.get('allow_resource_role_bypass'),
17875            bind_interface=d.get('bind_interface'),
17876            discovery_enabled=d.get('discovery_enabled'),
17877            discovery_username=d.get('discovery_username'),
17878            egress_filter=d.get('egress_filter'),
17879            healthcheck_namespace=d.get('healthcheck_namespace'),
17880            healthy=d.get('healthy'),
17881            hostname=d.get('hostname'),
17882            id=d.get('id'),
17883            identity_alias_healthcheck_username=d.get(
17884                'identity_alias_healthcheck_username'),
17885            identity_set_id=d.get('identity_set_id'),
17886            name=d.get('name'),
17887            port=d.get('port'),
17888            port_override=d.get('port_override'),
17889            proxy_cluster_id=d.get('proxy_cluster_id'),
17890            secret_store_id=d.get('secret_store_id'),
17891            subdomain=d.get('subdomain'),
17892            tags=d.get('tags'),
17893            token=d.get('token'),
17894        )
class KubernetesServiceAccountUserImpersonation:
17897class KubernetesServiceAccountUserImpersonation:
17898    '''
17899    KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
17900    '''
17901    __slots__ = [
17902        'bind_interface',
17903        'egress_filter',
17904        'healthcheck_namespace',
17905        'healthy',
17906        'hostname',
17907        'id',
17908        'name',
17909        'port',
17910        'port_override',
17911        'proxy_cluster_id',
17912        'secret_store_id',
17913        'subdomain',
17914        'tags',
17915        'token',
17916    ]
17917
17918    def __init__(
17919        self,
17920        bind_interface=None,
17921        egress_filter=None,
17922        healthcheck_namespace=None,
17923        healthy=None,
17924        hostname=None,
17925        id=None,
17926        name=None,
17927        port=None,
17928        port_override=None,
17929        proxy_cluster_id=None,
17930        secret_store_id=None,
17931        subdomain=None,
17932        tags=None,
17933        token=None,
17934    ):
17935        self.bind_interface = bind_interface if bind_interface is not None else ''
17936        '''
17937         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17938        '''
17939        self.egress_filter = egress_filter if egress_filter is not None else ''
17940        '''
17941         A filter applied to the routing logic to pin datasource to nodes.
17942        '''
17943        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17944        '''
17945         The path used to check the health of your connection.  Defaults to `default`.
17946        '''
17947        self.healthy = healthy if healthy is not None else False
17948        '''
17949         True if the datasource is reachable and the credentials are valid.
17950        '''
17951        self.hostname = hostname if hostname is not None else ''
17952        '''
17953         The host to dial to initiate a connection from the egress node to this resource.
17954        '''
17955        self.id = id if id is not None else ''
17956        '''
17957         Unique identifier of the Resource.
17958        '''
17959        self.name = name if name is not None else ''
17960        '''
17961         Unique human-readable name of the Resource.
17962        '''
17963        self.port = port if port is not None else 0
17964        '''
17965         The port to dial to initiate a connection from the egress node to this resource.
17966        '''
17967        self.port_override = port_override if port_override is not None else 0
17968        '''
17969         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17970        '''
17971        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17972        '''
17973         ID of the proxy cluster for this resource, if any.
17974        '''
17975        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17976        '''
17977         ID of the secret store containing credentials for this resource, if any.
17978        '''
17979        self.subdomain = subdomain if subdomain is not None else ''
17980        '''
17981         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17982        '''
17983        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17984        '''
17985         Tags is a map of key, value pairs.
17986        '''
17987        self.token = token if token is not None else ''
17988        '''
17989         The API token to authenticate with.
17990        '''
17991
17992    def __repr__(self):
17993        return '<sdm.KubernetesServiceAccountUserImpersonation ' + \
17994            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
17995            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
17996            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
17997            'healthy: ' + repr(self.healthy) + ' ' +\
17998            'hostname: ' + repr(self.hostname) + ' ' +\
17999            'id: ' + repr(self.id) + ' ' +\
18000            'name: ' + repr(self.name) + ' ' +\
18001            'port: ' + repr(self.port) + ' ' +\
18002            'port_override: ' + repr(self.port_override) + ' ' +\
18003            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18004            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18005            'subdomain: ' + repr(self.subdomain) + ' ' +\
18006            'tags: ' + repr(self.tags) + ' ' +\
18007            'token: ' + repr(self.token) + ' ' +\
18008            '>'
18009
18010    def to_dict(self):
18011        return {
18012            'bind_interface': self.bind_interface,
18013            'egress_filter': self.egress_filter,
18014            'healthcheck_namespace': self.healthcheck_namespace,
18015            'healthy': self.healthy,
18016            'hostname': self.hostname,
18017            'id': self.id,
18018            'name': self.name,
18019            'port': self.port,
18020            'port_override': self.port_override,
18021            'proxy_cluster_id': self.proxy_cluster_id,
18022            'secret_store_id': self.secret_store_id,
18023            'subdomain': self.subdomain,
18024            'tags': self.tags,
18025            'token': self.token,
18026        }
18027
18028    @classmethod
18029    def from_dict(cls, d):
18030        return cls(
18031            bind_interface=d.get('bind_interface'),
18032            egress_filter=d.get('egress_filter'),
18033            healthcheck_namespace=d.get('healthcheck_namespace'),
18034            healthy=d.get('healthy'),
18035            hostname=d.get('hostname'),
18036            id=d.get('id'),
18037            name=d.get('name'),
18038            port=d.get('port'),
18039            port_override=d.get('port_override'),
18040            proxy_cluster_id=d.get('proxy_cluster_id'),
18041            secret_store_id=d.get('secret_store_id'),
18042            subdomain=d.get('subdomain'),
18043            tags=d.get('tags'),
18044            token=d.get('token'),
18045        )

KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.

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)
17918    def __init__(
17919        self,
17920        bind_interface=None,
17921        egress_filter=None,
17922        healthcheck_namespace=None,
17923        healthy=None,
17924        hostname=None,
17925        id=None,
17926        name=None,
17927        port=None,
17928        port_override=None,
17929        proxy_cluster_id=None,
17930        secret_store_id=None,
17931        subdomain=None,
17932        tags=None,
17933        token=None,
17934    ):
17935        self.bind_interface = bind_interface if bind_interface is not None else ''
17936        '''
17937         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
17938        '''
17939        self.egress_filter = egress_filter if egress_filter is not None else ''
17940        '''
17941         A filter applied to the routing logic to pin datasource to nodes.
17942        '''
17943        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
17944        '''
17945         The path used to check the health of your connection.  Defaults to `default`.
17946        '''
17947        self.healthy = healthy if healthy is not None else False
17948        '''
17949         True if the datasource is reachable and the credentials are valid.
17950        '''
17951        self.hostname = hostname if hostname is not None else ''
17952        '''
17953         The host to dial to initiate a connection from the egress node to this resource.
17954        '''
17955        self.id = id if id is not None else ''
17956        '''
17957         Unique identifier of the Resource.
17958        '''
17959        self.name = name if name is not None else ''
17960        '''
17961         Unique human-readable name of the Resource.
17962        '''
17963        self.port = port if port is not None else 0
17964        '''
17965         The port to dial to initiate a connection from the egress node to this resource.
17966        '''
17967        self.port_override = port_override if port_override is not None else 0
17968        '''
17969         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
17970        '''
17971        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
17972        '''
17973         ID of the proxy cluster for this resource, if any.
17974        '''
17975        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
17976        '''
17977         ID of the secret store containing credentials for this resource, if any.
17978        '''
17979        self.subdomain = subdomain if subdomain is not None else ''
17980        '''
17981         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
17982        '''
17983        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
17984        '''
17985         Tags is a map of key, value pairs.
17986        '''
17987        self.token = token if token is not None else ''
17988        '''
17989         The API token to authenticate with.
17990        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

token

The API token to authenticate with.

def to_dict(self)
18010    def to_dict(self):
18011        return {
18012            'bind_interface': self.bind_interface,
18013            'egress_filter': self.egress_filter,
18014            'healthcheck_namespace': self.healthcheck_namespace,
18015            'healthy': self.healthy,
18016            'hostname': self.hostname,
18017            'id': self.id,
18018            'name': self.name,
18019            'port': self.port,
18020            'port_override': self.port_override,
18021            'proxy_cluster_id': self.proxy_cluster_id,
18022            'secret_store_id': self.secret_store_id,
18023            'subdomain': self.subdomain,
18024            'tags': self.tags,
18025            'token': self.token,
18026        }
@classmethod
def from_dict(cls, d)
18028    @classmethod
18029    def from_dict(cls, d):
18030        return cls(
18031            bind_interface=d.get('bind_interface'),
18032            egress_filter=d.get('egress_filter'),
18033            healthcheck_namespace=d.get('healthcheck_namespace'),
18034            healthy=d.get('healthy'),
18035            hostname=d.get('hostname'),
18036            id=d.get('id'),
18037            name=d.get('name'),
18038            port=d.get('port'),
18039            port_override=d.get('port_override'),
18040            proxy_cluster_id=d.get('proxy_cluster_id'),
18041            secret_store_id=d.get('secret_store_id'),
18042            subdomain=d.get('subdomain'),
18043            tags=d.get('tags'),
18044            token=d.get('token'),
18045        )
class KubernetesUserImpersonation:
18048class KubernetesUserImpersonation:
18049    '''
18050    KubernetesUserImpersonation is deprecated, see docs for more info.
18051    '''
18052    __slots__ = [
18053        'bind_interface',
18054        'certificate_authority',
18055        'client_certificate',
18056        'client_key',
18057        'egress_filter',
18058        'healthcheck_namespace',
18059        'healthy',
18060        'hostname',
18061        'id',
18062        'name',
18063        'port',
18064        'port_override',
18065        'proxy_cluster_id',
18066        'secret_store_id',
18067        'subdomain',
18068        'tags',
18069    ]
18070
18071    def __init__(
18072        self,
18073        bind_interface=None,
18074        certificate_authority=None,
18075        client_certificate=None,
18076        client_key=None,
18077        egress_filter=None,
18078        healthcheck_namespace=None,
18079        healthy=None,
18080        hostname=None,
18081        id=None,
18082        name=None,
18083        port=None,
18084        port_override=None,
18085        proxy_cluster_id=None,
18086        secret_store_id=None,
18087        subdomain=None,
18088        tags=None,
18089    ):
18090        self.bind_interface = bind_interface if bind_interface is not None else ''
18091        '''
18092         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18093        '''
18094        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18095        '''
18096         The CA to authenticate TLS connections with.
18097        '''
18098        self.client_certificate = client_certificate if client_certificate is not None else ''
18099        '''
18100         The certificate to authenticate TLS connections with.
18101        '''
18102        self.client_key = client_key if client_key is not None else ''
18103        '''
18104         The key to authenticate TLS connections with.
18105        '''
18106        self.egress_filter = egress_filter if egress_filter is not None else ''
18107        '''
18108         A filter applied to the routing logic to pin datasource to nodes.
18109        '''
18110        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
18111        '''
18112         The path used to check the health of your connection.  Defaults to `default`.
18113        '''
18114        self.healthy = healthy if healthy is not None else False
18115        '''
18116         True if the datasource is reachable and the credentials are valid.
18117        '''
18118        self.hostname = hostname if hostname is not None else ''
18119        '''
18120         The host to dial to initiate a connection from the egress node to this resource.
18121        '''
18122        self.id = id if id is not None else ''
18123        '''
18124         Unique identifier of the Resource.
18125        '''
18126        self.name = name if name is not None else ''
18127        '''
18128         Unique human-readable name of the Resource.
18129        '''
18130        self.port = port if port is not None else 0
18131        '''
18132         The port to dial to initiate a connection from the egress node to this resource.
18133        '''
18134        self.port_override = port_override if port_override is not None else 0
18135        '''
18136         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18137        '''
18138        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18139        '''
18140         ID of the proxy cluster for this resource, if any.
18141        '''
18142        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18143        '''
18144         ID of the secret store containing credentials for this resource, if any.
18145        '''
18146        self.subdomain = subdomain if subdomain is not None else ''
18147        '''
18148         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18149        '''
18150        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18151        '''
18152         Tags is a map of key, value pairs.
18153        '''
18154
18155    def __repr__(self):
18156        return '<sdm.KubernetesUserImpersonation ' + \
18157            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18158            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
18159            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
18160            'client_key: ' + repr(self.client_key) + ' ' +\
18161            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18162            'healthcheck_namespace: ' + repr(self.healthcheck_namespace) + ' ' +\
18163            'healthy: ' + repr(self.healthy) + ' ' +\
18164            'hostname: ' + repr(self.hostname) + ' ' +\
18165            'id: ' + repr(self.id) + ' ' +\
18166            'name: ' + repr(self.name) + ' ' +\
18167            'port: ' + repr(self.port) + ' ' +\
18168            'port_override: ' + repr(self.port_override) + ' ' +\
18169            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18170            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18171            'subdomain: ' + repr(self.subdomain) + ' ' +\
18172            'tags: ' + repr(self.tags) + ' ' +\
18173            '>'
18174
18175    def to_dict(self):
18176        return {
18177            'bind_interface': self.bind_interface,
18178            'certificate_authority': self.certificate_authority,
18179            'client_certificate': self.client_certificate,
18180            'client_key': self.client_key,
18181            'egress_filter': self.egress_filter,
18182            'healthcheck_namespace': self.healthcheck_namespace,
18183            'healthy': self.healthy,
18184            'hostname': self.hostname,
18185            'id': self.id,
18186            'name': self.name,
18187            'port': self.port,
18188            'port_override': self.port_override,
18189            'proxy_cluster_id': self.proxy_cluster_id,
18190            'secret_store_id': self.secret_store_id,
18191            'subdomain': self.subdomain,
18192            'tags': self.tags,
18193        }
18194
18195    @classmethod
18196    def from_dict(cls, d):
18197        return cls(
18198            bind_interface=d.get('bind_interface'),
18199            certificate_authority=d.get('certificate_authority'),
18200            client_certificate=d.get('client_certificate'),
18201            client_key=d.get('client_key'),
18202            egress_filter=d.get('egress_filter'),
18203            healthcheck_namespace=d.get('healthcheck_namespace'),
18204            healthy=d.get('healthy'),
18205            hostname=d.get('hostname'),
18206            id=d.get('id'),
18207            name=d.get('name'),
18208            port=d.get('port'),
18209            port_override=d.get('port_override'),
18210            proxy_cluster_id=d.get('proxy_cluster_id'),
18211            secret_store_id=d.get('secret_store_id'),
18212            subdomain=d.get('subdomain'),
18213            tags=d.get('tags'),
18214        )

KubernetesUserImpersonation is deprecated, see docs for more info.

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)
18071    def __init__(
18072        self,
18073        bind_interface=None,
18074        certificate_authority=None,
18075        client_certificate=None,
18076        client_key=None,
18077        egress_filter=None,
18078        healthcheck_namespace=None,
18079        healthy=None,
18080        hostname=None,
18081        id=None,
18082        name=None,
18083        port=None,
18084        port_override=None,
18085        proxy_cluster_id=None,
18086        secret_store_id=None,
18087        subdomain=None,
18088        tags=None,
18089    ):
18090        self.bind_interface = bind_interface if bind_interface is not None else ''
18091        '''
18092         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18093        '''
18094        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18095        '''
18096         The CA to authenticate TLS connections with.
18097        '''
18098        self.client_certificate = client_certificate if client_certificate is not None else ''
18099        '''
18100         The certificate to authenticate TLS connections with.
18101        '''
18102        self.client_key = client_key if client_key is not None else ''
18103        '''
18104         The key to authenticate TLS connections with.
18105        '''
18106        self.egress_filter = egress_filter if egress_filter is not None else ''
18107        '''
18108         A filter applied to the routing logic to pin datasource to nodes.
18109        '''
18110        self.healthcheck_namespace = healthcheck_namespace if healthcheck_namespace is not None else ''
18111        '''
18112         The path used to check the health of your connection.  Defaults to `default`.
18113        '''
18114        self.healthy = healthy if healthy is not None else False
18115        '''
18116         True if the datasource is reachable and the credentials are valid.
18117        '''
18118        self.hostname = hostname if hostname is not None else ''
18119        '''
18120         The host to dial to initiate a connection from the egress node to this resource.
18121        '''
18122        self.id = id if id is not None else ''
18123        '''
18124         Unique identifier of the Resource.
18125        '''
18126        self.name = name if name is not None else ''
18127        '''
18128         Unique human-readable name of the Resource.
18129        '''
18130        self.port = port if port is not None else 0
18131        '''
18132         The port to dial to initiate a connection from the egress node to this resource.
18133        '''
18134        self.port_override = port_override if port_override is not None else 0
18135        '''
18136         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18137        '''
18138        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18139        '''
18140         ID of the proxy cluster for this resource, if any.
18141        '''
18142        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18143        '''
18144         ID of the secret store containing credentials for this resource, if any.
18145        '''
18146        self.subdomain = subdomain if subdomain is not None else ''
18147        '''
18148         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18149        '''
18150        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18151        '''
18152         Tags is a map of key, value pairs.
18153        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
18175    def to_dict(self):
18176        return {
18177            'bind_interface': self.bind_interface,
18178            'certificate_authority': self.certificate_authority,
18179            'client_certificate': self.client_certificate,
18180            'client_key': self.client_key,
18181            'egress_filter': self.egress_filter,
18182            'healthcheck_namespace': self.healthcheck_namespace,
18183            'healthy': self.healthy,
18184            'hostname': self.hostname,
18185            'id': self.id,
18186            'name': self.name,
18187            'port': self.port,
18188            'port_override': self.port_override,
18189            'proxy_cluster_id': self.proxy_cluster_id,
18190            'secret_store_id': self.secret_store_id,
18191            'subdomain': self.subdomain,
18192            'tags': self.tags,
18193        }
@classmethod
def from_dict(cls, d)
18195    @classmethod
18196    def from_dict(cls, d):
18197        return cls(
18198            bind_interface=d.get('bind_interface'),
18199            certificate_authority=d.get('certificate_authority'),
18200            client_certificate=d.get('client_certificate'),
18201            client_key=d.get('client_key'),
18202            egress_filter=d.get('egress_filter'),
18203            healthcheck_namespace=d.get('healthcheck_namespace'),
18204            healthy=d.get('healthy'),
18205            hostname=d.get('hostname'),
18206            id=d.get('id'),
18207            name=d.get('name'),
18208            port=d.get('port'),
18209            port_override=d.get('port_override'),
18210            proxy_cluster_id=d.get('proxy_cluster_id'),
18211            secret_store_id=d.get('secret_store_id'),
18212            subdomain=d.get('subdomain'),
18213            tags=d.get('tags'),
18214        )
class LogCategoryConfig:
18217class LogCategoryConfig:
18218    __slots__ = [
18219        'remote_discard_replays',
18220        'remote_encoder',
18221    ]
18222
18223    def __init__(
18224        self,
18225        remote_discard_replays=None,
18226        remote_encoder=None,
18227    ):
18228        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
18229        '''
18230         Indicates if the Organization should exclude replay data from remote logging for the log category.
18231        '''
18232        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
18233        '''
18234         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
18235        '''
18236
18237    def __repr__(self):
18238        return '<sdm.LogCategoryConfig ' + \
18239            'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
18240            'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
18241            '>'
18242
18243    def to_dict(self):
18244        return {
18245            'remote_discard_replays': self.remote_discard_replays,
18246            'remote_encoder': self.remote_encoder,
18247        }
18248
18249    @classmethod
18250    def from_dict(cls, d):
18251        return cls(
18252            remote_discard_replays=d.get('remote_discard_replays'),
18253            remote_encoder=d.get('remote_encoder'),
18254        )
LogCategoryConfig(remote_discard_replays=None, remote_encoder=None)
18223    def __init__(
18224        self,
18225        remote_discard_replays=None,
18226        remote_encoder=None,
18227    ):
18228        self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
18229        '''
18230         Indicates if the Organization should exclude replay data from remote logging for the log category.
18231        '''
18232        self.remote_encoder = remote_encoder if remote_encoder is not None else ''
18233        '''
18234         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
18235        '''
remote_discard_replays

Indicates if the Organization should exclude replay data from remote logging for the log category.

remote_encoder

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

def to_dict(self)
18243    def to_dict(self):
18244        return {
18245            'remote_discard_replays': self.remote_discard_replays,
18246            'remote_encoder': self.remote_encoder,
18247        }
@classmethod
def from_dict(cls, d)
18249    @classmethod
18250    def from_dict(cls, d):
18251        return cls(
18252            remote_discard_replays=d.get('remote_discard_replays'),
18253            remote_encoder=d.get('remote_encoder'),
18254        )
class LogConfig:
18257class LogConfig:
18258    __slots__ = [
18259        'categories',
18260        'local_encoder',
18261        'local_format',
18262        'local_socket_path',
18263        'local_storage',
18264        'local_tcp_address',
18265        'public_key',
18266    ]
18267
18268    def __init__(
18269        self,
18270        categories=None,
18271        local_encoder=None,
18272        local_format=None,
18273        local_socket_path=None,
18274        local_storage=None,
18275        local_tcp_address=None,
18276        public_key=None,
18277    ):
18278        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
18279        )
18280        '''
18281         The Organization's log category configuration settings.
18282        '''
18283        self.local_encoder = local_encoder if local_encoder is not None else ''
18284        '''
18285         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
18286        '''
18287        self.local_format = local_format if local_format is not None else ''
18288        '''
18289         The Organization's local log format, one of the LogLocalFormat constants.
18290        '''
18291        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
18292        '''
18293         The Organization's local log socket path.
18294        '''
18295        self.local_storage = local_storage if local_storage is not None else ''
18296        '''
18297         The Organization's local log storage, one of the LogLocalStorage constants.
18298        '''
18299        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
18300        '''
18301         The Organization's local log TCP address.
18302        '''
18303        self.public_key = public_key if public_key is not None else ''
18304        '''
18305         The Organization's public key in PEM format for encrypting logs.
18306        '''
18307
18308    def __repr__(self):
18309        return '<sdm.LogConfig ' + \
18310            'categories: ' + repr(self.categories) + ' ' +\
18311            'local_encoder: ' + repr(self.local_encoder) + ' ' +\
18312            'local_format: ' + repr(self.local_format) + ' ' +\
18313            'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
18314            'local_storage: ' + repr(self.local_storage) + ' ' +\
18315            'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
18316            'public_key: ' + repr(self.public_key) + ' ' +\
18317            '>'
18318
18319    def to_dict(self):
18320        return {
18321            'categories': self.categories,
18322            'local_encoder': self.local_encoder,
18323            'local_format': self.local_format,
18324            'local_socket_path': self.local_socket_path,
18325            'local_storage': self.local_storage,
18326            'local_tcp_address': self.local_tcp_address,
18327            'public_key': self.public_key,
18328        }
18329
18330    @classmethod
18331    def from_dict(cls, d):
18332        return cls(
18333            categories=d.get('categories'),
18334            local_encoder=d.get('local_encoder'),
18335            local_format=d.get('local_format'),
18336            local_socket_path=d.get('local_socket_path'),
18337            local_storage=d.get('local_storage'),
18338            local_tcp_address=d.get('local_tcp_address'),
18339            public_key=d.get('public_key'),
18340        )
LogConfig( categories=None, local_encoder=None, local_format=None, local_socket_path=None, local_storage=None, local_tcp_address=None, public_key=None)
18268    def __init__(
18269        self,
18270        categories=None,
18271        local_encoder=None,
18272        local_format=None,
18273        local_socket_path=None,
18274        local_storage=None,
18275        local_tcp_address=None,
18276        public_key=None,
18277    ):
18278        self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
18279        )
18280        '''
18281         The Organization's log category configuration settings.
18282        '''
18283        self.local_encoder = local_encoder if local_encoder is not None else ''
18284        '''
18285         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
18286        '''
18287        self.local_format = local_format if local_format is not None else ''
18288        '''
18289         The Organization's local log format, one of the LogLocalFormat constants.
18290        '''
18291        self.local_socket_path = local_socket_path if local_socket_path is not None else ''
18292        '''
18293         The Organization's local log socket path.
18294        '''
18295        self.local_storage = local_storage if local_storage is not None else ''
18296        '''
18297         The Organization's local log storage, one of the LogLocalStorage constants.
18298        '''
18299        self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
18300        '''
18301         The Organization's local log TCP address.
18302        '''
18303        self.public_key = public_key if public_key is not None else ''
18304        '''
18305         The Organization's public key in PEM format for encrypting logs.
18306        '''
categories

The Organization's log category configuration settings.

local_encoder

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

local_format

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

local_socket_path

The Organization's local log socket path.

local_storage

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

local_tcp_address

The Organization's local log TCP address.

public_key

The Organization's public key in PEM format for encrypting logs.

def to_dict(self)
18319    def to_dict(self):
18320        return {
18321            'categories': self.categories,
18322            'local_encoder': self.local_encoder,
18323            'local_format': self.local_format,
18324            'local_socket_path': self.local_socket_path,
18325            'local_storage': self.local_storage,
18326            'local_tcp_address': self.local_tcp_address,
18327            'public_key': self.public_key,
18328        }
@classmethod
def from_dict(cls, d)
18330    @classmethod
18331    def from_dict(cls, d):
18332        return cls(
18333            categories=d.get('categories'),
18334            local_encoder=d.get('local_encoder'),
18335            local_format=d.get('local_format'),
18336            local_socket_path=d.get('local_socket_path'),
18337            local_storage=d.get('local_storage'),
18338            local_tcp_address=d.get('local_tcp_address'),
18339            public_key=d.get('public_key'),
18340        )
class MCP:
18343class MCP:
18344    '''
18345    MCP is currently unstable, and its API may change, or it may be removed,
18346    without a major version bump.
18347    '''
18348    __slots__ = [
18349        'bind_interface',
18350        'egress_filter',
18351        'healthy',
18352        'hostname',
18353        'id',
18354        'name',
18355        'password',
18356        'port',
18357        'port_override',
18358        'proxy_cluster_id',
18359        'secret_store_id',
18360        'subdomain',
18361        'tags',
18362    ]
18363
18364    def __init__(
18365        self,
18366        bind_interface=None,
18367        egress_filter=None,
18368        healthy=None,
18369        hostname=None,
18370        id=None,
18371        name=None,
18372        password=None,
18373        port=None,
18374        port_override=None,
18375        proxy_cluster_id=None,
18376        secret_store_id=None,
18377        subdomain=None,
18378        tags=None,
18379    ):
18380        self.bind_interface = bind_interface if bind_interface is not None else ''
18381        '''
18382         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18383        '''
18384        self.egress_filter = egress_filter if egress_filter is not None else ''
18385        '''
18386         A filter applied to the routing logic to pin datasource to nodes.
18387        '''
18388        self.healthy = healthy if healthy is not None else False
18389        '''
18390         True if the datasource is reachable and the credentials are valid.
18391        '''
18392        self.hostname = hostname if hostname is not None else ''
18393        '''
18394         The host to dial to initiate a connection from the egress node to this resource.
18395        '''
18396        self.id = id if id is not None else ''
18397        '''
18398         Unique identifier of the Resource.
18399        '''
18400        self.name = name if name is not None else ''
18401        '''
18402         Unique human-readable name of the Resource.
18403        '''
18404        self.password = password if password is not None else ''
18405        '''
18406         The password to authenticate with.
18407        '''
18408        self.port = port if port is not None else 0
18409        '''
18410         The port to dial to initiate a connection from the egress node to this resource.
18411        '''
18412        self.port_override = port_override if port_override is not None else 0
18413        '''
18414         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18415        '''
18416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18417        '''
18418         ID of the proxy cluster for this resource, if any.
18419        '''
18420        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18421        '''
18422         ID of the secret store containing credentials for this resource, if any.
18423        '''
18424        self.subdomain = subdomain if subdomain is not None else ''
18425        '''
18426         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18427        '''
18428        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18429        '''
18430         Tags is a map of key, value pairs.
18431        '''
18432
18433    def __repr__(self):
18434        return '<sdm.MCP ' + \
18435            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18436            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18437            'healthy: ' + repr(self.healthy) + ' ' +\
18438            'hostname: ' + repr(self.hostname) + ' ' +\
18439            'id: ' + repr(self.id) + ' ' +\
18440            'name: ' + repr(self.name) + ' ' +\
18441            'password: ' + repr(self.password) + ' ' +\
18442            'port: ' + repr(self.port) + ' ' +\
18443            'port_override: ' + repr(self.port_override) + ' ' +\
18444            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18445            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18446            'subdomain: ' + repr(self.subdomain) + ' ' +\
18447            'tags: ' + repr(self.tags) + ' ' +\
18448            '>'
18449
18450    def to_dict(self):
18451        return {
18452            'bind_interface': self.bind_interface,
18453            'egress_filter': self.egress_filter,
18454            'healthy': self.healthy,
18455            'hostname': self.hostname,
18456            'id': self.id,
18457            'name': self.name,
18458            'password': self.password,
18459            'port': self.port,
18460            'port_override': self.port_override,
18461            'proxy_cluster_id': self.proxy_cluster_id,
18462            'secret_store_id': self.secret_store_id,
18463            'subdomain': self.subdomain,
18464            'tags': self.tags,
18465        }
18466
18467    @classmethod
18468    def from_dict(cls, d):
18469        return cls(
18470            bind_interface=d.get('bind_interface'),
18471            egress_filter=d.get('egress_filter'),
18472            healthy=d.get('healthy'),
18473            hostname=d.get('hostname'),
18474            id=d.get('id'),
18475            name=d.get('name'),
18476            password=d.get('password'),
18477            port=d.get('port'),
18478            port_override=d.get('port_override'),
18479            proxy_cluster_id=d.get('proxy_cluster_id'),
18480            secret_store_id=d.get('secret_store_id'),
18481            subdomain=d.get('subdomain'),
18482            tags=d.get('tags'),
18483        )

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

MCP( 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)
18364    def __init__(
18365        self,
18366        bind_interface=None,
18367        egress_filter=None,
18368        healthy=None,
18369        hostname=None,
18370        id=None,
18371        name=None,
18372        password=None,
18373        port=None,
18374        port_override=None,
18375        proxy_cluster_id=None,
18376        secret_store_id=None,
18377        subdomain=None,
18378        tags=None,
18379    ):
18380        self.bind_interface = bind_interface if bind_interface is not None else ''
18381        '''
18382         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18383        '''
18384        self.egress_filter = egress_filter if egress_filter is not None else ''
18385        '''
18386         A filter applied to the routing logic to pin datasource to nodes.
18387        '''
18388        self.healthy = healthy if healthy is not None else False
18389        '''
18390         True if the datasource is reachable and the credentials are valid.
18391        '''
18392        self.hostname = hostname if hostname is not None else ''
18393        '''
18394         The host to dial to initiate a connection from the egress node to this resource.
18395        '''
18396        self.id = id if id is not None else ''
18397        '''
18398         Unique identifier of the Resource.
18399        '''
18400        self.name = name if name is not None else ''
18401        '''
18402         Unique human-readable name of the Resource.
18403        '''
18404        self.password = password if password is not None else ''
18405        '''
18406         The password to authenticate with.
18407        '''
18408        self.port = port if port is not None else 0
18409        '''
18410         The port to dial to initiate a connection from the egress node to this resource.
18411        '''
18412        self.port_override = port_override if port_override is not None else 0
18413        '''
18414         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18415        '''
18416        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18417        '''
18418         ID of the proxy cluster for this resource, if any.
18419        '''
18420        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18421        '''
18422         ID of the secret store containing credentials for this resource, if any.
18423        '''
18424        self.subdomain = subdomain if subdomain is not None else ''
18425        '''
18426         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18427        '''
18428        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18429        '''
18430         Tags is a map of key, value pairs.
18431        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
18450    def to_dict(self):
18451        return {
18452            'bind_interface': self.bind_interface,
18453            'egress_filter': self.egress_filter,
18454            'healthy': self.healthy,
18455            'hostname': self.hostname,
18456            'id': self.id,
18457            'name': self.name,
18458            'password': self.password,
18459            'port': self.port,
18460            'port_override': self.port_override,
18461            'proxy_cluster_id': self.proxy_cluster_id,
18462            'secret_store_id': self.secret_store_id,
18463            'subdomain': self.subdomain,
18464            'tags': self.tags,
18465        }
@classmethod
def from_dict(cls, d)
18467    @classmethod
18468    def from_dict(cls, d):
18469        return cls(
18470            bind_interface=d.get('bind_interface'),
18471            egress_filter=d.get('egress_filter'),
18472            healthy=d.get('healthy'),
18473            hostname=d.get('hostname'),
18474            id=d.get('id'),
18475            name=d.get('name'),
18476            password=d.get('password'),
18477            port=d.get('port'),
18478            port_override=d.get('port_override'),
18479            proxy_cluster_id=d.get('proxy_cluster_id'),
18480            secret_store_id=d.get('secret_store_id'),
18481            subdomain=d.get('subdomain'),
18482            tags=d.get('tags'),
18483        )
class MTLSMysql:
18486class MTLSMysql:
18487    __slots__ = [
18488        'bind_interface',
18489        'certificate_authority',
18490        'client_certificate',
18491        'client_key',
18492        'database',
18493        'egress_filter',
18494        'healthy',
18495        'hostname',
18496        'id',
18497        'name',
18498        'password',
18499        'port',
18500        'port_override',
18501        'proxy_cluster_id',
18502        'require_native_auth',
18503        'secret_store_id',
18504        'server_name',
18505        'subdomain',
18506        'tags',
18507        'use_azure_single_server_usernames',
18508        'username',
18509    ]
18510
18511    def __init__(
18512        self,
18513        bind_interface=None,
18514        certificate_authority=None,
18515        client_certificate=None,
18516        client_key=None,
18517        database=None,
18518        egress_filter=None,
18519        healthy=None,
18520        hostname=None,
18521        id=None,
18522        name=None,
18523        password=None,
18524        port=None,
18525        port_override=None,
18526        proxy_cluster_id=None,
18527        require_native_auth=None,
18528        secret_store_id=None,
18529        server_name=None,
18530        subdomain=None,
18531        tags=None,
18532        use_azure_single_server_usernames=None,
18533        username=None,
18534    ):
18535        self.bind_interface = bind_interface if bind_interface is not None else ''
18536        '''
18537         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18538        '''
18539        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18540        '''
18541         The CA to authenticate TLS connections with.
18542        '''
18543        self.client_certificate = client_certificate if client_certificate is not None else ''
18544        '''
18545         The certificate to authenticate TLS connections with.
18546        '''
18547        self.client_key = client_key if client_key is not None else ''
18548        '''
18549         The key to authenticate TLS connections with.
18550        '''
18551        self.database = database if database is not None else ''
18552        '''
18553         The database for healthchecks. Does not affect client requests.
18554        '''
18555        self.egress_filter = egress_filter if egress_filter is not None else ''
18556        '''
18557         A filter applied to the routing logic to pin datasource to nodes.
18558        '''
18559        self.healthy = healthy if healthy is not None else False
18560        '''
18561         True if the datasource is reachable and the credentials are valid.
18562        '''
18563        self.hostname = hostname if hostname is not None else ''
18564        '''
18565         The host to dial to initiate a connection from the egress node to this resource.
18566        '''
18567        self.id = id if id is not None else ''
18568        '''
18569         Unique identifier of the Resource.
18570        '''
18571        self.name = name if name is not None else ''
18572        '''
18573         Unique human-readable name of the Resource.
18574        '''
18575        self.password = password if password is not None else ''
18576        '''
18577         The password to authenticate with.
18578        '''
18579        self.port = port if port is not None else 0
18580        '''
18581         The port to dial to initiate a connection from the egress node to this resource.
18582        '''
18583        self.port_override = port_override if port_override is not None else 0
18584        '''
18585         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18586        '''
18587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18588        '''
18589         ID of the proxy cluster for this resource, if any.
18590        '''
18591        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18592        '''
18593         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18594        '''
18595        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18596        '''
18597         ID of the secret store containing credentials for this resource, if any.
18598        '''
18599        self.server_name = server_name if server_name is not None else ''
18600        '''
18601         Server name for TLS verification (unverified by StrongDM if empty)
18602        '''
18603        self.subdomain = subdomain if subdomain is not None else ''
18604        '''
18605         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18606        '''
18607        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18608        '''
18609         Tags is a map of key, value pairs.
18610        '''
18611        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18612        '''
18613         If true, appends the hostname to the username when hitting a database.azure.com address
18614        '''
18615        self.username = username if username is not None else ''
18616        '''
18617         The username to authenticate with.
18618        '''
18619
18620    def __repr__(self):
18621        return '<sdm.MTLSMysql ' + \
18622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18623            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
18624            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
18625            'client_key: ' + repr(self.client_key) + ' ' +\
18626            'database: ' + repr(self.database) + ' ' +\
18627            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18628            'healthy: ' + repr(self.healthy) + ' ' +\
18629            'hostname: ' + repr(self.hostname) + ' ' +\
18630            'id: ' + repr(self.id) + ' ' +\
18631            'name: ' + repr(self.name) + ' ' +\
18632            'password: ' + repr(self.password) + ' ' +\
18633            'port: ' + repr(self.port) + ' ' +\
18634            'port_override: ' + repr(self.port_override) + ' ' +\
18635            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18636            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
18637            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18638            'server_name: ' + repr(self.server_name) + ' ' +\
18639            'subdomain: ' + repr(self.subdomain) + ' ' +\
18640            'tags: ' + repr(self.tags) + ' ' +\
18641            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
18642            'username: ' + repr(self.username) + ' ' +\
18643            '>'
18644
18645    def to_dict(self):
18646        return {
18647            'bind_interface': self.bind_interface,
18648            'certificate_authority': self.certificate_authority,
18649            'client_certificate': self.client_certificate,
18650            'client_key': self.client_key,
18651            'database': self.database,
18652            'egress_filter': self.egress_filter,
18653            'healthy': self.healthy,
18654            'hostname': self.hostname,
18655            'id': self.id,
18656            'name': self.name,
18657            'password': self.password,
18658            'port': self.port,
18659            'port_override': self.port_override,
18660            'proxy_cluster_id': self.proxy_cluster_id,
18661            'require_native_auth': self.require_native_auth,
18662            'secret_store_id': self.secret_store_id,
18663            'server_name': self.server_name,
18664            'subdomain': self.subdomain,
18665            'tags': self.tags,
18666            'use_azure_single_server_usernames':
18667            self.use_azure_single_server_usernames,
18668            'username': self.username,
18669        }
18670
18671    @classmethod
18672    def from_dict(cls, d):
18673        return cls(
18674            bind_interface=d.get('bind_interface'),
18675            certificate_authority=d.get('certificate_authority'),
18676            client_certificate=d.get('client_certificate'),
18677            client_key=d.get('client_key'),
18678            database=d.get('database'),
18679            egress_filter=d.get('egress_filter'),
18680            healthy=d.get('healthy'),
18681            hostname=d.get('hostname'),
18682            id=d.get('id'),
18683            name=d.get('name'),
18684            password=d.get('password'),
18685            port=d.get('port'),
18686            port_override=d.get('port_override'),
18687            proxy_cluster_id=d.get('proxy_cluster_id'),
18688            require_native_auth=d.get('require_native_auth'),
18689            secret_store_id=d.get('secret_store_id'),
18690            server_name=d.get('server_name'),
18691            subdomain=d.get('subdomain'),
18692            tags=d.get('tags'),
18693            use_azure_single_server_usernames=d.get(
18694                'use_azure_single_server_usernames'),
18695            username=d.get('username'),
18696        )
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)
18511    def __init__(
18512        self,
18513        bind_interface=None,
18514        certificate_authority=None,
18515        client_certificate=None,
18516        client_key=None,
18517        database=None,
18518        egress_filter=None,
18519        healthy=None,
18520        hostname=None,
18521        id=None,
18522        name=None,
18523        password=None,
18524        port=None,
18525        port_override=None,
18526        proxy_cluster_id=None,
18527        require_native_auth=None,
18528        secret_store_id=None,
18529        server_name=None,
18530        subdomain=None,
18531        tags=None,
18532        use_azure_single_server_usernames=None,
18533        username=None,
18534    ):
18535        self.bind_interface = bind_interface if bind_interface is not None else ''
18536        '''
18537         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18538        '''
18539        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18540        '''
18541         The CA to authenticate TLS connections with.
18542        '''
18543        self.client_certificate = client_certificate if client_certificate is not None else ''
18544        '''
18545         The certificate to authenticate TLS connections with.
18546        '''
18547        self.client_key = client_key if client_key is not None else ''
18548        '''
18549         The key to authenticate TLS connections with.
18550        '''
18551        self.database = database if database is not None else ''
18552        '''
18553         The database for healthchecks. Does not affect client requests.
18554        '''
18555        self.egress_filter = egress_filter if egress_filter is not None else ''
18556        '''
18557         A filter applied to the routing logic to pin datasource to nodes.
18558        '''
18559        self.healthy = healthy if healthy is not None else False
18560        '''
18561         True if the datasource is reachable and the credentials are valid.
18562        '''
18563        self.hostname = hostname if hostname is not None else ''
18564        '''
18565         The host to dial to initiate a connection from the egress node to this resource.
18566        '''
18567        self.id = id if id is not None else ''
18568        '''
18569         Unique identifier of the Resource.
18570        '''
18571        self.name = name if name is not None else ''
18572        '''
18573         Unique human-readable name of the Resource.
18574        '''
18575        self.password = password if password is not None else ''
18576        '''
18577         The password to authenticate with.
18578        '''
18579        self.port = port if port is not None else 0
18580        '''
18581         The port to dial to initiate a connection from the egress node to this resource.
18582        '''
18583        self.port_override = port_override if port_override is not None else 0
18584        '''
18585         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18586        '''
18587        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18588        '''
18589         ID of the proxy cluster for this resource, if any.
18590        '''
18591        self.require_native_auth = require_native_auth if require_native_auth is not None else False
18592        '''
18593         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
18594        '''
18595        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18596        '''
18597         ID of the secret store containing credentials for this resource, if any.
18598        '''
18599        self.server_name = server_name if server_name is not None else ''
18600        '''
18601         Server name for TLS verification (unverified by StrongDM if empty)
18602        '''
18603        self.subdomain = subdomain if subdomain is not None else ''
18604        '''
18605         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18606        '''
18607        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18608        '''
18609         Tags is a map of key, value pairs.
18610        '''
18611        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
18612        '''
18613         If true, appends the hostname to the username when hitting a database.azure.com address
18614        '''
18615        self.username = username if username is not None else ''
18616        '''
18617         The username to authenticate with.
18618        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
18645    def to_dict(self):
18646        return {
18647            'bind_interface': self.bind_interface,
18648            'certificate_authority': self.certificate_authority,
18649            'client_certificate': self.client_certificate,
18650            'client_key': self.client_key,
18651            'database': self.database,
18652            'egress_filter': self.egress_filter,
18653            'healthy': self.healthy,
18654            'hostname': self.hostname,
18655            'id': self.id,
18656            'name': self.name,
18657            'password': self.password,
18658            'port': self.port,
18659            'port_override': self.port_override,
18660            'proxy_cluster_id': self.proxy_cluster_id,
18661            'require_native_auth': self.require_native_auth,
18662            'secret_store_id': self.secret_store_id,
18663            'server_name': self.server_name,
18664            'subdomain': self.subdomain,
18665            'tags': self.tags,
18666            'use_azure_single_server_usernames':
18667            self.use_azure_single_server_usernames,
18668            'username': self.username,
18669        }
@classmethod
def from_dict(cls, d)
18671    @classmethod
18672    def from_dict(cls, d):
18673        return cls(
18674            bind_interface=d.get('bind_interface'),
18675            certificate_authority=d.get('certificate_authority'),
18676            client_certificate=d.get('client_certificate'),
18677            client_key=d.get('client_key'),
18678            database=d.get('database'),
18679            egress_filter=d.get('egress_filter'),
18680            healthy=d.get('healthy'),
18681            hostname=d.get('hostname'),
18682            id=d.get('id'),
18683            name=d.get('name'),
18684            password=d.get('password'),
18685            port=d.get('port'),
18686            port_override=d.get('port_override'),
18687            proxy_cluster_id=d.get('proxy_cluster_id'),
18688            require_native_auth=d.get('require_native_auth'),
18689            secret_store_id=d.get('secret_store_id'),
18690            server_name=d.get('server_name'),
18691            subdomain=d.get('subdomain'),
18692            tags=d.get('tags'),
18693            use_azure_single_server_usernames=d.get(
18694                'use_azure_single_server_usernames'),
18695            username=d.get('username'),
18696        )
class MTLSPostgres:
18699class MTLSPostgres:
18700    __slots__ = [
18701        'bind_interface',
18702        'certificate_authority',
18703        'client_certificate',
18704        'client_key',
18705        'database',
18706        'egress_filter',
18707        'healthy',
18708        'hostname',
18709        'id',
18710        'name',
18711        'override_database',
18712        'password',
18713        'port',
18714        'port_override',
18715        'proxy_cluster_id',
18716        'secret_store_id',
18717        'server_name',
18718        'subdomain',
18719        'tags',
18720        'username',
18721    ]
18722
18723    def __init__(
18724        self,
18725        bind_interface=None,
18726        certificate_authority=None,
18727        client_certificate=None,
18728        client_key=None,
18729        database=None,
18730        egress_filter=None,
18731        healthy=None,
18732        hostname=None,
18733        id=None,
18734        name=None,
18735        override_database=None,
18736        password=None,
18737        port=None,
18738        port_override=None,
18739        proxy_cluster_id=None,
18740        secret_store_id=None,
18741        server_name=None,
18742        subdomain=None,
18743        tags=None,
18744        username=None,
18745    ):
18746        self.bind_interface = bind_interface if bind_interface is not None else ''
18747        '''
18748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18749        '''
18750        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18751        '''
18752         The CA to authenticate TLS connections with.
18753        '''
18754        self.client_certificate = client_certificate if client_certificate is not None else ''
18755        '''
18756         The certificate to authenticate TLS connections with.
18757        '''
18758        self.client_key = client_key if client_key is not None else ''
18759        '''
18760         The key to authenticate TLS connections with.
18761        '''
18762        self.database = database if database is not None else ''
18763        '''
18764         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18765        '''
18766        self.egress_filter = egress_filter if egress_filter is not None else ''
18767        '''
18768         A filter applied to the routing logic to pin datasource to nodes.
18769        '''
18770        self.healthy = healthy if healthy is not None else False
18771        '''
18772         True if the datasource is reachable and the credentials are valid.
18773        '''
18774        self.hostname = hostname if hostname is not None else ''
18775        '''
18776         The host to dial to initiate a connection from the egress node to this resource.
18777        '''
18778        self.id = id if id is not None else ''
18779        '''
18780         Unique identifier of the Resource.
18781        '''
18782        self.name = name if name is not None else ''
18783        '''
18784         Unique human-readable name of the Resource.
18785        '''
18786        self.override_database = override_database if override_database is not None else False
18787        '''
18788         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
18789        '''
18790        self.password = password if password is not None else ''
18791        '''
18792         The password to authenticate with.
18793        '''
18794        self.port = port if port is not None else 0
18795        '''
18796         The port to dial to initiate a connection from the egress node to this resource.
18797        '''
18798        self.port_override = port_override if port_override is not None else 0
18799        '''
18800         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18801        '''
18802        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18803        '''
18804         ID of the proxy cluster for this resource, if any.
18805        '''
18806        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18807        '''
18808         ID of the secret store containing credentials for this resource, if any.
18809        '''
18810        self.server_name = server_name if server_name is not None else ''
18811        '''
18812         Server name for TLS verification (unverified by StrongDM if empty)
18813        '''
18814        self.subdomain = subdomain if subdomain is not None else ''
18815        '''
18816         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18817        '''
18818        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18819        '''
18820         Tags is a map of key, value pairs.
18821        '''
18822        self.username = username if username is not None else ''
18823        '''
18824         The username to authenticate with.
18825        '''
18826
18827    def __repr__(self):
18828        return '<sdm.MTLSPostgres ' + \
18829            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
18830            'certificate_authority: ' + repr(self.certificate_authority) + ' ' +\
18831            'client_certificate: ' + repr(self.client_certificate) + ' ' +\
18832            'client_key: ' + repr(self.client_key) + ' ' +\
18833            'database: ' + repr(self.database) + ' ' +\
18834            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
18835            'healthy: ' + repr(self.healthy) + ' ' +\
18836            'hostname: ' + repr(self.hostname) + ' ' +\
18837            'id: ' + repr(self.id) + ' ' +\
18838            'name: ' + repr(self.name) + ' ' +\
18839            'override_database: ' + repr(self.override_database) + ' ' +\
18840            'password: ' + repr(self.password) + ' ' +\
18841            'port: ' + repr(self.port) + ' ' +\
18842            'port_override: ' + repr(self.port_override) + ' ' +\
18843            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
18844            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
18845            'server_name: ' + repr(self.server_name) + ' ' +\
18846            'subdomain: ' + repr(self.subdomain) + ' ' +\
18847            'tags: ' + repr(self.tags) + ' ' +\
18848            'username: ' + repr(self.username) + ' ' +\
18849            '>'
18850
18851    def to_dict(self):
18852        return {
18853            'bind_interface': self.bind_interface,
18854            'certificate_authority': self.certificate_authority,
18855            'client_certificate': self.client_certificate,
18856            'client_key': self.client_key,
18857            'database': self.database,
18858            'egress_filter': self.egress_filter,
18859            'healthy': self.healthy,
18860            'hostname': self.hostname,
18861            'id': self.id,
18862            'name': self.name,
18863            'override_database': self.override_database,
18864            'password': self.password,
18865            'port': self.port,
18866            'port_override': self.port_override,
18867            'proxy_cluster_id': self.proxy_cluster_id,
18868            'secret_store_id': self.secret_store_id,
18869            'server_name': self.server_name,
18870            'subdomain': self.subdomain,
18871            'tags': self.tags,
18872            'username': self.username,
18873        }
18874
18875    @classmethod
18876    def from_dict(cls, d):
18877        return cls(
18878            bind_interface=d.get('bind_interface'),
18879            certificate_authority=d.get('certificate_authority'),
18880            client_certificate=d.get('client_certificate'),
18881            client_key=d.get('client_key'),
18882            database=d.get('database'),
18883            egress_filter=d.get('egress_filter'),
18884            healthy=d.get('healthy'),
18885            hostname=d.get('hostname'),
18886            id=d.get('id'),
18887            name=d.get('name'),
18888            override_database=d.get('override_database'),
18889            password=d.get('password'),
18890            port=d.get('port'),
18891            port_override=d.get('port_override'),
18892            proxy_cluster_id=d.get('proxy_cluster_id'),
18893            secret_store_id=d.get('secret_store_id'),
18894            server_name=d.get('server_name'),
18895            subdomain=d.get('subdomain'),
18896            tags=d.get('tags'),
18897            username=d.get('username'),
18898        )
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)
18723    def __init__(
18724        self,
18725        bind_interface=None,
18726        certificate_authority=None,
18727        client_certificate=None,
18728        client_key=None,
18729        database=None,
18730        egress_filter=None,
18731        healthy=None,
18732        hostname=None,
18733        id=None,
18734        name=None,
18735        override_database=None,
18736        password=None,
18737        port=None,
18738        port_override=None,
18739        proxy_cluster_id=None,
18740        secret_store_id=None,
18741        server_name=None,
18742        subdomain=None,
18743        tags=None,
18744        username=None,
18745    ):
18746        self.bind_interface = bind_interface if bind_interface is not None else ''
18747        '''
18748         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
18749        '''
18750        self.certificate_authority = certificate_authority if certificate_authority is not None else ''
18751        '''
18752         The CA to authenticate TLS connections with.
18753        '''
18754        self.client_certificate = client_certificate if client_certificate is not None else ''
18755        '''
18756         The certificate to authenticate TLS connections with.
18757        '''
18758        self.client_key = client_key if client_key is not None else ''
18759        '''
18760         The key to authenticate TLS connections with.
18761        '''
18762        self.database = database if database is not None else ''
18763        '''
18764         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
18765        '''
18766        self.egress_filter = egress_filter if egress_filter is not None else ''
18767        '''
18768         A filter applied to the routing logic to pin datasource to nodes.
18769        '''
18770        self.healthy = healthy if healthy is not None else False
18771        '''
18772         True if the datasource is reachable and the credentials are valid.
18773        '''
18774        self.hostname = hostname if hostname is not None else ''
18775        '''
18776         The host to dial to initiate a connection from the egress node to this resource.
18777        '''
18778        self.id = id if id is not None else ''
18779        '''
18780         Unique identifier of the Resource.
18781        '''
18782        self.name = name if name is not None else ''
18783        '''
18784         Unique human-readable name of the Resource.
18785        '''
18786        self.override_database = override_database if override_database is not None else False
18787        '''
18788         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
18789        '''
18790        self.password = password if password is not None else ''
18791        '''
18792         The password to authenticate with.
18793        '''
18794        self.port = port if port is not None else 0
18795        '''
18796         The port to dial to initiate a connection from the egress node to this resource.
18797        '''
18798        self.port_override = port_override if port_override is not None else 0
18799        '''
18800         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
18801        '''
18802        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
18803        '''
18804         ID of the proxy cluster for this resource, if any.
18805        '''
18806        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
18807        '''
18808         ID of the secret store containing credentials for this resource, if any.
18809        '''
18810        self.server_name = server_name if server_name is not None else ''
18811        '''
18812         Server name for TLS verification (unverified by StrongDM if empty)
18813        '''
18814        self.subdomain = subdomain if subdomain is not None else ''
18815        '''
18816         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
18817        '''
18818        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18819        '''
18820         Tags is a map of key, value pairs.
18821        '''
18822        self.username = username if username is not None else ''
18823        '''
18824         The username to authenticate with.
18825        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

ID 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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
18851    def to_dict(self):
18852        return {
18853            'bind_interface': self.bind_interface,
18854            'certificate_authority': self.certificate_authority,
18855            'client_certificate': self.client_certificate,
18856            'client_key': self.client_key,
18857            'database': self.database,
18858            'egress_filter': self.egress_filter,
18859            'healthy': self.healthy,
18860            'hostname': self.hostname,
18861            'id': self.id,
18862            'name': self.name,
18863            'override_database': self.override_database,
18864            'password': self.password,
18865            'port': self.port,
18866            'port_override': self.port_override,
18867            'proxy_cluster_id': self.proxy_cluster_id,
18868            'secret_store_id': self.secret_store_id,
18869            'server_name': self.server_name,
18870            'subdomain': self.subdomain,
18871            'tags': self.tags,
18872            'username': self.username,
18873        }
@classmethod
def from_dict(cls, d)
18875    @classmethod
18876    def from_dict(cls, d):
18877        return cls(
18878            bind_interface=d.get('bind_interface'),
18879            certificate_authority=d.get('certificate_authority'),
18880            client_certificate=d.get('client_certificate'),
18881            client_key=d.get('client_key'),
18882            database=d.get('database'),
18883            egress_filter=d.get('egress_filter'),
18884            healthy=d.get('healthy'),
18885            hostname=d.get('hostname'),
18886            id=d.get('id'),
18887            name=d.get('name'),
18888            override_database=d.get('override_database'),
18889            password=d.get('password'),
18890            port=d.get('port'),
18891            port_override=d.get('port_override'),
18892            proxy_cluster_id=d.get('proxy_cluster_id'),
18893            secret_store_id=d.get('secret_store_id'),
18894            server_name=d.get('server_name'),
18895            subdomain=d.get('subdomain'),
18896            tags=d.get('tags'),
18897            username=d.get('username'),
18898        )
class ManagedSecret:
18901class ManagedSecret:
18902    '''
18903         ManagedSecret contains details about managed secret
18904    '''
18905    __slots__ = [
18906        'config',
18907        'expires_at',
18908        'id',
18909        'last_rotated_at',
18910        'name',
18911        'policy',
18912        'secret_engine_id',
18913        'secret_store_path',
18914        'tags',
18915        'value',
18916    ]
18917
18918    def __init__(
18919        self,
18920        config=None,
18921        expires_at=None,
18922        id=None,
18923        last_rotated_at=None,
18924        name=None,
18925        policy=None,
18926        secret_engine_id=None,
18927        secret_store_path=None,
18928        tags=None,
18929        value=None,
18930    ):
18931        self.config = config if config is not None else ''
18932        '''
18933         public part of the secret value
18934        '''
18935        self.expires_at = expires_at if expires_at is not None else None
18936        '''
18937         Timestamp of when secret is going to be rotated
18938        '''
18939        self.id = id if id is not None else ''
18940        '''
18941         Unique identifier of the Managed Secret.
18942        '''
18943        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
18944        '''
18945         Timestamp of when secret was last rotated
18946        '''
18947        self.name = name if name is not None else ''
18948        '''
18949         Unique human-readable name of the Managed Secret.
18950        '''
18951        self.policy = policy if policy is not None else None
18952        '''
18953         Password and rotation policy for the secret
18954        '''
18955        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
18956        '''
18957         An ID of a Secret Engine linked with the Managed Secret.
18958        '''
18959        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
18960        '''
18961         Path in a secret store.
18962        '''
18963        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18964        '''
18965         Tags is a map of key, value pairs.
18966        '''
18967        self.value = value if value is not None else b''
18968        '''
18969         Sensitive value of the secret.
18970        '''
18971
18972    def __repr__(self):
18973        return '<sdm.ManagedSecret ' + \
18974            'config: ' + repr(self.config) + ' ' +\
18975            'expires_at: ' + repr(self.expires_at) + ' ' +\
18976            'id: ' + repr(self.id) + ' ' +\
18977            'last_rotated_at: ' + repr(self.last_rotated_at) + ' ' +\
18978            'name: ' + repr(self.name) + ' ' +\
18979            'policy: ' + repr(self.policy) + ' ' +\
18980            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
18981            'secret_store_path: ' + repr(self.secret_store_path) + ' ' +\
18982            'tags: ' + repr(self.tags) + ' ' +\
18983            'value: ' + repr(self.value) + ' ' +\
18984            '>'
18985
18986    def to_dict(self):
18987        return {
18988            'config': self.config,
18989            'expires_at': self.expires_at,
18990            'id': self.id,
18991            'last_rotated_at': self.last_rotated_at,
18992            'name': self.name,
18993            'policy': self.policy,
18994            'secret_engine_id': self.secret_engine_id,
18995            'secret_store_path': self.secret_store_path,
18996            'tags': self.tags,
18997            'value': self.value,
18998        }
18999
19000    @classmethod
19001    def from_dict(cls, d):
19002        return cls(
19003            config=d.get('config'),
19004            expires_at=d.get('expires_at'),
19005            id=d.get('id'),
19006            last_rotated_at=d.get('last_rotated_at'),
19007            name=d.get('name'),
19008            policy=d.get('policy'),
19009            secret_engine_id=d.get('secret_engine_id'),
19010            secret_store_path=d.get('secret_store_path'),
19011            tags=d.get('tags'),
19012            value=d.get('value'),
19013        )

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)
18918    def __init__(
18919        self,
18920        config=None,
18921        expires_at=None,
18922        id=None,
18923        last_rotated_at=None,
18924        name=None,
18925        policy=None,
18926        secret_engine_id=None,
18927        secret_store_path=None,
18928        tags=None,
18929        value=None,
18930    ):
18931        self.config = config if config is not None else ''
18932        '''
18933         public part of the secret value
18934        '''
18935        self.expires_at = expires_at if expires_at is not None else None
18936        '''
18937         Timestamp of when secret is going to be rotated
18938        '''
18939        self.id = id if id is not None else ''
18940        '''
18941         Unique identifier of the Managed Secret.
18942        '''
18943        self.last_rotated_at = last_rotated_at if last_rotated_at is not None else None
18944        '''
18945         Timestamp of when secret was last rotated
18946        '''
18947        self.name = name if name is not None else ''
18948        '''
18949         Unique human-readable name of the Managed Secret.
18950        '''
18951        self.policy = policy if policy is not None else None
18952        '''
18953         Password and rotation policy for the secret
18954        '''
18955        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
18956        '''
18957         An ID of a Secret Engine linked with the Managed Secret.
18958        '''
18959        self.secret_store_path = secret_store_path if secret_store_path is not None else ''
18960        '''
18961         Path in a secret store.
18962        '''
18963        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
18964        '''
18965         Tags is a map of key, value pairs.
18966        '''
18967        self.value = value if value is not None else b''
18968        '''
18969         Sensitive value of the secret.
18970        '''
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)
18986    def to_dict(self):
18987        return {
18988            'config': self.config,
18989            'expires_at': self.expires_at,
18990            'id': self.id,
18991            'last_rotated_at': self.last_rotated_at,
18992            'name': self.name,
18993            'policy': self.policy,
18994            'secret_engine_id': self.secret_engine_id,
18995            'secret_store_path': self.secret_store_path,
18996            'tags': self.tags,
18997            'value': self.value,
18998        }
@classmethod
def from_dict(cls, d)
19000    @classmethod
19001    def from_dict(cls, d):
19002        return cls(
19003            config=d.get('config'),
19004            expires_at=d.get('expires_at'),
19005            id=d.get('id'),
19006            last_rotated_at=d.get('last_rotated_at'),
19007            name=d.get('name'),
19008            policy=d.get('policy'),
19009            secret_engine_id=d.get('secret_engine_id'),
19010            secret_store_path=d.get('secret_store_path'),
19011            tags=d.get('tags'),
19012            value=d.get('value'),
19013        )
class ManagedSecretCreateRequest:
19016class ManagedSecretCreateRequest:
19017    '''
19018         ManagedSecretCreateRequest specifies a Managed Secret to create.
19019    '''
19020    __slots__ = [
19021        'managed_secret',
19022    ]
19023
19024    def __init__(
19025        self,
19026        managed_secret=None,
19027    ):
19028        self.managed_secret = managed_secret if managed_secret is not None else None
19029        '''
19030         Parameters to define the new Managed Secret.
19031        '''
19032
19033    def __repr__(self):
19034        return '<sdm.ManagedSecretCreateRequest ' + \
19035            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19036            '>'
19037
19038    def to_dict(self):
19039        return {
19040            'managed_secret': self.managed_secret,
19041        }
19042
19043    @classmethod
19044    def from_dict(cls, d):
19045        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretCreateRequest specifies a Managed Secret to create.

ManagedSecretCreateRequest(managed_secret=None)
19024    def __init__(
19025        self,
19026        managed_secret=None,
19027    ):
19028        self.managed_secret = managed_secret if managed_secret is not None else None
19029        '''
19030         Parameters to define the new Managed Secret.
19031        '''
managed_secret

Parameters to define the new Managed Secret.

def to_dict(self)
19038    def to_dict(self):
19039        return {
19040            'managed_secret': self.managed_secret,
19041        }
@classmethod
def from_dict(cls, d)
19043    @classmethod
19044    def from_dict(cls, d):
19045        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretCreateResponse:
19048class ManagedSecretCreateResponse:
19049    '''
19050         ManagedSecretCreateResponse contains information about a Managed Secret after
19051     successful creation.
19052    '''
19053    __slots__ = [
19054        'managed_secret',
19055        'meta',
19056        'rate_limit',
19057    ]
19058
19059    def __init__(
19060        self,
19061        managed_secret=None,
19062        meta=None,
19063        rate_limit=None,
19064    ):
19065        self.managed_secret = managed_secret if managed_secret is not None else None
19066        '''
19067         The requested Managed Secret.
19068        '''
19069        self.meta = meta if meta is not None else None
19070        '''
19071         Reserved for future use.
19072        '''
19073        self.rate_limit = rate_limit if rate_limit is not None else None
19074        '''
19075         Rate limit information.
19076        '''
19077
19078    def __repr__(self):
19079        return '<sdm.ManagedSecretCreateResponse ' + \
19080            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19081            'meta: ' + repr(self.meta) + ' ' +\
19082            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19083            '>'
19084
19085    def to_dict(self):
19086        return {
19087            'managed_secret': self.managed_secret,
19088            'meta': self.meta,
19089            'rate_limit': self.rate_limit,
19090        }
19091
19092    @classmethod
19093    def from_dict(cls, d):
19094        return cls(
19095            managed_secret=d.get('managed_secret'),
19096            meta=d.get('meta'),
19097            rate_limit=d.get('rate_limit'),
19098        )

ManagedSecretCreateResponse contains information about a Managed Secret after successful creation.

ManagedSecretCreateResponse(managed_secret=None, meta=None, rate_limit=None)
19059    def __init__(
19060        self,
19061        managed_secret=None,
19062        meta=None,
19063        rate_limit=None,
19064    ):
19065        self.managed_secret = managed_secret if managed_secret is not None else None
19066        '''
19067         The requested Managed Secret.
19068        '''
19069        self.meta = meta if meta is not None else None
19070        '''
19071         Reserved for future use.
19072        '''
19073        self.rate_limit = rate_limit if rate_limit is not None else None
19074        '''
19075         Rate limit information.
19076        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19085    def to_dict(self):
19086        return {
19087            'managed_secret': self.managed_secret,
19088            'meta': self.meta,
19089            'rate_limit': self.rate_limit,
19090        }
@classmethod
def from_dict(cls, d)
19092    @classmethod
19093    def from_dict(cls, d):
19094        return cls(
19095            managed_secret=d.get('managed_secret'),
19096            meta=d.get('meta'),
19097            rate_limit=d.get('rate_limit'),
19098        )
class ManagedSecretDeleteRequest:
19101class ManagedSecretDeleteRequest:
19102    '''
19103         ManagedSecretDeleteRequest specified the ID of a Managed Secret to be
19104     deleted.
19105    '''
19106    __slots__ = [
19107        'id',
19108    ]
19109
19110    def __init__(
19111        self,
19112        id=None,
19113    ):
19114        self.id = id if id is not None else ''
19115        '''
19116         The unique identifier of the Managed Secret to delete.
19117        '''
19118
19119    def __repr__(self):
19120        return '<sdm.ManagedSecretDeleteRequest ' + \
19121            'id: ' + repr(self.id) + ' ' +\
19122            '>'
19123
19124    def to_dict(self):
19125        return {
19126            'id': self.id,
19127        }
19128
19129    @classmethod
19130    def from_dict(cls, d):
19131        return cls(id=d.get('id'), )

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

ManagedSecretDeleteRequest(id=None)
19110    def __init__(
19111        self,
19112        id=None,
19113    ):
19114        self.id = id if id is not None else ''
19115        '''
19116         The unique identifier of the Managed Secret to delete.
19117        '''
id

The unique identifier of the Managed Secret to delete.

def to_dict(self)
19124    def to_dict(self):
19125        return {
19126            'id': self.id,
19127        }
@classmethod
def from_dict(cls, d)
19129    @classmethod
19130    def from_dict(cls, d):
19131        return cls(id=d.get('id'), )
class ManagedSecretDeleteResponse:
19134class ManagedSecretDeleteResponse:
19135    '''
19136         ManagedSecretDeleteResponse contains information about a Managed Secret after
19137     it was deleted.
19138    '''
19139    __slots__ = [
19140        'rate_limit',
19141    ]
19142
19143    def __init__(
19144        self,
19145        rate_limit=None,
19146    ):
19147        self.rate_limit = rate_limit if rate_limit is not None else None
19148        '''
19149         Rate limit information.
19150        '''
19151
19152    def __repr__(self):
19153        return '<sdm.ManagedSecretDeleteResponse ' + \
19154            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19155            '>'
19156
19157    def to_dict(self):
19158        return {
19159            'rate_limit': self.rate_limit,
19160        }
19161
19162    @classmethod
19163    def from_dict(cls, d):
19164        return cls(rate_limit=d.get('rate_limit'), )

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

ManagedSecretDeleteResponse(rate_limit=None)
19143    def __init__(
19144        self,
19145        rate_limit=None,
19146    ):
19147        self.rate_limit = rate_limit if rate_limit is not None else None
19148        '''
19149         Rate limit information.
19150        '''
rate_limit

Rate limit information.

def to_dict(self)
19157    def to_dict(self):
19158        return {
19159            'rate_limit': self.rate_limit,
19160        }
@classmethod
def from_dict(cls, d)
19162    @classmethod
19163    def from_dict(cls, d):
19164        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretGetRequest:
19167class ManagedSecretGetRequest:
19168    '''
19169         ManagedSecretGetRequest specifies which Managed Secret to retrieve
19170    '''
19171    __slots__ = [
19172        'id',
19173    ]
19174
19175    def __init__(
19176        self,
19177        id=None,
19178    ):
19179        self.id = id if id is not None else ''
19180        '''
19181         The unique identifier of the Managed Secret to retrieve.
19182        '''
19183
19184    def __repr__(self):
19185        return '<sdm.ManagedSecretGetRequest ' + \
19186            'id: ' + repr(self.id) + ' ' +\
19187            '>'
19188
19189    def to_dict(self):
19190        return {
19191            'id': self.id,
19192        }
19193
19194    @classmethod
19195    def from_dict(cls, d):
19196        return cls(id=d.get('id'), )

ManagedSecretGetRequest specifies which Managed Secret to retrieve

ManagedSecretGetRequest(id=None)
19175    def __init__(
19176        self,
19177        id=None,
19178    ):
19179        self.id = id if id is not None else ''
19180        '''
19181         The unique identifier of the Managed Secret to retrieve.
19182        '''
id

The unique identifier of the Managed Secret to retrieve.

def to_dict(self)
19189    def to_dict(self):
19190        return {
19191            'id': self.id,
19192        }
@classmethod
def from_dict(cls, d)
19194    @classmethod
19195    def from_dict(cls, d):
19196        return cls(id=d.get('id'), )
class ManagedSecretGetResponse:
19199class ManagedSecretGetResponse:
19200    '''
19201         ManagedSecretGetResponse contains information about requested Managed Secret
19202    '''
19203    __slots__ = [
19204        'managed_secret',
19205        'meta',
19206        'rate_limit',
19207    ]
19208
19209    def __init__(
19210        self,
19211        managed_secret=None,
19212        meta=None,
19213        rate_limit=None,
19214    ):
19215        self.managed_secret = managed_secret if managed_secret is not None else None
19216        '''
19217         The requested Managed Secret.
19218        '''
19219        self.meta = meta if meta is not None else None
19220        '''
19221         Reserved for future use.
19222        '''
19223        self.rate_limit = rate_limit if rate_limit is not None else None
19224        '''
19225         Rate limit information.
19226        '''
19227
19228    def __repr__(self):
19229        return '<sdm.ManagedSecretGetResponse ' + \
19230            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19231            'meta: ' + repr(self.meta) + ' ' +\
19232            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19233            '>'
19234
19235    def to_dict(self):
19236        return {
19237            'managed_secret': self.managed_secret,
19238            'meta': self.meta,
19239            'rate_limit': self.rate_limit,
19240        }
19241
19242    @classmethod
19243    def from_dict(cls, d):
19244        return cls(
19245            managed_secret=d.get('managed_secret'),
19246            meta=d.get('meta'),
19247            rate_limit=d.get('rate_limit'),
19248        )

ManagedSecretGetResponse contains information about requested Managed Secret

ManagedSecretGetResponse(managed_secret=None, meta=None, rate_limit=None)
19209    def __init__(
19210        self,
19211        managed_secret=None,
19212        meta=None,
19213        rate_limit=None,
19214    ):
19215        self.managed_secret = managed_secret if managed_secret is not None else None
19216        '''
19217         The requested Managed Secret.
19218        '''
19219        self.meta = meta if meta is not None else None
19220        '''
19221         Reserved for future use.
19222        '''
19223        self.rate_limit = rate_limit if rate_limit is not None else None
19224        '''
19225         Rate limit information.
19226        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19235    def to_dict(self):
19236        return {
19237            'managed_secret': self.managed_secret,
19238            'meta': self.meta,
19239            'rate_limit': self.rate_limit,
19240        }
@classmethod
def from_dict(cls, d)
19242    @classmethod
19243    def from_dict(cls, d):
19244        return cls(
19245            managed_secret=d.get('managed_secret'),
19246            meta=d.get('meta'),
19247            rate_limit=d.get('rate_limit'),
19248        )
class ManagedSecretListRequest:
19251class ManagedSecretListRequest:
19252    '''
19253         ManagedSecretListRequest specifies criteria for retrieving a list of Managed
19254     Secrets.
19255    '''
19256    __slots__ = [
19257        'filter',
19258    ]
19259
19260    def __init__(
19261        self,
19262        filter=None,
19263    ):
19264        self.filter = filter if filter is not None else ''
19265        '''
19266         A human-readable filter query string.
19267        '''
19268
19269    def __repr__(self):
19270        return '<sdm.ManagedSecretListRequest ' + \
19271            'filter: ' + repr(self.filter) + ' ' +\
19272            '>'
19273
19274    def to_dict(self):
19275        return {
19276            'filter': self.filter,
19277        }
19278
19279    @classmethod
19280    def from_dict(cls, d):
19281        return cls(filter=d.get('filter'), )

ManagedSecretListRequest specifies criteria for retrieving a list of Managed Secrets.

ManagedSecretListRequest(filter=None)
19260    def __init__(
19261        self,
19262        filter=None,
19263    ):
19264        self.filter = filter if filter is not None else ''
19265        '''
19266         A human-readable filter query string.
19267        '''
filter

A human-readable filter query string.

def to_dict(self)
19274    def to_dict(self):
19275        return {
19276            'filter': self.filter,
19277        }
@classmethod
def from_dict(cls, d)
19279    @classmethod
19280    def from_dict(cls, d):
19281        return cls(filter=d.get('filter'), )
class ManagedSecretListResponse:
19284class ManagedSecretListResponse:
19285    '''
19286         ManagedSecretListResponse contains a list of requested Managed Secrets
19287    '''
19288    __slots__ = [
19289        'rate_limit',
19290    ]
19291
19292    def __init__(
19293        self,
19294        rate_limit=None,
19295    ):
19296        self.rate_limit = rate_limit if rate_limit is not None else None
19297        '''
19298         Rate limit information.
19299        '''
19300
19301    def __repr__(self):
19302        return '<sdm.ManagedSecretListResponse ' + \
19303            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19304            '>'
19305
19306    def to_dict(self):
19307        return {
19308            'rate_limit': self.rate_limit,
19309        }
19310
19311    @classmethod
19312    def from_dict(cls, d):
19313        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretListResponse contains a list of requested Managed Secrets

ManagedSecretListResponse(rate_limit=None)
19292    def __init__(
19293        self,
19294        rate_limit=None,
19295    ):
19296        self.rate_limit = rate_limit if rate_limit is not None else None
19297        '''
19298         Rate limit information.
19299        '''
rate_limit

Rate limit information.

def to_dict(self)
19306    def to_dict(self):
19307        return {
19308            'rate_limit': self.rate_limit,
19309        }
@classmethod
def from_dict(cls, d)
19311    @classmethod
19312    def from_dict(cls, d):
19313        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretLog:
19316class ManagedSecretLog:
19317    '''
19318         ManagedSecretLog contains details about action performed against a managed
19319     secret
19320    '''
19321    __slots__ = [
19322        'account_id',
19323        'action',
19324        'created_at',
19325        'debug',
19326        'id',
19327        'managed_secret_id',
19328        'secret_engine_id',
19329    ]
19330
19331    def __init__(
19332        self,
19333        account_id=None,
19334        action=None,
19335        created_at=None,
19336        debug=None,
19337        id=None,
19338        managed_secret_id=None,
19339        secret_engine_id=None,
19340    ):
19341        self.account_id = account_id if account_id is not None else ''
19342        '''
19343         An ID of the account the action was performed by.
19344        '''
19345        self.action = action if action is not None else ''
19346        '''
19347         The action performed by the account against the managed secret.
19348        '''
19349        self.created_at = created_at if created_at is not None else None
19350        '''
19351         Timestamp of when action was performed.
19352        '''
19353        self.debug = debug if debug is not None else ''
19354        '''
19355         Any debug logs associated with the action.
19356        '''
19357        self.id = id if id is not None else ''
19358        '''
19359         Unique identifier of the Managed Secret Log.
19360        '''
19361        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
19362        '''
19363         An ID of the Managed Secret the action was performed against.
19364        '''
19365        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
19366        '''
19367         An ID of the Secret Engine linked with the Managed Secret.
19368        '''
19369
19370    def __repr__(self):
19371        return '<sdm.ManagedSecretLog ' + \
19372            'account_id: ' + repr(self.account_id) + ' ' +\
19373            'action: ' + repr(self.action) + ' ' +\
19374            'created_at: ' + repr(self.created_at) + ' ' +\
19375            'debug: ' + repr(self.debug) + ' ' +\
19376            'id: ' + repr(self.id) + ' ' +\
19377            'managed_secret_id: ' + repr(self.managed_secret_id) + ' ' +\
19378            'secret_engine_id: ' + repr(self.secret_engine_id) + ' ' +\
19379            '>'
19380
19381    def to_dict(self):
19382        return {
19383            'account_id': self.account_id,
19384            'action': self.action,
19385            'created_at': self.created_at,
19386            'debug': self.debug,
19387            'id': self.id,
19388            'managed_secret_id': self.managed_secret_id,
19389            'secret_engine_id': self.secret_engine_id,
19390        }
19391
19392    @classmethod
19393    def from_dict(cls, d):
19394        return cls(
19395            account_id=d.get('account_id'),
19396            action=d.get('action'),
19397            created_at=d.get('created_at'),
19398            debug=d.get('debug'),
19399            id=d.get('id'),
19400            managed_secret_id=d.get('managed_secret_id'),
19401            secret_engine_id=d.get('secret_engine_id'),
19402        )

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)
19331    def __init__(
19332        self,
19333        account_id=None,
19334        action=None,
19335        created_at=None,
19336        debug=None,
19337        id=None,
19338        managed_secret_id=None,
19339        secret_engine_id=None,
19340    ):
19341        self.account_id = account_id if account_id is not None else ''
19342        '''
19343         An ID of the account the action was performed by.
19344        '''
19345        self.action = action if action is not None else ''
19346        '''
19347         The action performed by the account against the managed secret.
19348        '''
19349        self.created_at = created_at if created_at is not None else None
19350        '''
19351         Timestamp of when action was performed.
19352        '''
19353        self.debug = debug if debug is not None else ''
19354        '''
19355         Any debug logs associated with the action.
19356        '''
19357        self.id = id if id is not None else ''
19358        '''
19359         Unique identifier of the Managed Secret Log.
19360        '''
19361        self.managed_secret_id = managed_secret_id if managed_secret_id is not None else ''
19362        '''
19363         An ID of the Managed Secret the action was performed against.
19364        '''
19365        self.secret_engine_id = secret_engine_id if secret_engine_id is not None else ''
19366        '''
19367         An ID of the Secret Engine linked with the Managed Secret.
19368        '''
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)
19381    def to_dict(self):
19382        return {
19383            'account_id': self.account_id,
19384            'action': self.action,
19385            'created_at': self.created_at,
19386            'debug': self.debug,
19387            'id': self.id,
19388            'managed_secret_id': self.managed_secret_id,
19389            'secret_engine_id': self.secret_engine_id,
19390        }
@classmethod
def from_dict(cls, d)
19392    @classmethod
19393    def from_dict(cls, d):
19394        return cls(
19395            account_id=d.get('account_id'),
19396            action=d.get('action'),
19397            created_at=d.get('created_at'),
19398            debug=d.get('debug'),
19399            id=d.get('id'),
19400            managed_secret_id=d.get('managed_secret_id'),
19401            secret_engine_id=d.get('secret_engine_id'),
19402        )
class ManagedSecretLogsRequest:
19405class ManagedSecretLogsRequest:
19406    '''
19407         ManagedSecretLogsRequest specifies criteria for retrieving a log of Managed
19408     Secrets actions.
19409    '''
19410    __slots__ = [
19411        'filter',
19412    ]
19413
19414    def __init__(
19415        self,
19416        filter=None,
19417    ):
19418        self.filter = filter if filter is not None else ''
19419        '''
19420         A human-readable filter query string.
19421        '''
19422
19423    def __repr__(self):
19424        return '<sdm.ManagedSecretLogsRequest ' + \
19425            'filter: ' + repr(self.filter) + ' ' +\
19426            '>'
19427
19428    def to_dict(self):
19429        return {
19430            'filter': self.filter,
19431        }
19432
19433    @classmethod
19434    def from_dict(cls, d):
19435        return cls(filter=d.get('filter'), )

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

ManagedSecretLogsRequest(filter=None)
19414    def __init__(
19415        self,
19416        filter=None,
19417    ):
19418        self.filter = filter if filter is not None else ''
19419        '''
19420         A human-readable filter query string.
19421        '''
filter

A human-readable filter query string.

def to_dict(self)
19428    def to_dict(self):
19429        return {
19430            'filter': self.filter,
19431        }
@classmethod
def from_dict(cls, d)
19433    @classmethod
19434    def from_dict(cls, d):
19435        return cls(filter=d.get('filter'), )
class ManagedSecretLogsResponse:
19438class ManagedSecretLogsResponse:
19439    '''
19440         ManagedSecretLogsResponse contains a list of requested Managed Secrets
19441    '''
19442    __slots__ = [
19443        'rate_limit',
19444    ]
19445
19446    def __init__(
19447        self,
19448        rate_limit=None,
19449    ):
19450        self.rate_limit = rate_limit if rate_limit is not None else None
19451        '''
19452         Rate limit information.
19453        '''
19454
19455    def __repr__(self):
19456        return '<sdm.ManagedSecretLogsResponse ' + \
19457            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19458            '>'
19459
19460    def to_dict(self):
19461        return {
19462            'rate_limit': self.rate_limit,
19463        }
19464
19465    @classmethod
19466    def from_dict(cls, d):
19467        return cls(rate_limit=d.get('rate_limit'), )

ManagedSecretLogsResponse contains a list of requested Managed Secrets

ManagedSecretLogsResponse(rate_limit=None)
19446    def __init__(
19447        self,
19448        rate_limit=None,
19449    ):
19450        self.rate_limit = rate_limit if rate_limit is not None else None
19451        '''
19452         Rate limit information.
19453        '''
rate_limit

Rate limit information.

def to_dict(self)
19460    def to_dict(self):
19461        return {
19462            'rate_limit': self.rate_limit,
19463        }
@classmethod
def from_dict(cls, d)
19465    @classmethod
19466    def from_dict(cls, d):
19467        return cls(rate_limit=d.get('rate_limit'), )
class ManagedSecretPasswordPolicy:
19470class ManagedSecretPasswordPolicy:
19471    __slots__ = [
19472        'allow_repeat',
19473        'exclude_characters',
19474        'exclude_upper_case',
19475        'length',
19476        'num_digits',
19477        'num_symbols',
19478    ]
19479
19480    def __init__(
19481        self,
19482        allow_repeat=None,
19483        exclude_characters=None,
19484        exclude_upper_case=None,
19485        length=None,
19486        num_digits=None,
19487        num_symbols=None,
19488    ):
19489        self.allow_repeat = allow_repeat if allow_repeat is not None else False
19490        '''
19491         If set to true allows for consecutive characters to repeat itself
19492        '''
19493        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
19494        '''
19495         Characters to exclude when generating password
19496        '''
19497        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
19498        '''
19499         If set to true do not include upper case letters when generating password
19500        '''
19501        self.length = length if length is not None else 0
19502        '''
19503         Password length
19504        '''
19505        self.num_digits = num_digits if num_digits is not None else 0
19506        '''
19507         Numbers of digits to use when generating password
19508        '''
19509        self.num_symbols = num_symbols if num_symbols is not None else 0
19510        '''
19511         Number of symbols to use when generating password
19512        '''
19513
19514    def __repr__(self):
19515        return '<sdm.ManagedSecretPasswordPolicy ' + \
19516            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
19517            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
19518            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
19519            'length: ' + repr(self.length) + ' ' +\
19520            'num_digits: ' + repr(self.num_digits) + ' ' +\
19521            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
19522            '>'
19523
19524    def to_dict(self):
19525        return {
19526            'allow_repeat': self.allow_repeat,
19527            'exclude_characters': self.exclude_characters,
19528            'exclude_upper_case': self.exclude_upper_case,
19529            'length': self.length,
19530            'num_digits': self.num_digits,
19531            'num_symbols': self.num_symbols,
19532        }
19533
19534    @classmethod
19535    def from_dict(cls, d):
19536        return cls(
19537            allow_repeat=d.get('allow_repeat'),
19538            exclude_characters=d.get('exclude_characters'),
19539            exclude_upper_case=d.get('exclude_upper_case'),
19540            length=d.get('length'),
19541            num_digits=d.get('num_digits'),
19542            num_symbols=d.get('num_symbols'),
19543        )
ManagedSecretPasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
19480    def __init__(
19481        self,
19482        allow_repeat=None,
19483        exclude_characters=None,
19484        exclude_upper_case=None,
19485        length=None,
19486        num_digits=None,
19487        num_symbols=None,
19488    ):
19489        self.allow_repeat = allow_repeat if allow_repeat is not None else False
19490        '''
19491         If set to true allows for consecutive characters to repeat itself
19492        '''
19493        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
19494        '''
19495         Characters to exclude when generating password
19496        '''
19497        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
19498        '''
19499         If set to true do not include upper case letters when generating password
19500        '''
19501        self.length = length if length is not None else 0
19502        '''
19503         Password length
19504        '''
19505        self.num_digits = num_digits if num_digits is not None else 0
19506        '''
19507         Numbers of digits to use when generating password
19508        '''
19509        self.num_symbols = num_symbols if num_symbols is not None else 0
19510        '''
19511         Number of symbols to use when generating password
19512        '''
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)
19524    def to_dict(self):
19525        return {
19526            'allow_repeat': self.allow_repeat,
19527            'exclude_characters': self.exclude_characters,
19528            'exclude_upper_case': self.exclude_upper_case,
19529            'length': self.length,
19530            'num_digits': self.num_digits,
19531            'num_symbols': self.num_symbols,
19532        }
@classmethod
def from_dict(cls, d)
19534    @classmethod
19535    def from_dict(cls, d):
19536        return cls(
19537            allow_repeat=d.get('allow_repeat'),
19538            exclude_characters=d.get('exclude_characters'),
19539            exclude_upper_case=d.get('exclude_upper_case'),
19540            length=d.get('length'),
19541            num_digits=d.get('num_digits'),
19542            num_symbols=d.get('num_symbols'),
19543        )
class ManagedSecretPolicy:
19546class ManagedSecretPolicy:
19547    '''
19548         ManagedSecretPolicy contains password and rotation policy for managed secret
19549    '''
19550    __slots__ = [
19551        'password_policy',
19552        'rotation_policy',
19553    ]
19554
19555    def __init__(
19556        self,
19557        password_policy=None,
19558        rotation_policy=None,
19559    ):
19560        self.password_policy = password_policy if password_policy is not None else None
19561        '''
19562         Password policy for a managed secret
19563        '''
19564        self.rotation_policy = rotation_policy if rotation_policy is not None else None
19565        '''
19566         Rotation policy for a managed secret
19567        '''
19568
19569    def __repr__(self):
19570        return '<sdm.ManagedSecretPolicy ' + \
19571            'password_policy: ' + repr(self.password_policy) + ' ' +\
19572            'rotation_policy: ' + repr(self.rotation_policy) + ' ' +\
19573            '>'
19574
19575    def to_dict(self):
19576        return {
19577            'password_policy': self.password_policy,
19578            'rotation_policy': self.rotation_policy,
19579        }
19580
19581    @classmethod
19582    def from_dict(cls, d):
19583        return cls(
19584            password_policy=d.get('password_policy'),
19585            rotation_policy=d.get('rotation_policy'),
19586        )

ManagedSecretPolicy contains password and rotation policy for managed secret

ManagedSecretPolicy(password_policy=None, rotation_policy=None)
19555    def __init__(
19556        self,
19557        password_policy=None,
19558        rotation_policy=None,
19559    ):
19560        self.password_policy = password_policy if password_policy is not None else None
19561        '''
19562         Password policy for a managed secret
19563        '''
19564        self.rotation_policy = rotation_policy if rotation_policy is not None else None
19565        '''
19566         Rotation policy for a managed secret
19567        '''
password_policy

Password policy for a managed secret

rotation_policy

Rotation policy for a managed secret

def to_dict(self)
19575    def to_dict(self):
19576        return {
19577            'password_policy': self.password_policy,
19578            'rotation_policy': self.rotation_policy,
19579        }
@classmethod
def from_dict(cls, d)
19581    @classmethod
19582    def from_dict(cls, d):
19583        return cls(
19584            password_policy=d.get('password_policy'),
19585            rotation_policy=d.get('rotation_policy'),
19586        )
class ManagedSecretRetrieveRequest:
19589class ManagedSecretRetrieveRequest:
19590    '''
19591         ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve
19592    '''
19593    __slots__ = [
19594        'id',
19595        'public_key',
19596    ]
19597
19598    def __init__(
19599        self,
19600        id=None,
19601        public_key=None,
19602    ):
19603        self.id = id if id is not None else ''
19604        '''
19605         The unique identifier of the Managed Secret to retrieve.
19606        '''
19607        self.public_key = public_key if public_key is not None else b''
19608        '''
19609         Public key to encrypt a sensitive value with
19610        '''
19611
19612    def __repr__(self):
19613        return '<sdm.ManagedSecretRetrieveRequest ' + \
19614            'id: ' + repr(self.id) + ' ' +\
19615            'public_key: ' + repr(self.public_key) + ' ' +\
19616            '>'
19617
19618    def to_dict(self):
19619        return {
19620            'id': self.id,
19621            'public_key': self.public_key,
19622        }
19623
19624    @classmethod
19625    def from_dict(cls, d):
19626        return cls(
19627            id=d.get('id'),
19628            public_key=d.get('public_key'),
19629        )

ManagedSecretRetrieveRequest specifies which Managed Secret to retrieve

ManagedSecretRetrieveRequest(id=None, public_key=None)
19598    def __init__(
19599        self,
19600        id=None,
19601        public_key=None,
19602    ):
19603        self.id = id if id is not None else ''
19604        '''
19605         The unique identifier of the Managed Secret to retrieve.
19606        '''
19607        self.public_key = public_key if public_key is not None else b''
19608        '''
19609         Public key to encrypt a sensitive value with
19610        '''
id

The unique identifier of the Managed Secret to retrieve.

public_key

Public key to encrypt a sensitive value with

def to_dict(self)
19618    def to_dict(self):
19619        return {
19620            'id': self.id,
19621            'public_key': self.public_key,
19622        }
@classmethod
def from_dict(cls, d)
19624    @classmethod
19625    def from_dict(cls, d):
19626        return cls(
19627            id=d.get('id'),
19628            public_key=d.get('public_key'),
19629        )
class ManagedSecretRetrieveResponse:
19632class ManagedSecretRetrieveResponse:
19633    '''
19634         ManagedSecretRetrieveResponse contains information about requested Managed
19635     Secret
19636    '''
19637    __slots__ = [
19638        'managed_secret',
19639        'meta',
19640        'rate_limit',
19641    ]
19642
19643    def __init__(
19644        self,
19645        managed_secret=None,
19646        meta=None,
19647        rate_limit=None,
19648    ):
19649        self.managed_secret = managed_secret if managed_secret is not None else None
19650        '''
19651         The requested Managed Secret.
19652        '''
19653        self.meta = meta if meta is not None else None
19654        '''
19655         Reserved for future use.
19656        '''
19657        self.rate_limit = rate_limit if rate_limit is not None else None
19658        '''
19659         Rate limit information.
19660        '''
19661
19662    def __repr__(self):
19663        return '<sdm.ManagedSecretRetrieveResponse ' + \
19664            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19665            'meta: ' + repr(self.meta) + ' ' +\
19666            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19667            '>'
19668
19669    def to_dict(self):
19670        return {
19671            'managed_secret': self.managed_secret,
19672            'meta': self.meta,
19673            'rate_limit': self.rate_limit,
19674        }
19675
19676    @classmethod
19677    def from_dict(cls, d):
19678        return cls(
19679            managed_secret=d.get('managed_secret'),
19680            meta=d.get('meta'),
19681            rate_limit=d.get('rate_limit'),
19682        )

ManagedSecretRetrieveResponse contains information about requested Managed Secret

ManagedSecretRetrieveResponse(managed_secret=None, meta=None, rate_limit=None)
19643    def __init__(
19644        self,
19645        managed_secret=None,
19646        meta=None,
19647        rate_limit=None,
19648    ):
19649        self.managed_secret = managed_secret if managed_secret is not None else None
19650        '''
19651         The requested Managed Secret.
19652        '''
19653        self.meta = meta if meta is not None else None
19654        '''
19655         Reserved for future use.
19656        '''
19657        self.rate_limit = rate_limit if rate_limit is not None else None
19658        '''
19659         Rate limit information.
19660        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19669    def to_dict(self):
19670        return {
19671            'managed_secret': self.managed_secret,
19672            'meta': self.meta,
19673            'rate_limit': self.rate_limit,
19674        }
@classmethod
def from_dict(cls, d)
19676    @classmethod
19677    def from_dict(cls, d):
19678        return cls(
19679            managed_secret=d.get('managed_secret'),
19680            meta=d.get('meta'),
19681            rate_limit=d.get('rate_limit'),
19682        )
class ManagedSecretRotateRequest:
19685class ManagedSecretRotateRequest:
19686    '''
19687         ManagedSecretRotateRequest specifies Managed Secret to rotate
19688    '''
19689    __slots__ = [
19690        'id',
19691    ]
19692
19693    def __init__(
19694        self,
19695        id=None,
19696    ):
19697        self.id = id if id is not None else ''
19698        '''
19699         The unique identifier of the Managed Secret to rotate.
19700        '''
19701
19702    def __repr__(self):
19703        return '<sdm.ManagedSecretRotateRequest ' + \
19704            'id: ' + repr(self.id) + ' ' +\
19705            '>'
19706
19707    def to_dict(self):
19708        return {
19709            'id': self.id,
19710        }
19711
19712    @classmethod
19713    def from_dict(cls, d):
19714        return cls(id=d.get('id'), )

ManagedSecretRotateRequest specifies Managed Secret to rotate

ManagedSecretRotateRequest(id=None)
19693    def __init__(
19694        self,
19695        id=None,
19696    ):
19697        self.id = id if id is not None else ''
19698        '''
19699         The unique identifier of the Managed Secret to rotate.
19700        '''
id

The unique identifier of the Managed Secret to rotate.

def to_dict(self)
19707    def to_dict(self):
19708        return {
19709            'id': self.id,
19710        }
@classmethod
def from_dict(cls, d)
19712    @classmethod
19713    def from_dict(cls, d):
19714        return cls(id=d.get('id'), )
class ManagedSecretRotateResponse:
19717class ManagedSecretRotateResponse:
19718    '''
19719         ManagedSecretRotateResponse contains information about Secret Engine after
19720     successful rotation.
19721    '''
19722    __slots__ = [
19723        'meta',
19724        'rate_limit',
19725    ]
19726
19727    def __init__(
19728        self,
19729        meta=None,
19730        rate_limit=None,
19731    ):
19732        self.meta = meta if meta is not None else None
19733        '''
19734         Reserved for future use.
19735        '''
19736        self.rate_limit = rate_limit if rate_limit is not None else None
19737        '''
19738         Rate limit information.
19739        '''
19740
19741    def __repr__(self):
19742        return '<sdm.ManagedSecretRotateResponse ' + \
19743            'meta: ' + repr(self.meta) + ' ' +\
19744            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19745            '>'
19746
19747    def to_dict(self):
19748        return {
19749            'meta': self.meta,
19750            'rate_limit': self.rate_limit,
19751        }
19752
19753    @classmethod
19754    def from_dict(cls, d):
19755        return cls(
19756            meta=d.get('meta'),
19757            rate_limit=d.get('rate_limit'),
19758        )

ManagedSecretRotateResponse contains information about Secret Engine after successful rotation.

ManagedSecretRotateResponse(meta=None, rate_limit=None)
19727    def __init__(
19728        self,
19729        meta=None,
19730        rate_limit=None,
19731    ):
19732        self.meta = meta if meta is not None else None
19733        '''
19734         Reserved for future use.
19735        '''
19736        self.rate_limit = rate_limit if rate_limit is not None else None
19737        '''
19738         Rate limit information.
19739        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19747    def to_dict(self):
19748        return {
19749            'meta': self.meta,
19750            'rate_limit': self.rate_limit,
19751        }
@classmethod
def from_dict(cls, d)
19753    @classmethod
19754    def from_dict(cls, d):
19755        return cls(
19756            meta=d.get('meta'),
19757            rate_limit=d.get('rate_limit'),
19758        )
class ManagedSecretRotationPolicy:
19761class ManagedSecretRotationPolicy:
19762    __slots__ = []
19763
19764    def __init__(self, ):
19765        pass
19766
19767    def __repr__(self):
19768        return '<sdm.ManagedSecretRotationPolicy ' + \
19769            '>'
19770
19771    def to_dict(self):
19772        return {}
19773
19774    @classmethod
19775    def from_dict(cls, d):
19776        return cls()
ManagedSecretRotationPolicy()
19764    def __init__(self, ):
19765        pass
def to_dict(self)
19771    def to_dict(self):
19772        return {}
@classmethod
def from_dict(cls, d)
19774    @classmethod
19775    def from_dict(cls, d):
19776        return cls()
class ManagedSecretUpdateRequest:
19779class ManagedSecretUpdateRequest:
19780    '''
19781         ManagedSecretUpdateRequest specifies Managed Secret to update
19782    '''
19783    __slots__ = [
19784        'managed_secret',
19785    ]
19786
19787    def __init__(
19788        self,
19789        managed_secret=None,
19790    ):
19791        self.managed_secret = managed_secret if managed_secret is not None else None
19792        '''
19793         Managed Secret to update
19794        '''
19795
19796    def __repr__(self):
19797        return '<sdm.ManagedSecretUpdateRequest ' + \
19798            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19799            '>'
19800
19801    def to_dict(self):
19802        return {
19803            'managed_secret': self.managed_secret,
19804        }
19805
19806    @classmethod
19807    def from_dict(cls, d):
19808        return cls(managed_secret=d.get('managed_secret'), )

ManagedSecretUpdateRequest specifies Managed Secret to update

ManagedSecretUpdateRequest(managed_secret=None)
19787    def __init__(
19788        self,
19789        managed_secret=None,
19790    ):
19791        self.managed_secret = managed_secret if managed_secret is not None else None
19792        '''
19793         Managed Secret to update
19794        '''
managed_secret

Managed Secret to update

def to_dict(self)
19801    def to_dict(self):
19802        return {
19803            'managed_secret': self.managed_secret,
19804        }
@classmethod
def from_dict(cls, d)
19806    @classmethod
19807    def from_dict(cls, d):
19808        return cls(managed_secret=d.get('managed_secret'), )
class ManagedSecretUpdateResponse:
19811class ManagedSecretUpdateResponse:
19812    '''
19813         ManagedSecretUpdateResponse contains information about Secret Engine after
19814     successful update.
19815    '''
19816    __slots__ = [
19817        'managed_secret',
19818        'meta',
19819        'rate_limit',
19820    ]
19821
19822    def __init__(
19823        self,
19824        managed_secret=None,
19825        meta=None,
19826        rate_limit=None,
19827    ):
19828        self.managed_secret = managed_secret if managed_secret is not None else None
19829        '''
19830         The requested Managed Secret.
19831        '''
19832        self.meta = meta if meta is not None else None
19833        '''
19834         Reserved for future use.
19835        '''
19836        self.rate_limit = rate_limit if rate_limit is not None else None
19837        '''
19838         Rate limit information.
19839        '''
19840
19841    def __repr__(self):
19842        return '<sdm.ManagedSecretUpdateResponse ' + \
19843            'managed_secret: ' + repr(self.managed_secret) + ' ' +\
19844            'meta: ' + repr(self.meta) + ' ' +\
19845            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19846            '>'
19847
19848    def to_dict(self):
19849        return {
19850            'managed_secret': self.managed_secret,
19851            'meta': self.meta,
19852            'rate_limit': self.rate_limit,
19853        }
19854
19855    @classmethod
19856    def from_dict(cls, d):
19857        return cls(
19858            managed_secret=d.get('managed_secret'),
19859            meta=d.get('meta'),
19860            rate_limit=d.get('rate_limit'),
19861        )

ManagedSecretUpdateResponse contains information about Secret Engine after successful update.

ManagedSecretUpdateResponse(managed_secret=None, meta=None, rate_limit=None)
19822    def __init__(
19823        self,
19824        managed_secret=None,
19825        meta=None,
19826        rate_limit=None,
19827    ):
19828        self.managed_secret = managed_secret if managed_secret is not None else None
19829        '''
19830         The requested Managed Secret.
19831        '''
19832        self.meta = meta if meta is not None else None
19833        '''
19834         Reserved for future use.
19835        '''
19836        self.rate_limit = rate_limit if rate_limit is not None else None
19837        '''
19838         Rate limit information.
19839        '''
managed_secret

The requested Managed Secret.

meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
19848    def to_dict(self):
19849        return {
19850            'managed_secret': self.managed_secret,
19851            'meta': self.meta,
19852            'rate_limit': self.rate_limit,
19853        }
@classmethod
def from_dict(cls, d)
19855    @classmethod
19856    def from_dict(cls, d):
19857        return cls(
19858            managed_secret=d.get('managed_secret'),
19859            meta=d.get('meta'),
19860            rate_limit=d.get('rate_limit'),
19861        )
class ManagedSecretValidateRequest:
19864class ManagedSecretValidateRequest:
19865    '''
19866         ManagedSecretValidateRequest specifies which Managed Secret to validate
19867    '''
19868    __slots__ = [
19869        'id',
19870    ]
19871
19872    def __init__(
19873        self,
19874        id=None,
19875    ):
19876        self.id = id if id is not None else ''
19877        '''
19878         The unique identifier of the Managed Secret to validate.
19879        '''
19880
19881    def __repr__(self):
19882        return '<sdm.ManagedSecretValidateRequest ' + \
19883            'id: ' + repr(self.id) + ' ' +\
19884            '>'
19885
19886    def to_dict(self):
19887        return {
19888            'id': self.id,
19889        }
19890
19891    @classmethod
19892    def from_dict(cls, d):
19893        return cls(id=d.get('id'), )

ManagedSecretValidateRequest specifies which Managed Secret to validate

ManagedSecretValidateRequest(id=None)
19872    def __init__(
19873        self,
19874        id=None,
19875    ):
19876        self.id = id if id is not None else ''
19877        '''
19878         The unique identifier of the Managed Secret to validate.
19879        '''
id

The unique identifier of the Managed Secret to validate.

def to_dict(self)
19886    def to_dict(self):
19887        return {
19888            'id': self.id,
19889        }
@classmethod
def from_dict(cls, d)
19891    @classmethod
19892    def from_dict(cls, d):
19893        return cls(id=d.get('id'), )
class ManagedSecretValidateResponse:
19896class ManagedSecretValidateResponse:
19897    '''
19898         ManagedSecretValidateResponse contains validity of requested Managed
19899     Secret
19900    '''
19901    __slots__ = [
19902        'invalid_info',
19903        'meta',
19904        'rate_limit',
19905        'valid',
19906    ]
19907
19908    def __init__(
19909        self,
19910        invalid_info=None,
19911        meta=None,
19912        rate_limit=None,
19913        valid=None,
19914    ):
19915        self.invalid_info = invalid_info if invalid_info is not None else ''
19916        '''
19917         Information about why secret is invalid
19918        '''
19919        self.meta = meta if meta is not None else None
19920        '''
19921         Reserved for future use.
19922        '''
19923        self.rate_limit = rate_limit if rate_limit is not None else None
19924        '''
19925         Rate limit information.
19926        '''
19927        self.valid = valid if valid is not None else False
19928        '''
19929         Whether the secret is valid
19930        '''
19931
19932    def __repr__(self):
19933        return '<sdm.ManagedSecretValidateResponse ' + \
19934            'invalid_info: ' + repr(self.invalid_info) + ' ' +\
19935            'meta: ' + repr(self.meta) + ' ' +\
19936            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
19937            'valid: ' + repr(self.valid) + ' ' +\
19938            '>'
19939
19940    def to_dict(self):
19941        return {
19942            'invalid_info': self.invalid_info,
19943            'meta': self.meta,
19944            'rate_limit': self.rate_limit,
19945            'valid': self.valid,
19946        }
19947
19948    @classmethod
19949    def from_dict(cls, d):
19950        return cls(
19951            invalid_info=d.get('invalid_info'),
19952            meta=d.get('meta'),
19953            rate_limit=d.get('rate_limit'),
19954            valid=d.get('valid'),
19955        )

ManagedSecretValidateResponse contains validity of requested Managed Secret

ManagedSecretValidateResponse(invalid_info=None, meta=None, rate_limit=None, valid=None)
19908    def __init__(
19909        self,
19910        invalid_info=None,
19911        meta=None,
19912        rate_limit=None,
19913        valid=None,
19914    ):
19915        self.invalid_info = invalid_info if invalid_info is not None else ''
19916        '''
19917         Information about why secret is invalid
19918        '''
19919        self.meta = meta if meta is not None else None
19920        '''
19921         Reserved for future use.
19922        '''
19923        self.rate_limit = rate_limit if rate_limit is not None else None
19924        '''
19925         Rate limit information.
19926        '''
19927        self.valid = valid if valid is not None else False
19928        '''
19929         Whether the secret is valid
19930        '''
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)
19940    def to_dict(self):
19941        return {
19942            'invalid_info': self.invalid_info,
19943            'meta': self.meta,
19944            'rate_limit': self.rate_limit,
19945            'valid': self.valid,
19946        }
@classmethod
def from_dict(cls, d)
19948    @classmethod
19949    def from_dict(cls, d):
19950        return cls(
19951            invalid_info=d.get('invalid_info'),
19952            meta=d.get('meta'),
19953            rate_limit=d.get('rate_limit'),
19954            valid=d.get('valid'),
19955        )
class Maria:
19958class Maria:
19959    __slots__ = [
19960        'bind_interface',
19961        'database',
19962        'egress_filter',
19963        'healthy',
19964        'hostname',
19965        'id',
19966        'name',
19967        'password',
19968        'port',
19969        'port_override',
19970        'proxy_cluster_id',
19971        'require_native_auth',
19972        'secret_store_id',
19973        'subdomain',
19974        'tags',
19975        'use_azure_single_server_usernames',
19976        'username',
19977    ]
19978
19979    def __init__(
19980        self,
19981        bind_interface=None,
19982        database=None,
19983        egress_filter=None,
19984        healthy=None,
19985        hostname=None,
19986        id=None,
19987        name=None,
19988        password=None,
19989        port=None,
19990        port_override=None,
19991        proxy_cluster_id=None,
19992        require_native_auth=None,
19993        secret_store_id=None,
19994        subdomain=None,
19995        tags=None,
19996        use_azure_single_server_usernames=None,
19997        username=None,
19998    ):
19999        self.bind_interface = bind_interface if bind_interface is not None else ''
20000        '''
20001         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20002        '''
20003        self.database = database if database is not None else ''
20004        '''
20005         The database for healthchecks. Does not affect client requests.
20006        '''
20007        self.egress_filter = egress_filter if egress_filter is not None else ''
20008        '''
20009         A filter applied to the routing logic to pin datasource to nodes.
20010        '''
20011        self.healthy = healthy if healthy is not None else False
20012        '''
20013         True if the datasource is reachable and the credentials are valid.
20014        '''
20015        self.hostname = hostname if hostname is not None else ''
20016        '''
20017         The host to dial to initiate a connection from the egress node to this resource.
20018        '''
20019        self.id = id if id is not None else ''
20020        '''
20021         Unique identifier of the Resource.
20022        '''
20023        self.name = name if name is not None else ''
20024        '''
20025         Unique human-readable name of the Resource.
20026        '''
20027        self.password = password if password is not None else ''
20028        '''
20029         The password to authenticate with.
20030        '''
20031        self.port = port if port is not None else 0
20032        '''
20033         The port to dial to initiate a connection from the egress node to this resource.
20034        '''
20035        self.port_override = port_override if port_override is not None else 0
20036        '''
20037         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20038        '''
20039        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20040        '''
20041         ID of the proxy cluster for this resource, if any.
20042        '''
20043        self.require_native_auth = require_native_auth if require_native_auth is not None else False
20044        '''
20045         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
20046        '''
20047        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20048        '''
20049         ID of the secret store containing credentials for this resource, if any.
20050        '''
20051        self.subdomain = subdomain if subdomain is not None else ''
20052        '''
20053         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20054        '''
20055        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20056        '''
20057         Tags is a map of key, value pairs.
20058        '''
20059        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
20060        '''
20061         If true, appends the hostname to the username when hitting a database.azure.com address
20062        '''
20063        self.username = username if username is not None else ''
20064        '''
20065         The username to authenticate with.
20066        '''
20067
20068    def __repr__(self):
20069        return '<sdm.Maria ' + \
20070            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20071            'database: ' + repr(self.database) + ' ' +\
20072            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20073            'healthy: ' + repr(self.healthy) + ' ' +\
20074            'hostname: ' + repr(self.hostname) + ' ' +\
20075            'id: ' + repr(self.id) + ' ' +\
20076            'name: ' + repr(self.name) + ' ' +\
20077            'password: ' + repr(self.password) + ' ' +\
20078            'port: ' + repr(self.port) + ' ' +\
20079            'port_override: ' + repr(self.port_override) + ' ' +\
20080            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20081            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
20082            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20083            'subdomain: ' + repr(self.subdomain) + ' ' +\
20084            'tags: ' + repr(self.tags) + ' ' +\
20085            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
20086            'username: ' + repr(self.username) + ' ' +\
20087            '>'
20088
20089    def to_dict(self):
20090        return {
20091            'bind_interface': self.bind_interface,
20092            'database': self.database,
20093            'egress_filter': self.egress_filter,
20094            'healthy': self.healthy,
20095            'hostname': self.hostname,
20096            'id': self.id,
20097            'name': self.name,
20098            'password': self.password,
20099            'port': self.port,
20100            'port_override': self.port_override,
20101            'proxy_cluster_id': self.proxy_cluster_id,
20102            'require_native_auth': self.require_native_auth,
20103            'secret_store_id': self.secret_store_id,
20104            'subdomain': self.subdomain,
20105            'tags': self.tags,
20106            'use_azure_single_server_usernames':
20107            self.use_azure_single_server_usernames,
20108            'username': self.username,
20109        }
20110
20111    @classmethod
20112    def from_dict(cls, d):
20113        return cls(
20114            bind_interface=d.get('bind_interface'),
20115            database=d.get('database'),
20116            egress_filter=d.get('egress_filter'),
20117            healthy=d.get('healthy'),
20118            hostname=d.get('hostname'),
20119            id=d.get('id'),
20120            name=d.get('name'),
20121            password=d.get('password'),
20122            port=d.get('port'),
20123            port_override=d.get('port_override'),
20124            proxy_cluster_id=d.get('proxy_cluster_id'),
20125            require_native_auth=d.get('require_native_auth'),
20126            secret_store_id=d.get('secret_store_id'),
20127            subdomain=d.get('subdomain'),
20128            tags=d.get('tags'),
20129            use_azure_single_server_usernames=d.get(
20130                'use_azure_single_server_usernames'),
20131            username=d.get('username'),
20132        )
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)
19979    def __init__(
19980        self,
19981        bind_interface=None,
19982        database=None,
19983        egress_filter=None,
19984        healthy=None,
19985        hostname=None,
19986        id=None,
19987        name=None,
19988        password=None,
19989        port=None,
19990        port_override=None,
19991        proxy_cluster_id=None,
19992        require_native_auth=None,
19993        secret_store_id=None,
19994        subdomain=None,
19995        tags=None,
19996        use_azure_single_server_usernames=None,
19997        username=None,
19998    ):
19999        self.bind_interface = bind_interface if bind_interface is not None else ''
20000        '''
20001         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20002        '''
20003        self.database = database if database is not None else ''
20004        '''
20005         The database for healthchecks. Does not affect client requests.
20006        '''
20007        self.egress_filter = egress_filter if egress_filter is not None else ''
20008        '''
20009         A filter applied to the routing logic to pin datasource to nodes.
20010        '''
20011        self.healthy = healthy if healthy is not None else False
20012        '''
20013         True if the datasource is reachable and the credentials are valid.
20014        '''
20015        self.hostname = hostname if hostname is not None else ''
20016        '''
20017         The host to dial to initiate a connection from the egress node to this resource.
20018        '''
20019        self.id = id if id is not None else ''
20020        '''
20021         Unique identifier of the Resource.
20022        '''
20023        self.name = name if name is not None else ''
20024        '''
20025         Unique human-readable name of the Resource.
20026        '''
20027        self.password = password if password is not None else ''
20028        '''
20029         The password to authenticate with.
20030        '''
20031        self.port = port if port is not None else 0
20032        '''
20033         The port to dial to initiate a connection from the egress node to this resource.
20034        '''
20035        self.port_override = port_override if port_override is not None else 0
20036        '''
20037         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20038        '''
20039        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20040        '''
20041         ID of the proxy cluster for this resource, if any.
20042        '''
20043        self.require_native_auth = require_native_auth if require_native_auth is not None else False
20044        '''
20045         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
20046        '''
20047        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20048        '''
20049         ID of the secret store containing credentials for this resource, if any.
20050        '''
20051        self.subdomain = subdomain if subdomain is not None else ''
20052        '''
20053         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20054        '''
20055        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20056        '''
20057         Tags is a map of key, value pairs.
20058        '''
20059        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
20060        '''
20061         If true, appends the hostname to the username when hitting a database.azure.com address
20062        '''
20063        self.username = username if username is not None else ''
20064        '''
20065         The username to authenticate with.
20066        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
20089    def to_dict(self):
20090        return {
20091            'bind_interface': self.bind_interface,
20092            'database': self.database,
20093            'egress_filter': self.egress_filter,
20094            'healthy': self.healthy,
20095            'hostname': self.hostname,
20096            'id': self.id,
20097            'name': self.name,
20098            'password': self.password,
20099            'port': self.port,
20100            'port_override': self.port_override,
20101            'proxy_cluster_id': self.proxy_cluster_id,
20102            'require_native_auth': self.require_native_auth,
20103            'secret_store_id': self.secret_store_id,
20104            'subdomain': self.subdomain,
20105            'tags': self.tags,
20106            'use_azure_single_server_usernames':
20107            self.use_azure_single_server_usernames,
20108            'username': self.username,
20109        }
@classmethod
def from_dict(cls, d)
20111    @classmethod
20112    def from_dict(cls, d):
20113        return cls(
20114            bind_interface=d.get('bind_interface'),
20115            database=d.get('database'),
20116            egress_filter=d.get('egress_filter'),
20117            healthy=d.get('healthy'),
20118            hostname=d.get('hostname'),
20119            id=d.get('id'),
20120            name=d.get('name'),
20121            password=d.get('password'),
20122            port=d.get('port'),
20123            port_override=d.get('port_override'),
20124            proxy_cluster_id=d.get('proxy_cluster_id'),
20125            require_native_auth=d.get('require_native_auth'),
20126            secret_store_id=d.get('secret_store_id'),
20127            subdomain=d.get('subdomain'),
20128            tags=d.get('tags'),
20129            use_azure_single_server_usernames=d.get(
20130                'use_azure_single_server_usernames'),
20131            username=d.get('username'),
20132        )
class Memcached:
20135class Memcached:
20136    __slots__ = [
20137        'bind_interface',
20138        'egress_filter',
20139        'healthy',
20140        'hostname',
20141        'id',
20142        'name',
20143        'port',
20144        'port_override',
20145        'proxy_cluster_id',
20146        'secret_store_id',
20147        'subdomain',
20148        'tags',
20149    ]
20150
20151    def __init__(
20152        self,
20153        bind_interface=None,
20154        egress_filter=None,
20155        healthy=None,
20156        hostname=None,
20157        id=None,
20158        name=None,
20159        port=None,
20160        port_override=None,
20161        proxy_cluster_id=None,
20162        secret_store_id=None,
20163        subdomain=None,
20164        tags=None,
20165    ):
20166        self.bind_interface = bind_interface if bind_interface is not None else ''
20167        '''
20168         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20169        '''
20170        self.egress_filter = egress_filter if egress_filter is not None else ''
20171        '''
20172         A filter applied to the routing logic to pin datasource to nodes.
20173        '''
20174        self.healthy = healthy if healthy is not None else False
20175        '''
20176         True if the datasource is reachable and the credentials are valid.
20177        '''
20178        self.hostname = hostname if hostname is not None else ''
20179        '''
20180         The host to dial to initiate a connection from the egress node to this resource.
20181        '''
20182        self.id = id if id is not None else ''
20183        '''
20184         Unique identifier of the Resource.
20185        '''
20186        self.name = name if name is not None else ''
20187        '''
20188         Unique human-readable name of the Resource.
20189        '''
20190        self.port = port if port is not None else 0
20191        '''
20192         The port to dial to initiate a connection from the egress node to this resource.
20193        '''
20194        self.port_override = port_override if port_override is not None else 0
20195        '''
20196         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20197        '''
20198        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20199        '''
20200         ID of the proxy cluster for this resource, if any.
20201        '''
20202        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20203        '''
20204         ID of the secret store containing credentials for this resource, if any.
20205        '''
20206        self.subdomain = subdomain if subdomain is not None else ''
20207        '''
20208         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20209        '''
20210        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20211        '''
20212         Tags is a map of key, value pairs.
20213        '''
20214
20215    def __repr__(self):
20216        return '<sdm.Memcached ' + \
20217            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20218            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20219            'healthy: ' + repr(self.healthy) + ' ' +\
20220            'hostname: ' + repr(self.hostname) + ' ' +\
20221            'id: ' + repr(self.id) + ' ' +\
20222            'name: ' + repr(self.name) + ' ' +\
20223            'port: ' + repr(self.port) + ' ' +\
20224            'port_override: ' + repr(self.port_override) + ' ' +\
20225            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20226            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20227            'subdomain: ' + repr(self.subdomain) + ' ' +\
20228            'tags: ' + repr(self.tags) + ' ' +\
20229            '>'
20230
20231    def to_dict(self):
20232        return {
20233            'bind_interface': self.bind_interface,
20234            'egress_filter': self.egress_filter,
20235            'healthy': self.healthy,
20236            'hostname': self.hostname,
20237            'id': self.id,
20238            'name': self.name,
20239            'port': self.port,
20240            'port_override': self.port_override,
20241            'proxy_cluster_id': self.proxy_cluster_id,
20242            'secret_store_id': self.secret_store_id,
20243            'subdomain': self.subdomain,
20244            'tags': self.tags,
20245        }
20246
20247    @classmethod
20248    def from_dict(cls, d):
20249        return cls(
20250            bind_interface=d.get('bind_interface'),
20251            egress_filter=d.get('egress_filter'),
20252            healthy=d.get('healthy'),
20253            hostname=d.get('hostname'),
20254            id=d.get('id'),
20255            name=d.get('name'),
20256            port=d.get('port'),
20257            port_override=d.get('port_override'),
20258            proxy_cluster_id=d.get('proxy_cluster_id'),
20259            secret_store_id=d.get('secret_store_id'),
20260            subdomain=d.get('subdomain'),
20261            tags=d.get('tags'),
20262        )
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)
20151    def __init__(
20152        self,
20153        bind_interface=None,
20154        egress_filter=None,
20155        healthy=None,
20156        hostname=None,
20157        id=None,
20158        name=None,
20159        port=None,
20160        port_override=None,
20161        proxy_cluster_id=None,
20162        secret_store_id=None,
20163        subdomain=None,
20164        tags=None,
20165    ):
20166        self.bind_interface = bind_interface if bind_interface is not None else ''
20167        '''
20168         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20169        '''
20170        self.egress_filter = egress_filter if egress_filter is not None else ''
20171        '''
20172         A filter applied to the routing logic to pin datasource to nodes.
20173        '''
20174        self.healthy = healthy if healthy is not None else False
20175        '''
20176         True if the datasource is reachable and the credentials are valid.
20177        '''
20178        self.hostname = hostname if hostname is not None else ''
20179        '''
20180         The host to dial to initiate a connection from the egress node to this resource.
20181        '''
20182        self.id = id if id is not None else ''
20183        '''
20184         Unique identifier of the Resource.
20185        '''
20186        self.name = name if name is not None else ''
20187        '''
20188         Unique human-readable name of the Resource.
20189        '''
20190        self.port = port if port is not None else 0
20191        '''
20192         The port to dial to initiate a connection from the egress node to this resource.
20193        '''
20194        self.port_override = port_override if port_override is not None else 0
20195        '''
20196         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20197        '''
20198        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20199        '''
20200         ID of the proxy cluster for this resource, if any.
20201        '''
20202        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20203        '''
20204         ID of the secret store containing credentials for this resource, if any.
20205        '''
20206        self.subdomain = subdomain if subdomain is not None else ''
20207        '''
20208         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20209        '''
20210        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20211        '''
20212         Tags is a map of key, value pairs.
20213        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
20231    def to_dict(self):
20232        return {
20233            'bind_interface': self.bind_interface,
20234            'egress_filter': self.egress_filter,
20235            'healthy': self.healthy,
20236            'hostname': self.hostname,
20237            'id': self.id,
20238            'name': self.name,
20239            'port': self.port,
20240            'port_override': self.port_override,
20241            'proxy_cluster_id': self.proxy_cluster_id,
20242            'secret_store_id': self.secret_store_id,
20243            'subdomain': self.subdomain,
20244            'tags': self.tags,
20245        }
@classmethod
def from_dict(cls, d)
20247    @classmethod
20248    def from_dict(cls, d):
20249        return cls(
20250            bind_interface=d.get('bind_interface'),
20251            egress_filter=d.get('egress_filter'),
20252            healthy=d.get('healthy'),
20253            hostname=d.get('hostname'),
20254            id=d.get('id'),
20255            name=d.get('name'),
20256            port=d.get('port'),
20257            port_override=d.get('port_override'),
20258            proxy_cluster_id=d.get('proxy_cluster_id'),
20259            secret_store_id=d.get('secret_store_id'),
20260            subdomain=d.get('subdomain'),
20261            tags=d.get('tags'),
20262        )
class Memsql:
20265class Memsql:
20266    __slots__ = [
20267        'bind_interface',
20268        'database',
20269        'egress_filter',
20270        'healthy',
20271        'hostname',
20272        'id',
20273        'name',
20274        'password',
20275        'port',
20276        'port_override',
20277        'proxy_cluster_id',
20278        'require_native_auth',
20279        'secret_store_id',
20280        'subdomain',
20281        'tags',
20282        'use_azure_single_server_usernames',
20283        'username',
20284    ]
20285
20286    def __init__(
20287        self,
20288        bind_interface=None,
20289        database=None,
20290        egress_filter=None,
20291        healthy=None,
20292        hostname=None,
20293        id=None,
20294        name=None,
20295        password=None,
20296        port=None,
20297        port_override=None,
20298        proxy_cluster_id=None,
20299        require_native_auth=None,
20300        secret_store_id=None,
20301        subdomain=None,
20302        tags=None,
20303        use_azure_single_server_usernames=None,
20304        username=None,
20305    ):
20306        self.bind_interface = bind_interface if bind_interface is not None else ''
20307        '''
20308         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20309        '''
20310        self.database = database if database is not None else ''
20311        '''
20312         The database for healthchecks. Does not affect client requests.
20313        '''
20314        self.egress_filter = egress_filter if egress_filter is not None else ''
20315        '''
20316         A filter applied to the routing logic to pin datasource to nodes.
20317        '''
20318        self.healthy = healthy if healthy is not None else False
20319        '''
20320         True if the datasource is reachable and the credentials are valid.
20321        '''
20322        self.hostname = hostname if hostname is not None else ''
20323        '''
20324         The host to dial to initiate a connection from the egress node to this resource.
20325        '''
20326        self.id = id if id is not None else ''
20327        '''
20328         Unique identifier of the Resource.
20329        '''
20330        self.name = name if name is not None else ''
20331        '''
20332         Unique human-readable name of the Resource.
20333        '''
20334        self.password = password if password is not None else ''
20335        '''
20336         The password to authenticate with.
20337        '''
20338        self.port = port if port is not None else 0
20339        '''
20340         The port to dial to initiate a connection from the egress node to this resource.
20341        '''
20342        self.port_override = port_override if port_override is not None else 0
20343        '''
20344         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20345        '''
20346        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20347        '''
20348         ID of the proxy cluster for this resource, if any.
20349        '''
20350        self.require_native_auth = require_native_auth if require_native_auth is not None else False
20351        '''
20352         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
20353        '''
20354        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20355        '''
20356         ID of the secret store containing credentials for this resource, if any.
20357        '''
20358        self.subdomain = subdomain if subdomain is not None else ''
20359        '''
20360         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20361        '''
20362        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20363        '''
20364         Tags is a map of key, value pairs.
20365        '''
20366        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
20367        '''
20368         If true, appends the hostname to the username when hitting a database.azure.com address
20369        '''
20370        self.username = username if username is not None else ''
20371        '''
20372         The username to authenticate with.
20373        '''
20374
20375    def __repr__(self):
20376        return '<sdm.Memsql ' + \
20377            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20378            'database: ' + repr(self.database) + ' ' +\
20379            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20380            'healthy: ' + repr(self.healthy) + ' ' +\
20381            'hostname: ' + repr(self.hostname) + ' ' +\
20382            'id: ' + repr(self.id) + ' ' +\
20383            'name: ' + repr(self.name) + ' ' +\
20384            'password: ' + repr(self.password) + ' ' +\
20385            'port: ' + repr(self.port) + ' ' +\
20386            'port_override: ' + repr(self.port_override) + ' ' +\
20387            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20388            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
20389            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20390            'subdomain: ' + repr(self.subdomain) + ' ' +\
20391            'tags: ' + repr(self.tags) + ' ' +\
20392            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
20393            'username: ' + repr(self.username) + ' ' +\
20394            '>'
20395
20396    def to_dict(self):
20397        return {
20398            'bind_interface': self.bind_interface,
20399            'database': self.database,
20400            'egress_filter': self.egress_filter,
20401            'healthy': self.healthy,
20402            'hostname': self.hostname,
20403            'id': self.id,
20404            'name': self.name,
20405            'password': self.password,
20406            'port': self.port,
20407            'port_override': self.port_override,
20408            'proxy_cluster_id': self.proxy_cluster_id,
20409            'require_native_auth': self.require_native_auth,
20410            'secret_store_id': self.secret_store_id,
20411            'subdomain': self.subdomain,
20412            'tags': self.tags,
20413            'use_azure_single_server_usernames':
20414            self.use_azure_single_server_usernames,
20415            'username': self.username,
20416        }
20417
20418    @classmethod
20419    def from_dict(cls, d):
20420        return cls(
20421            bind_interface=d.get('bind_interface'),
20422            database=d.get('database'),
20423            egress_filter=d.get('egress_filter'),
20424            healthy=d.get('healthy'),
20425            hostname=d.get('hostname'),
20426            id=d.get('id'),
20427            name=d.get('name'),
20428            password=d.get('password'),
20429            port=d.get('port'),
20430            port_override=d.get('port_override'),
20431            proxy_cluster_id=d.get('proxy_cluster_id'),
20432            require_native_auth=d.get('require_native_auth'),
20433            secret_store_id=d.get('secret_store_id'),
20434            subdomain=d.get('subdomain'),
20435            tags=d.get('tags'),
20436            use_azure_single_server_usernames=d.get(
20437                'use_azure_single_server_usernames'),
20438            username=d.get('username'),
20439        )
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)
20286    def __init__(
20287        self,
20288        bind_interface=None,
20289        database=None,
20290        egress_filter=None,
20291        healthy=None,
20292        hostname=None,
20293        id=None,
20294        name=None,
20295        password=None,
20296        port=None,
20297        port_override=None,
20298        proxy_cluster_id=None,
20299        require_native_auth=None,
20300        secret_store_id=None,
20301        subdomain=None,
20302        tags=None,
20303        use_azure_single_server_usernames=None,
20304        username=None,
20305    ):
20306        self.bind_interface = bind_interface if bind_interface is not None else ''
20307        '''
20308         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20309        '''
20310        self.database = database if database is not None else ''
20311        '''
20312         The database for healthchecks. Does not affect client requests.
20313        '''
20314        self.egress_filter = egress_filter if egress_filter is not None else ''
20315        '''
20316         A filter applied to the routing logic to pin datasource to nodes.
20317        '''
20318        self.healthy = healthy if healthy is not None else False
20319        '''
20320         True if the datasource is reachable and the credentials are valid.
20321        '''
20322        self.hostname = hostname if hostname is not None else ''
20323        '''
20324         The host to dial to initiate a connection from the egress node to this resource.
20325        '''
20326        self.id = id if id is not None else ''
20327        '''
20328         Unique identifier of the Resource.
20329        '''
20330        self.name = name if name is not None else ''
20331        '''
20332         Unique human-readable name of the Resource.
20333        '''
20334        self.password = password if password is not None else ''
20335        '''
20336         The password to authenticate with.
20337        '''
20338        self.port = port if port is not None else 0
20339        '''
20340         The port to dial to initiate a connection from the egress node to this resource.
20341        '''
20342        self.port_override = port_override if port_override is not None else 0
20343        '''
20344         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20345        '''
20346        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20347        '''
20348         ID of the proxy cluster for this resource, if any.
20349        '''
20350        self.require_native_auth = require_native_auth if require_native_auth is not None else False
20351        '''
20352         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
20353        '''
20354        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20355        '''
20356         ID of the secret store containing credentials for this resource, if any.
20357        '''
20358        self.subdomain = subdomain if subdomain is not None else ''
20359        '''
20360         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20361        '''
20362        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20363        '''
20364         Tags is a map of key, value pairs.
20365        '''
20366        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
20367        '''
20368         If true, appends the hostname to the username when hitting a database.azure.com address
20369        '''
20370        self.username = username if username is not None else ''
20371        '''
20372         The username to authenticate with.
20373        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
20396    def to_dict(self):
20397        return {
20398            'bind_interface': self.bind_interface,
20399            'database': self.database,
20400            'egress_filter': self.egress_filter,
20401            'healthy': self.healthy,
20402            'hostname': self.hostname,
20403            'id': self.id,
20404            'name': self.name,
20405            'password': self.password,
20406            'port': self.port,
20407            'port_override': self.port_override,
20408            'proxy_cluster_id': self.proxy_cluster_id,
20409            'require_native_auth': self.require_native_auth,
20410            'secret_store_id': self.secret_store_id,
20411            'subdomain': self.subdomain,
20412            'tags': self.tags,
20413            'use_azure_single_server_usernames':
20414            self.use_azure_single_server_usernames,
20415            'username': self.username,
20416        }
@classmethod
def from_dict(cls, d)
20418    @classmethod
20419    def from_dict(cls, d):
20420        return cls(
20421            bind_interface=d.get('bind_interface'),
20422            database=d.get('database'),
20423            egress_filter=d.get('egress_filter'),
20424            healthy=d.get('healthy'),
20425            hostname=d.get('hostname'),
20426            id=d.get('id'),
20427            name=d.get('name'),
20428            password=d.get('password'),
20429            port=d.get('port'),
20430            port_override=d.get('port_override'),
20431            proxy_cluster_id=d.get('proxy_cluster_id'),
20432            require_native_auth=d.get('require_native_auth'),
20433            secret_store_id=d.get('secret_store_id'),
20434            subdomain=d.get('subdomain'),
20435            tags=d.get('tags'),
20436            use_azure_single_server_usernames=d.get(
20437                'use_azure_single_server_usernames'),
20438            username=d.get('username'),
20439        )
class MongoHost:
20442class MongoHost:
20443    __slots__ = [
20444        'auth_database',
20445        'bind_interface',
20446        'egress_filter',
20447        'healthy',
20448        'hostname',
20449        'id',
20450        'name',
20451        'password',
20452        'port',
20453        'port_override',
20454        'proxy_cluster_id',
20455        'secret_store_id',
20456        'subdomain',
20457        'tags',
20458        'tls_required',
20459        'username',
20460    ]
20461
20462    def __init__(
20463        self,
20464        auth_database=None,
20465        bind_interface=None,
20466        egress_filter=None,
20467        healthy=None,
20468        hostname=None,
20469        id=None,
20470        name=None,
20471        password=None,
20472        port=None,
20473        port_override=None,
20474        proxy_cluster_id=None,
20475        secret_store_id=None,
20476        subdomain=None,
20477        tags=None,
20478        tls_required=None,
20479        username=None,
20480    ):
20481        self.auth_database = auth_database if auth_database is not None else ''
20482        '''
20483         The authentication database to use.
20484        '''
20485        self.bind_interface = bind_interface if bind_interface is not None else ''
20486        '''
20487         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20488        '''
20489        self.egress_filter = egress_filter if egress_filter is not None else ''
20490        '''
20491         A filter applied to the routing logic to pin datasource to nodes.
20492        '''
20493        self.healthy = healthy if healthy is not None else False
20494        '''
20495         True if the datasource is reachable and the credentials are valid.
20496        '''
20497        self.hostname = hostname if hostname is not None else ''
20498        '''
20499         The host to dial to initiate a connection from the egress node to this resource.
20500        '''
20501        self.id = id if id is not None else ''
20502        '''
20503         Unique identifier of the Resource.
20504        '''
20505        self.name = name if name is not None else ''
20506        '''
20507         Unique human-readable name of the Resource.
20508        '''
20509        self.password = password if password is not None else ''
20510        '''
20511         The password to authenticate with.
20512        '''
20513        self.port = port if port is not None else 0
20514        '''
20515         The port to dial to initiate a connection from the egress node to this resource.
20516        '''
20517        self.port_override = port_override if port_override is not None else 0
20518        '''
20519         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20520        '''
20521        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20522        '''
20523         ID of the proxy cluster for this resource, if any.
20524        '''
20525        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20526        '''
20527         ID of the secret store containing credentials for this resource, if any.
20528        '''
20529        self.subdomain = subdomain if subdomain is not None else ''
20530        '''
20531         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20532        '''
20533        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20534        '''
20535         Tags is a map of key, value pairs.
20536        '''
20537        self.tls_required = tls_required if tls_required is not None else False
20538        '''
20539         If set, TLS must be used to connect to this resource.
20540        '''
20541        self.username = username if username is not None else ''
20542        '''
20543         The username to authenticate with.
20544        '''
20545
20546    def __repr__(self):
20547        return '<sdm.MongoHost ' + \
20548            'auth_database: ' + repr(self.auth_database) + ' ' +\
20549            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20550            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20551            'healthy: ' + repr(self.healthy) + ' ' +\
20552            'hostname: ' + repr(self.hostname) + ' ' +\
20553            'id: ' + repr(self.id) + ' ' +\
20554            'name: ' + repr(self.name) + ' ' +\
20555            'password: ' + repr(self.password) + ' ' +\
20556            'port: ' + repr(self.port) + ' ' +\
20557            'port_override: ' + repr(self.port_override) + ' ' +\
20558            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20559            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20560            'subdomain: ' + repr(self.subdomain) + ' ' +\
20561            'tags: ' + repr(self.tags) + ' ' +\
20562            'tls_required: ' + repr(self.tls_required) + ' ' +\
20563            'username: ' + repr(self.username) + ' ' +\
20564            '>'
20565
20566    def to_dict(self):
20567        return {
20568            'auth_database': self.auth_database,
20569            'bind_interface': self.bind_interface,
20570            'egress_filter': self.egress_filter,
20571            'healthy': self.healthy,
20572            'hostname': self.hostname,
20573            'id': self.id,
20574            'name': self.name,
20575            'password': self.password,
20576            'port': self.port,
20577            'port_override': self.port_override,
20578            'proxy_cluster_id': self.proxy_cluster_id,
20579            'secret_store_id': self.secret_store_id,
20580            'subdomain': self.subdomain,
20581            'tags': self.tags,
20582            'tls_required': self.tls_required,
20583            'username': self.username,
20584        }
20585
20586    @classmethod
20587    def from_dict(cls, d):
20588        return cls(
20589            auth_database=d.get('auth_database'),
20590            bind_interface=d.get('bind_interface'),
20591            egress_filter=d.get('egress_filter'),
20592            healthy=d.get('healthy'),
20593            hostname=d.get('hostname'),
20594            id=d.get('id'),
20595            name=d.get('name'),
20596            password=d.get('password'),
20597            port=d.get('port'),
20598            port_override=d.get('port_override'),
20599            proxy_cluster_id=d.get('proxy_cluster_id'),
20600            secret_store_id=d.get('secret_store_id'),
20601            subdomain=d.get('subdomain'),
20602            tags=d.get('tags'),
20603            tls_required=d.get('tls_required'),
20604            username=d.get('username'),
20605        )
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)
20462    def __init__(
20463        self,
20464        auth_database=None,
20465        bind_interface=None,
20466        egress_filter=None,
20467        healthy=None,
20468        hostname=None,
20469        id=None,
20470        name=None,
20471        password=None,
20472        port=None,
20473        port_override=None,
20474        proxy_cluster_id=None,
20475        secret_store_id=None,
20476        subdomain=None,
20477        tags=None,
20478        tls_required=None,
20479        username=None,
20480    ):
20481        self.auth_database = auth_database if auth_database is not None else ''
20482        '''
20483         The authentication database to use.
20484        '''
20485        self.bind_interface = bind_interface if bind_interface is not None else ''
20486        '''
20487         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20488        '''
20489        self.egress_filter = egress_filter if egress_filter is not None else ''
20490        '''
20491         A filter applied to the routing logic to pin datasource to nodes.
20492        '''
20493        self.healthy = healthy if healthy is not None else False
20494        '''
20495         True if the datasource is reachable and the credentials are valid.
20496        '''
20497        self.hostname = hostname if hostname is not None else ''
20498        '''
20499         The host to dial to initiate a connection from the egress node to this resource.
20500        '''
20501        self.id = id if id is not None else ''
20502        '''
20503         Unique identifier of the Resource.
20504        '''
20505        self.name = name if name is not None else ''
20506        '''
20507         Unique human-readable name of the Resource.
20508        '''
20509        self.password = password if password is not None else ''
20510        '''
20511         The password to authenticate with.
20512        '''
20513        self.port = port if port is not None else 0
20514        '''
20515         The port to dial to initiate a connection from the egress node to this resource.
20516        '''
20517        self.port_override = port_override if port_override is not None else 0
20518        '''
20519         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20520        '''
20521        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20522        '''
20523         ID of the proxy cluster for this resource, if any.
20524        '''
20525        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20526        '''
20527         ID of the secret store containing credentials for this resource, if any.
20528        '''
20529        self.subdomain = subdomain if subdomain is not None else ''
20530        '''
20531         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20532        '''
20533        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20534        '''
20535         Tags is a map of key, value pairs.
20536        '''
20537        self.tls_required = tls_required if tls_required is not None else False
20538        '''
20539         If set, TLS must be used to connect to this resource.
20540        '''
20541        self.username = username if username is not None else ''
20542        '''
20543         The username to authenticate with.
20544        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
20566    def to_dict(self):
20567        return {
20568            'auth_database': self.auth_database,
20569            'bind_interface': self.bind_interface,
20570            'egress_filter': self.egress_filter,
20571            'healthy': self.healthy,
20572            'hostname': self.hostname,
20573            'id': self.id,
20574            'name': self.name,
20575            'password': self.password,
20576            'port': self.port,
20577            'port_override': self.port_override,
20578            'proxy_cluster_id': self.proxy_cluster_id,
20579            'secret_store_id': self.secret_store_id,
20580            'subdomain': self.subdomain,
20581            'tags': self.tags,
20582            'tls_required': self.tls_required,
20583            'username': self.username,
20584        }
@classmethod
def from_dict(cls, d)
20586    @classmethod
20587    def from_dict(cls, d):
20588        return cls(
20589            auth_database=d.get('auth_database'),
20590            bind_interface=d.get('bind_interface'),
20591            egress_filter=d.get('egress_filter'),
20592            healthy=d.get('healthy'),
20593            hostname=d.get('hostname'),
20594            id=d.get('id'),
20595            name=d.get('name'),
20596            password=d.get('password'),
20597            port=d.get('port'),
20598            port_override=d.get('port_override'),
20599            proxy_cluster_id=d.get('proxy_cluster_id'),
20600            secret_store_id=d.get('secret_store_id'),
20601            subdomain=d.get('subdomain'),
20602            tags=d.get('tags'),
20603            tls_required=d.get('tls_required'),
20604            username=d.get('username'),
20605        )
class MongoLegacyHost:
20608class MongoLegacyHost:
20609    '''
20610    MongoLegacyHost is currently unstable, and its API may change, or it may be removed,
20611    without a major version bump.
20612    '''
20613    __slots__ = [
20614        'auth_database',
20615        'bind_interface',
20616        'egress_filter',
20617        'healthy',
20618        'hostname',
20619        'id',
20620        'name',
20621        'password',
20622        'port',
20623        'port_override',
20624        'proxy_cluster_id',
20625        'secret_store_id',
20626        'subdomain',
20627        'tags',
20628        'tls_required',
20629        'username',
20630    ]
20631
20632    def __init__(
20633        self,
20634        auth_database=None,
20635        bind_interface=None,
20636        egress_filter=None,
20637        healthy=None,
20638        hostname=None,
20639        id=None,
20640        name=None,
20641        password=None,
20642        port=None,
20643        port_override=None,
20644        proxy_cluster_id=None,
20645        secret_store_id=None,
20646        subdomain=None,
20647        tags=None,
20648        tls_required=None,
20649        username=None,
20650    ):
20651        self.auth_database = auth_database if auth_database is not None else ''
20652        '''
20653         The authentication database to use.
20654        '''
20655        self.bind_interface = bind_interface if bind_interface is not None else ''
20656        '''
20657         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20658        '''
20659        self.egress_filter = egress_filter if egress_filter is not None else ''
20660        '''
20661         A filter applied to the routing logic to pin datasource to nodes.
20662        '''
20663        self.healthy = healthy if healthy is not None else False
20664        '''
20665         True if the datasource is reachable and the credentials are valid.
20666        '''
20667        self.hostname = hostname if hostname is not None else ''
20668        '''
20669         The host to dial to initiate a connection from the egress node to this resource.
20670        '''
20671        self.id = id if id is not None else ''
20672        '''
20673         Unique identifier of the Resource.
20674        '''
20675        self.name = name if name is not None else ''
20676        '''
20677         Unique human-readable name of the Resource.
20678        '''
20679        self.password = password if password is not None else ''
20680        '''
20681         The password to authenticate with.
20682        '''
20683        self.port = port if port is not None else 0
20684        '''
20685         The port to dial to initiate a connection from the egress node to this resource.
20686        '''
20687        self.port_override = port_override if port_override is not None else 0
20688        '''
20689         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20690        '''
20691        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20692        '''
20693         ID of the proxy cluster for this resource, if any.
20694        '''
20695        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20696        '''
20697         ID of the secret store containing credentials for this resource, if any.
20698        '''
20699        self.subdomain = subdomain if subdomain is not None else ''
20700        '''
20701         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20702        '''
20703        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20704        '''
20705         Tags is a map of key, value pairs.
20706        '''
20707        self.tls_required = tls_required if tls_required is not None else False
20708        '''
20709         If set, TLS must be used to connect to this resource.
20710        '''
20711        self.username = username if username is not None else ''
20712        '''
20713         The username to authenticate with.
20714        '''
20715
20716    def __repr__(self):
20717        return '<sdm.MongoLegacyHost ' + \
20718            'auth_database: ' + repr(self.auth_database) + ' ' +\
20719            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20720            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20721            'healthy: ' + repr(self.healthy) + ' ' +\
20722            'hostname: ' + repr(self.hostname) + ' ' +\
20723            'id: ' + repr(self.id) + ' ' +\
20724            'name: ' + repr(self.name) + ' ' +\
20725            'password: ' + repr(self.password) + ' ' +\
20726            'port: ' + repr(self.port) + ' ' +\
20727            'port_override: ' + repr(self.port_override) + ' ' +\
20728            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20729            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20730            'subdomain: ' + repr(self.subdomain) + ' ' +\
20731            'tags: ' + repr(self.tags) + ' ' +\
20732            'tls_required: ' + repr(self.tls_required) + ' ' +\
20733            'username: ' + repr(self.username) + ' ' +\
20734            '>'
20735
20736    def to_dict(self):
20737        return {
20738            'auth_database': self.auth_database,
20739            'bind_interface': self.bind_interface,
20740            'egress_filter': self.egress_filter,
20741            'healthy': self.healthy,
20742            'hostname': self.hostname,
20743            'id': self.id,
20744            'name': self.name,
20745            'password': self.password,
20746            'port': self.port,
20747            'port_override': self.port_override,
20748            'proxy_cluster_id': self.proxy_cluster_id,
20749            'secret_store_id': self.secret_store_id,
20750            'subdomain': self.subdomain,
20751            'tags': self.tags,
20752            'tls_required': self.tls_required,
20753            'username': self.username,
20754        }
20755
20756    @classmethod
20757    def from_dict(cls, d):
20758        return cls(
20759            auth_database=d.get('auth_database'),
20760            bind_interface=d.get('bind_interface'),
20761            egress_filter=d.get('egress_filter'),
20762            healthy=d.get('healthy'),
20763            hostname=d.get('hostname'),
20764            id=d.get('id'),
20765            name=d.get('name'),
20766            password=d.get('password'),
20767            port=d.get('port'),
20768            port_override=d.get('port_override'),
20769            proxy_cluster_id=d.get('proxy_cluster_id'),
20770            secret_store_id=d.get('secret_store_id'),
20771            subdomain=d.get('subdomain'),
20772            tags=d.get('tags'),
20773            tls_required=d.get('tls_required'),
20774            username=d.get('username'),
20775        )

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)
20632    def __init__(
20633        self,
20634        auth_database=None,
20635        bind_interface=None,
20636        egress_filter=None,
20637        healthy=None,
20638        hostname=None,
20639        id=None,
20640        name=None,
20641        password=None,
20642        port=None,
20643        port_override=None,
20644        proxy_cluster_id=None,
20645        secret_store_id=None,
20646        subdomain=None,
20647        tags=None,
20648        tls_required=None,
20649        username=None,
20650    ):
20651        self.auth_database = auth_database if auth_database is not None else ''
20652        '''
20653         The authentication database to use.
20654        '''
20655        self.bind_interface = bind_interface if bind_interface is not None else ''
20656        '''
20657         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20658        '''
20659        self.egress_filter = egress_filter if egress_filter is not None else ''
20660        '''
20661         A filter applied to the routing logic to pin datasource to nodes.
20662        '''
20663        self.healthy = healthy if healthy is not None else False
20664        '''
20665         True if the datasource is reachable and the credentials are valid.
20666        '''
20667        self.hostname = hostname if hostname is not None else ''
20668        '''
20669         The host to dial to initiate a connection from the egress node to this resource.
20670        '''
20671        self.id = id if id is not None else ''
20672        '''
20673         Unique identifier of the Resource.
20674        '''
20675        self.name = name if name is not None else ''
20676        '''
20677         Unique human-readable name of the Resource.
20678        '''
20679        self.password = password if password is not None else ''
20680        '''
20681         The password to authenticate with.
20682        '''
20683        self.port = port if port is not None else 0
20684        '''
20685         The port to dial to initiate a connection from the egress node to this resource.
20686        '''
20687        self.port_override = port_override if port_override is not None else 0
20688        '''
20689         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20690        '''
20691        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20692        '''
20693         ID of the proxy cluster for this resource, if any.
20694        '''
20695        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20696        '''
20697         ID of the secret store containing credentials for this resource, if any.
20698        '''
20699        self.subdomain = subdomain if subdomain is not None else ''
20700        '''
20701         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20702        '''
20703        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20704        '''
20705         Tags is a map of key, value pairs.
20706        '''
20707        self.tls_required = tls_required if tls_required is not None else False
20708        '''
20709         If set, TLS must be used to connect to this resource.
20710        '''
20711        self.username = username if username is not None else ''
20712        '''
20713         The username to authenticate with.
20714        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
20736    def to_dict(self):
20737        return {
20738            'auth_database': self.auth_database,
20739            'bind_interface': self.bind_interface,
20740            'egress_filter': self.egress_filter,
20741            'healthy': self.healthy,
20742            'hostname': self.hostname,
20743            'id': self.id,
20744            'name': self.name,
20745            'password': self.password,
20746            'port': self.port,
20747            'port_override': self.port_override,
20748            'proxy_cluster_id': self.proxy_cluster_id,
20749            'secret_store_id': self.secret_store_id,
20750            'subdomain': self.subdomain,
20751            'tags': self.tags,
20752            'tls_required': self.tls_required,
20753            'username': self.username,
20754        }
@classmethod
def from_dict(cls, d)
20756    @classmethod
20757    def from_dict(cls, d):
20758        return cls(
20759            auth_database=d.get('auth_database'),
20760            bind_interface=d.get('bind_interface'),
20761            egress_filter=d.get('egress_filter'),
20762            healthy=d.get('healthy'),
20763            hostname=d.get('hostname'),
20764            id=d.get('id'),
20765            name=d.get('name'),
20766            password=d.get('password'),
20767            port=d.get('port'),
20768            port_override=d.get('port_override'),
20769            proxy_cluster_id=d.get('proxy_cluster_id'),
20770            secret_store_id=d.get('secret_store_id'),
20771            subdomain=d.get('subdomain'),
20772            tags=d.get('tags'),
20773            tls_required=d.get('tls_required'),
20774            username=d.get('username'),
20775        )
class MongoLegacyReplicaset:
20778class MongoLegacyReplicaset:
20779    '''
20780    MongoLegacyReplicaset is currently unstable, and its API may change, or it may be removed,
20781    without a major version bump.
20782    '''
20783    __slots__ = [
20784        'auth_database',
20785        'bind_interface',
20786        'connect_to_replica',
20787        'egress_filter',
20788        'healthy',
20789        'hostname',
20790        'id',
20791        'name',
20792        'password',
20793        'port',
20794        'port_override',
20795        'proxy_cluster_id',
20796        'replica_set',
20797        'secret_store_id',
20798        'subdomain',
20799        'tags',
20800        'tls_required',
20801        'username',
20802    ]
20803
20804    def __init__(
20805        self,
20806        auth_database=None,
20807        bind_interface=None,
20808        connect_to_replica=None,
20809        egress_filter=None,
20810        healthy=None,
20811        hostname=None,
20812        id=None,
20813        name=None,
20814        password=None,
20815        port=None,
20816        port_override=None,
20817        proxy_cluster_id=None,
20818        replica_set=None,
20819        secret_store_id=None,
20820        subdomain=None,
20821        tags=None,
20822        tls_required=None,
20823        username=None,
20824    ):
20825        self.auth_database = auth_database if auth_database is not None else ''
20826        '''
20827         The authentication database to use.
20828        '''
20829        self.bind_interface = bind_interface if bind_interface is not None else ''
20830        '''
20831         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20832        '''
20833        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
20834        '''
20835         Set to connect to a replica instead of the primary node.
20836        '''
20837        self.egress_filter = egress_filter if egress_filter is not None else ''
20838        '''
20839         A filter applied to the routing logic to pin datasource to nodes.
20840        '''
20841        self.healthy = healthy if healthy is not None else False
20842        '''
20843         True if the datasource is reachable and the credentials are valid.
20844        '''
20845        self.hostname = hostname if hostname is not None else ''
20846        '''
20847         The host to dial to initiate a connection from the egress node to this resource.
20848        '''
20849        self.id = id if id is not None else ''
20850        '''
20851         Unique identifier of the Resource.
20852        '''
20853        self.name = name if name is not None else ''
20854        '''
20855         Unique human-readable name of the Resource.
20856        '''
20857        self.password = password if password is not None else ''
20858        '''
20859         The password to authenticate with.
20860        '''
20861        self.port = port if port is not None else 0
20862        '''
20863         The port to dial to initiate a connection from the egress node to this resource.
20864        '''
20865        self.port_override = port_override if port_override is not None else 0
20866        '''
20867         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20868        '''
20869        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20870        '''
20871         ID of the proxy cluster for this resource, if any.
20872        '''
20873        self.replica_set = replica_set if replica_set is not None else ''
20874        '''
20875         The name of the mongo replicaset.
20876        '''
20877        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20878        '''
20879         ID of the secret store containing credentials for this resource, if any.
20880        '''
20881        self.subdomain = subdomain if subdomain is not None else ''
20882        '''
20883         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20884        '''
20885        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20886        '''
20887         Tags is a map of key, value pairs.
20888        '''
20889        self.tls_required = tls_required if tls_required is not None else False
20890        '''
20891         If set, TLS must be used to connect to this resource.
20892        '''
20893        self.username = username if username is not None else ''
20894        '''
20895         The username to authenticate with.
20896        '''
20897
20898    def __repr__(self):
20899        return '<sdm.MongoLegacyReplicaset ' + \
20900            'auth_database: ' + repr(self.auth_database) + ' ' +\
20901            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
20902            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
20903            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
20904            'healthy: ' + repr(self.healthy) + ' ' +\
20905            'hostname: ' + repr(self.hostname) + ' ' +\
20906            'id: ' + repr(self.id) + ' ' +\
20907            'name: ' + repr(self.name) + ' ' +\
20908            'password: ' + repr(self.password) + ' ' +\
20909            'port: ' + repr(self.port) + ' ' +\
20910            'port_override: ' + repr(self.port_override) + ' ' +\
20911            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
20912            'replica_set: ' + repr(self.replica_set) + ' ' +\
20913            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
20914            'subdomain: ' + repr(self.subdomain) + ' ' +\
20915            'tags: ' + repr(self.tags) + ' ' +\
20916            'tls_required: ' + repr(self.tls_required) + ' ' +\
20917            'username: ' + repr(self.username) + ' ' +\
20918            '>'
20919
20920    def to_dict(self):
20921        return {
20922            'auth_database': self.auth_database,
20923            'bind_interface': self.bind_interface,
20924            'connect_to_replica': self.connect_to_replica,
20925            'egress_filter': self.egress_filter,
20926            'healthy': self.healthy,
20927            'hostname': self.hostname,
20928            'id': self.id,
20929            'name': self.name,
20930            'password': self.password,
20931            'port': self.port,
20932            'port_override': self.port_override,
20933            'proxy_cluster_id': self.proxy_cluster_id,
20934            'replica_set': self.replica_set,
20935            'secret_store_id': self.secret_store_id,
20936            'subdomain': self.subdomain,
20937            'tags': self.tags,
20938            'tls_required': self.tls_required,
20939            'username': self.username,
20940        }
20941
20942    @classmethod
20943    def from_dict(cls, d):
20944        return cls(
20945            auth_database=d.get('auth_database'),
20946            bind_interface=d.get('bind_interface'),
20947            connect_to_replica=d.get('connect_to_replica'),
20948            egress_filter=d.get('egress_filter'),
20949            healthy=d.get('healthy'),
20950            hostname=d.get('hostname'),
20951            id=d.get('id'),
20952            name=d.get('name'),
20953            password=d.get('password'),
20954            port=d.get('port'),
20955            port_override=d.get('port_override'),
20956            proxy_cluster_id=d.get('proxy_cluster_id'),
20957            replica_set=d.get('replica_set'),
20958            secret_store_id=d.get('secret_store_id'),
20959            subdomain=d.get('subdomain'),
20960            tags=d.get('tags'),
20961            tls_required=d.get('tls_required'),
20962            username=d.get('username'),
20963        )

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)
20804    def __init__(
20805        self,
20806        auth_database=None,
20807        bind_interface=None,
20808        connect_to_replica=None,
20809        egress_filter=None,
20810        healthy=None,
20811        hostname=None,
20812        id=None,
20813        name=None,
20814        password=None,
20815        port=None,
20816        port_override=None,
20817        proxy_cluster_id=None,
20818        replica_set=None,
20819        secret_store_id=None,
20820        subdomain=None,
20821        tags=None,
20822        tls_required=None,
20823        username=None,
20824    ):
20825        self.auth_database = auth_database if auth_database is not None else ''
20826        '''
20827         The authentication database to use.
20828        '''
20829        self.bind_interface = bind_interface if bind_interface is not None else ''
20830        '''
20831         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
20832        '''
20833        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
20834        '''
20835         Set to connect to a replica instead of the primary node.
20836        '''
20837        self.egress_filter = egress_filter if egress_filter is not None else ''
20838        '''
20839         A filter applied to the routing logic to pin datasource to nodes.
20840        '''
20841        self.healthy = healthy if healthy is not None else False
20842        '''
20843         True if the datasource is reachable and the credentials are valid.
20844        '''
20845        self.hostname = hostname if hostname is not None else ''
20846        '''
20847         The host to dial to initiate a connection from the egress node to this resource.
20848        '''
20849        self.id = id if id is not None else ''
20850        '''
20851         Unique identifier of the Resource.
20852        '''
20853        self.name = name if name is not None else ''
20854        '''
20855         Unique human-readable name of the Resource.
20856        '''
20857        self.password = password if password is not None else ''
20858        '''
20859         The password to authenticate with.
20860        '''
20861        self.port = port if port is not None else 0
20862        '''
20863         The port to dial to initiate a connection from the egress node to this resource.
20864        '''
20865        self.port_override = port_override if port_override is not None else 0
20866        '''
20867         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
20868        '''
20869        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
20870        '''
20871         ID of the proxy cluster for this resource, if any.
20872        '''
20873        self.replica_set = replica_set if replica_set is not None else ''
20874        '''
20875         The name of the mongo replicaset.
20876        '''
20877        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
20878        '''
20879         ID of the secret store containing credentials for this resource, if any.
20880        '''
20881        self.subdomain = subdomain if subdomain is not None else ''
20882        '''
20883         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
20884        '''
20885        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
20886        '''
20887         Tags is a map of key, value pairs.
20888        '''
20889        self.tls_required = tls_required if tls_required is not None else False
20890        '''
20891         If set, TLS must be used to connect to this resource.
20892        '''
20893        self.username = username if username is not None else ''
20894        '''
20895         The username to authenticate with.
20896        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
20920    def to_dict(self):
20921        return {
20922            'auth_database': self.auth_database,
20923            'bind_interface': self.bind_interface,
20924            'connect_to_replica': self.connect_to_replica,
20925            'egress_filter': self.egress_filter,
20926            'healthy': self.healthy,
20927            'hostname': self.hostname,
20928            'id': self.id,
20929            'name': self.name,
20930            'password': self.password,
20931            'port': self.port,
20932            'port_override': self.port_override,
20933            'proxy_cluster_id': self.proxy_cluster_id,
20934            'replica_set': self.replica_set,
20935            'secret_store_id': self.secret_store_id,
20936            'subdomain': self.subdomain,
20937            'tags': self.tags,
20938            'tls_required': self.tls_required,
20939            'username': self.username,
20940        }
@classmethod
def from_dict(cls, d)
20942    @classmethod
20943    def from_dict(cls, d):
20944        return cls(
20945            auth_database=d.get('auth_database'),
20946            bind_interface=d.get('bind_interface'),
20947            connect_to_replica=d.get('connect_to_replica'),
20948            egress_filter=d.get('egress_filter'),
20949            healthy=d.get('healthy'),
20950            hostname=d.get('hostname'),
20951            id=d.get('id'),
20952            name=d.get('name'),
20953            password=d.get('password'),
20954            port=d.get('port'),
20955            port_override=d.get('port_override'),
20956            proxy_cluster_id=d.get('proxy_cluster_id'),
20957            replica_set=d.get('replica_set'),
20958            secret_store_id=d.get('secret_store_id'),
20959            subdomain=d.get('subdomain'),
20960            tags=d.get('tags'),
20961            tls_required=d.get('tls_required'),
20962            username=d.get('username'),
20963        )
class MongoReplicaSet:
20966class MongoReplicaSet:
20967    __slots__ = [
20968        'auth_database',
20969        'bind_interface',
20970        'connect_to_replica',
20971        'egress_filter',
20972        'healthy',
20973        'hostname',
20974        'id',
20975        'name',
20976        'password',
20977        'port',
20978        'port_override',
20979        'proxy_cluster_id',
20980        'replica_set',
20981        'secret_store_id',
20982        'subdomain',
20983        'tags',
20984        'tls_required',
20985        'username',
20986    ]
20987
20988    def __init__(
20989        self,
20990        auth_database=None,
20991        bind_interface=None,
20992        connect_to_replica=None,
20993        egress_filter=None,
20994        healthy=None,
20995        hostname=None,
20996        id=None,
20997        name=None,
20998        password=None,
20999        port=None,
21000        port_override=None,
21001        proxy_cluster_id=None,
21002        replica_set=None,
21003        secret_store_id=None,
21004        subdomain=None,
21005        tags=None,
21006        tls_required=None,
21007        username=None,
21008    ):
21009        self.auth_database = auth_database if auth_database is not None else ''
21010        '''
21011         The authentication database to use.
21012        '''
21013        self.bind_interface = bind_interface if bind_interface is not None else ''
21014        '''
21015         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21016        '''
21017        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
21018        '''
21019         Set to connect to a replica instead of the primary node.
21020        '''
21021        self.egress_filter = egress_filter if egress_filter is not None else ''
21022        '''
21023         A filter applied to the routing logic to pin datasource to nodes.
21024        '''
21025        self.healthy = healthy if healthy is not None else False
21026        '''
21027         True if the datasource is reachable and the credentials are valid.
21028        '''
21029        self.hostname = hostname if hostname is not None else ''
21030        '''
21031         The host to dial to initiate a connection from the egress node to this resource.
21032        '''
21033        self.id = id if id is not None else ''
21034        '''
21035         Unique identifier of the Resource.
21036        '''
21037        self.name = name if name is not None else ''
21038        '''
21039         Unique human-readable name of the Resource.
21040        '''
21041        self.password = password if password is not None else ''
21042        '''
21043         The password to authenticate with.
21044        '''
21045        self.port = port if port is not None else 0
21046        '''
21047         The port to dial to initiate a connection from the egress node to this resource.
21048        '''
21049        self.port_override = port_override if port_override is not None else 0
21050        '''
21051         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21052        '''
21053        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21054        '''
21055         ID of the proxy cluster for this resource, if any.
21056        '''
21057        self.replica_set = replica_set if replica_set is not None else ''
21058        '''
21059         The name of the mongo replicaset.
21060        '''
21061        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21062        '''
21063         ID of the secret store containing credentials for this resource, if any.
21064        '''
21065        self.subdomain = subdomain if subdomain is not None else ''
21066        '''
21067         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21068        '''
21069        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21070        '''
21071         Tags is a map of key, value pairs.
21072        '''
21073        self.tls_required = tls_required if tls_required is not None else False
21074        '''
21075         If set, TLS must be used to connect to this resource.
21076        '''
21077        self.username = username if username is not None else ''
21078        '''
21079         The username to authenticate with.
21080        '''
21081
21082    def __repr__(self):
21083        return '<sdm.MongoReplicaSet ' + \
21084            'auth_database: ' + repr(self.auth_database) + ' ' +\
21085            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21086            'connect_to_replica: ' + repr(self.connect_to_replica) + ' ' +\
21087            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21088            'healthy: ' + repr(self.healthy) + ' ' +\
21089            'hostname: ' + repr(self.hostname) + ' ' +\
21090            'id: ' + repr(self.id) + ' ' +\
21091            'name: ' + repr(self.name) + ' ' +\
21092            'password: ' + repr(self.password) + ' ' +\
21093            'port: ' + repr(self.port) + ' ' +\
21094            'port_override: ' + repr(self.port_override) + ' ' +\
21095            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21096            'replica_set: ' + repr(self.replica_set) + ' ' +\
21097            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21098            'subdomain: ' + repr(self.subdomain) + ' ' +\
21099            'tags: ' + repr(self.tags) + ' ' +\
21100            'tls_required: ' + repr(self.tls_required) + ' ' +\
21101            'username: ' + repr(self.username) + ' ' +\
21102            '>'
21103
21104    def to_dict(self):
21105        return {
21106            'auth_database': self.auth_database,
21107            'bind_interface': self.bind_interface,
21108            'connect_to_replica': self.connect_to_replica,
21109            'egress_filter': self.egress_filter,
21110            'healthy': self.healthy,
21111            'hostname': self.hostname,
21112            'id': self.id,
21113            'name': self.name,
21114            'password': self.password,
21115            'port': self.port,
21116            'port_override': self.port_override,
21117            'proxy_cluster_id': self.proxy_cluster_id,
21118            'replica_set': self.replica_set,
21119            'secret_store_id': self.secret_store_id,
21120            'subdomain': self.subdomain,
21121            'tags': self.tags,
21122            'tls_required': self.tls_required,
21123            'username': self.username,
21124        }
21125
21126    @classmethod
21127    def from_dict(cls, d):
21128        return cls(
21129            auth_database=d.get('auth_database'),
21130            bind_interface=d.get('bind_interface'),
21131            connect_to_replica=d.get('connect_to_replica'),
21132            egress_filter=d.get('egress_filter'),
21133            healthy=d.get('healthy'),
21134            hostname=d.get('hostname'),
21135            id=d.get('id'),
21136            name=d.get('name'),
21137            password=d.get('password'),
21138            port=d.get('port'),
21139            port_override=d.get('port_override'),
21140            proxy_cluster_id=d.get('proxy_cluster_id'),
21141            replica_set=d.get('replica_set'),
21142            secret_store_id=d.get('secret_store_id'),
21143            subdomain=d.get('subdomain'),
21144            tags=d.get('tags'),
21145            tls_required=d.get('tls_required'),
21146            username=d.get('username'),
21147        )
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)
20988    def __init__(
20989        self,
20990        auth_database=None,
20991        bind_interface=None,
20992        connect_to_replica=None,
20993        egress_filter=None,
20994        healthy=None,
20995        hostname=None,
20996        id=None,
20997        name=None,
20998        password=None,
20999        port=None,
21000        port_override=None,
21001        proxy_cluster_id=None,
21002        replica_set=None,
21003        secret_store_id=None,
21004        subdomain=None,
21005        tags=None,
21006        tls_required=None,
21007        username=None,
21008    ):
21009        self.auth_database = auth_database if auth_database is not None else ''
21010        '''
21011         The authentication database to use.
21012        '''
21013        self.bind_interface = bind_interface if bind_interface is not None else ''
21014        '''
21015         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21016        '''
21017        self.connect_to_replica = connect_to_replica if connect_to_replica is not None else False
21018        '''
21019         Set to connect to a replica instead of the primary node.
21020        '''
21021        self.egress_filter = egress_filter if egress_filter is not None else ''
21022        '''
21023         A filter applied to the routing logic to pin datasource to nodes.
21024        '''
21025        self.healthy = healthy if healthy is not None else False
21026        '''
21027         True if the datasource is reachable and the credentials are valid.
21028        '''
21029        self.hostname = hostname if hostname is not None else ''
21030        '''
21031         The host to dial to initiate a connection from the egress node to this resource.
21032        '''
21033        self.id = id if id is not None else ''
21034        '''
21035         Unique identifier of the Resource.
21036        '''
21037        self.name = name if name is not None else ''
21038        '''
21039         Unique human-readable name of the Resource.
21040        '''
21041        self.password = password if password is not None else ''
21042        '''
21043         The password to authenticate with.
21044        '''
21045        self.port = port if port is not None else 0
21046        '''
21047         The port to dial to initiate a connection from the egress node to this resource.
21048        '''
21049        self.port_override = port_override if port_override is not None else 0
21050        '''
21051         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21052        '''
21053        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21054        '''
21055         ID of the proxy cluster for this resource, if any.
21056        '''
21057        self.replica_set = replica_set if replica_set is not None else ''
21058        '''
21059         The name of the mongo replicaset.
21060        '''
21061        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21062        '''
21063         ID of the secret store containing credentials for this resource, if any.
21064        '''
21065        self.subdomain = subdomain if subdomain is not None else ''
21066        '''
21067         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21068        '''
21069        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21070        '''
21071         Tags is a map of key, value pairs.
21072        '''
21073        self.tls_required = tls_required if tls_required is not None else False
21074        '''
21075         If set, TLS must be used to connect to this resource.
21076        '''
21077        self.username = username if username is not None else ''
21078        '''
21079         The username to authenticate with.
21080        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

tls_required

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

username

The username to authenticate with.

def to_dict(self)
21104    def to_dict(self):
21105        return {
21106            'auth_database': self.auth_database,
21107            'bind_interface': self.bind_interface,
21108            'connect_to_replica': self.connect_to_replica,
21109            'egress_filter': self.egress_filter,
21110            'healthy': self.healthy,
21111            'hostname': self.hostname,
21112            'id': self.id,
21113            'name': self.name,
21114            'password': self.password,
21115            'port': self.port,
21116            'port_override': self.port_override,
21117            'proxy_cluster_id': self.proxy_cluster_id,
21118            'replica_set': self.replica_set,
21119            'secret_store_id': self.secret_store_id,
21120            'subdomain': self.subdomain,
21121            'tags': self.tags,
21122            'tls_required': self.tls_required,
21123            'username': self.username,
21124        }
@classmethod
def from_dict(cls, d)
21126    @classmethod
21127    def from_dict(cls, d):
21128        return cls(
21129            auth_database=d.get('auth_database'),
21130            bind_interface=d.get('bind_interface'),
21131            connect_to_replica=d.get('connect_to_replica'),
21132            egress_filter=d.get('egress_filter'),
21133            healthy=d.get('healthy'),
21134            hostname=d.get('hostname'),
21135            id=d.get('id'),
21136            name=d.get('name'),
21137            password=d.get('password'),
21138            port=d.get('port'),
21139            port_override=d.get('port_override'),
21140            proxy_cluster_id=d.get('proxy_cluster_id'),
21141            replica_set=d.get('replica_set'),
21142            secret_store_id=d.get('secret_store_id'),
21143            subdomain=d.get('subdomain'),
21144            tags=d.get('tags'),
21145            tls_required=d.get('tls_required'),
21146            username=d.get('username'),
21147        )
class MongoShardedCluster:
21150class MongoShardedCluster:
21151    __slots__ = [
21152        'auth_database',
21153        'bind_interface',
21154        'egress_filter',
21155        'healthy',
21156        'hostname',
21157        'id',
21158        'name',
21159        'password',
21160        'port_override',
21161        'proxy_cluster_id',
21162        'secret_store_id',
21163        'subdomain',
21164        'tags',
21165        'tls_required',
21166        'username',
21167    ]
21168
21169    def __init__(
21170        self,
21171        auth_database=None,
21172        bind_interface=None,
21173        egress_filter=None,
21174        healthy=None,
21175        hostname=None,
21176        id=None,
21177        name=None,
21178        password=None,
21179        port_override=None,
21180        proxy_cluster_id=None,
21181        secret_store_id=None,
21182        subdomain=None,
21183        tags=None,
21184        tls_required=None,
21185        username=None,
21186    ):
21187        self.auth_database = auth_database if auth_database is not None else ''
21188        '''
21189         The authentication database to use.
21190        '''
21191        self.bind_interface = bind_interface if bind_interface is not None else ''
21192        '''
21193         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21194        '''
21195        self.egress_filter = egress_filter if egress_filter is not None else ''
21196        '''
21197         A filter applied to the routing logic to pin datasource to nodes.
21198        '''
21199        self.healthy = healthy if healthy is not None else False
21200        '''
21201         True if the datasource is reachable and the credentials are valid.
21202        '''
21203        self.hostname = hostname if hostname is not None else ''
21204        '''
21205         The host to dial to initiate a connection from the egress node to this resource.
21206        '''
21207        self.id = id if id is not None else ''
21208        '''
21209         Unique identifier of the Resource.
21210        '''
21211        self.name = name if name is not None else ''
21212        '''
21213         Unique human-readable name of the Resource.
21214        '''
21215        self.password = password if password is not None else ''
21216        '''
21217         The password to authenticate with.
21218        '''
21219        self.port_override = port_override if port_override is not None else 0
21220        '''
21221         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21222        '''
21223        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21224        '''
21225         ID of the proxy cluster for this resource, if any.
21226        '''
21227        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21228        '''
21229         ID of the secret store containing credentials for this resource, if any.
21230        '''
21231        self.subdomain = subdomain if subdomain is not None else ''
21232        '''
21233         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21234        '''
21235        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21236        '''
21237         Tags is a map of key, value pairs.
21238        '''
21239        self.tls_required = tls_required if tls_required is not None else False
21240        '''
21241         If set, TLS must be used to connect to this resource.
21242        '''
21243        self.username = username if username is not None else ''
21244        '''
21245         The username to authenticate with.
21246        '''
21247
21248    def __repr__(self):
21249        return '<sdm.MongoShardedCluster ' + \
21250            'auth_database: ' + repr(self.auth_database) + ' ' +\
21251            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21252            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21253            'healthy: ' + repr(self.healthy) + ' ' +\
21254            'hostname: ' + repr(self.hostname) + ' ' +\
21255            'id: ' + repr(self.id) + ' ' +\
21256            'name: ' + repr(self.name) + ' ' +\
21257            'password: ' + repr(self.password) + ' ' +\
21258            'port_override: ' + repr(self.port_override) + ' ' +\
21259            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21260            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21261            'subdomain: ' + repr(self.subdomain) + ' ' +\
21262            'tags: ' + repr(self.tags) + ' ' +\
21263            'tls_required: ' + repr(self.tls_required) + ' ' +\
21264            'username: ' + repr(self.username) + ' ' +\
21265            '>'
21266
21267    def to_dict(self):
21268        return {
21269            'auth_database': self.auth_database,
21270            'bind_interface': self.bind_interface,
21271            'egress_filter': self.egress_filter,
21272            'healthy': self.healthy,
21273            'hostname': self.hostname,
21274            'id': self.id,
21275            'name': self.name,
21276            'password': self.password,
21277            'port_override': self.port_override,
21278            'proxy_cluster_id': self.proxy_cluster_id,
21279            'secret_store_id': self.secret_store_id,
21280            'subdomain': self.subdomain,
21281            'tags': self.tags,
21282            'tls_required': self.tls_required,
21283            'username': self.username,
21284        }
21285
21286    @classmethod
21287    def from_dict(cls, d):
21288        return cls(
21289            auth_database=d.get('auth_database'),
21290            bind_interface=d.get('bind_interface'),
21291            egress_filter=d.get('egress_filter'),
21292            healthy=d.get('healthy'),
21293            hostname=d.get('hostname'),
21294            id=d.get('id'),
21295            name=d.get('name'),
21296            password=d.get('password'),
21297            port_override=d.get('port_override'),
21298            proxy_cluster_id=d.get('proxy_cluster_id'),
21299            secret_store_id=d.get('secret_store_id'),
21300            subdomain=d.get('subdomain'),
21301            tags=d.get('tags'),
21302            tls_required=d.get('tls_required'),
21303            username=d.get('username'),
21304        )
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)
21169    def __init__(
21170        self,
21171        auth_database=None,
21172        bind_interface=None,
21173        egress_filter=None,
21174        healthy=None,
21175        hostname=None,
21176        id=None,
21177        name=None,
21178        password=None,
21179        port_override=None,
21180        proxy_cluster_id=None,
21181        secret_store_id=None,
21182        subdomain=None,
21183        tags=None,
21184        tls_required=None,
21185        username=None,
21186    ):
21187        self.auth_database = auth_database if auth_database is not None else ''
21188        '''
21189         The authentication database to use.
21190        '''
21191        self.bind_interface = bind_interface if bind_interface is not None else ''
21192        '''
21193         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21194        '''
21195        self.egress_filter = egress_filter if egress_filter is not None else ''
21196        '''
21197         A filter applied to the routing logic to pin datasource to nodes.
21198        '''
21199        self.healthy = healthy if healthy is not None else False
21200        '''
21201         True if the datasource is reachable and the credentials are valid.
21202        '''
21203        self.hostname = hostname if hostname is not None else ''
21204        '''
21205         The host to dial to initiate a connection from the egress node to this resource.
21206        '''
21207        self.id = id if id is not None else ''
21208        '''
21209         Unique identifier of the Resource.
21210        '''
21211        self.name = name if name is not None else ''
21212        '''
21213         Unique human-readable name of the Resource.
21214        '''
21215        self.password = password if password is not None else ''
21216        '''
21217         The password to authenticate with.
21218        '''
21219        self.port_override = port_override if port_override is not None else 0
21220        '''
21221         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21222        '''
21223        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21224        '''
21225         ID of the proxy cluster for this resource, if any.
21226        '''
21227        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21228        '''
21229         ID of the secret store containing credentials for this resource, if any.
21230        '''
21231        self.subdomain = subdomain if subdomain is not None else ''
21232        '''
21233         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21234        '''
21235        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21236        '''
21237         Tags is a map of key, value pairs.
21238        '''
21239        self.tls_required = tls_required if tls_required is not None else False
21240        '''
21241         If set, TLS must be used to connect to this resource.
21242        '''
21243        self.username = username if username is not None else ''
21244        '''
21245         The username to authenticate with.
21246        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
21267    def to_dict(self):
21268        return {
21269            'auth_database': self.auth_database,
21270            'bind_interface': self.bind_interface,
21271            'egress_filter': self.egress_filter,
21272            'healthy': self.healthy,
21273            'hostname': self.hostname,
21274            'id': self.id,
21275            'name': self.name,
21276            'password': self.password,
21277            'port_override': self.port_override,
21278            'proxy_cluster_id': self.proxy_cluster_id,
21279            'secret_store_id': self.secret_store_id,
21280            'subdomain': self.subdomain,
21281            'tags': self.tags,
21282            'tls_required': self.tls_required,
21283            'username': self.username,
21284        }
@classmethod
def from_dict(cls, d)
21286    @classmethod
21287    def from_dict(cls, d):
21288        return cls(
21289            auth_database=d.get('auth_database'),
21290            bind_interface=d.get('bind_interface'),
21291            egress_filter=d.get('egress_filter'),
21292            healthy=d.get('healthy'),
21293            hostname=d.get('hostname'),
21294            id=d.get('id'),
21295            name=d.get('name'),
21296            password=d.get('password'),
21297            port_override=d.get('port_override'),
21298            proxy_cluster_id=d.get('proxy_cluster_id'),
21299            secret_store_id=d.get('secret_store_id'),
21300            subdomain=d.get('subdomain'),
21301            tags=d.get('tags'),
21302            tls_required=d.get('tls_required'),
21303            username=d.get('username'),
21304        )
class Mysql:
21307class Mysql:
21308    __slots__ = [
21309        'bind_interface',
21310        'database',
21311        'egress_filter',
21312        'healthy',
21313        'hostname',
21314        'id',
21315        'name',
21316        'password',
21317        'port',
21318        'port_override',
21319        'proxy_cluster_id',
21320        'require_native_auth',
21321        'secret_store_id',
21322        'subdomain',
21323        'tags',
21324        'use_azure_single_server_usernames',
21325        'username',
21326    ]
21327
21328    def __init__(
21329        self,
21330        bind_interface=None,
21331        database=None,
21332        egress_filter=None,
21333        healthy=None,
21334        hostname=None,
21335        id=None,
21336        name=None,
21337        password=None,
21338        port=None,
21339        port_override=None,
21340        proxy_cluster_id=None,
21341        require_native_auth=None,
21342        secret_store_id=None,
21343        subdomain=None,
21344        tags=None,
21345        use_azure_single_server_usernames=None,
21346        username=None,
21347    ):
21348        self.bind_interface = bind_interface if bind_interface is not None else ''
21349        '''
21350         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21351        '''
21352        self.database = database if database is not None else ''
21353        '''
21354         The database for healthchecks. Does not affect client requests.
21355        '''
21356        self.egress_filter = egress_filter if egress_filter is not None else ''
21357        '''
21358         A filter applied to the routing logic to pin datasource to nodes.
21359        '''
21360        self.healthy = healthy if healthy is not None else False
21361        '''
21362         True if the datasource is reachable and the credentials are valid.
21363        '''
21364        self.hostname = hostname if hostname is not None else ''
21365        '''
21366         The host to dial to initiate a connection from the egress node to this resource.
21367        '''
21368        self.id = id if id is not None else ''
21369        '''
21370         Unique identifier of the Resource.
21371        '''
21372        self.name = name if name is not None else ''
21373        '''
21374         Unique human-readable name of the Resource.
21375        '''
21376        self.password = password if password is not None else ''
21377        '''
21378         The password to authenticate with.
21379        '''
21380        self.port = port if port is not None else 0
21381        '''
21382         The port to dial to initiate a connection from the egress node to this resource.
21383        '''
21384        self.port_override = port_override if port_override is not None else 0
21385        '''
21386         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21387        '''
21388        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21389        '''
21390         ID of the proxy cluster for this resource, if any.
21391        '''
21392        self.require_native_auth = require_native_auth if require_native_auth is not None else False
21393        '''
21394         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
21395        '''
21396        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21397        '''
21398         ID of the secret store containing credentials for this resource, if any.
21399        '''
21400        self.subdomain = subdomain if subdomain is not None else ''
21401        '''
21402         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21403        '''
21404        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21405        '''
21406         Tags is a map of key, value pairs.
21407        '''
21408        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
21409        '''
21410         If true, appends the hostname to the username when hitting a database.azure.com address
21411        '''
21412        self.username = username if username is not None else ''
21413        '''
21414         The username to authenticate with.
21415        '''
21416
21417    def __repr__(self):
21418        return '<sdm.Mysql ' + \
21419            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21420            'database: ' + repr(self.database) + ' ' +\
21421            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21422            'healthy: ' + repr(self.healthy) + ' ' +\
21423            'hostname: ' + repr(self.hostname) + ' ' +\
21424            'id: ' + repr(self.id) + ' ' +\
21425            'name: ' + repr(self.name) + ' ' +\
21426            'password: ' + repr(self.password) + ' ' +\
21427            'port: ' + repr(self.port) + ' ' +\
21428            'port_override: ' + repr(self.port_override) + ' ' +\
21429            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21430            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
21431            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21432            'subdomain: ' + repr(self.subdomain) + ' ' +\
21433            'tags: ' + repr(self.tags) + ' ' +\
21434            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
21435            'username: ' + repr(self.username) + ' ' +\
21436            '>'
21437
21438    def to_dict(self):
21439        return {
21440            'bind_interface': self.bind_interface,
21441            'database': self.database,
21442            'egress_filter': self.egress_filter,
21443            'healthy': self.healthy,
21444            'hostname': self.hostname,
21445            'id': self.id,
21446            'name': self.name,
21447            'password': self.password,
21448            'port': self.port,
21449            'port_override': self.port_override,
21450            'proxy_cluster_id': self.proxy_cluster_id,
21451            'require_native_auth': self.require_native_auth,
21452            'secret_store_id': self.secret_store_id,
21453            'subdomain': self.subdomain,
21454            'tags': self.tags,
21455            'use_azure_single_server_usernames':
21456            self.use_azure_single_server_usernames,
21457            'username': self.username,
21458        }
21459
21460    @classmethod
21461    def from_dict(cls, d):
21462        return cls(
21463            bind_interface=d.get('bind_interface'),
21464            database=d.get('database'),
21465            egress_filter=d.get('egress_filter'),
21466            healthy=d.get('healthy'),
21467            hostname=d.get('hostname'),
21468            id=d.get('id'),
21469            name=d.get('name'),
21470            password=d.get('password'),
21471            port=d.get('port'),
21472            port_override=d.get('port_override'),
21473            proxy_cluster_id=d.get('proxy_cluster_id'),
21474            require_native_auth=d.get('require_native_auth'),
21475            secret_store_id=d.get('secret_store_id'),
21476            subdomain=d.get('subdomain'),
21477            tags=d.get('tags'),
21478            use_azure_single_server_usernames=d.get(
21479                'use_azure_single_server_usernames'),
21480            username=d.get('username'),
21481        )
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)
21328    def __init__(
21329        self,
21330        bind_interface=None,
21331        database=None,
21332        egress_filter=None,
21333        healthy=None,
21334        hostname=None,
21335        id=None,
21336        name=None,
21337        password=None,
21338        port=None,
21339        port_override=None,
21340        proxy_cluster_id=None,
21341        require_native_auth=None,
21342        secret_store_id=None,
21343        subdomain=None,
21344        tags=None,
21345        use_azure_single_server_usernames=None,
21346        username=None,
21347    ):
21348        self.bind_interface = bind_interface if bind_interface is not None else ''
21349        '''
21350         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21351        '''
21352        self.database = database if database is not None else ''
21353        '''
21354         The database for healthchecks. Does not affect client requests.
21355        '''
21356        self.egress_filter = egress_filter if egress_filter is not None else ''
21357        '''
21358         A filter applied to the routing logic to pin datasource to nodes.
21359        '''
21360        self.healthy = healthy if healthy is not None else False
21361        '''
21362         True if the datasource is reachable and the credentials are valid.
21363        '''
21364        self.hostname = hostname if hostname is not None else ''
21365        '''
21366         The host to dial to initiate a connection from the egress node to this resource.
21367        '''
21368        self.id = id if id is not None else ''
21369        '''
21370         Unique identifier of the Resource.
21371        '''
21372        self.name = name if name is not None else ''
21373        '''
21374         Unique human-readable name of the Resource.
21375        '''
21376        self.password = password if password is not None else ''
21377        '''
21378         The password to authenticate with.
21379        '''
21380        self.port = port if port is not None else 0
21381        '''
21382         The port to dial to initiate a connection from the egress node to this resource.
21383        '''
21384        self.port_override = port_override if port_override is not None else 0
21385        '''
21386         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21387        '''
21388        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21389        '''
21390         ID of the proxy cluster for this resource, if any.
21391        '''
21392        self.require_native_auth = require_native_auth if require_native_auth is not None else False
21393        '''
21394         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
21395        '''
21396        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21397        '''
21398         ID of the secret store containing credentials for this resource, if any.
21399        '''
21400        self.subdomain = subdomain if subdomain is not None else ''
21401        '''
21402         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21403        '''
21404        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21405        '''
21406         Tags is a map of key, value pairs.
21407        '''
21408        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
21409        '''
21410         If true, appends the hostname to the username when hitting a database.azure.com address
21411        '''
21412        self.username = username if username is not None else ''
21413        '''
21414         The username to authenticate with.
21415        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
21438    def to_dict(self):
21439        return {
21440            'bind_interface': self.bind_interface,
21441            'database': self.database,
21442            'egress_filter': self.egress_filter,
21443            'healthy': self.healthy,
21444            'hostname': self.hostname,
21445            'id': self.id,
21446            'name': self.name,
21447            'password': self.password,
21448            'port': self.port,
21449            'port_override': self.port_override,
21450            'proxy_cluster_id': self.proxy_cluster_id,
21451            'require_native_auth': self.require_native_auth,
21452            'secret_store_id': self.secret_store_id,
21453            'subdomain': self.subdomain,
21454            'tags': self.tags,
21455            'use_azure_single_server_usernames':
21456            self.use_azure_single_server_usernames,
21457            'username': self.username,
21458        }
@classmethod
def from_dict(cls, d)
21460    @classmethod
21461    def from_dict(cls, d):
21462        return cls(
21463            bind_interface=d.get('bind_interface'),
21464            database=d.get('database'),
21465            egress_filter=d.get('egress_filter'),
21466            healthy=d.get('healthy'),
21467            hostname=d.get('hostname'),
21468            id=d.get('id'),
21469            name=d.get('name'),
21470            password=d.get('password'),
21471            port=d.get('port'),
21472            port_override=d.get('port_override'),
21473            proxy_cluster_id=d.get('proxy_cluster_id'),
21474            require_native_auth=d.get('require_native_auth'),
21475            secret_store_id=d.get('secret_store_id'),
21476            subdomain=d.get('subdomain'),
21477            tags=d.get('tags'),
21478            use_azure_single_server_usernames=d.get(
21479                'use_azure_single_server_usernames'),
21480            username=d.get('username'),
21481        )
class Neptune:
21484class Neptune:
21485    __slots__ = [
21486        'bind_interface',
21487        'egress_filter',
21488        'endpoint',
21489        'healthy',
21490        'id',
21491        'name',
21492        'port',
21493        'port_override',
21494        'proxy_cluster_id',
21495        'secret_store_id',
21496        'subdomain',
21497        'tags',
21498    ]
21499
21500    def __init__(
21501        self,
21502        bind_interface=None,
21503        egress_filter=None,
21504        endpoint=None,
21505        healthy=None,
21506        id=None,
21507        name=None,
21508        port=None,
21509        port_override=None,
21510        proxy_cluster_id=None,
21511        secret_store_id=None,
21512        subdomain=None,
21513        tags=None,
21514    ):
21515        self.bind_interface = bind_interface if bind_interface is not None else ''
21516        '''
21517         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21518        '''
21519        self.egress_filter = egress_filter if egress_filter is not None else ''
21520        '''
21521         A filter applied to the routing logic to pin datasource to nodes.
21522        '''
21523        self.endpoint = endpoint if endpoint is not None else ''
21524        '''
21525         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
21526        '''
21527        self.healthy = healthy if healthy is not None else False
21528        '''
21529         True if the datasource is reachable and the credentials are valid.
21530        '''
21531        self.id = id if id is not None else ''
21532        '''
21533         Unique identifier of the Resource.
21534        '''
21535        self.name = name if name is not None else ''
21536        '''
21537         Unique human-readable name of the Resource.
21538        '''
21539        self.port = port if port is not None else 0
21540        '''
21541         The port to dial to initiate a connection from the egress node to this resource.
21542        '''
21543        self.port_override = port_override if port_override is not None else 0
21544        '''
21545         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21546        '''
21547        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21548        '''
21549         ID of the proxy cluster for this resource, if any.
21550        '''
21551        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21552        '''
21553         ID of the secret store containing credentials for this resource, if any.
21554        '''
21555        self.subdomain = subdomain if subdomain is not None else ''
21556        '''
21557         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21558        '''
21559        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21560        '''
21561         Tags is a map of key, value pairs.
21562        '''
21563
21564    def __repr__(self):
21565        return '<sdm.Neptune ' + \
21566            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21567            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21568            'endpoint: ' + repr(self.endpoint) + ' ' +\
21569            'healthy: ' + repr(self.healthy) + ' ' +\
21570            'id: ' + repr(self.id) + ' ' +\
21571            'name: ' + repr(self.name) + ' ' +\
21572            'port: ' + repr(self.port) + ' ' +\
21573            'port_override: ' + repr(self.port_override) + ' ' +\
21574            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21575            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21576            'subdomain: ' + repr(self.subdomain) + ' ' +\
21577            'tags: ' + repr(self.tags) + ' ' +\
21578            '>'
21579
21580    def to_dict(self):
21581        return {
21582            'bind_interface': self.bind_interface,
21583            'egress_filter': self.egress_filter,
21584            'endpoint': self.endpoint,
21585            'healthy': self.healthy,
21586            'id': self.id,
21587            'name': self.name,
21588            'port': self.port,
21589            'port_override': self.port_override,
21590            'proxy_cluster_id': self.proxy_cluster_id,
21591            'secret_store_id': self.secret_store_id,
21592            'subdomain': self.subdomain,
21593            'tags': self.tags,
21594        }
21595
21596    @classmethod
21597    def from_dict(cls, d):
21598        return cls(
21599            bind_interface=d.get('bind_interface'),
21600            egress_filter=d.get('egress_filter'),
21601            endpoint=d.get('endpoint'),
21602            healthy=d.get('healthy'),
21603            id=d.get('id'),
21604            name=d.get('name'),
21605            port=d.get('port'),
21606            port_override=d.get('port_override'),
21607            proxy_cluster_id=d.get('proxy_cluster_id'),
21608            secret_store_id=d.get('secret_store_id'),
21609            subdomain=d.get('subdomain'),
21610            tags=d.get('tags'),
21611        )
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)
21500    def __init__(
21501        self,
21502        bind_interface=None,
21503        egress_filter=None,
21504        endpoint=None,
21505        healthy=None,
21506        id=None,
21507        name=None,
21508        port=None,
21509        port_override=None,
21510        proxy_cluster_id=None,
21511        secret_store_id=None,
21512        subdomain=None,
21513        tags=None,
21514    ):
21515        self.bind_interface = bind_interface if bind_interface is not None else ''
21516        '''
21517         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21518        '''
21519        self.egress_filter = egress_filter if egress_filter is not None else ''
21520        '''
21521         A filter applied to the routing logic to pin datasource to nodes.
21522        '''
21523        self.endpoint = endpoint if endpoint is not None else ''
21524        '''
21525         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
21526        '''
21527        self.healthy = healthy if healthy is not None else False
21528        '''
21529         True if the datasource is reachable and the credentials are valid.
21530        '''
21531        self.id = id if id is not None else ''
21532        '''
21533         Unique identifier of the Resource.
21534        '''
21535        self.name = name if name is not None else ''
21536        '''
21537         Unique human-readable name of the Resource.
21538        '''
21539        self.port = port if port is not None else 0
21540        '''
21541         The port to dial to initiate a connection from the egress node to this resource.
21542        '''
21543        self.port_override = port_override if port_override is not None else 0
21544        '''
21545         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21546        '''
21547        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21548        '''
21549         ID of the proxy cluster for this resource, if any.
21550        '''
21551        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21552        '''
21553         ID of the secret store containing credentials for this resource, if any.
21554        '''
21555        self.subdomain = subdomain if subdomain is not None else ''
21556        '''
21557         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21558        '''
21559        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21560        '''
21561         Tags is a map of key, value pairs.
21562        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
21580    def to_dict(self):
21581        return {
21582            'bind_interface': self.bind_interface,
21583            'egress_filter': self.egress_filter,
21584            'endpoint': self.endpoint,
21585            'healthy': self.healthy,
21586            'id': self.id,
21587            'name': self.name,
21588            'port': self.port,
21589            'port_override': self.port_override,
21590            'proxy_cluster_id': self.proxy_cluster_id,
21591            'secret_store_id': self.secret_store_id,
21592            'subdomain': self.subdomain,
21593            'tags': self.tags,
21594        }
@classmethod
def from_dict(cls, d)
21596    @classmethod
21597    def from_dict(cls, d):
21598        return cls(
21599            bind_interface=d.get('bind_interface'),
21600            egress_filter=d.get('egress_filter'),
21601            endpoint=d.get('endpoint'),
21602            healthy=d.get('healthy'),
21603            id=d.get('id'),
21604            name=d.get('name'),
21605            port=d.get('port'),
21606            port_override=d.get('port_override'),
21607            proxy_cluster_id=d.get('proxy_cluster_id'),
21608            secret_store_id=d.get('secret_store_id'),
21609            subdomain=d.get('subdomain'),
21610            tags=d.get('tags'),
21611        )
class NeptuneIAM:
21614class NeptuneIAM:
21615    __slots__ = [
21616        'access_key',
21617        'bind_interface',
21618        'egress_filter',
21619        'endpoint',
21620        'healthy',
21621        'id',
21622        'name',
21623        'port',
21624        'port_override',
21625        'proxy_cluster_id',
21626        'region',
21627        'role_arn',
21628        'role_external_id',
21629        'secret_access_key',
21630        'secret_store_id',
21631        'subdomain',
21632        'tags',
21633    ]
21634
21635    def __init__(
21636        self,
21637        access_key=None,
21638        bind_interface=None,
21639        egress_filter=None,
21640        endpoint=None,
21641        healthy=None,
21642        id=None,
21643        name=None,
21644        port=None,
21645        port_override=None,
21646        proxy_cluster_id=None,
21647        region=None,
21648        role_arn=None,
21649        role_external_id=None,
21650        secret_access_key=None,
21651        secret_store_id=None,
21652        subdomain=None,
21653        tags=None,
21654    ):
21655        self.access_key = access_key if access_key is not None else ''
21656        '''
21657         The Access Key ID to use to authenticate.
21658        '''
21659        self.bind_interface = bind_interface if bind_interface is not None else ''
21660        '''
21661         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21662        '''
21663        self.egress_filter = egress_filter if egress_filter is not None else ''
21664        '''
21665         A filter applied to the routing logic to pin datasource to nodes.
21666        '''
21667        self.endpoint = endpoint if endpoint is not None else ''
21668        '''
21669         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
21670        '''
21671        self.healthy = healthy if healthy is not None else False
21672        '''
21673         True if the datasource is reachable and the credentials are valid.
21674        '''
21675        self.id = id if id is not None else ''
21676        '''
21677         Unique identifier of the Resource.
21678        '''
21679        self.name = name if name is not None else ''
21680        '''
21681         Unique human-readable name of the Resource.
21682        '''
21683        self.port = port if port is not None else 0
21684        '''
21685         The port to dial to initiate a connection from the egress node to this resource.
21686        '''
21687        self.port_override = port_override if port_override is not None else 0
21688        '''
21689         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21690        '''
21691        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21692        '''
21693         ID of the proxy cluster for this resource, if any.
21694        '''
21695        self.region = region if region is not None else ''
21696        '''
21697         The AWS region to connect to.
21698        '''
21699        self.role_arn = role_arn if role_arn is not None else ''
21700        '''
21701         The role to assume after logging in.
21702        '''
21703        self.role_external_id = role_external_id if role_external_id is not None else ''
21704        '''
21705         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
21706        '''
21707        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
21708        '''
21709         The Secret Access Key to use to authenticate.
21710        '''
21711        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21712        '''
21713         ID of the secret store containing credentials for this resource, if any.
21714        '''
21715        self.subdomain = subdomain if subdomain is not None else ''
21716        '''
21717         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21718        '''
21719        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21720        '''
21721         Tags is a map of key, value pairs.
21722        '''
21723
21724    def __repr__(self):
21725        return '<sdm.NeptuneIAM ' + \
21726            'access_key: ' + repr(self.access_key) + ' ' +\
21727            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
21728            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
21729            'endpoint: ' + repr(self.endpoint) + ' ' +\
21730            'healthy: ' + repr(self.healthy) + ' ' +\
21731            'id: ' + repr(self.id) + ' ' +\
21732            'name: ' + repr(self.name) + ' ' +\
21733            'port: ' + repr(self.port) + ' ' +\
21734            'port_override: ' + repr(self.port_override) + ' ' +\
21735            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
21736            'region: ' + repr(self.region) + ' ' +\
21737            'role_arn: ' + repr(self.role_arn) + ' ' +\
21738            'role_external_id: ' + repr(self.role_external_id) + ' ' +\
21739            'secret_access_key: ' + repr(self.secret_access_key) + ' ' +\
21740            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21741            'subdomain: ' + repr(self.subdomain) + ' ' +\
21742            'tags: ' + repr(self.tags) + ' ' +\
21743            '>'
21744
21745    def to_dict(self):
21746        return {
21747            'access_key': self.access_key,
21748            'bind_interface': self.bind_interface,
21749            'egress_filter': self.egress_filter,
21750            'endpoint': self.endpoint,
21751            'healthy': self.healthy,
21752            'id': self.id,
21753            'name': self.name,
21754            'port': self.port,
21755            'port_override': self.port_override,
21756            'proxy_cluster_id': self.proxy_cluster_id,
21757            'region': self.region,
21758            'role_arn': self.role_arn,
21759            'role_external_id': self.role_external_id,
21760            'secret_access_key': self.secret_access_key,
21761            'secret_store_id': self.secret_store_id,
21762            'subdomain': self.subdomain,
21763            'tags': self.tags,
21764        }
21765
21766    @classmethod
21767    def from_dict(cls, d):
21768        return cls(
21769            access_key=d.get('access_key'),
21770            bind_interface=d.get('bind_interface'),
21771            egress_filter=d.get('egress_filter'),
21772            endpoint=d.get('endpoint'),
21773            healthy=d.get('healthy'),
21774            id=d.get('id'),
21775            name=d.get('name'),
21776            port=d.get('port'),
21777            port_override=d.get('port_override'),
21778            proxy_cluster_id=d.get('proxy_cluster_id'),
21779            region=d.get('region'),
21780            role_arn=d.get('role_arn'),
21781            role_external_id=d.get('role_external_id'),
21782            secret_access_key=d.get('secret_access_key'),
21783            secret_store_id=d.get('secret_store_id'),
21784            subdomain=d.get('subdomain'),
21785            tags=d.get('tags'),
21786        )
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)
21635    def __init__(
21636        self,
21637        access_key=None,
21638        bind_interface=None,
21639        egress_filter=None,
21640        endpoint=None,
21641        healthy=None,
21642        id=None,
21643        name=None,
21644        port=None,
21645        port_override=None,
21646        proxy_cluster_id=None,
21647        region=None,
21648        role_arn=None,
21649        role_external_id=None,
21650        secret_access_key=None,
21651        secret_store_id=None,
21652        subdomain=None,
21653        tags=None,
21654    ):
21655        self.access_key = access_key if access_key is not None else ''
21656        '''
21657         The Access Key ID to use to authenticate.
21658        '''
21659        self.bind_interface = bind_interface if bind_interface is not None else ''
21660        '''
21661         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
21662        '''
21663        self.egress_filter = egress_filter if egress_filter is not None else ''
21664        '''
21665         A filter applied to the routing logic to pin datasource to nodes.
21666        '''
21667        self.endpoint = endpoint if endpoint is not None else ''
21668        '''
21669         The neptune endpoint to connect to as in endpoint.region.neptune.amazonaws.com
21670        '''
21671        self.healthy = healthy if healthy is not None else False
21672        '''
21673         True if the datasource is reachable and the credentials are valid.
21674        '''
21675        self.id = id if id is not None else ''
21676        '''
21677         Unique identifier of the Resource.
21678        '''
21679        self.name = name if name is not None else ''
21680        '''
21681         Unique human-readable name of the Resource.
21682        '''
21683        self.port = port if port is not None else 0
21684        '''
21685         The port to dial to initiate a connection from the egress node to this resource.
21686        '''
21687        self.port_override = port_override if port_override is not None else 0
21688        '''
21689         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
21690        '''
21691        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
21692        '''
21693         ID of the proxy cluster for this resource, if any.
21694        '''
21695        self.region = region if region is not None else ''
21696        '''
21697         The AWS region to connect to.
21698        '''
21699        self.role_arn = role_arn if role_arn is not None else ''
21700        '''
21701         The role to assume after logging in.
21702        '''
21703        self.role_external_id = role_external_id if role_external_id is not None else ''
21704        '''
21705         The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
21706        '''
21707        self.secret_access_key = secret_access_key if secret_access_key is not None else ''
21708        '''
21709         The Secret Access Key to use to authenticate.
21710        '''
21711        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21712        '''
21713         ID of the secret store containing credentials for this resource, if any.
21714        '''
21715        self.subdomain = subdomain if subdomain is not None else ''
21716        '''
21717         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
21718        '''
21719        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21720        '''
21721         Tags is a map of key, value pairs.
21722        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
21745    def to_dict(self):
21746        return {
21747            'access_key': self.access_key,
21748            'bind_interface': self.bind_interface,
21749            'egress_filter': self.egress_filter,
21750            'endpoint': self.endpoint,
21751            'healthy': self.healthy,
21752            'id': self.id,
21753            'name': self.name,
21754            'port': self.port,
21755            'port_override': self.port_override,
21756            'proxy_cluster_id': self.proxy_cluster_id,
21757            'region': self.region,
21758            'role_arn': self.role_arn,
21759            'role_external_id': self.role_external_id,
21760            'secret_access_key': self.secret_access_key,
21761            'secret_store_id': self.secret_store_id,
21762            'subdomain': self.subdomain,
21763            'tags': self.tags,
21764        }
@classmethod
def from_dict(cls, d)
21766    @classmethod
21767    def from_dict(cls, d):
21768        return cls(
21769            access_key=d.get('access_key'),
21770            bind_interface=d.get('bind_interface'),
21771            egress_filter=d.get('egress_filter'),
21772            endpoint=d.get('endpoint'),
21773            healthy=d.get('healthy'),
21774            id=d.get('id'),
21775            name=d.get('name'),
21776            port=d.get('port'),
21777            port_override=d.get('port_override'),
21778            proxy_cluster_id=d.get('proxy_cluster_id'),
21779            region=d.get('region'),
21780            role_arn=d.get('role_arn'),
21781            role_external_id=d.get('role_external_id'),
21782            secret_access_key=d.get('secret_access_key'),
21783            secret_store_id=d.get('secret_store_id'),
21784            subdomain=d.get('subdomain'),
21785            tags=d.get('tags'),
21786        )
class NodeCreateResponse:
21789class NodeCreateResponse:
21790    '''
21791         NodeCreateResponse reports how the Nodes were created in the system.
21792    '''
21793    __slots__ = [
21794        'meta',
21795        'node',
21796        'rate_limit',
21797        'token',
21798    ]
21799
21800    def __init__(
21801        self,
21802        meta=None,
21803        node=None,
21804        rate_limit=None,
21805        token=None,
21806    ):
21807        self.meta = meta if meta is not None else None
21808        '''
21809         Reserved for future use.
21810        '''
21811        self.node = node if node is not None else None
21812        '''
21813         The created Node.
21814        '''
21815        self.rate_limit = rate_limit if rate_limit is not None else None
21816        '''
21817         Rate limit information.
21818        '''
21819        self.token = token if token is not None else ''
21820        '''
21821         The auth token generated for the Node. The Node will use this token to
21822         authenticate with the strongDM API.
21823        '''
21824
21825    def __repr__(self):
21826        return '<sdm.NodeCreateResponse ' + \
21827            'meta: ' + repr(self.meta) + ' ' +\
21828            'node: ' + repr(self.node) + ' ' +\
21829            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21830            'token: ' + repr(self.token) + ' ' +\
21831            '>'
21832
21833    def to_dict(self):
21834        return {
21835            'meta': self.meta,
21836            'node': self.node,
21837            'rate_limit': self.rate_limit,
21838            'token': self.token,
21839        }
21840
21841    @classmethod
21842    def from_dict(cls, d):
21843        return cls(
21844            meta=d.get('meta'),
21845            node=d.get('node'),
21846            rate_limit=d.get('rate_limit'),
21847            token=d.get('token'),
21848        )

NodeCreateResponse reports how the Nodes were created in the system.

NodeCreateResponse(meta=None, node=None, rate_limit=None, token=None)
21800    def __init__(
21801        self,
21802        meta=None,
21803        node=None,
21804        rate_limit=None,
21805        token=None,
21806    ):
21807        self.meta = meta if meta is not None else None
21808        '''
21809         Reserved for future use.
21810        '''
21811        self.node = node if node is not None else None
21812        '''
21813         The created Node.
21814        '''
21815        self.rate_limit = rate_limit if rate_limit is not None else None
21816        '''
21817         Rate limit information.
21818        '''
21819        self.token = token if token is not None else ''
21820        '''
21821         The auth token generated for the Node. The Node will use this token to
21822         authenticate with the strongDM API.
21823        '''
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)
21833    def to_dict(self):
21834        return {
21835            'meta': self.meta,
21836            'node': self.node,
21837            'rate_limit': self.rate_limit,
21838            'token': self.token,
21839        }
@classmethod
def from_dict(cls, d)
21841    @classmethod
21842    def from_dict(cls, d):
21843        return cls(
21844            meta=d.get('meta'),
21845            node=d.get('node'),
21846            rate_limit=d.get('rate_limit'),
21847            token=d.get('token'),
21848        )
class NodeDeleteResponse:
21851class NodeDeleteResponse:
21852    '''
21853         NodeDeleteResponse returns information about a Node that was deleted.
21854    '''
21855    __slots__ = [
21856        'meta',
21857        'rate_limit',
21858    ]
21859
21860    def __init__(
21861        self,
21862        meta=None,
21863        rate_limit=None,
21864    ):
21865        self.meta = meta if meta is not None else None
21866        '''
21867         Reserved for future use.
21868        '''
21869        self.rate_limit = rate_limit if rate_limit is not None else None
21870        '''
21871         Rate limit information.
21872        '''
21873
21874    def __repr__(self):
21875        return '<sdm.NodeDeleteResponse ' + \
21876            'meta: ' + repr(self.meta) + ' ' +\
21877            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21878            '>'
21879
21880    def to_dict(self):
21881        return {
21882            'meta': self.meta,
21883            'rate_limit': self.rate_limit,
21884        }
21885
21886    @classmethod
21887    def from_dict(cls, d):
21888        return cls(
21889            meta=d.get('meta'),
21890            rate_limit=d.get('rate_limit'),
21891        )

NodeDeleteResponse returns information about a Node that was deleted.

NodeDeleteResponse(meta=None, rate_limit=None)
21860    def __init__(
21861        self,
21862        meta=None,
21863        rate_limit=None,
21864    ):
21865        self.meta = meta if meta is not None else None
21866        '''
21867         Reserved for future use.
21868        '''
21869        self.rate_limit = rate_limit if rate_limit is not None else None
21870        '''
21871         Rate limit information.
21872        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
21880    def to_dict(self):
21881        return {
21882            'meta': self.meta,
21883            'rate_limit': self.rate_limit,
21884        }
@classmethod
def from_dict(cls, d)
21886    @classmethod
21887    def from_dict(cls, d):
21888        return cls(
21889            meta=d.get('meta'),
21890            rate_limit=d.get('rate_limit'),
21891        )
class NodeGetResponse:
21894class NodeGetResponse:
21895    '''
21896         NodeGetResponse returns a requested Node.
21897    '''
21898    __slots__ = [
21899        'meta',
21900        'node',
21901        'rate_limit',
21902    ]
21903
21904    def __init__(
21905        self,
21906        meta=None,
21907        node=None,
21908        rate_limit=None,
21909    ):
21910        self.meta = meta if meta is not None else None
21911        '''
21912         Reserved for future use.
21913        '''
21914        self.node = node if node is not None else None
21915        '''
21916         The requested Node.
21917        '''
21918        self.rate_limit = rate_limit if rate_limit is not None else None
21919        '''
21920         Rate limit information.
21921        '''
21922
21923    def __repr__(self):
21924        return '<sdm.NodeGetResponse ' + \
21925            'meta: ' + repr(self.meta) + ' ' +\
21926            'node: ' + repr(self.node) + ' ' +\
21927            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
21928            '>'
21929
21930    def to_dict(self):
21931        return {
21932            'meta': self.meta,
21933            'node': self.node,
21934            'rate_limit': self.rate_limit,
21935        }
21936
21937    @classmethod
21938    def from_dict(cls, d):
21939        return cls(
21940            meta=d.get('meta'),
21941            node=d.get('node'),
21942            rate_limit=d.get('rate_limit'),
21943        )

NodeGetResponse returns a requested Node.

NodeGetResponse(meta=None, node=None, rate_limit=None)
21904    def __init__(
21905        self,
21906        meta=None,
21907        node=None,
21908        rate_limit=None,
21909    ):
21910        self.meta = meta if meta is not None else None
21911        '''
21912         Reserved for future use.
21913        '''
21914        self.node = node if node is not None else None
21915        '''
21916         The requested Node.
21917        '''
21918        self.rate_limit = rate_limit if rate_limit is not None else None
21919        '''
21920         Rate limit information.
21921        '''
meta

Reserved for future use.

node

The requested Node.

rate_limit

Rate limit information.

def to_dict(self)
21930    def to_dict(self):
21931        return {
21932            'meta': self.meta,
21933            'node': self.node,
21934            'rate_limit': self.rate_limit,
21935        }
@classmethod
def from_dict(cls, d)
21937    @classmethod
21938    def from_dict(cls, d):
21939        return cls(
21940            meta=d.get('meta'),
21941            node=d.get('node'),
21942            rate_limit=d.get('rate_limit'),
21943        )
class NodeHistory:
21946class NodeHistory:
21947    '''
21948         NodeHistory records the state of a Node at a given point in time,
21949     where every change (create, update and delete) to a Node produces an
21950     NodeHistory record.
21951    '''
21952    __slots__ = [
21953        'activity_id',
21954        'deleted_at',
21955        'node',
21956        'timestamp',
21957    ]
21958
21959    def __init__(
21960        self,
21961        activity_id=None,
21962        deleted_at=None,
21963        node=None,
21964        timestamp=None,
21965    ):
21966        self.activity_id = activity_id if activity_id is not None else ''
21967        '''
21968         The unique identifier of the Activity that produced this change to the Node.
21969         May be empty for some system-initiated updates.
21970        '''
21971        self.deleted_at = deleted_at if deleted_at is not None else None
21972        '''
21973         If this Node was deleted, the time it was deleted.
21974        '''
21975        self.node = node if node is not None else None
21976        '''
21977         The complete Node state at this time.
21978        '''
21979        self.timestamp = timestamp if timestamp is not None else None
21980        '''
21981         The time at which the Node state was recorded.
21982        '''
21983
21984    def __repr__(self):
21985        return '<sdm.NodeHistory ' + \
21986            'activity_id: ' + repr(self.activity_id) + ' ' +\
21987            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
21988            'node: ' + repr(self.node) + ' ' +\
21989            'timestamp: ' + repr(self.timestamp) + ' ' +\
21990            '>'
21991
21992    def to_dict(self):
21993        return {
21994            'activity_id': self.activity_id,
21995            'deleted_at': self.deleted_at,
21996            'node': self.node,
21997            'timestamp': self.timestamp,
21998        }
21999
22000    @classmethod
22001    def from_dict(cls, d):
22002        return cls(
22003            activity_id=d.get('activity_id'),
22004            deleted_at=d.get('deleted_at'),
22005            node=d.get('node'),
22006            timestamp=d.get('timestamp'),
22007        )

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)
21959    def __init__(
21960        self,
21961        activity_id=None,
21962        deleted_at=None,
21963        node=None,
21964        timestamp=None,
21965    ):
21966        self.activity_id = activity_id if activity_id is not None else ''
21967        '''
21968         The unique identifier of the Activity that produced this change to the Node.
21969         May be empty for some system-initiated updates.
21970        '''
21971        self.deleted_at = deleted_at if deleted_at is not None else None
21972        '''
21973         If this Node was deleted, the time it was deleted.
21974        '''
21975        self.node = node if node is not None else None
21976        '''
21977         The complete Node state at this time.
21978        '''
21979        self.timestamp = timestamp if timestamp is not None else None
21980        '''
21981         The time at which the Node state was recorded.
21982        '''
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)
21992    def to_dict(self):
21993        return {
21994            'activity_id': self.activity_id,
21995            'deleted_at': self.deleted_at,
21996            'node': self.node,
21997            'timestamp': self.timestamp,
21998        }
@classmethod
def from_dict(cls, d)
22000    @classmethod
22001    def from_dict(cls, d):
22002        return cls(
22003            activity_id=d.get('activity_id'),
22004            deleted_at=d.get('deleted_at'),
22005            node=d.get('node'),
22006            timestamp=d.get('timestamp'),
22007        )
class NodeMaintenanceWindow:
22010class NodeMaintenanceWindow:
22011    __slots__ = [
22012        'cron_schedule',
22013        'require_idleness',
22014    ]
22015
22016    def __init__(
22017        self,
22018        cron_schedule=None,
22019        require_idleness=None,
22020    ):
22021        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
22022        '''
22023         Cron job syntax for when this maintenance window is active. On this schedule, associated
22024         nodes will restart if requested, provided other checks allow the restart to proceed. Times
22025         are represented in UTC.
22026         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
22027         Saturday. Not all possible inputs are supported: the month and day of month selections
22028         must be '*'.
22029        '''
22030        self.require_idleness = require_idleness if require_idleness is not None else False
22031        '''
22032         Require Idleness defines whether this window can sever live connections. If true,
22033         this window will not allow a node to be restarted unless it is serving no connections.
22034         If false, given a restart of the node has been requested (for an update, usually), the
22035         node will restart as soon as it enters an allowed day / hour combination. At least one
22036         maintenance window, out of all configured windows for a node, must have this as false.
22037        '''
22038
22039    def __repr__(self):
22040        return '<sdm.NodeMaintenanceWindow ' + \
22041            'cron_schedule: ' + repr(self.cron_schedule) + ' ' +\
22042            'require_idleness: ' + repr(self.require_idleness) + ' ' +\
22043            '>'
22044
22045    def to_dict(self):
22046        return {
22047            'cron_schedule': self.cron_schedule,
22048            'require_idleness': self.require_idleness,
22049        }
22050
22051    @classmethod
22052    def from_dict(cls, d):
22053        return cls(
22054            cron_schedule=d.get('cron_schedule'),
22055            require_idleness=d.get('require_idleness'),
22056        )
NodeMaintenanceWindow(cron_schedule=None, require_idleness=None)
22016    def __init__(
22017        self,
22018        cron_schedule=None,
22019        require_idleness=None,
22020    ):
22021        self.cron_schedule = cron_schedule if cron_schedule is not None else ''
22022        '''
22023         Cron job syntax for when this maintenance window is active. On this schedule, associated
22024         nodes will restart if requested, provided other checks allow the restart to proceed. Times
22025         are represented in UTC.
22026         e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
22027         Saturday. Not all possible inputs are supported: the month and day of month selections
22028         must be '*'.
22029        '''
22030        self.require_idleness = require_idleness if require_idleness is not None else False
22031        '''
22032         Require Idleness defines whether this window can sever live connections. If true,
22033         this window will not allow a node to be restarted unless it is serving no connections.
22034         If false, given a restart of the node has been requested (for an update, usually), the
22035         node will restart as soon as it enters an allowed day / hour combination. At least one
22036         maintenance window, out of all configured windows for a node, must have this as false.
22037        '''
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)
22045    def to_dict(self):
22046        return {
22047            'cron_schedule': self.cron_schedule,
22048            'require_idleness': self.require_idleness,
22049        }
@classmethod
def from_dict(cls, d)
22051    @classmethod
22052    def from_dict(cls, d):
22053        return cls(
22054            cron_schedule=d.get('cron_schedule'),
22055            require_idleness=d.get('require_idleness'),
22056        )
class NodeUpdateResponse:
22059class NodeUpdateResponse:
22060    '''
22061         NodeUpdateResponse returns the fields of a Node after it has been updated by
22062     a NodeUpdateRequest.
22063    '''
22064    __slots__ = [
22065        'meta',
22066        'node',
22067        'rate_limit',
22068    ]
22069
22070    def __init__(
22071        self,
22072        meta=None,
22073        node=None,
22074        rate_limit=None,
22075    ):
22076        self.meta = meta if meta is not None else None
22077        '''
22078         Reserved for future use.
22079        '''
22080        self.node = node if node is not None else None
22081        '''
22082         The updated Node.
22083        '''
22084        self.rate_limit = rate_limit if rate_limit is not None else None
22085        '''
22086         Rate limit information.
22087        '''
22088
22089    def __repr__(self):
22090        return '<sdm.NodeUpdateResponse ' + \
22091            'meta: ' + repr(self.meta) + ' ' +\
22092            'node: ' + repr(self.node) + ' ' +\
22093            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22094            '>'
22095
22096    def to_dict(self):
22097        return {
22098            'meta': self.meta,
22099            'node': self.node,
22100            'rate_limit': self.rate_limit,
22101        }
22102
22103    @classmethod
22104    def from_dict(cls, d):
22105        return cls(
22106            meta=d.get('meta'),
22107            node=d.get('node'),
22108            rate_limit=d.get('rate_limit'),
22109        )

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

NodeUpdateResponse(meta=None, node=None, rate_limit=None)
22070    def __init__(
22071        self,
22072        meta=None,
22073        node=None,
22074        rate_limit=None,
22075    ):
22076        self.meta = meta if meta is not None else None
22077        '''
22078         Reserved for future use.
22079        '''
22080        self.node = node if node is not None else None
22081        '''
22082         The updated Node.
22083        '''
22084        self.rate_limit = rate_limit if rate_limit is not None else None
22085        '''
22086         Rate limit information.
22087        '''
meta

Reserved for future use.

node

The updated Node.

rate_limit

Rate limit information.

def to_dict(self)
22096    def to_dict(self):
22097        return {
22098            'meta': self.meta,
22099            'node': self.node,
22100            'rate_limit': self.rate_limit,
22101        }
@classmethod
def from_dict(cls, d)
22103    @classmethod
22104    def from_dict(cls, d):
22105        return cls(
22106            meta=d.get('meta'),
22107            node=d.get('node'),
22108            rate_limit=d.get('rate_limit'),
22109        )
class Oracle:
22112class Oracle:
22113    __slots__ = [
22114        'bind_interface',
22115        'database',
22116        'egress_filter',
22117        'healthy',
22118        'hostname',
22119        'id',
22120        'name',
22121        'password',
22122        'port',
22123        'port_override',
22124        'proxy_cluster_id',
22125        'secret_store_id',
22126        'subdomain',
22127        'tags',
22128        'tls_required',
22129        'username',
22130    ]
22131
22132    def __init__(
22133        self,
22134        bind_interface=None,
22135        database=None,
22136        egress_filter=None,
22137        healthy=None,
22138        hostname=None,
22139        id=None,
22140        name=None,
22141        password=None,
22142        port=None,
22143        port_override=None,
22144        proxy_cluster_id=None,
22145        secret_store_id=None,
22146        subdomain=None,
22147        tags=None,
22148        tls_required=None,
22149        username=None,
22150    ):
22151        self.bind_interface = bind_interface if bind_interface is not None else ''
22152        '''
22153         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22154        '''
22155        self.database = database if database is not None else ''
22156        '''
22157         Oracle service name to connect to
22158        '''
22159        self.egress_filter = egress_filter if egress_filter is not None else ''
22160        '''
22161         A filter applied to the routing logic to pin datasource to nodes.
22162        '''
22163        self.healthy = healthy if healthy is not None else False
22164        '''
22165         True if the datasource is reachable and the credentials are valid.
22166        '''
22167        self.hostname = hostname if hostname is not None else ''
22168        '''
22169         The host to dial to initiate a connection from the egress node to this resource.
22170        '''
22171        self.id = id if id is not None else ''
22172        '''
22173         Unique identifier of the Resource.
22174        '''
22175        self.name = name if name is not None else ''
22176        '''
22177         Unique human-readable name of the Resource.
22178        '''
22179        self.password = password if password is not None else ''
22180        '''
22181         The password to authenticate with.
22182        '''
22183        self.port = port if port is not None else 0
22184        '''
22185         The port to dial to initiate a connection from the egress node to this resource.
22186        '''
22187        self.port_override = port_override if port_override is not None else 0
22188        '''
22189         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22190        '''
22191        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22192        '''
22193         ID of the proxy cluster for this resource, if any.
22194        '''
22195        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22196        '''
22197         ID of the secret store containing credentials for this resource, if any.
22198        '''
22199        self.subdomain = subdomain if subdomain is not None else ''
22200        '''
22201         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22202        '''
22203        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22204        '''
22205         Tags is a map of key, value pairs.
22206        '''
22207        self.tls_required = tls_required if tls_required is not None else False
22208        '''
22209         If set, TLS must be used to connect to this resource.
22210        '''
22211        self.username = username if username is not None else ''
22212        '''
22213         The username to authenticate with.
22214        '''
22215
22216    def __repr__(self):
22217        return '<sdm.Oracle ' + \
22218            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22219            'database: ' + repr(self.database) + ' ' +\
22220            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22221            'healthy: ' + repr(self.healthy) + ' ' +\
22222            'hostname: ' + repr(self.hostname) + ' ' +\
22223            'id: ' + repr(self.id) + ' ' +\
22224            'name: ' + repr(self.name) + ' ' +\
22225            'password: ' + repr(self.password) + ' ' +\
22226            'port: ' + repr(self.port) + ' ' +\
22227            'port_override: ' + repr(self.port_override) + ' ' +\
22228            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22229            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22230            'subdomain: ' + repr(self.subdomain) + ' ' +\
22231            'tags: ' + repr(self.tags) + ' ' +\
22232            'tls_required: ' + repr(self.tls_required) + ' ' +\
22233            'username: ' + repr(self.username) + ' ' +\
22234            '>'
22235
22236    def to_dict(self):
22237        return {
22238            'bind_interface': self.bind_interface,
22239            'database': self.database,
22240            'egress_filter': self.egress_filter,
22241            'healthy': self.healthy,
22242            'hostname': self.hostname,
22243            'id': self.id,
22244            'name': self.name,
22245            'password': self.password,
22246            'port': self.port,
22247            'port_override': self.port_override,
22248            'proxy_cluster_id': self.proxy_cluster_id,
22249            'secret_store_id': self.secret_store_id,
22250            'subdomain': self.subdomain,
22251            'tags': self.tags,
22252            'tls_required': self.tls_required,
22253            'username': self.username,
22254        }
22255
22256    @classmethod
22257    def from_dict(cls, d):
22258        return cls(
22259            bind_interface=d.get('bind_interface'),
22260            database=d.get('database'),
22261            egress_filter=d.get('egress_filter'),
22262            healthy=d.get('healthy'),
22263            hostname=d.get('hostname'),
22264            id=d.get('id'),
22265            name=d.get('name'),
22266            password=d.get('password'),
22267            port=d.get('port'),
22268            port_override=d.get('port_override'),
22269            proxy_cluster_id=d.get('proxy_cluster_id'),
22270            secret_store_id=d.get('secret_store_id'),
22271            subdomain=d.get('subdomain'),
22272            tags=d.get('tags'),
22273            tls_required=d.get('tls_required'),
22274            username=d.get('username'),
22275        )
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)
22132    def __init__(
22133        self,
22134        bind_interface=None,
22135        database=None,
22136        egress_filter=None,
22137        healthy=None,
22138        hostname=None,
22139        id=None,
22140        name=None,
22141        password=None,
22142        port=None,
22143        port_override=None,
22144        proxy_cluster_id=None,
22145        secret_store_id=None,
22146        subdomain=None,
22147        tags=None,
22148        tls_required=None,
22149        username=None,
22150    ):
22151        self.bind_interface = bind_interface if bind_interface is not None else ''
22152        '''
22153         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22154        '''
22155        self.database = database if database is not None else ''
22156        '''
22157         Oracle service name to connect to
22158        '''
22159        self.egress_filter = egress_filter if egress_filter is not None else ''
22160        '''
22161         A filter applied to the routing logic to pin datasource to nodes.
22162        '''
22163        self.healthy = healthy if healthy is not None else False
22164        '''
22165         True if the datasource is reachable and the credentials are valid.
22166        '''
22167        self.hostname = hostname if hostname is not None else ''
22168        '''
22169         The host to dial to initiate a connection from the egress node to this resource.
22170        '''
22171        self.id = id if id is not None else ''
22172        '''
22173         Unique identifier of the Resource.
22174        '''
22175        self.name = name if name is not None else ''
22176        '''
22177         Unique human-readable name of the Resource.
22178        '''
22179        self.password = password if password is not None else ''
22180        '''
22181         The password to authenticate with.
22182        '''
22183        self.port = port if port is not None else 0
22184        '''
22185         The port to dial to initiate a connection from the egress node to this resource.
22186        '''
22187        self.port_override = port_override if port_override is not None else 0
22188        '''
22189         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22190        '''
22191        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22192        '''
22193         ID of the proxy cluster for this resource, if any.
22194        '''
22195        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22196        '''
22197         ID of the secret store containing credentials for this resource, if any.
22198        '''
22199        self.subdomain = subdomain if subdomain is not None else ''
22200        '''
22201         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22202        '''
22203        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22204        '''
22205         Tags is a map of key, value pairs.
22206        '''
22207        self.tls_required = tls_required if tls_required is not None else False
22208        '''
22209         If set, TLS must be used to connect to this resource.
22210        '''
22211        self.username = username if username is not None else ''
22212        '''
22213         The username to authenticate with.
22214        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

Oracle service name to connect to

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
22236    def to_dict(self):
22237        return {
22238            'bind_interface': self.bind_interface,
22239            'database': self.database,
22240            'egress_filter': self.egress_filter,
22241            'healthy': self.healthy,
22242            'hostname': self.hostname,
22243            'id': self.id,
22244            'name': self.name,
22245            'password': self.password,
22246            'port': self.port,
22247            'port_override': self.port_override,
22248            'proxy_cluster_id': self.proxy_cluster_id,
22249            'secret_store_id': self.secret_store_id,
22250            'subdomain': self.subdomain,
22251            'tags': self.tags,
22252            'tls_required': self.tls_required,
22253            'username': self.username,
22254        }
@classmethod
def from_dict(cls, d)
22256    @classmethod
22257    def from_dict(cls, d):
22258        return cls(
22259            bind_interface=d.get('bind_interface'),
22260            database=d.get('database'),
22261            egress_filter=d.get('egress_filter'),
22262            healthy=d.get('healthy'),
22263            hostname=d.get('hostname'),
22264            id=d.get('id'),
22265            name=d.get('name'),
22266            password=d.get('password'),
22267            port=d.get('port'),
22268            port_override=d.get('port_override'),
22269            proxy_cluster_id=d.get('proxy_cluster_id'),
22270            secret_store_id=d.get('secret_store_id'),
22271            subdomain=d.get('subdomain'),
22272            tags=d.get('tags'),
22273            tls_required=d.get('tls_required'),
22274            username=d.get('username'),
22275        )
class OracleNNE:
22278class OracleNNE:
22279    __slots__ = [
22280        'bind_interface',
22281        'database',
22282        'egress_filter',
22283        'healthy',
22284        'hostname',
22285        'id',
22286        'name',
22287        'password',
22288        'port',
22289        'port_override',
22290        'proxy_cluster_id',
22291        'secret_store_id',
22292        'subdomain',
22293        'tags',
22294        'tls_required',
22295        'username',
22296    ]
22297
22298    def __init__(
22299        self,
22300        bind_interface=None,
22301        database=None,
22302        egress_filter=None,
22303        healthy=None,
22304        hostname=None,
22305        id=None,
22306        name=None,
22307        password=None,
22308        port=None,
22309        port_override=None,
22310        proxy_cluster_id=None,
22311        secret_store_id=None,
22312        subdomain=None,
22313        tags=None,
22314        tls_required=None,
22315        username=None,
22316    ):
22317        self.bind_interface = bind_interface if bind_interface is not None else ''
22318        '''
22319         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22320        '''
22321        self.database = database if database is not None else ''
22322        '''
22323         Oracle service name to connect to
22324        '''
22325        self.egress_filter = egress_filter if egress_filter is not None else ''
22326        '''
22327         A filter applied to the routing logic to pin datasource to nodes.
22328        '''
22329        self.healthy = healthy if healthy is not None else False
22330        '''
22331         True if the datasource is reachable and the credentials are valid.
22332        '''
22333        self.hostname = hostname if hostname is not None else ''
22334        '''
22335         The host to dial to initiate a connection from the egress node to this resource.
22336        '''
22337        self.id = id if id is not None else ''
22338        '''
22339         Unique identifier of the Resource.
22340        '''
22341        self.name = name if name is not None else ''
22342        '''
22343         Unique human-readable name of the Resource.
22344        '''
22345        self.password = password if password is not None else ''
22346        '''
22347         The password to authenticate with.
22348        '''
22349        self.port = port if port is not None else 0
22350        '''
22351         The port to dial to initiate a connection from the egress node to this resource.
22352        '''
22353        self.port_override = port_override if port_override is not None else 0
22354        '''
22355         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22356        '''
22357        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22358        '''
22359         ID of the proxy cluster for this resource, if any.
22360        '''
22361        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22362        '''
22363         ID of the secret store containing credentials for this resource, if any.
22364        '''
22365        self.subdomain = subdomain if subdomain is not None else ''
22366        '''
22367         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22368        '''
22369        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22370        '''
22371         Tags is a map of key, value pairs.
22372        '''
22373        self.tls_required = tls_required if tls_required is not None else False
22374        '''
22375         If set, TLS must be used to connect to this resource.
22376        '''
22377        self.username = username if username is not None else ''
22378        '''
22379         The username to authenticate with.
22380        '''
22381
22382    def __repr__(self):
22383        return '<sdm.OracleNNE ' + \
22384            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
22385            'database: ' + repr(self.database) + ' ' +\
22386            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
22387            'healthy: ' + repr(self.healthy) + ' ' +\
22388            'hostname: ' + repr(self.hostname) + ' ' +\
22389            'id: ' + repr(self.id) + ' ' +\
22390            'name: ' + repr(self.name) + ' ' +\
22391            'password: ' + repr(self.password) + ' ' +\
22392            'port: ' + repr(self.port) + ' ' +\
22393            'port_override: ' + repr(self.port_override) + ' ' +\
22394            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
22395            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
22396            'subdomain: ' + repr(self.subdomain) + ' ' +\
22397            'tags: ' + repr(self.tags) + ' ' +\
22398            'tls_required: ' + repr(self.tls_required) + ' ' +\
22399            'username: ' + repr(self.username) + ' ' +\
22400            '>'
22401
22402    def to_dict(self):
22403        return {
22404            'bind_interface': self.bind_interface,
22405            'database': self.database,
22406            'egress_filter': self.egress_filter,
22407            'healthy': self.healthy,
22408            'hostname': self.hostname,
22409            'id': self.id,
22410            'name': self.name,
22411            'password': self.password,
22412            'port': self.port,
22413            'port_override': self.port_override,
22414            'proxy_cluster_id': self.proxy_cluster_id,
22415            'secret_store_id': self.secret_store_id,
22416            'subdomain': self.subdomain,
22417            'tags': self.tags,
22418            'tls_required': self.tls_required,
22419            'username': self.username,
22420        }
22421
22422    @classmethod
22423    def from_dict(cls, d):
22424        return cls(
22425            bind_interface=d.get('bind_interface'),
22426            database=d.get('database'),
22427            egress_filter=d.get('egress_filter'),
22428            healthy=d.get('healthy'),
22429            hostname=d.get('hostname'),
22430            id=d.get('id'),
22431            name=d.get('name'),
22432            password=d.get('password'),
22433            port=d.get('port'),
22434            port_override=d.get('port_override'),
22435            proxy_cluster_id=d.get('proxy_cluster_id'),
22436            secret_store_id=d.get('secret_store_id'),
22437            subdomain=d.get('subdomain'),
22438            tags=d.get('tags'),
22439            tls_required=d.get('tls_required'),
22440            username=d.get('username'),
22441        )
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, tls_required=None, username=None)
22298    def __init__(
22299        self,
22300        bind_interface=None,
22301        database=None,
22302        egress_filter=None,
22303        healthy=None,
22304        hostname=None,
22305        id=None,
22306        name=None,
22307        password=None,
22308        port=None,
22309        port_override=None,
22310        proxy_cluster_id=None,
22311        secret_store_id=None,
22312        subdomain=None,
22313        tags=None,
22314        tls_required=None,
22315        username=None,
22316    ):
22317        self.bind_interface = bind_interface if bind_interface is not None else ''
22318        '''
22319         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
22320        '''
22321        self.database = database if database is not None else ''
22322        '''
22323         Oracle service name to connect to
22324        '''
22325        self.egress_filter = egress_filter if egress_filter is not None else ''
22326        '''
22327         A filter applied to the routing logic to pin datasource to nodes.
22328        '''
22329        self.healthy = healthy if healthy is not None else False
22330        '''
22331         True if the datasource is reachable and the credentials are valid.
22332        '''
22333        self.hostname = hostname if hostname is not None else ''
22334        '''
22335         The host to dial to initiate a connection from the egress node to this resource.
22336        '''
22337        self.id = id if id is not None else ''
22338        '''
22339         Unique identifier of the Resource.
22340        '''
22341        self.name = name if name is not None else ''
22342        '''
22343         Unique human-readable name of the Resource.
22344        '''
22345        self.password = password if password is not None else ''
22346        '''
22347         The password to authenticate with.
22348        '''
22349        self.port = port if port is not None else 0
22350        '''
22351         The port to dial to initiate a connection from the egress node to this resource.
22352        '''
22353        self.port_override = port_override if port_override is not None else 0
22354        '''
22355         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
22356        '''
22357        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
22358        '''
22359         ID of the proxy cluster for this resource, if any.
22360        '''
22361        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
22362        '''
22363         ID of the secret store containing credentials for this resource, if any.
22364        '''
22365        self.subdomain = subdomain if subdomain is not None else ''
22366        '''
22367         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
22368        '''
22369        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
22370        '''
22371         Tags is a map of key, value pairs.
22372        '''
22373        self.tls_required = tls_required if tls_required is not None else False
22374        '''
22375         If set, TLS must be used to connect to this resource.
22376        '''
22377        self.username = username if username is not None else ''
22378        '''
22379         The username to authenticate with.
22380        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

Oracle service name to connect to

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
22402    def to_dict(self):
22403        return {
22404            'bind_interface': self.bind_interface,
22405            'database': self.database,
22406            'egress_filter': self.egress_filter,
22407            'healthy': self.healthy,
22408            'hostname': self.hostname,
22409            'id': self.id,
22410            'name': self.name,
22411            'password': self.password,
22412            'port': self.port,
22413            'port_override': self.port_override,
22414            'proxy_cluster_id': self.proxy_cluster_id,
22415            'secret_store_id': self.secret_store_id,
22416            'subdomain': self.subdomain,
22417            'tags': self.tags,
22418            'tls_required': self.tls_required,
22419            'username': self.username,
22420        }
@classmethod
def from_dict(cls, d)
22422    @classmethod
22423    def from_dict(cls, d):
22424        return cls(
22425            bind_interface=d.get('bind_interface'),
22426            database=d.get('database'),
22427            egress_filter=d.get('egress_filter'),
22428            healthy=d.get('healthy'),
22429            hostname=d.get('hostname'),
22430            id=d.get('id'),
22431            name=d.get('name'),
22432            password=d.get('password'),
22433            port=d.get('port'),
22434            port_override=d.get('port_override'),
22435            proxy_cluster_id=d.get('proxy_cluster_id'),
22436            secret_store_id=d.get('secret_store_id'),
22437            subdomain=d.get('subdomain'),
22438            tags=d.get('tags'),
22439            tls_required=d.get('tls_required'),
22440            username=d.get('username'),
22441        )
class Organization:
22444class Organization:
22445    __slots__ = [
22446        'auth_provider',
22447        'created_at',
22448        'device_trust_enabled',
22449        'device_trust_provider',
22450        'discard_replays',
22451        'enforce_single_session',
22452        'idle_timeout',
22453        'idle_timeout_enabled',
22454        'kind',
22455        'log_config',
22456        'log_local_encoder',
22457        'log_local_format',
22458        'log_local_storage',
22459        'log_remote_encoder',
22460        'log_socket_path',
22461        'log_tcp_address',
22462        'loopback_range',
22463        'mfa_enabled',
22464        'mfa_provider',
22465        'name',
22466        'public_key_pem',
22467        'require_secret_store',
22468        'saml_metadata_url',
22469        'scim_provider',
22470        'sensitive_label',
22471        'session_timeout',
22472        'session_timeout_enabled',
22473        'ssh_certificate_authority_public_key',
22474        'ssh_certificate_authority_updated_at',
22475        'updated_at',
22476        'websites_subdomain',
22477    ]
22478
22479    def __init__(
22480        self,
22481        auth_provider=None,
22482        created_at=None,
22483        device_trust_enabled=None,
22484        device_trust_provider=None,
22485        discard_replays=None,
22486        enforce_single_session=None,
22487        idle_timeout=None,
22488        idle_timeout_enabled=None,
22489        kind=None,
22490        log_config=None,
22491        log_local_encoder=None,
22492        log_local_format=None,
22493        log_local_storage=None,
22494        log_remote_encoder=None,
22495        log_socket_path=None,
22496        log_tcp_address=None,
22497        loopback_range=None,
22498        mfa_enabled=None,
22499        mfa_provider=None,
22500        name=None,
22501        public_key_pem=None,
22502        require_secret_store=None,
22503        saml_metadata_url=None,
22504        scim_provider=None,
22505        sensitive_label=None,
22506        session_timeout=None,
22507        session_timeout_enabled=None,
22508        ssh_certificate_authority_public_key=None,
22509        ssh_certificate_authority_updated_at=None,
22510        updated_at=None,
22511        websites_subdomain=None,
22512    ):
22513        self.auth_provider = auth_provider if auth_provider is not None else ''
22514        '''
22515         The Organization's authentication provider, one of the AuthProvider constants.
22516        '''
22517        self.created_at = created_at if created_at is not None else None
22518        '''
22519         The time at which the Organization was created.
22520        '''
22521        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
22522        '''
22523         Indicates if the Organization has device trust enabled.
22524        '''
22525        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
22526        '''
22527         The Organization's device trust provider, one of the DeviceTrustProvider constants.
22528        '''
22529        self.discard_replays = discard_replays if discard_replays is not None else False
22530        '''
22531         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
22532         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
22533        '''
22534        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
22535        '''
22536         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
22537        '''
22538        self.idle_timeout = idle_timeout if idle_timeout is not None else None
22539        '''
22540         The Organization's idle timeout, if enabled.
22541        '''
22542        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
22543        '''
22544         Indicates if the Organization has idle timeouts enabled.
22545        '''
22546        self.kind = kind if kind is not None else ''
22547        '''
22548         The Organization's type, one of the OrgKind constants.
22549        '''
22550        self.log_config = log_config if log_config is not None else None
22551        '''
22552         The Organization's logging settings
22553        '''
22554        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
22555        '''
22556         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
22557         Deprecated: use log_config.local_encoder instead
22558        '''
22559        self.log_local_format = log_local_format if log_local_format is not None else ''
22560        '''
22561         The Organization's local log format, one of the LogLocalFormat constants.
22562         Deprecated: use log_config.local_format instead
22563        '''
22564        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
22565        '''
22566         The Organization's local log storage, one of the LogLocalStorage constants.
22567         Deprecated: use log_config.local_storage instead
22568        '''
22569        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
22570        '''
22571         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
22572         Deprecated: use categories specific log_config.categories[].remote_encoder instead
22573        '''
22574        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
22575        '''
22576         The Organization's socket path for Socket local log storage.
22577         Deprecated: use log_config.local_socket_path instead
22578        '''
22579        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
22580        '''
22581         The Organization's TCP address for TCP or Syslog local log storage.
22582         Deprecated: use log_config.local_tcp_address instead
22583        '''
22584        self.loopback_range = loopback_range if loopback_range is not None else ''
22585        '''
22586         The Organization's loopback range.
22587        '''
22588        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
22589        '''
22590         Indicates if the Organization has multi-factor authentication enabled.
22591        '''
22592        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
22593        '''
22594         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
22595        '''
22596        self.name = name if name is not None else ''
22597        '''
22598         The Organization's name.
22599        '''
22600        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
22601        '''
22602         The Organization's public key PEM for encrypting remote logs.
22603         Deprecated: use log_config.public_key instead
22604        '''
22605        self.require_secret_store = require_secret_store if require_secret_store is not None else False
22606        '''
22607         Indicates if the Organization requires secret stores.
22608        '''
22609        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
22610        '''
22611         The Organization's URL for SAML metadata.
22612        '''
22613        self.scim_provider = scim_provider if scim_provider is not None else ''
22614        '''
22615         The Organization's SCIM provider, one of the SCIMProvider constants.
22616        '''
22617        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
22618        '''
22619         The Organization's label for sensitive resources.
22620        '''
22621        self.session_timeout = session_timeout if session_timeout is not None else None
22622        '''
22623         The Organization's session timeout, if enabled.
22624        '''
22625        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
22626        '''
22627         Indicates if the Organization has session timeouts enabled.
22628        '''
22629        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
22630        '''
22631         The Organization's SSH certificate authority public key.
22632        '''
22633        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
22634        '''
22635         The time at which the Organization's SSH certificate authority was last updated.
22636        '''
22637        self.updated_at = updated_at if updated_at is not None else None
22638        '''
22639         The time at which the Organization was last updated.
22640        '''
22641        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
22642        '''
22643         The Organization's web site domain.
22644        '''
22645
22646    def __repr__(self):
22647        return '<sdm.Organization ' + \
22648            'auth_provider: ' + repr(self.auth_provider) + ' ' +\
22649            'created_at: ' + repr(self.created_at) + ' ' +\
22650            'device_trust_enabled: ' + repr(self.device_trust_enabled) + ' ' +\
22651            'device_trust_provider: ' + repr(self.device_trust_provider) + ' ' +\
22652            'discard_replays: ' + repr(self.discard_replays) + ' ' +\
22653            'enforce_single_session: ' + repr(self.enforce_single_session) + ' ' +\
22654            'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
22655            'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
22656            'kind: ' + repr(self.kind) + ' ' +\
22657            'log_config: ' + repr(self.log_config) + ' ' +\
22658            'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
22659            'log_local_format: ' + repr(self.log_local_format) + ' ' +\
22660            'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
22661            'log_remote_encoder: ' + repr(self.log_remote_encoder) + ' ' +\
22662            'log_socket_path: ' + repr(self.log_socket_path) + ' ' +\
22663            'log_tcp_address: ' + repr(self.log_tcp_address) + ' ' +\
22664            'loopback_range: ' + repr(self.loopback_range) + ' ' +\
22665            'mfa_enabled: ' + repr(self.mfa_enabled) + ' ' +\
22666            'mfa_provider: ' + repr(self.mfa_provider) + ' ' +\
22667            'name: ' + repr(self.name) + ' ' +\
22668            'public_key_pem: ' + repr(self.public_key_pem) + ' ' +\
22669            'require_secret_store: ' + repr(self.require_secret_store) + ' ' +\
22670            'saml_metadata_url: ' + repr(self.saml_metadata_url) + ' ' +\
22671            'scim_provider: ' + repr(self.scim_provider) + ' ' +\
22672            'sensitive_label: ' + repr(self.sensitive_label) + ' ' +\
22673            'session_timeout: ' + repr(self.session_timeout) + ' ' +\
22674            'session_timeout_enabled: ' + repr(self.session_timeout_enabled) + ' ' +\
22675            'ssh_certificate_authority_public_key: ' + repr(self.ssh_certificate_authority_public_key) + ' ' +\
22676            'ssh_certificate_authority_updated_at: ' + repr(self.ssh_certificate_authority_updated_at) + ' ' +\
22677            'updated_at: ' + repr(self.updated_at) + ' ' +\
22678            'websites_subdomain: ' + repr(self.websites_subdomain) + ' ' +\
22679            '>'
22680
22681    def to_dict(self):
22682        return {
22683            'auth_provider': self.auth_provider,
22684            'created_at': self.created_at,
22685            'device_trust_enabled': self.device_trust_enabled,
22686            'device_trust_provider': self.device_trust_provider,
22687            'discard_replays': self.discard_replays,
22688            'enforce_single_session': self.enforce_single_session,
22689            'idle_timeout': self.idle_timeout,
22690            'idle_timeout_enabled': self.idle_timeout_enabled,
22691            'kind': self.kind,
22692            'log_config': self.log_config,
22693            'log_local_encoder': self.log_local_encoder,
22694            'log_local_format': self.log_local_format,
22695            'log_local_storage': self.log_local_storage,
22696            'log_remote_encoder': self.log_remote_encoder,
22697            'log_socket_path': self.log_socket_path,
22698            'log_tcp_address': self.log_tcp_address,
22699            'loopback_range': self.loopback_range,
22700            'mfa_enabled': self.mfa_enabled,
22701            'mfa_provider': self.mfa_provider,
22702            'name': self.name,
22703            'public_key_pem': self.public_key_pem,
22704            'require_secret_store': self.require_secret_store,
22705            'saml_metadata_url': self.saml_metadata_url,
22706            'scim_provider': self.scim_provider,
22707            'sensitive_label': self.sensitive_label,
22708            'session_timeout': self.session_timeout,
22709            'session_timeout_enabled': self.session_timeout_enabled,
22710            'ssh_certificate_authority_public_key':
22711            self.ssh_certificate_authority_public_key,
22712            'ssh_certificate_authority_updated_at':
22713            self.ssh_certificate_authority_updated_at,
22714            'updated_at': self.updated_at,
22715            'websites_subdomain': self.websites_subdomain,
22716        }
22717
22718    @classmethod
22719    def from_dict(cls, d):
22720        return cls(
22721            auth_provider=d.get('auth_provider'),
22722            created_at=d.get('created_at'),
22723            device_trust_enabled=d.get('device_trust_enabled'),
22724            device_trust_provider=d.get('device_trust_provider'),
22725            discard_replays=d.get('discard_replays'),
22726            enforce_single_session=d.get('enforce_single_session'),
22727            idle_timeout=d.get('idle_timeout'),
22728            idle_timeout_enabled=d.get('idle_timeout_enabled'),
22729            kind=d.get('kind'),
22730            log_config=d.get('log_config'),
22731            log_local_encoder=d.get('log_local_encoder'),
22732            log_local_format=d.get('log_local_format'),
22733            log_local_storage=d.get('log_local_storage'),
22734            log_remote_encoder=d.get('log_remote_encoder'),
22735            log_socket_path=d.get('log_socket_path'),
22736            log_tcp_address=d.get('log_tcp_address'),
22737            loopback_range=d.get('loopback_range'),
22738            mfa_enabled=d.get('mfa_enabled'),
22739            mfa_provider=d.get('mfa_provider'),
22740            name=d.get('name'),
22741            public_key_pem=d.get('public_key_pem'),
22742            require_secret_store=d.get('require_secret_store'),
22743            saml_metadata_url=d.get('saml_metadata_url'),
22744            scim_provider=d.get('scim_provider'),
22745            sensitive_label=d.get('sensitive_label'),
22746            session_timeout=d.get('session_timeout'),
22747            session_timeout_enabled=d.get('session_timeout_enabled'),
22748            ssh_certificate_authority_public_key=d.get(
22749                'ssh_certificate_authority_public_key'),
22750            ssh_certificate_authority_updated_at=d.get(
22751                'ssh_certificate_authority_updated_at'),
22752            updated_at=d.get('updated_at'),
22753            websites_subdomain=d.get('websites_subdomain'),
22754        )
Organization( auth_provider=None, created_at=None, device_trust_enabled=None, device_trust_provider=None, discard_replays=None, enforce_single_session=None, idle_timeout=None, idle_timeout_enabled=None, kind=None, log_config=None, log_local_encoder=None, log_local_format=None, log_local_storage=None, log_remote_encoder=None, log_socket_path=None, log_tcp_address=None, loopback_range=None, mfa_enabled=None, mfa_provider=None, name=None, public_key_pem=None, require_secret_store=None, saml_metadata_url=None, scim_provider=None, sensitive_label=None, session_timeout=None, session_timeout_enabled=None, ssh_certificate_authority_public_key=None, ssh_certificate_authority_updated_at=None, updated_at=None, websites_subdomain=None)
22479    def __init__(
22480        self,
22481        auth_provider=None,
22482        created_at=None,
22483        device_trust_enabled=None,
22484        device_trust_provider=None,
22485        discard_replays=None,
22486        enforce_single_session=None,
22487        idle_timeout=None,
22488        idle_timeout_enabled=None,
22489        kind=None,
22490        log_config=None,
22491        log_local_encoder=None,
22492        log_local_format=None,
22493        log_local_storage=None,
22494        log_remote_encoder=None,
22495        log_socket_path=None,
22496        log_tcp_address=None,
22497        loopback_range=None,
22498        mfa_enabled=None,
22499        mfa_provider=None,
22500        name=None,
22501        public_key_pem=None,
22502        require_secret_store=None,
22503        saml_metadata_url=None,
22504        scim_provider=None,
22505        sensitive_label=None,
22506        session_timeout=None,
22507        session_timeout_enabled=None,
22508        ssh_certificate_authority_public_key=None,
22509        ssh_certificate_authority_updated_at=None,
22510        updated_at=None,
22511        websites_subdomain=None,
22512    ):
22513        self.auth_provider = auth_provider if auth_provider is not None else ''
22514        '''
22515         The Organization's authentication provider, one of the AuthProvider constants.
22516        '''
22517        self.created_at = created_at if created_at is not None else None
22518        '''
22519         The time at which the Organization was created.
22520        '''
22521        self.device_trust_enabled = device_trust_enabled if device_trust_enabled is not None else False
22522        '''
22523         Indicates if the Organization has device trust enabled.
22524        '''
22525        self.device_trust_provider = device_trust_provider if device_trust_provider is not None else ''
22526        '''
22527         The Organization's device trust provider, one of the DeviceTrustProvider constants.
22528        '''
22529        self.discard_replays = discard_replays if discard_replays is not None else False
22530        '''
22531         Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
22532         Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
22533        '''
22534        self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
22535        '''
22536         Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
22537        '''
22538        self.idle_timeout = idle_timeout if idle_timeout is not None else None
22539        '''
22540         The Organization's idle timeout, if enabled.
22541        '''
22542        self.idle_timeout_enabled = idle_timeout_enabled if idle_timeout_enabled is not None else False
22543        '''
22544         Indicates if the Organization has idle timeouts enabled.
22545        '''
22546        self.kind = kind if kind is not None else ''
22547        '''
22548         The Organization's type, one of the OrgKind constants.
22549        '''
22550        self.log_config = log_config if log_config is not None else None
22551        '''
22552         The Organization's logging settings
22553        '''
22554        self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
22555        '''
22556         The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
22557         Deprecated: use log_config.local_encoder instead
22558        '''
22559        self.log_local_format = log_local_format if log_local_format is not None else ''
22560        '''
22561         The Organization's local log format, one of the LogLocalFormat constants.
22562         Deprecated: use log_config.local_format instead
22563        '''
22564        self.log_local_storage = log_local_storage if log_local_storage is not None else ''
22565        '''
22566         The Organization's local log storage, one of the LogLocalStorage constants.
22567         Deprecated: use log_config.local_storage instead
22568        '''
22569        self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
22570        '''
22571         The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
22572         Deprecated: use categories specific log_config.categories[].remote_encoder instead
22573        '''
22574        self.log_socket_path = log_socket_path if log_socket_path is not None else ''
22575        '''
22576         The Organization's socket path for Socket local log storage.
22577         Deprecated: use log_config.local_socket_path instead
22578        '''
22579        self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
22580        '''
22581         The Organization's TCP address for TCP or Syslog local log storage.
22582         Deprecated: use log_config.local_tcp_address instead
22583        '''
22584        self.loopback_range = loopback_range if loopback_range is not None else ''
22585        '''
22586         The Organization's loopback range.
22587        '''
22588        self.mfa_enabled = mfa_enabled if mfa_enabled is not None else False
22589        '''
22590         Indicates if the Organization has multi-factor authentication enabled.
22591        '''
22592        self.mfa_provider = mfa_provider if mfa_provider is not None else ''
22593        '''
22594         The Organization's multi-factor authentication provider, one of the MFAProvider constants.
22595        '''
22596        self.name = name if name is not None else ''
22597        '''
22598         The Organization's name.
22599        '''
22600        self.public_key_pem = public_key_pem if public_key_pem is not None else ''
22601        '''
22602         The Organization's public key PEM for encrypting remote logs.
22603         Deprecated: use log_config.public_key instead
22604        '''
22605        self.require_secret_store = require_secret_store if require_secret_store is not None else False
22606        '''
22607         Indicates if the Organization requires secret stores.
22608        '''
22609        self.saml_metadata_url = saml_metadata_url if saml_metadata_url is not None else ''
22610        '''
22611         The Organization's URL for SAML metadata.
22612        '''
22613        self.scim_provider = scim_provider if scim_provider is not None else ''
22614        '''
22615         The Organization's SCIM provider, one of the SCIMProvider constants.
22616        '''
22617        self.sensitive_label = sensitive_label if sensitive_label is not None else ''
22618        '''
22619         The Organization's label for sensitive resources.
22620        '''
22621        self.session_timeout = session_timeout if session_timeout is not None else None
22622        '''
22623         The Organization's session timeout, if enabled.
22624        '''
22625        self.session_timeout_enabled = session_timeout_enabled if session_timeout_enabled is not None else False
22626        '''
22627         Indicates if the Organization has session timeouts enabled.
22628        '''
22629        self.ssh_certificate_authority_public_key = ssh_certificate_authority_public_key if ssh_certificate_authority_public_key is not None else ''
22630        '''
22631         The Organization's SSH certificate authority public key.
22632        '''
22633        self.ssh_certificate_authority_updated_at = ssh_certificate_authority_updated_at if ssh_certificate_authority_updated_at is not None else None
22634        '''
22635         The time at which the Organization's SSH certificate authority was last updated.
22636        '''
22637        self.updated_at = updated_at if updated_at is not None else None
22638        '''
22639         The time at which the Organization was last updated.
22640        '''
22641        self.websites_subdomain = websites_subdomain if websites_subdomain is not None else ''
22642        '''
22643         The Organization's web site domain.
22644        '''
auth_provider

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

created_at

The time at which the Organization was created.

device_trust_enabled

Indicates if the Organization has device trust enabled.

device_trust_provider

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

discard_replays

Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs. Deprecated: use categories specific log_config.categories[].remote_discard_replays instead

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_config

The Organization's logging settings

log_local_encoder

The Organization's local log encryption encoder, one of the LogLocalEncoder constants. Deprecated: use log_config.local_encoder instead

log_local_format

The Organization's local log format, one of the LogLocalFormat constants. Deprecated: use log_config.local_format instead

log_local_storage

The Organization's local log storage, one of the LogLocalStorage constants. Deprecated: use log_config.local_storage instead

log_remote_encoder

The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants. Deprecated: use categories specific log_config.categories[].remote_encoder instead

log_socket_path

The Organization's socket path for Socket local log storage. Deprecated: use log_config.local_socket_path instead

log_tcp_address

The Organization's TCP address for TCP or Syslog local log storage. Deprecated: use log_config.local_tcp_address instead

loopback_range

The Organization's loopback range.

mfa_enabled

Indicates if the Organization has multi-factor authentication enabled.

mfa_provider

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

name

The Organization's name.

public_key_pem

The Organization's public key PEM for encrypting remote logs. Deprecated: use log_config.public_key instead

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)
22681    def to_dict(self):
22682        return {
22683            'auth_provider': self.auth_provider,
22684            'created_at': self.created_at,
22685            'device_trust_enabled': self.device_trust_enabled,
22686            'device_trust_provider': self.device_trust_provider,
22687            'discard_replays': self.discard_replays,
22688            'enforce_single_session': self.enforce_single_session,
22689            'idle_timeout': self.idle_timeout,
22690            'idle_timeout_enabled': self.idle_timeout_enabled,
22691            'kind': self.kind,
22692            'log_config': self.log_config,
22693            'log_local_encoder': self.log_local_encoder,
22694            'log_local_format': self.log_local_format,
22695            'log_local_storage': self.log_local_storage,
22696            'log_remote_encoder': self.log_remote_encoder,
22697            'log_socket_path': self.log_socket_path,
22698            'log_tcp_address': self.log_tcp_address,
22699            'loopback_range': self.loopback_range,
22700            'mfa_enabled': self.mfa_enabled,
22701            'mfa_provider': self.mfa_provider,
22702            'name': self.name,
22703            'public_key_pem': self.public_key_pem,
22704            'require_secret_store': self.require_secret_store,
22705            'saml_metadata_url': self.saml_metadata_url,
22706            'scim_provider': self.scim_provider,
22707            'sensitive_label': self.sensitive_label,
22708            'session_timeout': self.session_timeout,
22709            'session_timeout_enabled': self.session_timeout_enabled,
22710            'ssh_certificate_authority_public_key':
22711            self.ssh_certificate_authority_public_key,
22712            'ssh_certificate_authority_updated_at':
22713            self.ssh_certificate_authority_updated_at,
22714            'updated_at': self.updated_at,
22715            'websites_subdomain': self.websites_subdomain,
22716        }
@classmethod
def from_dict(cls, d)
22718    @classmethod
22719    def from_dict(cls, d):
22720        return cls(
22721            auth_provider=d.get('auth_provider'),
22722            created_at=d.get('created_at'),
22723            device_trust_enabled=d.get('device_trust_enabled'),
22724            device_trust_provider=d.get('device_trust_provider'),
22725            discard_replays=d.get('discard_replays'),
22726            enforce_single_session=d.get('enforce_single_session'),
22727            idle_timeout=d.get('idle_timeout'),
22728            idle_timeout_enabled=d.get('idle_timeout_enabled'),
22729            kind=d.get('kind'),
22730            log_config=d.get('log_config'),
22731            log_local_encoder=d.get('log_local_encoder'),
22732            log_local_format=d.get('log_local_format'),
22733            log_local_storage=d.get('log_local_storage'),
22734            log_remote_encoder=d.get('log_remote_encoder'),
22735            log_socket_path=d.get('log_socket_path'),
22736            log_tcp_address=d.get('log_tcp_address'),
22737            loopback_range=d.get('loopback_range'),
22738            mfa_enabled=d.get('mfa_enabled'),
22739            mfa_provider=d.get('mfa_provider'),
22740            name=d.get('name'),
22741            public_key_pem=d.get('public_key_pem'),
22742            require_secret_store=d.get('require_secret_store'),
22743            saml_metadata_url=d.get('saml_metadata_url'),
22744            scim_provider=d.get('scim_provider'),
22745            sensitive_label=d.get('sensitive_label'),
22746            session_timeout=d.get('session_timeout'),
22747            session_timeout_enabled=d.get('session_timeout_enabled'),
22748            ssh_certificate_authority_public_key=d.get(
22749                'ssh_certificate_authority_public_key'),
22750            ssh_certificate_authority_updated_at=d.get(
22751                'ssh_certificate_authority_updated_at'),
22752            updated_at=d.get('updated_at'),
22753            websites_subdomain=d.get('websites_subdomain'),
22754        )
class OrganizationHistoryRecord:
22757class OrganizationHistoryRecord:
22758    '''
22759         OrganizationHistoryRecord records the state of an Organization at a given point in time,
22760     where every change to an Organization produces an OrganizationHistoryRecord.
22761    '''
22762    __slots__ = [
22763        'activity_id',
22764        'organization',
22765        'timestamp',
22766    ]
22767
22768    def __init__(
22769        self,
22770        activity_id=None,
22771        organization=None,
22772        timestamp=None,
22773    ):
22774        self.activity_id = activity_id if activity_id is not None else ''
22775        '''
22776         The unique identifier of the Activity that produced this change to the Organization.
22777         May be empty for some system-initiated organization updates.
22778        '''
22779        self.organization = organization if organization is not None else None
22780        '''
22781         The complete Organization state at this time.
22782        '''
22783        self.timestamp = timestamp if timestamp is not None else None
22784        '''
22785         The time at which the Organization state was recorded.
22786        '''
22787
22788    def __repr__(self):
22789        return '<sdm.OrganizationHistoryRecord ' + \
22790            'activity_id: ' + repr(self.activity_id) + ' ' +\
22791            'organization: ' + repr(self.organization) + ' ' +\
22792            'timestamp: ' + repr(self.timestamp) + ' ' +\
22793            '>'
22794
22795    def to_dict(self):
22796        return {
22797            'activity_id': self.activity_id,
22798            'organization': self.organization,
22799            'timestamp': self.timestamp,
22800        }
22801
22802    @classmethod
22803    def from_dict(cls, d):
22804        return cls(
22805            activity_id=d.get('activity_id'),
22806            organization=d.get('organization'),
22807            timestamp=d.get('timestamp'),
22808        )

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)
22768    def __init__(
22769        self,
22770        activity_id=None,
22771        organization=None,
22772        timestamp=None,
22773    ):
22774        self.activity_id = activity_id if activity_id is not None else ''
22775        '''
22776         The unique identifier of the Activity that produced this change to the Organization.
22777         May be empty for some system-initiated organization updates.
22778        '''
22779        self.organization = organization if organization is not None else None
22780        '''
22781         The complete Organization state at this time.
22782        '''
22783        self.timestamp = timestamp if timestamp is not None else None
22784        '''
22785         The time at which the Organization state was recorded.
22786        '''
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)
22795    def to_dict(self):
22796        return {
22797            'activity_id': self.activity_id,
22798            'organization': self.organization,
22799            'timestamp': self.timestamp,
22800        }
@classmethod
def from_dict(cls, d)
22802    @classmethod
22803    def from_dict(cls, d):
22804        return cls(
22805            activity_id=d.get('activity_id'),
22806            organization=d.get('organization'),
22807            timestamp=d.get('timestamp'),
22808        )
class PeeringGroup:
22811class PeeringGroup:
22812    '''
22813         PeeringGroups are the building blocks used for explicit network topology making.
22814     They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
22815    '''
22816    __slots__ = [
22817        'id',
22818        'name',
22819    ]
22820
22821    def __init__(
22822        self,
22823        id=None,
22824        name=None,
22825    ):
22826        self.id = id if id is not None else ''
22827        '''
22828         Unique identifier of the PeeringGroup.
22829        '''
22830        self.name = name if name is not None else ''
22831        '''
22832         Unique human-readable name of the PeeringGroup.
22833        '''
22834
22835    def __repr__(self):
22836        return '<sdm.PeeringGroup ' + \
22837            'id: ' + repr(self.id) + ' ' +\
22838            'name: ' + repr(self.name) + ' ' +\
22839            '>'
22840
22841    def to_dict(self):
22842        return {
22843            'id': self.id,
22844            'name': self.name,
22845        }
22846
22847    @classmethod
22848    def from_dict(cls, d):
22849        return cls(
22850            id=d.get('id'),
22851            name=d.get('name'),
22852        )

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)
22821    def __init__(
22822        self,
22823        id=None,
22824        name=None,
22825    ):
22826        self.id = id if id is not None else ''
22827        '''
22828         Unique identifier of the PeeringGroup.
22829        '''
22830        self.name = name if name is not None else ''
22831        '''
22832         Unique human-readable name of the PeeringGroup.
22833        '''
id

Unique identifier of the PeeringGroup.

name

Unique human-readable name of the PeeringGroup.

def to_dict(self)
22841    def to_dict(self):
22842        return {
22843            'id': self.id,
22844            'name': self.name,
22845        }
@classmethod
def from_dict(cls, d)
22847    @classmethod
22848    def from_dict(cls, d):
22849        return cls(
22850            id=d.get('id'),
22851            name=d.get('name'),
22852        )
class PeeringGroupCreateResponse:
22855class PeeringGroupCreateResponse:
22856    '''
22857         PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
22858    '''
22859    __slots__ = [
22860        'meta',
22861        'peering_group',
22862        'rate_limit',
22863    ]
22864
22865    def __init__(
22866        self,
22867        meta=None,
22868        peering_group=None,
22869        rate_limit=None,
22870    ):
22871        self.meta = meta if meta is not None else None
22872        '''
22873         Reserved for future use.
22874        '''
22875        self.peering_group = peering_group if peering_group is not None else None
22876        '''
22877         The created PeeringGroup.
22878        '''
22879        self.rate_limit = rate_limit if rate_limit is not None else None
22880        '''
22881         Rate limit information.
22882        '''
22883
22884    def __repr__(self):
22885        return '<sdm.PeeringGroupCreateResponse ' + \
22886            'meta: ' + repr(self.meta) + ' ' +\
22887            'peering_group: ' + repr(self.peering_group) + ' ' +\
22888            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22889            '>'
22890
22891    def to_dict(self):
22892        return {
22893            'meta': self.meta,
22894            'peering_group': self.peering_group,
22895            'rate_limit': self.rate_limit,
22896        }
22897
22898    @classmethod
22899    def from_dict(cls, d):
22900        return cls(
22901            meta=d.get('meta'),
22902            peering_group=d.get('peering_group'),
22903            rate_limit=d.get('rate_limit'),
22904        )

PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.

PeeringGroupCreateResponse(meta=None, peering_group=None, rate_limit=None)
22865    def __init__(
22866        self,
22867        meta=None,
22868        peering_group=None,
22869        rate_limit=None,
22870    ):
22871        self.meta = meta if meta is not None else None
22872        '''
22873         Reserved for future use.
22874        '''
22875        self.peering_group = peering_group if peering_group is not None else None
22876        '''
22877         The created PeeringGroup.
22878        '''
22879        self.rate_limit = rate_limit if rate_limit is not None else None
22880        '''
22881         Rate limit information.
22882        '''
meta

Reserved for future use.

peering_group

The created PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
22891    def to_dict(self):
22892        return {
22893            'meta': self.meta,
22894            'peering_group': self.peering_group,
22895            'rate_limit': self.rate_limit,
22896        }
@classmethod
def from_dict(cls, d)
22898    @classmethod
22899    def from_dict(cls, d):
22900        return cls(
22901            meta=d.get('meta'),
22902            peering_group=d.get('peering_group'),
22903            rate_limit=d.get('rate_limit'),
22904        )
class PeeringGroupDeleteResponse:
22907class PeeringGroupDeleteResponse:
22908    '''
22909         PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
22910    '''
22911    __slots__ = [
22912        'meta',
22913        'rate_limit',
22914    ]
22915
22916    def __init__(
22917        self,
22918        meta=None,
22919        rate_limit=None,
22920    ):
22921        self.meta = meta if meta is not None else None
22922        '''
22923         Reserved for future use.
22924        '''
22925        self.rate_limit = rate_limit if rate_limit is not None else None
22926        '''
22927         Rate limit information.
22928        '''
22929
22930    def __repr__(self):
22931        return '<sdm.PeeringGroupDeleteResponse ' + \
22932            'meta: ' + repr(self.meta) + ' ' +\
22933            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22934            '>'
22935
22936    def to_dict(self):
22937        return {
22938            'meta': self.meta,
22939            'rate_limit': self.rate_limit,
22940        }
22941
22942    @classmethod
22943    def from_dict(cls, d):
22944        return cls(
22945            meta=d.get('meta'),
22946            rate_limit=d.get('rate_limit'),
22947        )

PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.

PeeringGroupDeleteResponse(meta=None, rate_limit=None)
22916    def __init__(
22917        self,
22918        meta=None,
22919        rate_limit=None,
22920    ):
22921        self.meta = meta if meta is not None else None
22922        '''
22923         Reserved for future use.
22924        '''
22925        self.rate_limit = rate_limit if rate_limit is not None else None
22926        '''
22927         Rate limit information.
22928        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
22936    def to_dict(self):
22937        return {
22938            'meta': self.meta,
22939            'rate_limit': self.rate_limit,
22940        }
@classmethod
def from_dict(cls, d)
22942    @classmethod
22943    def from_dict(cls, d):
22944        return cls(
22945            meta=d.get('meta'),
22946            rate_limit=d.get('rate_limit'),
22947        )
class PeeringGroupGetResponse:
22950class PeeringGroupGetResponse:
22951    '''
22952         PeeringGroupGetResponse returns a requested PeeringGroup.
22953    '''
22954    __slots__ = [
22955        'meta',
22956        'peering_group',
22957        'rate_limit',
22958    ]
22959
22960    def __init__(
22961        self,
22962        meta=None,
22963        peering_group=None,
22964        rate_limit=None,
22965    ):
22966        self.meta = meta if meta is not None else None
22967        '''
22968         Reserved for future use.
22969        '''
22970        self.peering_group = peering_group if peering_group is not None else None
22971        '''
22972         The requested PeeringGroup.
22973        '''
22974        self.rate_limit = rate_limit if rate_limit is not None else None
22975        '''
22976         Rate limit information.
22977        '''
22978
22979    def __repr__(self):
22980        return '<sdm.PeeringGroupGetResponse ' + \
22981            'meta: ' + repr(self.meta) + ' ' +\
22982            'peering_group: ' + repr(self.peering_group) + ' ' +\
22983            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
22984            '>'
22985
22986    def to_dict(self):
22987        return {
22988            'meta': self.meta,
22989            'peering_group': self.peering_group,
22990            'rate_limit': self.rate_limit,
22991        }
22992
22993    @classmethod
22994    def from_dict(cls, d):
22995        return cls(
22996            meta=d.get('meta'),
22997            peering_group=d.get('peering_group'),
22998            rate_limit=d.get('rate_limit'),
22999        )

PeeringGroupGetResponse returns a requested PeeringGroup.

PeeringGroupGetResponse(meta=None, peering_group=None, rate_limit=None)
22960    def __init__(
22961        self,
22962        meta=None,
22963        peering_group=None,
22964        rate_limit=None,
22965    ):
22966        self.meta = meta if meta is not None else None
22967        '''
22968         Reserved for future use.
22969        '''
22970        self.peering_group = peering_group if peering_group is not None else None
22971        '''
22972         The requested PeeringGroup.
22973        '''
22974        self.rate_limit = rate_limit if rate_limit is not None else None
22975        '''
22976         Rate limit information.
22977        '''
meta

Reserved for future use.

peering_group

The requested PeeringGroup.

rate_limit

Rate limit information.

def to_dict(self)
22986    def to_dict(self):
22987        return {
22988            'meta': self.meta,
22989            'peering_group': self.peering_group,
22990            'rate_limit': self.rate_limit,
22991        }
@classmethod
def from_dict(cls, d)
22993    @classmethod
22994    def from_dict(cls, d):
22995        return cls(
22996            meta=d.get('meta'),
22997            peering_group=d.get('peering_group'),
22998            rate_limit=d.get('rate_limit'),
22999        )
class PeeringGroupNode:
23002class PeeringGroupNode:
23003    '''
23004         PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
23005    '''
23006    __slots__ = [
23007        'group_id',
23008        'id',
23009        'node_id',
23010    ]
23011
23012    def __init__(
23013        self,
23014        group_id=None,
23015        id=None,
23016        node_id=None,
23017    ):
23018        self.group_id = group_id if group_id is not None else ''
23019        '''
23020         Peering Group ID to which the node will be attached to.
23021        '''
23022        self.id = id if id is not None else ''
23023        '''
23024         Unique identifier of the Attachment.
23025        '''
23026        self.node_id = node_id if node_id is not None else ''
23027        '''
23028         Node ID to be attached.
23029        '''
23030
23031    def __repr__(self):
23032        return '<sdm.PeeringGroupNode ' + \
23033            'group_id: ' + repr(self.group_id) + ' ' +\
23034            'id: ' + repr(self.id) + ' ' +\
23035            'node_id: ' + repr(self.node_id) + ' ' +\
23036            '>'
23037
23038    def to_dict(self):
23039        return {
23040            'group_id': self.group_id,
23041            'id': self.id,
23042            'node_id': self.node_id,
23043        }
23044
23045    @classmethod
23046    def from_dict(cls, d):
23047        return cls(
23048            group_id=d.get('group_id'),
23049            id=d.get('id'),
23050            node_id=d.get('node_id'),
23051        )

PeeringGroupNode represents the attachment between a PeeringGroup and a Node.

PeeringGroupNode(group_id=None, id=None, node_id=None)
23012    def __init__(
23013        self,
23014        group_id=None,
23015        id=None,
23016        node_id=None,
23017    ):
23018        self.group_id = group_id if group_id is not None else ''
23019        '''
23020         Peering Group ID to which the node will be attached to.
23021        '''
23022        self.id = id if id is not None else ''
23023        '''
23024         Unique identifier of the Attachment.
23025        '''
23026        self.node_id = node_id if node_id is not None else ''
23027        '''
23028         Node ID to be attached.
23029        '''
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)
23038    def to_dict(self):
23039        return {
23040            'group_id': self.group_id,
23041            'id': self.id,
23042            'node_id': self.node_id,
23043        }
@classmethod
def from_dict(cls, d)
23045    @classmethod
23046    def from_dict(cls, d):
23047        return cls(
23048            group_id=d.get('group_id'),
23049            id=d.get('id'),
23050            node_id=d.get('node_id'),
23051        )
class PeeringGroupNodeCreateResponse:
23054class PeeringGroupNodeCreateResponse:
23055    '''
23056         PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
23057    '''
23058    __slots__ = [
23059        'meta',
23060        'peering_group_node',
23061        'rate_limit',
23062    ]
23063
23064    def __init__(
23065        self,
23066        meta=None,
23067        peering_group_node=None,
23068        rate_limit=None,
23069    ):
23070        self.meta = meta if meta is not None else None
23071        '''
23072         Reserved for future use.
23073        '''
23074        self.peering_group_node = peering_group_node if peering_group_node is not None else None
23075        '''
23076         The created PeeringGroupNode.
23077        '''
23078        self.rate_limit = rate_limit if rate_limit is not None else None
23079        '''
23080         Rate limit information.
23081        '''
23082
23083    def __repr__(self):
23084        return '<sdm.PeeringGroupNodeCreateResponse ' + \
23085            'meta: ' + repr(self.meta) + ' ' +\
23086            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
23087            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23088            '>'
23089
23090    def to_dict(self):
23091        return {
23092            'meta': self.meta,
23093            'peering_group_node': self.peering_group_node,
23094            'rate_limit': self.rate_limit,
23095        }
23096
23097    @classmethod
23098    def from_dict(cls, d):
23099        return cls(
23100            meta=d.get('meta'),
23101            peering_group_node=d.get('peering_group_node'),
23102            rate_limit=d.get('rate_limit'),
23103        )

PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.

PeeringGroupNodeCreateResponse(meta=None, peering_group_node=None, rate_limit=None)
23064    def __init__(
23065        self,
23066        meta=None,
23067        peering_group_node=None,
23068        rate_limit=None,
23069    ):
23070        self.meta = meta if meta is not None else None
23071        '''
23072         Reserved for future use.
23073        '''
23074        self.peering_group_node = peering_group_node if peering_group_node is not None else None
23075        '''
23076         The created PeeringGroupNode.
23077        '''
23078        self.rate_limit = rate_limit if rate_limit is not None else None
23079        '''
23080         Rate limit information.
23081        '''
meta

Reserved for future use.

peering_group_node

The created PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
23090    def to_dict(self):
23091        return {
23092            'meta': self.meta,
23093            'peering_group_node': self.peering_group_node,
23094            'rate_limit': self.rate_limit,
23095        }
@classmethod
def from_dict(cls, d)
23097    @classmethod
23098    def from_dict(cls, d):
23099        return cls(
23100            meta=d.get('meta'),
23101            peering_group_node=d.get('peering_group_node'),
23102            rate_limit=d.get('rate_limit'),
23103        )
class PeeringGroupNodeDeleteResponse:
23106class PeeringGroupNodeDeleteResponse:
23107    '''
23108         PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
23109    '''
23110    __slots__ = [
23111        'meta',
23112        'rate_limit',
23113    ]
23114
23115    def __init__(
23116        self,
23117        meta=None,
23118        rate_limit=None,
23119    ):
23120        self.meta = meta if meta is not None else None
23121        '''
23122         Reserved for future use.
23123        '''
23124        self.rate_limit = rate_limit if rate_limit is not None else None
23125        '''
23126         Rate limit information.
23127        '''
23128
23129    def __repr__(self):
23130        return '<sdm.PeeringGroupNodeDeleteResponse ' + \
23131            'meta: ' + repr(self.meta) + ' ' +\
23132            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23133            '>'
23134
23135    def to_dict(self):
23136        return {
23137            'meta': self.meta,
23138            'rate_limit': self.rate_limit,
23139        }
23140
23141    @classmethod
23142    def from_dict(cls, d):
23143        return cls(
23144            meta=d.get('meta'),
23145            rate_limit=d.get('rate_limit'),
23146        )

PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.

PeeringGroupNodeDeleteResponse(meta=None, rate_limit=None)
23115    def __init__(
23116        self,
23117        meta=None,
23118        rate_limit=None,
23119    ):
23120        self.meta = meta if meta is not None else None
23121        '''
23122         Reserved for future use.
23123        '''
23124        self.rate_limit = rate_limit if rate_limit is not None else None
23125        '''
23126         Rate limit information.
23127        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
23135    def to_dict(self):
23136        return {
23137            'meta': self.meta,
23138            'rate_limit': self.rate_limit,
23139        }
@classmethod
def from_dict(cls, d)
23141    @classmethod
23142    def from_dict(cls, d):
23143        return cls(
23144            meta=d.get('meta'),
23145            rate_limit=d.get('rate_limit'),
23146        )
class PeeringGroupNodeGetResponse:
23149class PeeringGroupNodeGetResponse:
23150    '''
23151         PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
23152    '''
23153    __slots__ = [
23154        'meta',
23155        'peering_group_node',
23156        'rate_limit',
23157    ]
23158
23159    def __init__(
23160        self,
23161        meta=None,
23162        peering_group_node=None,
23163        rate_limit=None,
23164    ):
23165        self.meta = meta if meta is not None else None
23166        '''
23167         Reserved for future use.
23168        '''
23169        self.peering_group_node = peering_group_node if peering_group_node is not None else None
23170        '''
23171         The requested PeeringGroupNode.
23172        '''
23173        self.rate_limit = rate_limit if rate_limit is not None else None
23174        '''
23175         Rate limit information.
23176        '''
23177
23178    def __repr__(self):
23179        return '<sdm.PeeringGroupNodeGetResponse ' + \
23180            'meta: ' + repr(self.meta) + ' ' +\
23181            'peering_group_node: ' + repr(self.peering_group_node) + ' ' +\
23182            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23183            '>'
23184
23185    def to_dict(self):
23186        return {
23187            'meta': self.meta,
23188            'peering_group_node': self.peering_group_node,
23189            'rate_limit': self.rate_limit,
23190        }
23191
23192    @classmethod
23193    def from_dict(cls, d):
23194        return cls(
23195            meta=d.get('meta'),
23196            peering_group_node=d.get('peering_group_node'),
23197            rate_limit=d.get('rate_limit'),
23198        )

PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.

PeeringGroupNodeGetResponse(meta=None, peering_group_node=None, rate_limit=None)
23159    def __init__(
23160        self,
23161        meta=None,
23162        peering_group_node=None,
23163        rate_limit=None,
23164    ):
23165        self.meta = meta if meta is not None else None
23166        '''
23167         Reserved for future use.
23168        '''
23169        self.peering_group_node = peering_group_node if peering_group_node is not None else None
23170        '''
23171         The requested PeeringGroupNode.
23172        '''
23173        self.rate_limit = rate_limit if rate_limit is not None else None
23174        '''
23175         Rate limit information.
23176        '''
meta

Reserved for future use.

peering_group_node

The requested PeeringGroupNode.

rate_limit

Rate limit information.

def to_dict(self)
23185    def to_dict(self):
23186        return {
23187            'meta': self.meta,
23188            'peering_group_node': self.peering_group_node,
23189            'rate_limit': self.rate_limit,
23190        }
@classmethod
def from_dict(cls, d)
23192    @classmethod
23193    def from_dict(cls, d):
23194        return cls(
23195            meta=d.get('meta'),
23196            peering_group_node=d.get('peering_group_node'),
23197            rate_limit=d.get('rate_limit'),
23198        )
class PeeringGroupPeer:
23201class PeeringGroupPeer:
23202    '''
23203         PeeringGroupPeer represents the link between two PeeringGroups
23204    '''
23205    __slots__ = [
23206        'group_id',
23207        'id',
23208        'peers_with_group_id',
23209    ]
23210
23211    def __init__(
23212        self,
23213        group_id=None,
23214        id=None,
23215        peers_with_group_id=None,
23216    ):
23217        self.group_id = group_id if group_id is not None else ''
23218        '''
23219         Group ID from which the link will originate.
23220        '''
23221        self.id = id if id is not None else ''
23222        '''
23223         Unique identifier of the Attachment.
23224        '''
23225        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
23226        '''
23227         Peering Group ID to which Group ID will link.
23228        '''
23229
23230    def __repr__(self):
23231        return '<sdm.PeeringGroupPeer ' + \
23232            'group_id: ' + repr(self.group_id) + ' ' +\
23233            'id: ' + repr(self.id) + ' ' +\
23234            'peers_with_group_id: ' + repr(self.peers_with_group_id) + ' ' +\
23235            '>'
23236
23237    def to_dict(self):
23238        return {
23239            'group_id': self.group_id,
23240            'id': self.id,
23241            'peers_with_group_id': self.peers_with_group_id,
23242        }
23243
23244    @classmethod
23245    def from_dict(cls, d):
23246        return cls(
23247            group_id=d.get('group_id'),
23248            id=d.get('id'),
23249            peers_with_group_id=d.get('peers_with_group_id'),
23250        )

PeeringGroupPeer represents the link between two PeeringGroups

PeeringGroupPeer(group_id=None, id=None, peers_with_group_id=None)
23211    def __init__(
23212        self,
23213        group_id=None,
23214        id=None,
23215        peers_with_group_id=None,
23216    ):
23217        self.group_id = group_id if group_id is not None else ''
23218        '''
23219         Group ID from which the link will originate.
23220        '''
23221        self.id = id if id is not None else ''
23222        '''
23223         Unique identifier of the Attachment.
23224        '''
23225        self.peers_with_group_id = peers_with_group_id if peers_with_group_id is not None else ''
23226        '''
23227         Peering Group ID to which Group ID will link.
23228        '''
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)
23237    def to_dict(self):
23238        return {
23239            'group_id': self.group_id,
23240            'id': self.id,
23241            'peers_with_group_id': self.peers_with_group_id,
23242        }
@classmethod
def from_dict(cls, d)
23244    @classmethod
23245    def from_dict(cls, d):
23246        return cls(
23247            group_id=d.get('group_id'),
23248            id=d.get('id'),
23249            peers_with_group_id=d.get('peers_with_group_id'),
23250        )
class PeeringGroupPeerCreateResponse:
23253class PeeringGroupPeerCreateResponse:
23254    '''
23255         PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
23256    '''
23257    __slots__ = [
23258        'meta',
23259        'peering_group_peer',
23260        'rate_limit',
23261    ]
23262
23263    def __init__(
23264        self,
23265        meta=None,
23266        peering_group_peer=None,
23267        rate_limit=None,
23268    ):
23269        self.meta = meta if meta is not None else None
23270        '''
23271         Reserved for future use.
23272        '''
23273        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
23274        '''
23275         The created PeeringGroupPeer.
23276        '''
23277        self.rate_limit = rate_limit if rate_limit is not None else None
23278        '''
23279         Rate limit information.
23280        '''
23281
23282    def __repr__(self):
23283        return '<sdm.PeeringGroupPeerCreateResponse ' + \
23284            'meta: ' + repr(self.meta) + ' ' +\
23285            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
23286            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23287            '>'
23288
23289    def to_dict(self):
23290        return {
23291            'meta': self.meta,
23292            'peering_group_peer': self.peering_group_peer,
23293            'rate_limit': self.rate_limit,
23294        }
23295
23296    @classmethod
23297    def from_dict(cls, d):
23298        return cls(
23299            meta=d.get('meta'),
23300            peering_group_peer=d.get('peering_group_peer'),
23301            rate_limit=d.get('rate_limit'),
23302        )

PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.

PeeringGroupPeerCreateResponse(meta=None, peering_group_peer=None, rate_limit=None)
23263    def __init__(
23264        self,
23265        meta=None,
23266        peering_group_peer=None,
23267        rate_limit=None,
23268    ):
23269        self.meta = meta if meta is not None else None
23270        '''
23271         Reserved for future use.
23272        '''
23273        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
23274        '''
23275         The created PeeringGroupPeer.
23276        '''
23277        self.rate_limit = rate_limit if rate_limit is not None else None
23278        '''
23279         Rate limit information.
23280        '''
meta

Reserved for future use.

peering_group_peer

The created PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
23289    def to_dict(self):
23290        return {
23291            'meta': self.meta,
23292            'peering_group_peer': self.peering_group_peer,
23293            'rate_limit': self.rate_limit,
23294        }
@classmethod
def from_dict(cls, d)
23296    @classmethod
23297    def from_dict(cls, d):
23298        return cls(
23299            meta=d.get('meta'),
23300            peering_group_peer=d.get('peering_group_peer'),
23301            rate_limit=d.get('rate_limit'),
23302        )
class PeeringGroupPeerDeleteResponse:
23305class PeeringGroupPeerDeleteResponse:
23306    '''
23307         PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
23308    '''
23309    __slots__ = [
23310        'meta',
23311        'rate_limit',
23312    ]
23313
23314    def __init__(
23315        self,
23316        meta=None,
23317        rate_limit=None,
23318    ):
23319        self.meta = meta if meta is not None else None
23320        '''
23321         Reserved for future use.
23322        '''
23323        self.rate_limit = rate_limit if rate_limit is not None else None
23324        '''
23325         Rate limit information.
23326        '''
23327
23328    def __repr__(self):
23329        return '<sdm.PeeringGroupPeerDeleteResponse ' + \
23330            'meta: ' + repr(self.meta) + ' ' +\
23331            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23332            '>'
23333
23334    def to_dict(self):
23335        return {
23336            'meta': self.meta,
23337            'rate_limit': self.rate_limit,
23338        }
23339
23340    @classmethod
23341    def from_dict(cls, d):
23342        return cls(
23343            meta=d.get('meta'),
23344            rate_limit=d.get('rate_limit'),
23345        )

PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.

PeeringGroupPeerDeleteResponse(meta=None, rate_limit=None)
23314    def __init__(
23315        self,
23316        meta=None,
23317        rate_limit=None,
23318    ):
23319        self.meta = meta if meta is not None else None
23320        '''
23321         Reserved for future use.
23322        '''
23323        self.rate_limit = rate_limit if rate_limit is not None else None
23324        '''
23325         Rate limit information.
23326        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
23334    def to_dict(self):
23335        return {
23336            'meta': self.meta,
23337            'rate_limit': self.rate_limit,
23338        }
@classmethod
def from_dict(cls, d)
23340    @classmethod
23341    def from_dict(cls, d):
23342        return cls(
23343            meta=d.get('meta'),
23344            rate_limit=d.get('rate_limit'),
23345        )
class PeeringGroupPeerGetResponse:
23348class PeeringGroupPeerGetResponse:
23349    '''
23350         PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
23351    '''
23352    __slots__ = [
23353        'meta',
23354        'peering_group_peer',
23355        'rate_limit',
23356    ]
23357
23358    def __init__(
23359        self,
23360        meta=None,
23361        peering_group_peer=None,
23362        rate_limit=None,
23363    ):
23364        self.meta = meta if meta is not None else None
23365        '''
23366         Reserved for future use.
23367        '''
23368        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
23369        '''
23370         The requested PeeringGroupPeer.
23371        '''
23372        self.rate_limit = rate_limit if rate_limit is not None else None
23373        '''
23374         Rate limit information.
23375        '''
23376
23377    def __repr__(self):
23378        return '<sdm.PeeringGroupPeerGetResponse ' + \
23379            'meta: ' + repr(self.meta) + ' ' +\
23380            'peering_group_peer: ' + repr(self.peering_group_peer) + ' ' +\
23381            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23382            '>'
23383
23384    def to_dict(self):
23385        return {
23386            'meta': self.meta,
23387            'peering_group_peer': self.peering_group_peer,
23388            'rate_limit': self.rate_limit,
23389        }
23390
23391    @classmethod
23392    def from_dict(cls, d):
23393        return cls(
23394            meta=d.get('meta'),
23395            peering_group_peer=d.get('peering_group_peer'),
23396            rate_limit=d.get('rate_limit'),
23397        )

PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.

PeeringGroupPeerGetResponse(meta=None, peering_group_peer=None, rate_limit=None)
23358    def __init__(
23359        self,
23360        meta=None,
23361        peering_group_peer=None,
23362        rate_limit=None,
23363    ):
23364        self.meta = meta if meta is not None else None
23365        '''
23366         Reserved for future use.
23367        '''
23368        self.peering_group_peer = peering_group_peer if peering_group_peer is not None else None
23369        '''
23370         The requested PeeringGroupPeer.
23371        '''
23372        self.rate_limit = rate_limit if rate_limit is not None else None
23373        '''
23374         Rate limit information.
23375        '''
meta

Reserved for future use.

peering_group_peer

The requested PeeringGroupPeer.

rate_limit

Rate limit information.

def to_dict(self)
23384    def to_dict(self):
23385        return {
23386            'meta': self.meta,
23387            'peering_group_peer': self.peering_group_peer,
23388            'rate_limit': self.rate_limit,
23389        }
@classmethod
def from_dict(cls, d)
23391    @classmethod
23392    def from_dict(cls, d):
23393        return cls(
23394            meta=d.get('meta'),
23395            peering_group_peer=d.get('peering_group_peer'),
23396            rate_limit=d.get('rate_limit'),
23397        )
class PeeringGroupResource:
23400class PeeringGroupResource:
23401    '''
23402         PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
23403    '''
23404    __slots__ = [
23405        'group_id',
23406        'id',
23407        'resource_id',
23408    ]
23409
23410    def __init__(
23411        self,
23412        group_id=None,
23413        id=None,
23414        resource_id=None,
23415    ):
23416        self.group_id = group_id if group_id is not None else ''
23417        '''
23418         Peering Group ID to which the resource will be attached to.
23419        '''
23420        self.id = id if id is not None else ''
23421        '''
23422         Unique identifier of the Attachment.
23423        '''
23424        self.resource_id = resource_id if resource_id is not None else ''
23425        '''
23426         Resource ID to be attached.
23427        '''
23428
23429    def __repr__(self):
23430        return '<sdm.PeeringGroupResource ' + \
23431            'group_id: ' + repr(self.group_id) + ' ' +\
23432            'id: ' + repr(self.id) + ' ' +\
23433            'resource_id: ' + repr(self.resource_id) + ' ' +\
23434            '>'
23435
23436    def to_dict(self):
23437        return {
23438            'group_id': self.group_id,
23439            'id': self.id,
23440            'resource_id': self.resource_id,
23441        }
23442
23443    @classmethod
23444    def from_dict(cls, d):
23445        return cls(
23446            group_id=d.get('group_id'),
23447            id=d.get('id'),
23448            resource_id=d.get('resource_id'),
23449        )

PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.

PeeringGroupResource(group_id=None, id=None, resource_id=None)
23410    def __init__(
23411        self,
23412        group_id=None,
23413        id=None,
23414        resource_id=None,
23415    ):
23416        self.group_id = group_id if group_id is not None else ''
23417        '''
23418         Peering Group ID to which the resource will be attached to.
23419        '''
23420        self.id = id if id is not None else ''
23421        '''
23422         Unique identifier of the Attachment.
23423        '''
23424        self.resource_id = resource_id if resource_id is not None else ''
23425        '''
23426         Resource ID to be attached.
23427        '''
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)
23436    def to_dict(self):
23437        return {
23438            'group_id': self.group_id,
23439            'id': self.id,
23440            'resource_id': self.resource_id,
23441        }
@classmethod
def from_dict(cls, d)
23443    @classmethod
23444    def from_dict(cls, d):
23445        return cls(
23446            group_id=d.get('group_id'),
23447            id=d.get('id'),
23448            resource_id=d.get('resource_id'),
23449        )
class PeeringGroupResourceCreateResponse:
23452class PeeringGroupResourceCreateResponse:
23453    '''
23454         PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
23455    '''
23456    __slots__ = [
23457        'meta',
23458        'peering_group_resource',
23459        'rate_limit',
23460    ]
23461
23462    def __init__(
23463        self,
23464        meta=None,
23465        peering_group_resource=None,
23466        rate_limit=None,
23467    ):
23468        self.meta = meta if meta is not None else None
23469        '''
23470         Reserved for future use.
23471        '''
23472        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
23473        '''
23474         The created PeeringGroupResource.
23475        '''
23476        self.rate_limit = rate_limit if rate_limit is not None else None
23477        '''
23478         Rate limit information.
23479        '''
23480
23481    def __repr__(self):
23482        return '<sdm.PeeringGroupResourceCreateResponse ' + \
23483            'meta: ' + repr(self.meta) + ' ' +\
23484            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
23485            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23486            '>'
23487
23488    def to_dict(self):
23489        return {
23490            'meta': self.meta,
23491            'peering_group_resource': self.peering_group_resource,
23492            'rate_limit': self.rate_limit,
23493        }
23494
23495    @classmethod
23496    def from_dict(cls, d):
23497        return cls(
23498            meta=d.get('meta'),
23499            peering_group_resource=d.get('peering_group_resource'),
23500            rate_limit=d.get('rate_limit'),
23501        )

PeeringGroupResourceCreateResponse reports how the attachment was created in the system.

PeeringGroupResourceCreateResponse(meta=None, peering_group_resource=None, rate_limit=None)
23462    def __init__(
23463        self,
23464        meta=None,
23465        peering_group_resource=None,
23466        rate_limit=None,
23467    ):
23468        self.meta = meta if meta is not None else None
23469        '''
23470         Reserved for future use.
23471        '''
23472        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
23473        '''
23474         The created PeeringGroupResource.
23475        '''
23476        self.rate_limit = rate_limit if rate_limit is not None else None
23477        '''
23478         Rate limit information.
23479        '''
meta

Reserved for future use.

peering_group_resource

The created PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
23488    def to_dict(self):
23489        return {
23490            'meta': self.meta,
23491            'peering_group_resource': self.peering_group_resource,
23492            'rate_limit': self.rate_limit,
23493        }
@classmethod
def from_dict(cls, d)
23495    @classmethod
23496    def from_dict(cls, d):
23497        return cls(
23498            meta=d.get('meta'),
23499            peering_group_resource=d.get('peering_group_resource'),
23500            rate_limit=d.get('rate_limit'),
23501        )
class PeeringGroupResourceDeleteResponse:
23504class PeeringGroupResourceDeleteResponse:
23505    '''
23506         PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
23507    '''
23508    __slots__ = [
23509        'meta',
23510        'rate_limit',
23511    ]
23512
23513    def __init__(
23514        self,
23515        meta=None,
23516        rate_limit=None,
23517    ):
23518        self.meta = meta if meta is not None else None
23519        '''
23520         Reserved for future use.
23521        '''
23522        self.rate_limit = rate_limit if rate_limit is not None else None
23523        '''
23524         Rate limit information.
23525        '''
23526
23527    def __repr__(self):
23528        return '<sdm.PeeringGroupResourceDeleteResponse ' + \
23529            'meta: ' + repr(self.meta) + ' ' +\
23530            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23531            '>'
23532
23533    def to_dict(self):
23534        return {
23535            'meta': self.meta,
23536            'rate_limit': self.rate_limit,
23537        }
23538
23539    @classmethod
23540    def from_dict(cls, d):
23541        return cls(
23542            meta=d.get('meta'),
23543            rate_limit=d.get('rate_limit'),
23544        )

PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.

PeeringGroupResourceDeleteResponse(meta=None, rate_limit=None)
23513    def __init__(
23514        self,
23515        meta=None,
23516        rate_limit=None,
23517    ):
23518        self.meta = meta if meta is not None else None
23519        '''
23520         Reserved for future use.
23521        '''
23522        self.rate_limit = rate_limit if rate_limit is not None else None
23523        '''
23524         Rate limit information.
23525        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
23533    def to_dict(self):
23534        return {
23535            'meta': self.meta,
23536            'rate_limit': self.rate_limit,
23537        }
@classmethod
def from_dict(cls, d)
23539    @classmethod
23540    def from_dict(cls, d):
23541        return cls(
23542            meta=d.get('meta'),
23543            rate_limit=d.get('rate_limit'),
23544        )
class PeeringGroupResourceGetResponse:
23547class PeeringGroupResourceGetResponse:
23548    '''
23549         PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
23550    '''
23551    __slots__ = [
23552        'meta',
23553        'peering_group_resource',
23554        'rate_limit',
23555    ]
23556
23557    def __init__(
23558        self,
23559        meta=None,
23560        peering_group_resource=None,
23561        rate_limit=None,
23562    ):
23563        self.meta = meta if meta is not None else None
23564        '''
23565         Reserved for future use.
23566        '''
23567        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
23568        '''
23569         The requested PeeringGroupResource.
23570        '''
23571        self.rate_limit = rate_limit if rate_limit is not None else None
23572        '''
23573         Rate limit information.
23574        '''
23575
23576    def __repr__(self):
23577        return '<sdm.PeeringGroupResourceGetResponse ' + \
23578            'meta: ' + repr(self.meta) + ' ' +\
23579            'peering_group_resource: ' + repr(self.peering_group_resource) + ' ' +\
23580            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23581            '>'
23582
23583    def to_dict(self):
23584        return {
23585            'meta': self.meta,
23586            'peering_group_resource': self.peering_group_resource,
23587            'rate_limit': self.rate_limit,
23588        }
23589
23590    @classmethod
23591    def from_dict(cls, d):
23592        return cls(
23593            meta=d.get('meta'),
23594            peering_group_resource=d.get('peering_group_resource'),
23595            rate_limit=d.get('rate_limit'),
23596        )

PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.

PeeringGroupResourceGetResponse(meta=None, peering_group_resource=None, rate_limit=None)
23557    def __init__(
23558        self,
23559        meta=None,
23560        peering_group_resource=None,
23561        rate_limit=None,
23562    ):
23563        self.meta = meta if meta is not None else None
23564        '''
23565         Reserved for future use.
23566        '''
23567        self.peering_group_resource = peering_group_resource if peering_group_resource is not None else None
23568        '''
23569         The requested PeeringGroupResource.
23570        '''
23571        self.rate_limit = rate_limit if rate_limit is not None else None
23572        '''
23573         Rate limit information.
23574        '''
meta

Reserved for future use.

peering_group_resource

The requested PeeringGroupResource.

rate_limit

Rate limit information.

def to_dict(self)
23583    def to_dict(self):
23584        return {
23585            'meta': self.meta,
23586            'peering_group_resource': self.peering_group_resource,
23587            'rate_limit': self.rate_limit,
23588        }
@classmethod
def from_dict(cls, d)
23590    @classmethod
23591    def from_dict(cls, d):
23592        return cls(
23593            meta=d.get('meta'),
23594            peering_group_resource=d.get('peering_group_resource'),
23595            rate_limit=d.get('rate_limit'),
23596        )
class Policy:
23599class Policy:
23600    '''
23601         Policy is a collection of one or more statements that enforce fine-grained access control
23602     for the users of an organization.
23603    '''
23604    __slots__ = [
23605        'description',
23606        'id',
23607        'name',
23608        'policy',
23609    ]
23610
23611    def __init__(
23612        self,
23613        description=None,
23614        id=None,
23615        name=None,
23616        policy=None,
23617    ):
23618        self.description = description if description is not None else ''
23619        '''
23620         Optional description of the Policy.
23621        '''
23622        self.id = id if id is not None else ''
23623        '''
23624         Unique identifier of the Policy.
23625        '''
23626        self.name = name if name is not None else ''
23627        '''
23628         Unique human-readable name of the Policy.
23629        '''
23630        self.policy = policy if policy is not None else ''
23631        '''
23632         The content of the Policy, in Cedar policy language.
23633        '''
23634
23635    def __repr__(self):
23636        return '<sdm.Policy ' + \
23637            'description: ' + repr(self.description) + ' ' +\
23638            'id: ' + repr(self.id) + ' ' +\
23639            'name: ' + repr(self.name) + ' ' +\
23640            'policy: ' + repr(self.policy) + ' ' +\
23641            '>'
23642
23643    def to_dict(self):
23644        return {
23645            'description': self.description,
23646            'id': self.id,
23647            'name': self.name,
23648            'policy': self.policy,
23649        }
23650
23651    @classmethod
23652    def from_dict(cls, d):
23653        return cls(
23654            description=d.get('description'),
23655            id=d.get('id'),
23656            name=d.get('name'),
23657            policy=d.get('policy'),
23658        )

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)
23611    def __init__(
23612        self,
23613        description=None,
23614        id=None,
23615        name=None,
23616        policy=None,
23617    ):
23618        self.description = description if description is not None else ''
23619        '''
23620         Optional description of the Policy.
23621        '''
23622        self.id = id if id is not None else ''
23623        '''
23624         Unique identifier of the Policy.
23625        '''
23626        self.name = name if name is not None else ''
23627        '''
23628         Unique human-readable name of the Policy.
23629        '''
23630        self.policy = policy if policy is not None else ''
23631        '''
23632         The content of the Policy, in Cedar policy language.
23633        '''
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)
23643    def to_dict(self):
23644        return {
23645            'description': self.description,
23646            'id': self.id,
23647            'name': self.name,
23648            'policy': self.policy,
23649        }
@classmethod
def from_dict(cls, d)
23651    @classmethod
23652    def from_dict(cls, d):
23653        return cls(
23654            description=d.get('description'),
23655            id=d.get('id'),
23656            name=d.get('name'),
23657            policy=d.get('policy'),
23658        )
class PolicyCreateResponse:
23661class PolicyCreateResponse:
23662    '''
23663         PolicyCreateResponse reports how the Policy was created in the system.
23664    '''
23665    __slots__ = [
23666        'policy',
23667        'rate_limit',
23668    ]
23669
23670    def __init__(
23671        self,
23672        policy=None,
23673        rate_limit=None,
23674    ):
23675        self.policy = policy if policy is not None else None
23676        '''
23677         The created Policy.
23678        '''
23679        self.rate_limit = rate_limit if rate_limit is not None else None
23680        '''
23681         Rate limit information.
23682        '''
23683
23684    def __repr__(self):
23685        return '<sdm.PolicyCreateResponse ' + \
23686            'policy: ' + repr(self.policy) + ' ' +\
23687            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23688            '>'
23689
23690    def to_dict(self):
23691        return {
23692            'policy': self.policy,
23693            'rate_limit': self.rate_limit,
23694        }
23695
23696    @classmethod
23697    def from_dict(cls, d):
23698        return cls(
23699            policy=d.get('policy'),
23700            rate_limit=d.get('rate_limit'),
23701        )

PolicyCreateResponse reports how the Policy was created in the system.

PolicyCreateResponse(policy=None, rate_limit=None)
23670    def __init__(
23671        self,
23672        policy=None,
23673        rate_limit=None,
23674    ):
23675        self.policy = policy if policy is not None else None
23676        '''
23677         The created Policy.
23678        '''
23679        self.rate_limit = rate_limit if rate_limit is not None else None
23680        '''
23681         Rate limit information.
23682        '''
policy

The created Policy.

rate_limit

Rate limit information.

def to_dict(self)
23690    def to_dict(self):
23691        return {
23692            'policy': self.policy,
23693            'rate_limit': self.rate_limit,
23694        }
@classmethod
def from_dict(cls, d)
23696    @classmethod
23697    def from_dict(cls, d):
23698        return cls(
23699            policy=d.get('policy'),
23700            rate_limit=d.get('rate_limit'),
23701        )
class PolicyDeleteResponse:
23704class PolicyDeleteResponse:
23705    '''
23706         PolicyDeleteResponse returns information about a Policy that was deleted.
23707    '''
23708    __slots__ = [
23709        'rate_limit',
23710    ]
23711
23712    def __init__(
23713        self,
23714        rate_limit=None,
23715    ):
23716        self.rate_limit = rate_limit if rate_limit is not None else None
23717        '''
23718         Rate limit information.
23719        '''
23720
23721    def __repr__(self):
23722        return '<sdm.PolicyDeleteResponse ' + \
23723            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23724            '>'
23725
23726    def to_dict(self):
23727        return {
23728            'rate_limit': self.rate_limit,
23729        }
23730
23731    @classmethod
23732    def from_dict(cls, d):
23733        return cls(rate_limit=d.get('rate_limit'), )

PolicyDeleteResponse returns information about a Policy that was deleted.

PolicyDeleteResponse(rate_limit=None)
23712    def __init__(
23713        self,
23714        rate_limit=None,
23715    ):
23716        self.rate_limit = rate_limit if rate_limit is not None else None
23717        '''
23718         Rate limit information.
23719        '''
rate_limit

Rate limit information.

def to_dict(self)
23726    def to_dict(self):
23727        return {
23728            'rate_limit': self.rate_limit,
23729        }
@classmethod
def from_dict(cls, d)
23731    @classmethod
23732    def from_dict(cls, d):
23733        return cls(rate_limit=d.get('rate_limit'), )
class PolicyGetResponse:
23736class PolicyGetResponse:
23737    '''
23738         PolicyGetResponse returns a requested Policy.
23739    '''
23740    __slots__ = [
23741        'meta',
23742        'policy',
23743        'rate_limit',
23744    ]
23745
23746    def __init__(
23747        self,
23748        meta=None,
23749        policy=None,
23750        rate_limit=None,
23751    ):
23752        self.meta = meta if meta is not None else None
23753        '''
23754         Reserved for future use.
23755        '''
23756        self.policy = policy if policy is not None else None
23757        '''
23758         The requested Policy.
23759        '''
23760        self.rate_limit = rate_limit if rate_limit is not None else None
23761        '''
23762         Rate limit information.
23763        '''
23764
23765    def __repr__(self):
23766        return '<sdm.PolicyGetResponse ' + \
23767            'meta: ' + repr(self.meta) + ' ' +\
23768            'policy: ' + repr(self.policy) + ' ' +\
23769            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23770            '>'
23771
23772    def to_dict(self):
23773        return {
23774            'meta': self.meta,
23775            'policy': self.policy,
23776            'rate_limit': self.rate_limit,
23777        }
23778
23779    @classmethod
23780    def from_dict(cls, d):
23781        return cls(
23782            meta=d.get('meta'),
23783            policy=d.get('policy'),
23784            rate_limit=d.get('rate_limit'),
23785        )

PolicyGetResponse returns a requested Policy.

PolicyGetResponse(meta=None, policy=None, rate_limit=None)
23746    def __init__(
23747        self,
23748        meta=None,
23749        policy=None,
23750        rate_limit=None,
23751    ):
23752        self.meta = meta if meta is not None else None
23753        '''
23754         Reserved for future use.
23755        '''
23756        self.policy = policy if policy is not None else None
23757        '''
23758         The requested Policy.
23759        '''
23760        self.rate_limit = rate_limit if rate_limit is not None else None
23761        '''
23762         Rate limit information.
23763        '''
meta

Reserved for future use.

policy

The requested Policy.

rate_limit

Rate limit information.

def to_dict(self)
23772    def to_dict(self):
23773        return {
23774            'meta': self.meta,
23775            'policy': self.policy,
23776            'rate_limit': self.rate_limit,
23777        }
@classmethod
def from_dict(cls, d)
23779    @classmethod
23780    def from_dict(cls, d):
23781        return cls(
23782            meta=d.get('meta'),
23783            policy=d.get('policy'),
23784            rate_limit=d.get('rate_limit'),
23785        )
class PolicyHistory:
23788class PolicyHistory:
23789    '''
23790         PolicyHistory records the state of a Policy at a given point in time,
23791     where every change (create, update and delete) to a Policy produces a
23792     PolicyHistory record.
23793    '''
23794    __slots__ = [
23795        'activity_id',
23796        'deleted_at',
23797        'policy',
23798        'timestamp',
23799    ]
23800
23801    def __init__(
23802        self,
23803        activity_id=None,
23804        deleted_at=None,
23805        policy=None,
23806        timestamp=None,
23807    ):
23808        self.activity_id = activity_id if activity_id is not None else ''
23809        '''
23810         The unique identifier of the Activity that produced this change to the Policy.
23811         May be empty for some system-initiated updates.
23812        '''
23813        self.deleted_at = deleted_at if deleted_at is not None else None
23814        '''
23815         If this Policy was deleted, the time it was deleted.
23816        '''
23817        self.policy = policy if policy is not None else None
23818        '''
23819         The complete Policy state at this time.
23820        '''
23821        self.timestamp = timestamp if timestamp is not None else None
23822        '''
23823         The time at which the Policy state was recorded.
23824        '''
23825
23826    def __repr__(self):
23827        return '<sdm.PolicyHistory ' + \
23828            'activity_id: ' + repr(self.activity_id) + ' ' +\
23829            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
23830            'policy: ' + repr(self.policy) + ' ' +\
23831            'timestamp: ' + repr(self.timestamp) + ' ' +\
23832            '>'
23833
23834    def to_dict(self):
23835        return {
23836            'activity_id': self.activity_id,
23837            'deleted_at': self.deleted_at,
23838            'policy': self.policy,
23839            'timestamp': self.timestamp,
23840        }
23841
23842    @classmethod
23843    def from_dict(cls, d):
23844        return cls(
23845            activity_id=d.get('activity_id'),
23846            deleted_at=d.get('deleted_at'),
23847            policy=d.get('policy'),
23848            timestamp=d.get('timestamp'),
23849        )

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)
23801    def __init__(
23802        self,
23803        activity_id=None,
23804        deleted_at=None,
23805        policy=None,
23806        timestamp=None,
23807    ):
23808        self.activity_id = activity_id if activity_id is not None else ''
23809        '''
23810         The unique identifier of the Activity that produced this change to the Policy.
23811         May be empty for some system-initiated updates.
23812        '''
23813        self.deleted_at = deleted_at if deleted_at is not None else None
23814        '''
23815         If this Policy was deleted, the time it was deleted.
23816        '''
23817        self.policy = policy if policy is not None else None
23818        '''
23819         The complete Policy state at this time.
23820        '''
23821        self.timestamp = timestamp if timestamp is not None else None
23822        '''
23823         The time at which the Policy state was recorded.
23824        '''
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)
23834    def to_dict(self):
23835        return {
23836            'activity_id': self.activity_id,
23837            'deleted_at': self.deleted_at,
23838            'policy': self.policy,
23839            'timestamp': self.timestamp,
23840        }
@classmethod
def from_dict(cls, d)
23842    @classmethod
23843    def from_dict(cls, d):
23844        return cls(
23845            activity_id=d.get('activity_id'),
23846            deleted_at=d.get('deleted_at'),
23847            policy=d.get('policy'),
23848            timestamp=d.get('timestamp'),
23849        )
class PolicyListResponse:
23852class PolicyListResponse:
23853    '''
23854         PolicyListResponse returns a list of Policy records that meet
23855     the criteria of a PolicyListRequest.
23856    '''
23857    __slots__ = [
23858        'rate_limit',
23859    ]
23860
23861    def __init__(
23862        self,
23863        rate_limit=None,
23864    ):
23865        self.rate_limit = rate_limit if rate_limit is not None else None
23866        '''
23867         Rate limit information.
23868        '''
23869
23870    def __repr__(self):
23871        return '<sdm.PolicyListResponse ' + \
23872            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23873            '>'
23874
23875    def to_dict(self):
23876        return {
23877            'rate_limit': self.rate_limit,
23878        }
23879
23880    @classmethod
23881    def from_dict(cls, d):
23882        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)
23861    def __init__(
23862        self,
23863        rate_limit=None,
23864    ):
23865        self.rate_limit = rate_limit if rate_limit is not None else None
23866        '''
23867         Rate limit information.
23868        '''
rate_limit

Rate limit information.

def to_dict(self)
23875    def to_dict(self):
23876        return {
23877            'rate_limit': self.rate_limit,
23878        }
@classmethod
def from_dict(cls, d)
23880    @classmethod
23881    def from_dict(cls, d):
23882        return cls(rate_limit=d.get('rate_limit'), )
class PolicyUpdateResponse:
23885class PolicyUpdateResponse:
23886    '''
23887         PolicyUpdateResponse returns the fields of a Policy after it has been updated by
23888     a PolicyUpdateRequest.
23889    '''
23890    __slots__ = [
23891        'policy',
23892        'rate_limit',
23893    ]
23894
23895    def __init__(
23896        self,
23897        policy=None,
23898        rate_limit=None,
23899    ):
23900        self.policy = policy if policy is not None else None
23901        '''
23902         The updated Policy.
23903        '''
23904        self.rate_limit = rate_limit if rate_limit is not None else None
23905        '''
23906         Rate limit information.
23907        '''
23908
23909    def __repr__(self):
23910        return '<sdm.PolicyUpdateResponse ' + \
23911            'policy: ' + repr(self.policy) + ' ' +\
23912            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
23913            '>'
23914
23915    def to_dict(self):
23916        return {
23917            'policy': self.policy,
23918            'rate_limit': self.rate_limit,
23919        }
23920
23921    @classmethod
23922    def from_dict(cls, d):
23923        return cls(
23924            policy=d.get('policy'),
23925            rate_limit=d.get('rate_limit'),
23926        )

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

PolicyUpdateResponse(policy=None, rate_limit=None)
23895    def __init__(
23896        self,
23897        policy=None,
23898        rate_limit=None,
23899    ):
23900        self.policy = policy if policy is not None else None
23901        '''
23902         The updated Policy.
23903        '''
23904        self.rate_limit = rate_limit if rate_limit is not None else None
23905        '''
23906         Rate limit information.
23907        '''
policy

The updated Policy.

rate_limit

Rate limit information.

def to_dict(self)
23915    def to_dict(self):
23916        return {
23917            'policy': self.policy,
23918            'rate_limit': self.rate_limit,
23919        }
@classmethod
def from_dict(cls, d)
23921    @classmethod
23922    def from_dict(cls, d):
23923        return cls(
23924            policy=d.get('policy'),
23925            rate_limit=d.get('rate_limit'),
23926        )
class Postgres:
23929class Postgres:
23930    __slots__ = [
23931        'bind_interface',
23932        'database',
23933        'egress_filter',
23934        'healthy',
23935        'hostname',
23936        'id',
23937        'name',
23938        'override_database',
23939        'password',
23940        'port',
23941        'port_override',
23942        'proxy_cluster_id',
23943        'secret_store_id',
23944        'subdomain',
23945        'tags',
23946        'username',
23947    ]
23948
23949    def __init__(
23950        self,
23951        bind_interface=None,
23952        database=None,
23953        egress_filter=None,
23954        healthy=None,
23955        hostname=None,
23956        id=None,
23957        name=None,
23958        override_database=None,
23959        password=None,
23960        port=None,
23961        port_override=None,
23962        proxy_cluster_id=None,
23963        secret_store_id=None,
23964        subdomain=None,
23965        tags=None,
23966        username=None,
23967    ):
23968        self.bind_interface = bind_interface if bind_interface is not None else ''
23969        '''
23970         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23971        '''
23972        self.database = database if database is not None else ''
23973        '''
23974         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23975        '''
23976        self.egress_filter = egress_filter if egress_filter is not None else ''
23977        '''
23978         A filter applied to the routing logic to pin datasource to nodes.
23979        '''
23980        self.healthy = healthy if healthy is not None else False
23981        '''
23982         True if the datasource is reachable and the credentials are valid.
23983        '''
23984        self.hostname = hostname if hostname is not None else ''
23985        '''
23986         The host to dial to initiate a connection from the egress node to this resource.
23987        '''
23988        self.id = id if id is not None else ''
23989        '''
23990         Unique identifier of the Resource.
23991        '''
23992        self.name = name if name is not None else ''
23993        '''
23994         Unique human-readable name of the Resource.
23995        '''
23996        self.override_database = override_database if override_database is not None else False
23997        '''
23998         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23999        '''
24000        self.password = password if password is not None else ''
24001        '''
24002         The password to authenticate with.
24003        '''
24004        self.port = port if port is not None else 0
24005        '''
24006         The port to dial to initiate a connection from the egress node to this resource.
24007        '''
24008        self.port_override = port_override if port_override is not None else 0
24009        '''
24010         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24011        '''
24012        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24013        '''
24014         ID of the proxy cluster for this resource, if any.
24015        '''
24016        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24017        '''
24018         ID of the secret store containing credentials for this resource, if any.
24019        '''
24020        self.subdomain = subdomain if subdomain is not None else ''
24021        '''
24022         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24023        '''
24024        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24025        '''
24026         Tags is a map of key, value pairs.
24027        '''
24028        self.username = username if username is not None else ''
24029        '''
24030         The username to authenticate with.
24031        '''
24032
24033    def __repr__(self):
24034        return '<sdm.Postgres ' + \
24035            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24036            'database: ' + repr(self.database) + ' ' +\
24037            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24038            'healthy: ' + repr(self.healthy) + ' ' +\
24039            'hostname: ' + repr(self.hostname) + ' ' +\
24040            'id: ' + repr(self.id) + ' ' +\
24041            'name: ' + repr(self.name) + ' ' +\
24042            'override_database: ' + repr(self.override_database) + ' ' +\
24043            'password: ' + repr(self.password) + ' ' +\
24044            'port: ' + repr(self.port) + ' ' +\
24045            'port_override: ' + repr(self.port_override) + ' ' +\
24046            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24047            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24048            'subdomain: ' + repr(self.subdomain) + ' ' +\
24049            'tags: ' + repr(self.tags) + ' ' +\
24050            'username: ' + repr(self.username) + ' ' +\
24051            '>'
24052
24053    def to_dict(self):
24054        return {
24055            'bind_interface': self.bind_interface,
24056            'database': self.database,
24057            'egress_filter': self.egress_filter,
24058            'healthy': self.healthy,
24059            'hostname': self.hostname,
24060            'id': self.id,
24061            'name': self.name,
24062            'override_database': self.override_database,
24063            'password': self.password,
24064            'port': self.port,
24065            'port_override': self.port_override,
24066            'proxy_cluster_id': self.proxy_cluster_id,
24067            'secret_store_id': self.secret_store_id,
24068            'subdomain': self.subdomain,
24069            'tags': self.tags,
24070            'username': self.username,
24071        }
24072
24073    @classmethod
24074    def from_dict(cls, d):
24075        return cls(
24076            bind_interface=d.get('bind_interface'),
24077            database=d.get('database'),
24078            egress_filter=d.get('egress_filter'),
24079            healthy=d.get('healthy'),
24080            hostname=d.get('hostname'),
24081            id=d.get('id'),
24082            name=d.get('name'),
24083            override_database=d.get('override_database'),
24084            password=d.get('password'),
24085            port=d.get('port'),
24086            port_override=d.get('port_override'),
24087            proxy_cluster_id=d.get('proxy_cluster_id'),
24088            secret_store_id=d.get('secret_store_id'),
24089            subdomain=d.get('subdomain'),
24090            tags=d.get('tags'),
24091            username=d.get('username'),
24092        )
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)
23949    def __init__(
23950        self,
23951        bind_interface=None,
23952        database=None,
23953        egress_filter=None,
23954        healthy=None,
23955        hostname=None,
23956        id=None,
23957        name=None,
23958        override_database=None,
23959        password=None,
23960        port=None,
23961        port_override=None,
23962        proxy_cluster_id=None,
23963        secret_store_id=None,
23964        subdomain=None,
23965        tags=None,
23966        username=None,
23967    ):
23968        self.bind_interface = bind_interface if bind_interface is not None else ''
23969        '''
23970         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
23971        '''
23972        self.database = database if database is not None else ''
23973        '''
23974         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
23975        '''
23976        self.egress_filter = egress_filter if egress_filter is not None else ''
23977        '''
23978         A filter applied to the routing logic to pin datasource to nodes.
23979        '''
23980        self.healthy = healthy if healthy is not None else False
23981        '''
23982         True if the datasource is reachable and the credentials are valid.
23983        '''
23984        self.hostname = hostname if hostname is not None else ''
23985        '''
23986         The host to dial to initiate a connection from the egress node to this resource.
23987        '''
23988        self.id = id if id is not None else ''
23989        '''
23990         Unique identifier of the Resource.
23991        '''
23992        self.name = name if name is not None else ''
23993        '''
23994         Unique human-readable name of the Resource.
23995        '''
23996        self.override_database = override_database if override_database is not None else False
23997        '''
23998         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
23999        '''
24000        self.password = password if password is not None else ''
24001        '''
24002         The password to authenticate with.
24003        '''
24004        self.port = port if port is not None else 0
24005        '''
24006         The port to dial to initiate a connection from the egress node to this resource.
24007        '''
24008        self.port_override = port_override if port_override is not None else 0
24009        '''
24010         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24011        '''
24012        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24013        '''
24014         ID of the proxy cluster for this resource, if any.
24015        '''
24016        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24017        '''
24018         ID of the secret store containing credentials for this resource, if any.
24019        '''
24020        self.subdomain = subdomain if subdomain is not None else ''
24021        '''
24022         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24023        '''
24024        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24025        '''
24026         Tags is a map of key, value pairs.
24027        '''
24028        self.username = username if username is not None else ''
24029        '''
24030         The username to authenticate with.
24031        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
24053    def to_dict(self):
24054        return {
24055            'bind_interface': self.bind_interface,
24056            'database': self.database,
24057            'egress_filter': self.egress_filter,
24058            'healthy': self.healthy,
24059            'hostname': self.hostname,
24060            'id': self.id,
24061            'name': self.name,
24062            'override_database': self.override_database,
24063            'password': self.password,
24064            'port': self.port,
24065            'port_override': self.port_override,
24066            'proxy_cluster_id': self.proxy_cluster_id,
24067            'secret_store_id': self.secret_store_id,
24068            'subdomain': self.subdomain,
24069            'tags': self.tags,
24070            'username': self.username,
24071        }
@classmethod
def from_dict(cls, d)
24073    @classmethod
24074    def from_dict(cls, d):
24075        return cls(
24076            bind_interface=d.get('bind_interface'),
24077            database=d.get('database'),
24078            egress_filter=d.get('egress_filter'),
24079            healthy=d.get('healthy'),
24080            hostname=d.get('hostname'),
24081            id=d.get('id'),
24082            name=d.get('name'),
24083            override_database=d.get('override_database'),
24084            password=d.get('password'),
24085            port=d.get('port'),
24086            port_override=d.get('port_override'),
24087            proxy_cluster_id=d.get('proxy_cluster_id'),
24088            secret_store_id=d.get('secret_store_id'),
24089            subdomain=d.get('subdomain'),
24090            tags=d.get('tags'),
24091            username=d.get('username'),
24092        )
class PostgresEngine:
24095class PostgresEngine:
24096    '''
24097    PostgresEngine is currently unstable, and its API may change, or it may be removed,
24098    without a major version bump.
24099    '''
24100    __slots__ = [
24101        'after_read_ttl',
24102        'database',
24103        'hostname',
24104        'id',
24105        'key_rotation_interval_days',
24106        'name',
24107        'password',
24108        'policy',
24109        'port',
24110        'public_key',
24111        'secret_store_id',
24112        'secret_store_root_path',
24113        'tags',
24114        'tls',
24115        'ttl',
24116        'username',
24117    ]
24118
24119    def __init__(
24120        self,
24121        after_read_ttl=None,
24122        database=None,
24123        hostname=None,
24124        id=None,
24125        key_rotation_interval_days=None,
24126        name=None,
24127        password=None,
24128        policy=None,
24129        port=None,
24130        public_key=None,
24131        secret_store_id=None,
24132        secret_store_root_path=None,
24133        tags=None,
24134        tls=None,
24135        ttl=None,
24136        username=None,
24137    ):
24138        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
24139        '''
24140         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
24141        '''
24142        self.database = database if database is not None else ''
24143        '''
24144         Database is the database to verify credential against.
24145        '''
24146        self.hostname = hostname if hostname is not None else ''
24147        '''
24148         Hostname is the hostname or IP address of the Postgres server.
24149        '''
24150        self.id = id if id is not None else ''
24151        '''
24152         Unique identifier of the Secret Engine.
24153        '''
24154        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
24155        '''
24156         An interval of public/private key rotation for secret engine in days
24157        '''
24158        self.name = name if name is not None else ''
24159        '''
24160         Unique human-readable name of the Secret Engine.
24161        '''
24162        self.password = password if password is not None else ''
24163        '''
24164         Password is the password to connect to the Postgres server.
24165        '''
24166        self.policy = policy if policy is not None else None
24167        '''
24168         Policy for password creation
24169        '''
24170        self.port = port if port is not None else 0
24171        '''
24172         Port is the port number of the Postgres server.
24173        '''
24174        self.public_key = public_key if public_key is not None else b''
24175        '''
24176         Public key linked with a secret engine
24177        '''
24178        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24179        '''
24180         Backing secret store identifier
24181        '''
24182        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
24183        '''
24184         Backing Secret Store root path where managed secrets are going to be stored
24185        '''
24186        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24187        '''
24188         Tags is a map of key, value pairs.
24189        '''
24190        self.tls = tls if tls is not None else False
24191        '''
24192         TLS enables TLS/SSL when connecting to the Postgres server.
24193        '''
24194        self.ttl = ttl if ttl is not None else None
24195        '''
24196         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
24197        '''
24198        self.username = username if username is not None else ''
24199        '''
24200         Username is the username to connect to the Postgres server.
24201        '''
24202
24203    def __repr__(self):
24204        return '<sdm.PostgresEngine ' + \
24205            'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
24206            'database: ' + repr(self.database) + ' ' +\
24207            'hostname: ' + repr(self.hostname) + ' ' +\
24208            'id: ' + repr(self.id) + ' ' +\
24209            'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
24210            'name: ' + repr(self.name) + ' ' +\
24211            'password: ' + repr(self.password) + ' ' +\
24212            'policy: ' + repr(self.policy) + ' ' +\
24213            'port: ' + repr(self.port) + ' ' +\
24214            'public_key: ' + repr(self.public_key) + ' ' +\
24215            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24216            'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
24217            'tags: ' + repr(self.tags) + ' ' +\
24218            'tls: ' + repr(self.tls) + ' ' +\
24219            'ttl: ' + repr(self.ttl) + ' ' +\
24220            'username: ' + repr(self.username) + ' ' +\
24221            '>'
24222
24223    def to_dict(self):
24224        return {
24225            'after_read_ttl': self.after_read_ttl,
24226            'database': self.database,
24227            'hostname': self.hostname,
24228            'id': self.id,
24229            'key_rotation_interval_days': self.key_rotation_interval_days,
24230            'name': self.name,
24231            'password': self.password,
24232            'policy': self.policy,
24233            'port': self.port,
24234            'public_key': self.public_key,
24235            'secret_store_id': self.secret_store_id,
24236            'secret_store_root_path': self.secret_store_root_path,
24237            'tags': self.tags,
24238            'tls': self.tls,
24239            'ttl': self.ttl,
24240            'username': self.username,
24241        }
24242
24243    @classmethod
24244    def from_dict(cls, d):
24245        return cls(
24246            after_read_ttl=d.get('after_read_ttl'),
24247            database=d.get('database'),
24248            hostname=d.get('hostname'),
24249            id=d.get('id'),
24250            key_rotation_interval_days=d.get('key_rotation_interval_days'),
24251            name=d.get('name'),
24252            password=d.get('password'),
24253            policy=d.get('policy'),
24254            port=d.get('port'),
24255            public_key=d.get('public_key'),
24256            secret_store_id=d.get('secret_store_id'),
24257            secret_store_root_path=d.get('secret_store_root_path'),
24258            tags=d.get('tags'),
24259            tls=d.get('tls'),
24260            ttl=d.get('ttl'),
24261            username=d.get('username'),
24262        )

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

PostgresEngine( after_read_ttl=None, database=None, hostname=None, id=None, key_rotation_interval_days=None, name=None, password=None, policy=None, port=None, public_key=None, secret_store_id=None, secret_store_root_path=None, tags=None, tls=None, ttl=None, username=None)
24119    def __init__(
24120        self,
24121        after_read_ttl=None,
24122        database=None,
24123        hostname=None,
24124        id=None,
24125        key_rotation_interval_days=None,
24126        name=None,
24127        password=None,
24128        policy=None,
24129        port=None,
24130        public_key=None,
24131        secret_store_id=None,
24132        secret_store_root_path=None,
24133        tags=None,
24134        tls=None,
24135        ttl=None,
24136        username=None,
24137    ):
24138        self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
24139        '''
24140         The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
24141        '''
24142        self.database = database if database is not None else ''
24143        '''
24144         Database is the database to verify credential against.
24145        '''
24146        self.hostname = hostname if hostname is not None else ''
24147        '''
24148         Hostname is the hostname or IP address of the Postgres server.
24149        '''
24150        self.id = id if id is not None else ''
24151        '''
24152         Unique identifier of the Secret Engine.
24153        '''
24154        self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
24155        '''
24156         An interval of public/private key rotation for secret engine in days
24157        '''
24158        self.name = name if name is not None else ''
24159        '''
24160         Unique human-readable name of the Secret Engine.
24161        '''
24162        self.password = password if password is not None else ''
24163        '''
24164         Password is the password to connect to the Postgres server.
24165        '''
24166        self.policy = policy if policy is not None else None
24167        '''
24168         Policy for password creation
24169        '''
24170        self.port = port if port is not None else 0
24171        '''
24172         Port is the port number of the Postgres server.
24173        '''
24174        self.public_key = public_key if public_key is not None else b''
24175        '''
24176         Public key linked with a secret engine
24177        '''
24178        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24179        '''
24180         Backing secret store identifier
24181        '''
24182        self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
24183        '''
24184         Backing Secret Store root path where managed secrets are going to be stored
24185        '''
24186        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24187        '''
24188         Tags is a map of key, value pairs.
24189        '''
24190        self.tls = tls if tls is not None else False
24191        '''
24192         TLS enables TLS/SSL when connecting to the Postgres server.
24193        '''
24194        self.ttl = ttl if ttl is not None else None
24195        '''
24196         The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
24197        '''
24198        self.username = username if username is not None else ''
24199        '''
24200         Username is the username to connect to the Postgres server.
24201        '''
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.

database

Database is the database to verify credential against.

hostname

Hostname is the hostname or IP address of the Postgres server.

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.

password

Password is the password to connect to the Postgres server.

policy

Policy for password creation

port

Port is the port number of the Postgres server.

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.

tls

TLS enables TLS/SSL when connecting to the Postgres server.

ttl

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

username

Username is the username to connect to the Postgres server.

def to_dict(self)
24223    def to_dict(self):
24224        return {
24225            'after_read_ttl': self.after_read_ttl,
24226            'database': self.database,
24227            'hostname': self.hostname,
24228            'id': self.id,
24229            'key_rotation_interval_days': self.key_rotation_interval_days,
24230            'name': self.name,
24231            'password': self.password,
24232            'policy': self.policy,
24233            'port': self.port,
24234            'public_key': self.public_key,
24235            'secret_store_id': self.secret_store_id,
24236            'secret_store_root_path': self.secret_store_root_path,
24237            'tags': self.tags,
24238            'tls': self.tls,
24239            'ttl': self.ttl,
24240            'username': self.username,
24241        }
@classmethod
def from_dict(cls, d)
24243    @classmethod
24244    def from_dict(cls, d):
24245        return cls(
24246            after_read_ttl=d.get('after_read_ttl'),
24247            database=d.get('database'),
24248            hostname=d.get('hostname'),
24249            id=d.get('id'),
24250            key_rotation_interval_days=d.get('key_rotation_interval_days'),
24251            name=d.get('name'),
24252            password=d.get('password'),
24253            policy=d.get('policy'),
24254            port=d.get('port'),
24255            public_key=d.get('public_key'),
24256            secret_store_id=d.get('secret_store_id'),
24257            secret_store_root_path=d.get('secret_store_root_path'),
24258            tags=d.get('tags'),
24259            tls=d.get('tls'),
24260            ttl=d.get('ttl'),
24261            username=d.get('username'),
24262        )
class Presto:
24265class Presto:
24266    __slots__ = [
24267        'bind_interface',
24268        'database',
24269        'egress_filter',
24270        'healthy',
24271        'hostname',
24272        'id',
24273        'name',
24274        'password',
24275        'port',
24276        'port_override',
24277        'proxy_cluster_id',
24278        'secret_store_id',
24279        'subdomain',
24280        'tags',
24281        'tls_required',
24282        'username',
24283    ]
24284
24285    def __init__(
24286        self,
24287        bind_interface=None,
24288        database=None,
24289        egress_filter=None,
24290        healthy=None,
24291        hostname=None,
24292        id=None,
24293        name=None,
24294        password=None,
24295        port=None,
24296        port_override=None,
24297        proxy_cluster_id=None,
24298        secret_store_id=None,
24299        subdomain=None,
24300        tags=None,
24301        tls_required=None,
24302        username=None,
24303    ):
24304        self.bind_interface = bind_interface if bind_interface is not None else ''
24305        '''
24306         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24307        '''
24308        self.database = database if database is not None else ''
24309        '''
24310         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24311        '''
24312        self.egress_filter = egress_filter if egress_filter is not None else ''
24313        '''
24314         A filter applied to the routing logic to pin datasource to nodes.
24315        '''
24316        self.healthy = healthy if healthy is not None else False
24317        '''
24318         True if the datasource is reachable and the credentials are valid.
24319        '''
24320        self.hostname = hostname if hostname is not None else ''
24321        '''
24322         The host to dial to initiate a connection from the egress node to this resource.
24323        '''
24324        self.id = id if id is not None else ''
24325        '''
24326         Unique identifier of the Resource.
24327        '''
24328        self.name = name if name is not None else ''
24329        '''
24330         Unique human-readable name of the Resource.
24331        '''
24332        self.password = password if password is not None else ''
24333        '''
24334         The password to authenticate with.
24335        '''
24336        self.port = port if port is not None else 0
24337        '''
24338         The port to dial to initiate a connection from the egress node to this resource.
24339        '''
24340        self.port_override = port_override if port_override is not None else 0
24341        '''
24342         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24343        '''
24344        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24345        '''
24346         ID of the proxy cluster for this resource, if any.
24347        '''
24348        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24349        '''
24350         ID of the secret store containing credentials for this resource, if any.
24351        '''
24352        self.subdomain = subdomain if subdomain is not None else ''
24353        '''
24354         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24355        '''
24356        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24357        '''
24358         Tags is a map of key, value pairs.
24359        '''
24360        self.tls_required = tls_required if tls_required is not None else False
24361        '''
24362         If set, TLS must be used to connect to this resource.
24363        '''
24364        self.username = username if username is not None else ''
24365        '''
24366         The username to authenticate with.
24367        '''
24368
24369    def __repr__(self):
24370        return '<sdm.Presto ' + \
24371            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
24372            'database: ' + repr(self.database) + ' ' +\
24373            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
24374            'healthy: ' + repr(self.healthy) + ' ' +\
24375            'hostname: ' + repr(self.hostname) + ' ' +\
24376            'id: ' + repr(self.id) + ' ' +\
24377            'name: ' + repr(self.name) + ' ' +\
24378            'password: ' + repr(self.password) + ' ' +\
24379            'port: ' + repr(self.port) + ' ' +\
24380            'port_override: ' + repr(self.port_override) + ' ' +\
24381            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24382            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
24383            'subdomain: ' + repr(self.subdomain) + ' ' +\
24384            'tags: ' + repr(self.tags) + ' ' +\
24385            'tls_required: ' + repr(self.tls_required) + ' ' +\
24386            'username: ' + repr(self.username) + ' ' +\
24387            '>'
24388
24389    def to_dict(self):
24390        return {
24391            'bind_interface': self.bind_interface,
24392            'database': self.database,
24393            'egress_filter': self.egress_filter,
24394            'healthy': self.healthy,
24395            'hostname': self.hostname,
24396            'id': self.id,
24397            'name': self.name,
24398            'password': self.password,
24399            'port': self.port,
24400            'port_override': self.port_override,
24401            'proxy_cluster_id': self.proxy_cluster_id,
24402            'secret_store_id': self.secret_store_id,
24403            'subdomain': self.subdomain,
24404            'tags': self.tags,
24405            'tls_required': self.tls_required,
24406            'username': self.username,
24407        }
24408
24409    @classmethod
24410    def from_dict(cls, d):
24411        return cls(
24412            bind_interface=d.get('bind_interface'),
24413            database=d.get('database'),
24414            egress_filter=d.get('egress_filter'),
24415            healthy=d.get('healthy'),
24416            hostname=d.get('hostname'),
24417            id=d.get('id'),
24418            name=d.get('name'),
24419            password=d.get('password'),
24420            port=d.get('port'),
24421            port_override=d.get('port_override'),
24422            proxy_cluster_id=d.get('proxy_cluster_id'),
24423            secret_store_id=d.get('secret_store_id'),
24424            subdomain=d.get('subdomain'),
24425            tags=d.get('tags'),
24426            tls_required=d.get('tls_required'),
24427            username=d.get('username'),
24428        )
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)
24285    def __init__(
24286        self,
24287        bind_interface=None,
24288        database=None,
24289        egress_filter=None,
24290        healthy=None,
24291        hostname=None,
24292        id=None,
24293        name=None,
24294        password=None,
24295        port=None,
24296        port_override=None,
24297        proxy_cluster_id=None,
24298        secret_store_id=None,
24299        subdomain=None,
24300        tags=None,
24301        tls_required=None,
24302        username=None,
24303    ):
24304        self.bind_interface = bind_interface if bind_interface is not None else ''
24305        '''
24306         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
24307        '''
24308        self.database = database if database is not None else ''
24309        '''
24310         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
24311        '''
24312        self.egress_filter = egress_filter if egress_filter is not None else ''
24313        '''
24314         A filter applied to the routing logic to pin datasource to nodes.
24315        '''
24316        self.healthy = healthy if healthy is not None else False
24317        '''
24318         True if the datasource is reachable and the credentials are valid.
24319        '''
24320        self.hostname = hostname if hostname is not None else ''
24321        '''
24322         The host to dial to initiate a connection from the egress node to this resource.
24323        '''
24324        self.id = id if id is not None else ''
24325        '''
24326         Unique identifier of the Resource.
24327        '''
24328        self.name = name if name is not None else ''
24329        '''
24330         Unique human-readable name of the Resource.
24331        '''
24332        self.password = password if password is not None else ''
24333        '''
24334         The password to authenticate with.
24335        '''
24336        self.port = port if port is not None else 0
24337        '''
24338         The port to dial to initiate a connection from the egress node to this resource.
24339        '''
24340        self.port_override = port_override if port_override is not None else 0
24341        '''
24342         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
24343        '''
24344        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24345        '''
24346         ID of the proxy cluster for this resource, if any.
24347        '''
24348        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
24349        '''
24350         ID of the secret store containing credentials for this resource, if any.
24351        '''
24352        self.subdomain = subdomain if subdomain is not None else ''
24353        '''
24354         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
24355        '''
24356        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24357        '''
24358         Tags is a map of key, value pairs.
24359        '''
24360        self.tls_required = tls_required if tls_required is not None else False
24361        '''
24362         If set, TLS must be used to connect to this resource.
24363        '''
24364        self.username = username if username is not None else ''
24365        '''
24366         The username to authenticate with.
24367        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
24389    def to_dict(self):
24390        return {
24391            'bind_interface': self.bind_interface,
24392            'database': self.database,
24393            'egress_filter': self.egress_filter,
24394            'healthy': self.healthy,
24395            'hostname': self.hostname,
24396            'id': self.id,
24397            'name': self.name,
24398            'password': self.password,
24399            'port': self.port,
24400            'port_override': self.port_override,
24401            'proxy_cluster_id': self.proxy_cluster_id,
24402            'secret_store_id': self.secret_store_id,
24403            'subdomain': self.subdomain,
24404            'tags': self.tags,
24405            'tls_required': self.tls_required,
24406            'username': self.username,
24407        }
@classmethod
def from_dict(cls, d)
24409    @classmethod
24410    def from_dict(cls, d):
24411        return cls(
24412            bind_interface=d.get('bind_interface'),
24413            database=d.get('database'),
24414            egress_filter=d.get('egress_filter'),
24415            healthy=d.get('healthy'),
24416            hostname=d.get('hostname'),
24417            id=d.get('id'),
24418            name=d.get('name'),
24419            password=d.get('password'),
24420            port=d.get('port'),
24421            port_override=d.get('port_override'),
24422            proxy_cluster_id=d.get('proxy_cluster_id'),
24423            secret_store_id=d.get('secret_store_id'),
24424            subdomain=d.get('subdomain'),
24425            tags=d.get('tags'),
24426            tls_required=d.get('tls_required'),
24427            username=d.get('username'),
24428        )
class ProxyCluster:
24431class ProxyCluster:
24432    '''
24433         ProxyCluster represents a cluster of StrongDM proxies.
24434    '''
24435    __slots__ = [
24436        'address',
24437        'id',
24438        'maintenance_windows',
24439        'name',
24440        'tags',
24441    ]
24442
24443    def __init__(
24444        self,
24445        address=None,
24446        id=None,
24447        maintenance_windows=None,
24448        name=None,
24449        tags=None,
24450    ):
24451        self.address = address if address is not None else ''
24452        '''
24453         The public hostname/port tuple at which the proxy cluster will be
24454         accessible to clients.
24455        '''
24456        self.id = id if id is not None else ''
24457        '''
24458         Unique identifier of the Proxy Cluster.
24459        '''
24460        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24461        '''
24462         Maintenance Windows define when this node is allowed to restart. If a node
24463         is requested to restart, it will check each window to determine if any of
24464         them permit it to restart, and if any do, it will. This check is repeated
24465         per window until the restart is successfully completed.
24466         
24467         If not set here, may be set on the command line or via an environment variable
24468         on the process itself; any server setting will take precedence over local
24469         settings. This setting is ineffective for nodes below version 38.44.0.
24470         
24471         If this setting is not applied via this remote configuration or via local
24472         configuration, the default setting is used: always allow restarts if serving
24473         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24474        '''
24475        self.name = name if name is not None else ''
24476        '''
24477         Unique human-readable name of the proxy cluster. Names must
24478         include only letters, numbers, and hyphens (no spaces, underscores, or
24479         other special characters). Generated if not provided on create.
24480        '''
24481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24482        '''
24483         Tags is a map of key, value pairs.
24484        '''
24485
24486    def __repr__(self):
24487        return '<sdm.ProxyCluster ' + \
24488            'address: ' + repr(self.address) + ' ' +\
24489            'id: ' + repr(self.id) + ' ' +\
24490            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
24491            'name: ' + repr(self.name) + ' ' +\
24492            'tags: ' + repr(self.tags) + ' ' +\
24493            '>'
24494
24495    def to_dict(self):
24496        return {
24497            'address': self.address,
24498            'id': self.id,
24499            'maintenance_windows': self.maintenance_windows,
24500            'name': self.name,
24501            'tags': self.tags,
24502        }
24503
24504    @classmethod
24505    def from_dict(cls, d):
24506        return cls(
24507            address=d.get('address'),
24508            id=d.get('id'),
24509            maintenance_windows=d.get('maintenance_windows'),
24510            name=d.get('name'),
24511            tags=d.get('tags'),
24512        )

ProxyCluster represents a cluster of StrongDM proxies.

ProxyCluster( address=None, id=None, maintenance_windows=None, name=None, tags=None)
24443    def __init__(
24444        self,
24445        address=None,
24446        id=None,
24447        maintenance_windows=None,
24448        name=None,
24449        tags=None,
24450    ):
24451        self.address = address if address is not None else ''
24452        '''
24453         The public hostname/port tuple at which the proxy cluster will be
24454         accessible to clients.
24455        '''
24456        self.id = id if id is not None else ''
24457        '''
24458         Unique identifier of the Proxy Cluster.
24459        '''
24460        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
24461        '''
24462         Maintenance Windows define when this node is allowed to restart. If a node
24463         is requested to restart, it will check each window to determine if any of
24464         them permit it to restart, and if any do, it will. This check is repeated
24465         per window until the restart is successfully completed.
24466         
24467         If not set here, may be set on the command line or via an environment variable
24468         on the process itself; any server setting will take precedence over local
24469         settings. This setting is ineffective for nodes below version 38.44.0.
24470         
24471         If this setting is not applied via this remote configuration or via local
24472         configuration, the default setting is used: always allow restarts if serving
24473         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
24474        '''
24475        self.name = name if name is not None else ''
24476        '''
24477         Unique human-readable name of the proxy cluster. Names must
24478         include only letters, numbers, and hyphens (no spaces, underscores, or
24479         other special characters). Generated if not provided on create.
24480        '''
24481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
24482        '''
24483         Tags is a map of key, value pairs.
24484        '''
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)
24495    def to_dict(self):
24496        return {
24497            'address': self.address,
24498            'id': self.id,
24499            'maintenance_windows': self.maintenance_windows,
24500            'name': self.name,
24501            'tags': self.tags,
24502        }
@classmethod
def from_dict(cls, d)
24504    @classmethod
24505    def from_dict(cls, d):
24506        return cls(
24507            address=d.get('address'),
24508            id=d.get('id'),
24509            maintenance_windows=d.get('maintenance_windows'),
24510            name=d.get('name'),
24511            tags=d.get('tags'),
24512        )
class ProxyClusterKey:
24515class ProxyClusterKey:
24516    '''
24517         Proxy Cluster Keys are authentication keys for all proxies within a cluster.
24518     The proxies within a cluster share the same key. One cluster can have
24519     multiple keys in order to facilitate key rotation.
24520    '''
24521    __slots__ = [
24522        'created_at',
24523        'id',
24524        'last_used_at',
24525        'proxy_cluster_id',
24526    ]
24527
24528    def __init__(
24529        self,
24530        created_at=None,
24531        id=None,
24532        last_used_at=None,
24533        proxy_cluster_id=None,
24534    ):
24535        self.created_at = created_at if created_at is not None else None
24536        '''
24537         The timestamp when this key was created.
24538        '''
24539        self.id = id if id is not None else ''
24540        '''
24541         Unique identifier of the Relay.
24542        '''
24543        self.last_used_at = last_used_at if last_used_at is not None else None
24544        '''
24545         The timestamp when this key was last used, if at all.
24546        '''
24547        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24548        '''
24549         The ID of the proxy cluster which this key authenticates to.
24550        '''
24551
24552    def __repr__(self):
24553        return '<sdm.ProxyClusterKey ' + \
24554            'created_at: ' + repr(self.created_at) + ' ' +\
24555            'id: ' + repr(self.id) + ' ' +\
24556            'last_used_at: ' + repr(self.last_used_at) + ' ' +\
24557            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
24558            '>'
24559
24560    def to_dict(self):
24561        return {
24562            'created_at': self.created_at,
24563            'id': self.id,
24564            'last_used_at': self.last_used_at,
24565            'proxy_cluster_id': self.proxy_cluster_id,
24566        }
24567
24568    @classmethod
24569    def from_dict(cls, d):
24570        return cls(
24571            created_at=d.get('created_at'),
24572            id=d.get('id'),
24573            last_used_at=d.get('last_used_at'),
24574            proxy_cluster_id=d.get('proxy_cluster_id'),
24575        )

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)
24528    def __init__(
24529        self,
24530        created_at=None,
24531        id=None,
24532        last_used_at=None,
24533        proxy_cluster_id=None,
24534    ):
24535        self.created_at = created_at if created_at is not None else None
24536        '''
24537         The timestamp when this key was created.
24538        '''
24539        self.id = id if id is not None else ''
24540        '''
24541         Unique identifier of the Relay.
24542        '''
24543        self.last_used_at = last_used_at if last_used_at is not None else None
24544        '''
24545         The timestamp when this key was last used, if at all.
24546        '''
24547        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
24548        '''
24549         The ID of the proxy cluster which this key authenticates to.
24550        '''
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)
24560    def to_dict(self):
24561        return {
24562            'created_at': self.created_at,
24563            'id': self.id,
24564            'last_used_at': self.last_used_at,
24565            'proxy_cluster_id': self.proxy_cluster_id,
24566        }
@classmethod
def from_dict(cls, d)
24568    @classmethod
24569    def from_dict(cls, d):
24570        return cls(
24571            created_at=d.get('created_at'),
24572            id=d.get('id'),
24573            last_used_at=d.get('last_used_at'),
24574            proxy_cluster_id=d.get('proxy_cluster_id'),
24575        )
class ProxyClusterKeyCreateResponse:
24578class ProxyClusterKeyCreateResponse:
24579    '''
24580         ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
24581    '''
24582    __slots__ = [
24583        'meta',
24584        'proxy_cluster_key',
24585        'rate_limit',
24586        'secret_key',
24587    ]
24588
24589    def __init__(
24590        self,
24591        meta=None,
24592        proxy_cluster_key=None,
24593        rate_limit=None,
24594        secret_key=None,
24595    ):
24596        self.meta = meta if meta is not None else None
24597        '''
24598         Reserved for future use.
24599        '''
24600        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
24601        '''
24602         The created ProxyClusterKey.
24603        '''
24604        self.rate_limit = rate_limit if rate_limit is not None else None
24605        '''
24606         Rate limit information.
24607        '''
24608        self.secret_key = secret_key if secret_key is not None else ''
24609        '''
24610         The secret key component of this key. It must be saved upon creation
24611         because it will not be available for retrieval later.
24612        '''
24613
24614    def __repr__(self):
24615        return '<sdm.ProxyClusterKeyCreateResponse ' + \
24616            'meta: ' + repr(self.meta) + ' ' +\
24617            'proxy_cluster_key: ' + repr(self.proxy_cluster_key) + ' ' +\
24618            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24619            'secret_key: ' + repr(self.secret_key) + ' ' +\
24620            '>'
24621
24622    def to_dict(self):
24623        return {
24624            'meta': self.meta,
24625            'proxy_cluster_key': self.proxy_cluster_key,
24626            'rate_limit': self.rate_limit,
24627            'secret_key': self.secret_key,
24628        }
24629
24630    @classmethod
24631    def from_dict(cls, d):
24632        return cls(
24633            meta=d.get('meta'),
24634            proxy_cluster_key=d.get('proxy_cluster_key'),
24635            rate_limit=d.get('rate_limit'),
24636            secret_key=d.get('secret_key'),
24637        )

ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.

ProxyClusterKeyCreateResponse(meta=None, proxy_cluster_key=None, rate_limit=None, secret_key=None)
24589    def __init__(
24590        self,
24591        meta=None,
24592        proxy_cluster_key=None,
24593        rate_limit=None,
24594        secret_key=None,
24595    ):
24596        self.meta = meta if meta is not None else None
24597        '''
24598         Reserved for future use.
24599        '''
24600        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
24601        '''
24602         The created ProxyClusterKey.
24603        '''
24604        self.rate_limit = rate_limit if rate_limit is not None else None
24605        '''
24606         Rate limit information.
24607        '''
24608        self.secret_key = secret_key if secret_key is not None else ''
24609        '''
24610         The secret key component of this key. It must be saved upon creation
24611         because it will not be available for retrieval later.
24612        '''
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)
24622    def to_dict(self):
24623        return {
24624            'meta': self.meta,
24625            'proxy_cluster_key': self.proxy_cluster_key,
24626            'rate_limit': self.rate_limit,
24627            'secret_key': self.secret_key,
24628        }
@classmethod
def from_dict(cls, d)
24630    @classmethod
24631    def from_dict(cls, d):
24632        return cls(
24633            meta=d.get('meta'),
24634            proxy_cluster_key=d.get('proxy_cluster_key'),
24635            rate_limit=d.get('rate_limit'),
24636            secret_key=d.get('secret_key'),
24637        )
class ProxyClusterKeyDeleteResponse:
24640class ProxyClusterKeyDeleteResponse:
24641    '''
24642         ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
24643    '''
24644    __slots__ = [
24645        'meta',
24646        'rate_limit',
24647    ]
24648
24649    def __init__(
24650        self,
24651        meta=None,
24652        rate_limit=None,
24653    ):
24654        self.meta = meta if meta is not None else None
24655        '''
24656         Reserved for future use.
24657        '''
24658        self.rate_limit = rate_limit if rate_limit is not None else None
24659        '''
24660         Rate limit information.
24661        '''
24662
24663    def __repr__(self):
24664        return '<sdm.ProxyClusterKeyDeleteResponse ' + \
24665            'meta: ' + repr(self.meta) + ' ' +\
24666            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
24667            '>'
24668
24669    def to_dict(self):
24670        return {
24671            'meta': self.meta,
24672            'rate_limit': self.rate_limit,
24673        }
24674
24675    @classmethod
24676    def from_dict(cls, d):
24677        return cls(
24678            meta=d.get('meta'),
24679            rate_limit=d.get('rate_limit'),
24680        )

ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.

ProxyClusterKeyDeleteResponse(meta=None, rate_limit=None)
24649    def __init__(
24650        self,
24651        meta=None,
24652        rate_limit=None,
24653    ):
24654        self.meta = meta if meta is not None else None
24655        '''
24656         Reserved for future use.
24657        '''
24658        self.rate_limit = rate_limit if rate_limit is not None else None
24659        '''
24660         Rate limit information.
24661        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

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

ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.

ProxyClusterKeyGetResponse(meta=None, proxy_cluster_key=None, rate_limit=None)
24693    def __init__(
24694        self,
24695        meta=None,
24696        proxy_cluster_key=None,
24697        rate_limit=None,
24698    ):
24699        self.meta = meta if meta is not None else None
24700        '''
24701         Reserved for future use.
24702        '''
24703        self.proxy_cluster_key = proxy_cluster_key if proxy_cluster_key is not None else None
24704        '''
24705         The requested ProxyClusterKey.
24706        '''
24707        self.rate_limit = rate_limit if rate_limit is not None else None
24708        '''
24709         Rate limit information.
24710        '''
meta

Reserved for future use.

proxy_cluster_key

The requested ProxyClusterKey.

rate_limit

Rate limit information.

def to_dict(self)
24719    def to_dict(self):
24720        return {
24721            'meta': self.meta,
24722            'proxy_cluster_key': self.proxy_cluster_key,
24723            'rate_limit': self.rate_limit,
24724        }
@classmethod
def from_dict(cls, d)
24726    @classmethod
24727    def from_dict(cls, d):
24728        return cls(
24729            meta=d.get('meta'),
24730            proxy_cluster_key=d.get('proxy_cluster_key'),
24731            rate_limit=d.get('rate_limit'),
24732        )
class Query:
24735class Query:
24736    '''
24737         A Query is a record of a single client request to a resource, such as a SQL query.
24738     Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
24739     interactive sessions will return two Query records with the same identifier, one record
24740     at the start of the query and a second record upon the completion of the query with
24741     additional detail.
24742    '''
24743    __slots__ = [
24744        'account_email',
24745        'account_first_name',
24746        'account_id',
24747        'account_last_name',
24748        'account_tags',
24749        'authzjson',
24750        'capture',
24751        'client_ip',
24752        'completed_at',
24753        'duration',
24754        'egress_node_id',
24755        'encrypted',
24756        'id',
24757        'identity_alias_username',
24758        'metadata_json',
24759        'query_body',
24760        'query_category',
24761        'query_hash',
24762        'query_key',
24763        'record_count',
24764        'remote_identity_username',
24765        'replayable',
24766        'resource_id',
24767        'resource_name',
24768        'resource_tags',
24769        'resource_type',
24770        'source_ip',
24771        'target',
24772        'timestamp',
24773    ]
24774
24775    def __init__(
24776        self,
24777        account_email=None,
24778        account_first_name=None,
24779        account_id=None,
24780        account_last_name=None,
24781        account_tags=None,
24782        authzjson=None,
24783        capture=None,
24784        client_ip=None,
24785        completed_at=None,
24786        duration=None,
24787        egress_node_id=None,
24788        encrypted=None,
24789        id=None,
24790        identity_alias_username=None,
24791        metadata_json=None,
24792        query_body=None,
24793        query_category=None,
24794        query_hash=None,
24795        query_key=None,
24796        record_count=None,
24797        remote_identity_username=None,
24798        replayable=None,
24799        resource_id=None,
24800        resource_name=None,
24801        resource_tags=None,
24802        resource_type=None,
24803        source_ip=None,
24804        target=None,
24805        timestamp=None,
24806    ):
24807        self.account_email = account_email if account_email is not None else ''
24808        '''
24809         The email of the account performing this query, at the time the query was executed.
24810         If the account email is later changed, that change will not be reflected via this field.
24811        '''
24812        self.account_first_name = account_first_name if account_first_name is not None else ''
24813        '''
24814         The given name of the account performing this query, at the time the query was executed.
24815         If the account is later renamed, that change will not be reflected via this field.
24816        '''
24817        self.account_id = account_id if account_id is not None else ''
24818        '''
24819         Unique identifier of the Account that performed the Query.
24820        '''
24821        self.account_last_name = account_last_name if account_last_name is not None else ''
24822        '''
24823         The family name of the account performing this query, at the time the query was executed.
24824         If the account is later renamed, that change will not be reflected via this field.
24825        '''
24826        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
24827        )
24828        '''
24829         The tags of the account accessed, at the time the query was executed. If the account
24830         tags are later changed, that change will not be reflected via this field.
24831        '''
24832        self.authzjson = authzjson if authzjson is not None else ''
24833        '''
24834         Authorization metadata associated with this query.
24835        '''
24836        self.capture = capture if capture is not None else None
24837        '''
24838         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
24839         about the captured query.
24840        '''
24841        self.client_ip = client_ip if client_ip is not None else ''
24842        '''
24843         The IP address the Query was performed from, as detected at the StrongDM control plane.
24844        '''
24845        self.completed_at = completed_at if completed_at is not None else None
24846        '''
24847         The time at which the Query was completed.
24848         Empty if this record indicates the start of a long-running query.
24849        '''
24850        self.duration = duration if duration is not None else None
24851        '''
24852         The duration of the Query.
24853        '''
24854        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
24855        '''
24856         The unique ID of the node through which the Resource was accessed.
24857        '''
24858        self.encrypted = encrypted if encrypted is not None else False
24859        '''
24860         Indicates that the body of the Query is encrypted.
24861        '''
24862        self.id = id if id is not None else ''
24863        '''
24864         Unique identifier of the Query.
24865        '''
24866        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
24867        '''
24868         The username of the IdentityAlias used to access the Resource.
24869        '''
24870        self.metadata_json = metadata_json if metadata_json is not None else ''
24871        '''
24872         Driver specific metadata associated with this query.
24873        '''
24874        self.query_body = query_body if query_body is not None else ''
24875        '''
24876         The captured content of the Query.
24877         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
24878        '''
24879        self.query_category = query_category if query_category is not None else ''
24880        '''
24881         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
24882        '''
24883        self.query_hash = query_hash if query_hash is not None else ''
24884        '''
24885         The hash of the body of the Query.
24886        '''
24887        self.query_key = query_key if query_key is not None else ''
24888        '''
24889         The symmetric key used to encrypt the body of this Query and its replay if replayable.
24890         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
24891         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
24892         If the Query is not encrypted, this field is empty.
24893        '''
24894        self.record_count = record_count if record_count is not None else 0
24895        '''
24896         The number of records returned by the Query, for a database Resource.
24897        '''
24898        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
24899        '''
24900         The username of the RemoteIdentity used to access the Resource.
24901        '''
24902        self.replayable = replayable if replayable is not None else False
24903        '''
24904         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
24905        '''
24906        self.resource_id = resource_id if resource_id is not None else ''
24907        '''
24908         Unique identifier of the Resource against which the Query was performed.
24909        '''
24910        self.resource_name = resource_name if resource_name is not None else ''
24911        '''
24912         The name of the resource accessed, at the time the query was executed. If the resource
24913         is later renamed, that change will not be reflected via this field.
24914        '''
24915        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
24916        )
24917        '''
24918         The tags of the resource accessed, at the time the query was executed. If the resource
24919         tags are later changed, that change will not be reflected via this field.
24920        '''
24921        self.resource_type = resource_type if resource_type is not None else ''
24922        '''
24923         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
24924        '''
24925        self.source_ip = source_ip if source_ip is not None else ''
24926        '''
24927         The IP address the Query was performed from, as detected at the ingress gateway.
24928        '''
24929        self.target = target if target is not None else ''
24930        '''
24931         The target destination of the query, in host:port format.
24932        '''
24933        self.timestamp = timestamp if timestamp is not None else None
24934        '''
24935         The time at which the Query was started.
24936        '''
24937
24938    def __repr__(self):
24939        return '<sdm.Query ' + \
24940            'account_email: ' + repr(self.account_email) + ' ' +\
24941            'account_first_name: ' + repr(self.account_first_name) + ' ' +\
24942            'account_id: ' + repr(self.account_id) + ' ' +\
24943            'account_last_name: ' + repr(self.account_last_name) + ' ' +\
24944            'account_tags: ' + repr(self.account_tags) + ' ' +\
24945            'authzjson: ' + repr(self.authzjson) + ' ' +\
24946            'capture: ' + repr(self.capture) + ' ' +\
24947            'client_ip: ' + repr(self.client_ip) + ' ' +\
24948            'completed_at: ' + repr(self.completed_at) + ' ' +\
24949            'duration: ' + repr(self.duration) + ' ' +\
24950            'egress_node_id: ' + repr(self.egress_node_id) + ' ' +\
24951            'encrypted: ' + repr(self.encrypted) + ' ' +\
24952            'id: ' + repr(self.id) + ' ' +\
24953            'identity_alias_username: ' + repr(self.identity_alias_username) + ' ' +\
24954            'metadata_json: ' + repr(self.metadata_json) + ' ' +\
24955            'query_body: ' + repr(self.query_body) + ' ' +\
24956            'query_category: ' + repr(self.query_category) + ' ' +\
24957            'query_hash: ' + repr(self.query_hash) + ' ' +\
24958            'query_key: ' + repr(self.query_key) + ' ' +\
24959            'record_count: ' + repr(self.record_count) + ' ' +\
24960            'remote_identity_username: ' + repr(self.remote_identity_username) + ' ' +\
24961            'replayable: ' + repr(self.replayable) + ' ' +\
24962            'resource_id: ' + repr(self.resource_id) + ' ' +\
24963            'resource_name: ' + repr(self.resource_name) + ' ' +\
24964            'resource_tags: ' + repr(self.resource_tags) + ' ' +\
24965            'resource_type: ' + repr(self.resource_type) + ' ' +\
24966            'source_ip: ' + repr(self.source_ip) + ' ' +\
24967            'target: ' + repr(self.target) + ' ' +\
24968            'timestamp: ' + repr(self.timestamp) + ' ' +\
24969            '>'
24970
24971    def to_dict(self):
24972        return {
24973            'account_email': self.account_email,
24974            'account_first_name': self.account_first_name,
24975            'account_id': self.account_id,
24976            'account_last_name': self.account_last_name,
24977            'account_tags': self.account_tags,
24978            'authzjson': self.authzjson,
24979            'capture': self.capture,
24980            'client_ip': self.client_ip,
24981            'completed_at': self.completed_at,
24982            'duration': self.duration,
24983            'egress_node_id': self.egress_node_id,
24984            'encrypted': self.encrypted,
24985            'id': self.id,
24986            'identity_alias_username': self.identity_alias_username,
24987            'metadata_json': self.metadata_json,
24988            'query_body': self.query_body,
24989            'query_category': self.query_category,
24990            'query_hash': self.query_hash,
24991            'query_key': self.query_key,
24992            'record_count': self.record_count,
24993            'remote_identity_username': self.remote_identity_username,
24994            'replayable': self.replayable,
24995            'resource_id': self.resource_id,
24996            'resource_name': self.resource_name,
24997            'resource_tags': self.resource_tags,
24998            'resource_type': self.resource_type,
24999            'source_ip': self.source_ip,
25000            'target': self.target,
25001            'timestamp': self.timestamp,
25002        }
25003
25004    @classmethod
25005    def from_dict(cls, d):
25006        return cls(
25007            account_email=d.get('account_email'),
25008            account_first_name=d.get('account_first_name'),
25009            account_id=d.get('account_id'),
25010            account_last_name=d.get('account_last_name'),
25011            account_tags=d.get('account_tags'),
25012            authzjson=d.get('authzjson'),
25013            capture=d.get('capture'),
25014            client_ip=d.get('client_ip'),
25015            completed_at=d.get('completed_at'),
25016            duration=d.get('duration'),
25017            egress_node_id=d.get('egress_node_id'),
25018            encrypted=d.get('encrypted'),
25019            id=d.get('id'),
25020            identity_alias_username=d.get('identity_alias_username'),
25021            metadata_json=d.get('metadata_json'),
25022            query_body=d.get('query_body'),
25023            query_category=d.get('query_category'),
25024            query_hash=d.get('query_hash'),
25025            query_key=d.get('query_key'),
25026            record_count=d.get('record_count'),
25027            remote_identity_username=d.get('remote_identity_username'),
25028            replayable=d.get('replayable'),
25029            resource_id=d.get('resource_id'),
25030            resource_name=d.get('resource_name'),
25031            resource_tags=d.get('resource_tags'),
25032            resource_type=d.get('resource_type'),
25033            source_ip=d.get('source_ip'),
25034            target=d.get('target'),
25035            timestamp=d.get('timestamp'),
25036        )

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

Query( account_email=None, account_first_name=None, account_id=None, account_last_name=None, account_tags=None, authzjson=None, capture=None, client_ip=None, completed_at=None, duration=None, egress_node_id=None, encrypted=None, id=None, identity_alias_username=None, metadata_json=None, query_body=None, query_category=None, query_hash=None, query_key=None, record_count=None, remote_identity_username=None, replayable=None, resource_id=None, resource_name=None, resource_tags=None, resource_type=None, source_ip=None, target=None, timestamp=None)
24775    def __init__(
24776        self,
24777        account_email=None,
24778        account_first_name=None,
24779        account_id=None,
24780        account_last_name=None,
24781        account_tags=None,
24782        authzjson=None,
24783        capture=None,
24784        client_ip=None,
24785        completed_at=None,
24786        duration=None,
24787        egress_node_id=None,
24788        encrypted=None,
24789        id=None,
24790        identity_alias_username=None,
24791        metadata_json=None,
24792        query_body=None,
24793        query_category=None,
24794        query_hash=None,
24795        query_key=None,
24796        record_count=None,
24797        remote_identity_username=None,
24798        replayable=None,
24799        resource_id=None,
24800        resource_name=None,
24801        resource_tags=None,
24802        resource_type=None,
24803        source_ip=None,
24804        target=None,
24805        timestamp=None,
24806    ):
24807        self.account_email = account_email if account_email is not None else ''
24808        '''
24809         The email of the account performing this query, at the time the query was executed.
24810         If the account email is later changed, that change will not be reflected via this field.
24811        '''
24812        self.account_first_name = account_first_name if account_first_name is not None else ''
24813        '''
24814         The given name of the account performing this query, at the time the query was executed.
24815         If the account is later renamed, that change will not be reflected via this field.
24816        '''
24817        self.account_id = account_id if account_id is not None else ''
24818        '''
24819         Unique identifier of the Account that performed the Query.
24820        '''
24821        self.account_last_name = account_last_name if account_last_name is not None else ''
24822        '''
24823         The family name of the account performing this query, at the time the query was executed.
24824         If the account is later renamed, that change will not be reflected via this field.
24825        '''
24826        self.account_tags = account_tags if account_tags is not None else _porcelain_zero_value_tags(
24827        )
24828        '''
24829         The tags of the account accessed, at the time the query was executed. If the account
24830         tags are later changed, that change will not be reflected via this field.
24831        '''
24832        self.authzjson = authzjson if authzjson is not None else ''
24833        '''
24834         Authorization metadata associated with this query.
24835        '''
24836        self.capture = capture if capture is not None else None
24837        '''
24838         For queries against SSH, Kubernetes, and RDP resources, this contains additional information
24839         about the captured query.
24840        '''
24841        self.client_ip = client_ip if client_ip is not None else ''
24842        '''
24843         The IP address the Query was performed from, as detected at the StrongDM control plane.
24844        '''
24845        self.completed_at = completed_at if completed_at is not None else None
24846        '''
24847         The time at which the Query was completed.
24848         Empty if this record indicates the start of a long-running query.
24849        '''
24850        self.duration = duration if duration is not None else None
24851        '''
24852         The duration of the Query.
24853        '''
24854        self.egress_node_id = egress_node_id if egress_node_id is not None else ''
24855        '''
24856         The unique ID of the node through which the Resource was accessed.
24857        '''
24858        self.encrypted = encrypted if encrypted is not None else False
24859        '''
24860         Indicates that the body of the Query is encrypted.
24861        '''
24862        self.id = id if id is not None else ''
24863        '''
24864         Unique identifier of the Query.
24865        '''
24866        self.identity_alias_username = identity_alias_username if identity_alias_username is not None else ''
24867        '''
24868         The username of the IdentityAlias used to access the Resource.
24869        '''
24870        self.metadata_json = metadata_json if metadata_json is not None else ''
24871        '''
24872         Driver specific metadata associated with this query.
24873        '''
24874        self.query_body = query_body if query_body is not None else ''
24875        '''
24876         The captured content of the Query.
24877         For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
24878        '''
24879        self.query_category = query_category if query_category is not None else ''
24880        '''
24881         The general category of Resource against which Query was performed, e.g. "web" or "cloud".
24882        '''
24883        self.query_hash = query_hash if query_hash is not None else ''
24884        '''
24885         The hash of the body of the Query.
24886        '''
24887        self.query_key = query_key if query_key is not None else ''
24888        '''
24889         The symmetric key used to encrypt the body of this Query and its replay if replayable.
24890         If the Query is encrypted, this field contains an encrypted symmetric key in base64 encoding.
24891         This key must be decrypted with the organization's private key to obtain the symmetric key needed to decrypt the body.
24892         If the Query is not encrypted, this field is empty.
24893        '''
24894        self.record_count = record_count if record_count is not None else 0
24895        '''
24896         The number of records returned by the Query, for a database Resource.
24897        '''
24898        self.remote_identity_username = remote_identity_username if remote_identity_username is not None else ''
24899        '''
24900         The username of the RemoteIdentity used to access the Resource.
24901        '''
24902        self.replayable = replayable if replayable is not None else False
24903        '''
24904         Indicates that the Query is replayable, e.g. for some SSH or K8s sessions.
24905        '''
24906        self.resource_id = resource_id if resource_id is not None else ''
24907        '''
24908         Unique identifier of the Resource against which the Query was performed.
24909        '''
24910        self.resource_name = resource_name if resource_name is not None else ''
24911        '''
24912         The name of the resource accessed, at the time the query was executed. If the resource
24913         is later renamed, that change will not be reflected via this field.
24914        '''
24915        self.resource_tags = resource_tags if resource_tags is not None else _porcelain_zero_value_tags(
24916        )
24917        '''
24918         The tags of the resource accessed, at the time the query was executed. If the resource
24919         tags are later changed, that change will not be reflected via this field.
24920        '''
24921        self.resource_type = resource_type if resource_type is not None else ''
24922        '''
24923         The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
24924        '''
24925        self.source_ip = source_ip if source_ip is not None else ''
24926        '''
24927         The IP address the Query was performed from, as detected at the ingress gateway.
24928        '''
24929        self.target = target if target is not None else ''
24930        '''
24931         The target destination of the query, in host:port format.
24932        '''
24933        self.timestamp = timestamp if timestamp is not None else None
24934        '''
24935         The time at which the Query was started.
24936        '''
account_email

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

account_first_name

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

account_id

Unique identifier of the Account that performed the Query.

account_last_name

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

account_tags

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

authzjson

Authorization metadata associated with this query.

capture

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

client_ip

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

completed_at

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

duration

The duration of the Query.

egress_node_id

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

encrypted

Indicates that the body of the Query is encrypted.

id

Unique identifier of the Query.

identity_alias_username

The username of the IdentityAlias used to access the Resource.

metadata_json

Driver specific metadata associated with this query.

query_body

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

query_category

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

query_hash

The hash of the body of the Query.

query_key

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

record_count

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

remote_identity_username

The username of the RemoteIdentity used to access the Resource.

replayable

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

resource_id

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

resource_name

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

resource_tags

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

resource_type

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

source_ip

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

target

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

timestamp

The time at which the Query was started.

def to_dict(self)
24971    def to_dict(self):
24972        return {
24973            'account_email': self.account_email,
24974            'account_first_name': self.account_first_name,
24975            'account_id': self.account_id,
24976            'account_last_name': self.account_last_name,
24977            'account_tags': self.account_tags,
24978            'authzjson': self.authzjson,
24979            'capture': self.capture,
24980            'client_ip': self.client_ip,
24981            'completed_at': self.completed_at,
24982            'duration': self.duration,
24983            'egress_node_id': self.egress_node_id,
24984            'encrypted': self.encrypted,
24985            'id': self.id,
24986            'identity_alias_username': self.identity_alias_username,
24987            'metadata_json': self.metadata_json,
24988            'query_body': self.query_body,
24989            'query_category': self.query_category,
24990            'query_hash': self.query_hash,
24991            'query_key': self.query_key,
24992            'record_count': self.record_count,
24993            'remote_identity_username': self.remote_identity_username,
24994            'replayable': self.replayable,
24995            'resource_id': self.resource_id,
24996            'resource_name': self.resource_name,
24997            'resource_tags': self.resource_tags,
24998            'resource_type': self.resource_type,
24999            'source_ip': self.source_ip,
25000            'target': self.target,
25001            'timestamp': self.timestamp,
25002        }
@classmethod
def from_dict(cls, d)
25004    @classmethod
25005    def from_dict(cls, d):
25006        return cls(
25007            account_email=d.get('account_email'),
25008            account_first_name=d.get('account_first_name'),
25009            account_id=d.get('account_id'),
25010            account_last_name=d.get('account_last_name'),
25011            account_tags=d.get('account_tags'),
25012            authzjson=d.get('authzjson'),
25013            capture=d.get('capture'),
25014            client_ip=d.get('client_ip'),
25015            completed_at=d.get('completed_at'),
25016            duration=d.get('duration'),
25017            egress_node_id=d.get('egress_node_id'),
25018            encrypted=d.get('encrypted'),
25019            id=d.get('id'),
25020            identity_alias_username=d.get('identity_alias_username'),
25021            metadata_json=d.get('metadata_json'),
25022            query_body=d.get('query_body'),
25023            query_category=d.get('query_category'),
25024            query_hash=d.get('query_hash'),
25025            query_key=d.get('query_key'),
25026            record_count=d.get('record_count'),
25027            remote_identity_username=d.get('remote_identity_username'),
25028            replayable=d.get('replayable'),
25029            resource_id=d.get('resource_id'),
25030            resource_name=d.get('resource_name'),
25031            resource_tags=d.get('resource_tags'),
25032            resource_type=d.get('resource_type'),
25033            source_ip=d.get('source_ip'),
25034            target=d.get('target'),
25035            timestamp=d.get('timestamp'),
25036        )
class QueryCapture:
25039class QueryCapture:
25040    '''
25041         A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
25042    '''
25043    __slots__ = [
25044        'client_command',
25045        'command',
25046        'container',
25047        'env',
25048        'file_name',
25049        'file_size',
25050        'height',
25051        'impersonation_groups',
25052        'impersonation_user',
25053        'pod',
25054        'privilege_groups',
25055        'request_body',
25056        'request_method',
25057        'request_uri',
25058        'type',
25059        'width',
25060    ]
25061
25062    def __init__(
25063        self,
25064        client_command=None,
25065        command=None,
25066        container=None,
25067        env=None,
25068        file_name=None,
25069        file_size=None,
25070        height=None,
25071        impersonation_groups=None,
25072        impersonation_user=None,
25073        pod=None,
25074        privilege_groups=None,
25075        request_body=None,
25076        request_method=None,
25077        request_uri=None,
25078        type=None,
25079        width=None,
25080    ):
25081        self.client_command = client_command if client_command is not None else ''
25082        '''
25083         The command executed on the client for a Kubernetes session.
25084        '''
25085        self.command = command if command is not None else ''
25086        '''
25087         The command executed over an SSH or Kubernetes session.
25088        '''
25089        self.container = container if container is not None else ''
25090        '''
25091         The target container of a Kubernetes operation.
25092        '''
25093        self.env = env if env is not None else {}
25094        '''
25095         The environment variables for an SSH or Kubernetes session.
25096        '''
25097        self.file_name = file_name if file_name is not None else ''
25098        '''
25099         The remote file name of an SCP operation.
25100        '''
25101        self.file_size = file_size if file_size is not None else 0
25102        '''
25103         The file size transferred for an SCP operation.
25104        '''
25105        self.height = height if height is not None else 0
25106        '''
25107         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
25108        '''
25109        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
25110        '''
25111         The impersonation groups of a Kubernetes operation.
25112        '''
25113        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
25114        '''
25115         The impersonation user of a Kubernetes operation.
25116        '''
25117        self.pod = pod if pod is not None else ''
25118        '''
25119         The target pod of a Kubernetes operation.
25120        '''
25121        self.privilege_groups = privilege_groups if privilege_groups is not None else []
25122        '''
25123         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
25124        '''
25125        self.request_body = request_body if request_body is not None else b''
25126        '''
25127         The HTTP request body of a Kubernetes operation.
25128        '''
25129        self.request_method = request_method if request_method is not None else ''
25130        '''
25131         The HTTP request method of a Kubernetes operation.
25132        '''
25133        self.request_uri = request_uri if request_uri is not None else ''
25134        '''
25135         The HTTP request URI of a Kubernetes operation.
25136        '''
25137        self.type = type if type is not None else ''
25138        '''
25139         The CaptureType of this query capture, one of the CaptureType constants.
25140        '''
25141        self.width = width if width is not None else 0
25142        '''
25143         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
25144        '''
25145
25146    def __repr__(self):
25147        return '<sdm.QueryCapture ' + \
25148            'client_command: ' + repr(self.client_command) + ' ' +\
25149            'command: ' + repr(self.command) + ' ' +\
25150            'container: ' + repr(self.container) + ' ' +\
25151            'env: ' + repr(self.env) + ' ' +\
25152            'file_name: ' + repr(self.file_name) + ' ' +\
25153            'file_size: ' + repr(self.file_size) + ' ' +\
25154            'height: ' + repr(self.height) + ' ' +\
25155            'impersonation_groups: ' + repr(self.impersonation_groups) + ' ' +\
25156            'impersonation_user: ' + repr(self.impersonation_user) + ' ' +\
25157            'pod: ' + repr(self.pod) + ' ' +\
25158            'privilege_groups: ' + repr(self.privilege_groups) + ' ' +\
25159            'request_body: ' + repr(self.request_body) + ' ' +\
25160            'request_method: ' + repr(self.request_method) + ' ' +\
25161            'request_uri: ' + repr(self.request_uri) + ' ' +\
25162            'type: ' + repr(self.type) + ' ' +\
25163            'width: ' + repr(self.width) + ' ' +\
25164            '>'
25165
25166    def to_dict(self):
25167        return {
25168            'client_command': self.client_command,
25169            'command': self.command,
25170            'container': self.container,
25171            'env': self.env,
25172            'file_name': self.file_name,
25173            'file_size': self.file_size,
25174            'height': self.height,
25175            'impersonation_groups': self.impersonation_groups,
25176            'impersonation_user': self.impersonation_user,
25177            'pod': self.pod,
25178            'privilege_groups': self.privilege_groups,
25179            'request_body': self.request_body,
25180            'request_method': self.request_method,
25181            'request_uri': self.request_uri,
25182            'type': self.type,
25183            'width': self.width,
25184        }
25185
25186    @classmethod
25187    def from_dict(cls, d):
25188        return cls(
25189            client_command=d.get('client_command'),
25190            command=d.get('command'),
25191            container=d.get('container'),
25192            env=d.get('env'),
25193            file_name=d.get('file_name'),
25194            file_size=d.get('file_size'),
25195            height=d.get('height'),
25196            impersonation_groups=d.get('impersonation_groups'),
25197            impersonation_user=d.get('impersonation_user'),
25198            pod=d.get('pod'),
25199            privilege_groups=d.get('privilege_groups'),
25200            request_body=d.get('request_body'),
25201            request_method=d.get('request_method'),
25202            request_uri=d.get('request_uri'),
25203            type=d.get('type'),
25204            width=d.get('width'),
25205        )

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)
25062    def __init__(
25063        self,
25064        client_command=None,
25065        command=None,
25066        container=None,
25067        env=None,
25068        file_name=None,
25069        file_size=None,
25070        height=None,
25071        impersonation_groups=None,
25072        impersonation_user=None,
25073        pod=None,
25074        privilege_groups=None,
25075        request_body=None,
25076        request_method=None,
25077        request_uri=None,
25078        type=None,
25079        width=None,
25080    ):
25081        self.client_command = client_command if client_command is not None else ''
25082        '''
25083         The command executed on the client for a Kubernetes session.
25084        '''
25085        self.command = command if command is not None else ''
25086        '''
25087         The command executed over an SSH or Kubernetes session.
25088        '''
25089        self.container = container if container is not None else ''
25090        '''
25091         The target container of a Kubernetes operation.
25092        '''
25093        self.env = env if env is not None else {}
25094        '''
25095         The environment variables for an SSH or Kubernetes session.
25096        '''
25097        self.file_name = file_name if file_name is not None else ''
25098        '''
25099         The remote file name of an SCP operation.
25100        '''
25101        self.file_size = file_size if file_size is not None else 0
25102        '''
25103         The file size transferred for an SCP operation.
25104        '''
25105        self.height = height if height is not None else 0
25106        '''
25107         The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
25108        '''
25109        self.impersonation_groups = impersonation_groups if impersonation_groups is not None else []
25110        '''
25111         The impersonation groups of a Kubernetes operation.
25112        '''
25113        self.impersonation_user = impersonation_user if impersonation_user is not None else ''
25114        '''
25115         The impersonation user of a Kubernetes operation.
25116        '''
25117        self.pod = pod if pod is not None else ''
25118        '''
25119         The target pod of a Kubernetes operation.
25120        '''
25121        self.privilege_groups = privilege_groups if privilege_groups is not None else []
25122        '''
25123         The additional impersonation groups, as granted by privilege levels, of a Kubernetes operation.
25124        '''
25125        self.request_body = request_body if request_body is not None else b''
25126        '''
25127         The HTTP request body of a Kubernetes operation.
25128        '''
25129        self.request_method = request_method if request_method is not None else ''
25130        '''
25131         The HTTP request method of a Kubernetes operation.
25132        '''
25133        self.request_uri = request_uri if request_uri is not None else ''
25134        '''
25135         The HTTP request URI of a Kubernetes operation.
25136        '''
25137        self.type = type if type is not None else ''
25138        '''
25139         The CaptureType of this query capture, one of the CaptureType constants.
25140        '''
25141        self.width = width if width is not None else 0
25142        '''
25143         The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
25144        '''
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)
25166    def to_dict(self):
25167        return {
25168            'client_command': self.client_command,
25169            'command': self.command,
25170            'container': self.container,
25171            'env': self.env,
25172            'file_name': self.file_name,
25173            'file_size': self.file_size,
25174            'height': self.height,
25175            'impersonation_groups': self.impersonation_groups,
25176            'impersonation_user': self.impersonation_user,
25177            'pod': self.pod,
25178            'privilege_groups': self.privilege_groups,
25179            'request_body': self.request_body,
25180            'request_method': self.request_method,
25181            'request_uri': self.request_uri,
25182            'type': self.type,
25183            'width': self.width,
25184        }
@classmethod
def from_dict(cls, d)
25186    @classmethod
25187    def from_dict(cls, d):
25188        return cls(
25189            client_command=d.get('client_command'),
25190            command=d.get('command'),
25191            container=d.get('container'),
25192            env=d.get('env'),
25193            file_name=d.get('file_name'),
25194            file_size=d.get('file_size'),
25195            height=d.get('height'),
25196            impersonation_groups=d.get('impersonation_groups'),
25197            impersonation_user=d.get('impersonation_user'),
25198            pod=d.get('pod'),
25199            privilege_groups=d.get('privilege_groups'),
25200            request_body=d.get('request_body'),
25201            request_method=d.get('request_method'),
25202            request_uri=d.get('request_uri'),
25203            type=d.get('type'),
25204            width=d.get('width'),
25205        )
class RDP:
25208class RDP:
25209    __slots__ = [
25210        'bind_interface',
25211        'downgrade_nla_connections',
25212        'egress_filter',
25213        'healthy',
25214        'hostname',
25215        'id',
25216        'lock_required',
25217        'name',
25218        'password',
25219        'port',
25220        'port_override',
25221        'proxy_cluster_id',
25222        'secret_store_id',
25223        'subdomain',
25224        'tags',
25225        'username',
25226    ]
25227
25228    def __init__(
25229        self,
25230        bind_interface=None,
25231        downgrade_nla_connections=None,
25232        egress_filter=None,
25233        healthy=None,
25234        hostname=None,
25235        id=None,
25236        lock_required=None,
25237        name=None,
25238        password=None,
25239        port=None,
25240        port_override=None,
25241        proxy_cluster_id=None,
25242        secret_store_id=None,
25243        subdomain=None,
25244        tags=None,
25245        username=None,
25246    ):
25247        self.bind_interface = bind_interface if bind_interface is not None else ''
25248        '''
25249         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25250        '''
25251        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
25252        '''
25253         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.
25254        '''
25255        self.egress_filter = egress_filter if egress_filter is not None else ''
25256        '''
25257         A filter applied to the routing logic to pin datasource to nodes.
25258        '''
25259        self.healthy = healthy if healthy is not None else False
25260        '''
25261         True if the datasource is reachable and the credentials are valid.
25262        '''
25263        self.hostname = hostname if hostname is not None else ''
25264        '''
25265         The host to dial to initiate a connection from the egress node to this resource.
25266        '''
25267        self.id = id if id is not None else ''
25268        '''
25269         Unique identifier of the Resource.
25270        '''
25271        self.lock_required = lock_required if lock_required is not None else False
25272        '''
25273         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
25274        '''
25275        self.name = name if name is not None else ''
25276        '''
25277         Unique human-readable name of the Resource.
25278        '''
25279        self.password = password if password is not None else ''
25280        '''
25281         The password to authenticate with.
25282        '''
25283        self.port = port if port is not None else 0
25284        '''
25285         The port to dial to initiate a connection from the egress node to this resource.
25286        '''
25287        self.port_override = port_override if port_override is not None else 0
25288        '''
25289         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25290        '''
25291        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25292        '''
25293         ID of the proxy cluster for this resource, if any.
25294        '''
25295        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25296        '''
25297         ID of the secret store containing credentials for this resource, if any.
25298        '''
25299        self.subdomain = subdomain if subdomain is not None else ''
25300        '''
25301         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25302        '''
25303        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25304        '''
25305         Tags is a map of key, value pairs.
25306        '''
25307        self.username = username if username is not None else ''
25308        '''
25309         The username to authenticate with.
25310        '''
25311
25312    def __repr__(self):
25313        return '<sdm.RDP ' + \
25314            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25315            'downgrade_nla_connections: ' + repr(self.downgrade_nla_connections) + ' ' +\
25316            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25317            'healthy: ' + repr(self.healthy) + ' ' +\
25318            'hostname: ' + repr(self.hostname) + ' ' +\
25319            'id: ' + repr(self.id) + ' ' +\
25320            'lock_required: ' + repr(self.lock_required) + ' ' +\
25321            'name: ' + repr(self.name) + ' ' +\
25322            'password: ' + repr(self.password) + ' ' +\
25323            'port: ' + repr(self.port) + ' ' +\
25324            'port_override: ' + repr(self.port_override) + ' ' +\
25325            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25326            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25327            'subdomain: ' + repr(self.subdomain) + ' ' +\
25328            'tags: ' + repr(self.tags) + ' ' +\
25329            'username: ' + repr(self.username) + ' ' +\
25330            '>'
25331
25332    def to_dict(self):
25333        return {
25334            'bind_interface': self.bind_interface,
25335            'downgrade_nla_connections': self.downgrade_nla_connections,
25336            'egress_filter': self.egress_filter,
25337            'healthy': self.healthy,
25338            'hostname': self.hostname,
25339            'id': self.id,
25340            'lock_required': self.lock_required,
25341            'name': self.name,
25342            'password': self.password,
25343            'port': self.port,
25344            'port_override': self.port_override,
25345            'proxy_cluster_id': self.proxy_cluster_id,
25346            'secret_store_id': self.secret_store_id,
25347            'subdomain': self.subdomain,
25348            'tags': self.tags,
25349            'username': self.username,
25350        }
25351
25352    @classmethod
25353    def from_dict(cls, d):
25354        return cls(
25355            bind_interface=d.get('bind_interface'),
25356            downgrade_nla_connections=d.get('downgrade_nla_connections'),
25357            egress_filter=d.get('egress_filter'),
25358            healthy=d.get('healthy'),
25359            hostname=d.get('hostname'),
25360            id=d.get('id'),
25361            lock_required=d.get('lock_required'),
25362            name=d.get('name'),
25363            password=d.get('password'),
25364            port=d.get('port'),
25365            port_override=d.get('port_override'),
25366            proxy_cluster_id=d.get('proxy_cluster_id'),
25367            secret_store_id=d.get('secret_store_id'),
25368            subdomain=d.get('subdomain'),
25369            tags=d.get('tags'),
25370            username=d.get('username'),
25371        )
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)
25228    def __init__(
25229        self,
25230        bind_interface=None,
25231        downgrade_nla_connections=None,
25232        egress_filter=None,
25233        healthy=None,
25234        hostname=None,
25235        id=None,
25236        lock_required=None,
25237        name=None,
25238        password=None,
25239        port=None,
25240        port_override=None,
25241        proxy_cluster_id=None,
25242        secret_store_id=None,
25243        subdomain=None,
25244        tags=None,
25245        username=None,
25246    ):
25247        self.bind_interface = bind_interface if bind_interface is not None else ''
25248        '''
25249         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25250        '''
25251        self.downgrade_nla_connections = downgrade_nla_connections if downgrade_nla_connections is not None else False
25252        '''
25253         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.
25254        '''
25255        self.egress_filter = egress_filter if egress_filter is not None else ''
25256        '''
25257         A filter applied to the routing logic to pin datasource to nodes.
25258        '''
25259        self.healthy = healthy if healthy is not None else False
25260        '''
25261         True if the datasource is reachable and the credentials are valid.
25262        '''
25263        self.hostname = hostname if hostname is not None else ''
25264        '''
25265         The host to dial to initiate a connection from the egress node to this resource.
25266        '''
25267        self.id = id if id is not None else ''
25268        '''
25269         Unique identifier of the Resource.
25270        '''
25271        self.lock_required = lock_required if lock_required is not None else False
25272        '''
25273         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
25274        '''
25275        self.name = name if name is not None else ''
25276        '''
25277         Unique human-readable name of the Resource.
25278        '''
25279        self.password = password if password is not None else ''
25280        '''
25281         The password to authenticate with.
25282        '''
25283        self.port = port if port is not None else 0
25284        '''
25285         The port to dial to initiate a connection from the egress node to this resource.
25286        '''
25287        self.port_override = port_override if port_override is not None else 0
25288        '''
25289         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25290        '''
25291        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25292        '''
25293         ID of the proxy cluster for this resource, if any.
25294        '''
25295        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25296        '''
25297         ID of the secret store containing credentials for this resource, if any.
25298        '''
25299        self.subdomain = subdomain if subdomain is not None else ''
25300        '''
25301         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25302        '''
25303        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25304        '''
25305         Tags is a map of key, value pairs.
25306        '''
25307        self.username = username if username is not None else ''
25308        '''
25309         The username to authenticate with.
25310        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
25332    def to_dict(self):
25333        return {
25334            'bind_interface': self.bind_interface,
25335            'downgrade_nla_connections': self.downgrade_nla_connections,
25336            'egress_filter': self.egress_filter,
25337            'healthy': self.healthy,
25338            'hostname': self.hostname,
25339            'id': self.id,
25340            'lock_required': self.lock_required,
25341            'name': self.name,
25342            'password': self.password,
25343            'port': self.port,
25344            'port_override': self.port_override,
25345            'proxy_cluster_id': self.proxy_cluster_id,
25346            'secret_store_id': self.secret_store_id,
25347            'subdomain': self.subdomain,
25348            'tags': self.tags,
25349            'username': self.username,
25350        }
@classmethod
def from_dict(cls, d)
25352    @classmethod
25353    def from_dict(cls, d):
25354        return cls(
25355            bind_interface=d.get('bind_interface'),
25356            downgrade_nla_connections=d.get('downgrade_nla_connections'),
25357            egress_filter=d.get('egress_filter'),
25358            healthy=d.get('healthy'),
25359            hostname=d.get('hostname'),
25360            id=d.get('id'),
25361            lock_required=d.get('lock_required'),
25362            name=d.get('name'),
25363            password=d.get('password'),
25364            port=d.get('port'),
25365            port_override=d.get('port_override'),
25366            proxy_cluster_id=d.get('proxy_cluster_id'),
25367            secret_store_id=d.get('secret_store_id'),
25368            subdomain=d.get('subdomain'),
25369            tags=d.get('tags'),
25370            username=d.get('username'),
25371        )
class RDPCert:
25374class RDPCert:
25375    __slots__ = [
25376        'bind_interface',
25377        'dc_hostnames',
25378        'egress_filter',
25379        'healthy',
25380        'hostname',
25381        'id',
25382        'identity_alias_healthcheck_username',
25383        'identity_set_id',
25384        'lock_required',
25385        'name',
25386        'port',
25387        'port_override',
25388        'proxy_cluster_id',
25389        'secret_store_id',
25390        'sid',
25391        'subdomain',
25392        'tags',
25393        'username',
25394    ]
25395
25396    def __init__(
25397        self,
25398        bind_interface=None,
25399        dc_hostnames=None,
25400        egress_filter=None,
25401        healthy=None,
25402        hostname=None,
25403        id=None,
25404        identity_alias_healthcheck_username=None,
25405        identity_set_id=None,
25406        lock_required=None,
25407        name=None,
25408        port=None,
25409        port_override=None,
25410        proxy_cluster_id=None,
25411        secret_store_id=None,
25412        sid=None,
25413        subdomain=None,
25414        tags=None,
25415        username=None,
25416    ):
25417        self.bind_interface = bind_interface if bind_interface is not None else ''
25418        '''
25419         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25420        '''
25421        self.dc_hostnames = dc_hostnames if dc_hostnames is not None else ''
25422        '''
25423         Comma-separated list of Active Directory Domain Controller hostnames for LDAPS SID resolution. Utilized for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID.
25424        '''
25425        self.egress_filter = egress_filter if egress_filter is not None else ''
25426        '''
25427         A filter applied to the routing logic to pin datasource to nodes.
25428        '''
25429        self.healthy = healthy if healthy is not None else False
25430        '''
25431         True if the datasource is reachable and the credentials are valid.
25432        '''
25433        self.hostname = hostname if hostname is not None else ''
25434        '''
25435         The host to dial to initiate a connection from the egress node to this resource.
25436        '''
25437        self.id = id if id is not None else ''
25438        '''
25439         Unique identifier of the Resource.
25440        '''
25441        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
25442        '''
25443         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
25444        '''
25445        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
25446        '''
25447         The ID of the identity set to use for identity connections.
25448        '''
25449        self.lock_required = lock_required if lock_required is not None else False
25450        '''
25451         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
25452        '''
25453        self.name = name if name is not None else ''
25454        '''
25455         Unique human-readable name of the Resource.
25456        '''
25457        self.port = port if port is not None else 0
25458        '''
25459         The port to dial to initiate a connection from the egress node to this resource.
25460        '''
25461        self.port_override = port_override if port_override is not None else 0
25462        '''
25463         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25464        '''
25465        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25466        '''
25467         ID of the proxy cluster for this resource, if any.
25468        '''
25469        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25470        '''
25471         ID of the secret store containing credentials for this resource, if any.
25472        '''
25473        self.sid = sid if sid is not None else ''
25474        '''
25475         Windows Security Identifier (SID) of the configured Username, required for strong certificate mapping in full enforcement mode.
25476        '''
25477        self.subdomain = subdomain if subdomain is not None else ''
25478        '''
25479         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25480        '''
25481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25482        '''
25483         Tags is a map of key, value pairs.
25484        '''
25485        self.username = username if username is not None else ''
25486        '''
25487         The username to authenticate with.
25488        '''
25489
25490    def __repr__(self):
25491        return '<sdm.RDPCert ' + \
25492            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25493            'dc_hostnames: ' + repr(self.dc_hostnames) + ' ' +\
25494            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25495            'healthy: ' + repr(self.healthy) + ' ' +\
25496            'hostname: ' + repr(self.hostname) + ' ' +\
25497            'id: ' + repr(self.id) + ' ' +\
25498            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
25499            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
25500            'lock_required: ' + repr(self.lock_required) + ' ' +\
25501            'name: ' + repr(self.name) + ' ' +\
25502            'port: ' + repr(self.port) + ' ' +\
25503            'port_override: ' + repr(self.port_override) + ' ' +\
25504            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25505            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25506            'sid: ' + repr(self.sid) + ' ' +\
25507            'subdomain: ' + repr(self.subdomain) + ' ' +\
25508            'tags: ' + repr(self.tags) + ' ' +\
25509            'username: ' + repr(self.username) + ' ' +\
25510            '>'
25511
25512    def to_dict(self):
25513        return {
25514            'bind_interface': self.bind_interface,
25515            'dc_hostnames': self.dc_hostnames,
25516            'egress_filter': self.egress_filter,
25517            'healthy': self.healthy,
25518            'hostname': self.hostname,
25519            'id': self.id,
25520            'identity_alias_healthcheck_username':
25521            self.identity_alias_healthcheck_username,
25522            'identity_set_id': self.identity_set_id,
25523            'lock_required': self.lock_required,
25524            'name': self.name,
25525            'port': self.port,
25526            'port_override': self.port_override,
25527            'proxy_cluster_id': self.proxy_cluster_id,
25528            'secret_store_id': self.secret_store_id,
25529            'sid': self.sid,
25530            'subdomain': self.subdomain,
25531            'tags': self.tags,
25532            'username': self.username,
25533        }
25534
25535    @classmethod
25536    def from_dict(cls, d):
25537        return cls(
25538            bind_interface=d.get('bind_interface'),
25539            dc_hostnames=d.get('dc_hostnames'),
25540            egress_filter=d.get('egress_filter'),
25541            healthy=d.get('healthy'),
25542            hostname=d.get('hostname'),
25543            id=d.get('id'),
25544            identity_alias_healthcheck_username=d.get(
25545                'identity_alias_healthcheck_username'),
25546            identity_set_id=d.get('identity_set_id'),
25547            lock_required=d.get('lock_required'),
25548            name=d.get('name'),
25549            port=d.get('port'),
25550            port_override=d.get('port_override'),
25551            proxy_cluster_id=d.get('proxy_cluster_id'),
25552            secret_store_id=d.get('secret_store_id'),
25553            sid=d.get('sid'),
25554            subdomain=d.get('subdomain'),
25555            tags=d.get('tags'),
25556            username=d.get('username'),
25557        )
RDPCert( bind_interface=None, dc_hostnames=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, sid=None, subdomain=None, tags=None, username=None)
25396    def __init__(
25397        self,
25398        bind_interface=None,
25399        dc_hostnames=None,
25400        egress_filter=None,
25401        healthy=None,
25402        hostname=None,
25403        id=None,
25404        identity_alias_healthcheck_username=None,
25405        identity_set_id=None,
25406        lock_required=None,
25407        name=None,
25408        port=None,
25409        port_override=None,
25410        proxy_cluster_id=None,
25411        secret_store_id=None,
25412        sid=None,
25413        subdomain=None,
25414        tags=None,
25415        username=None,
25416    ):
25417        self.bind_interface = bind_interface if bind_interface is not None else ''
25418        '''
25419         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25420        '''
25421        self.dc_hostnames = dc_hostnames if dc_hostnames is not None else ''
25422        '''
25423         Comma-separated list of Active Directory Domain Controller hostnames for LDAPS SID resolution. Utilized for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID.
25424        '''
25425        self.egress_filter = egress_filter if egress_filter is not None else ''
25426        '''
25427         A filter applied to the routing logic to pin datasource to nodes.
25428        '''
25429        self.healthy = healthy if healthy is not None else False
25430        '''
25431         True if the datasource is reachable and the credentials are valid.
25432        '''
25433        self.hostname = hostname if hostname is not None else ''
25434        '''
25435         The host to dial to initiate a connection from the egress node to this resource.
25436        '''
25437        self.id = id if id is not None else ''
25438        '''
25439         Unique identifier of the Resource.
25440        '''
25441        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
25442        '''
25443         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
25444        '''
25445        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
25446        '''
25447         The ID of the identity set to use for identity connections.
25448        '''
25449        self.lock_required = lock_required if lock_required is not None else False
25450        '''
25451         When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.
25452        '''
25453        self.name = name if name is not None else ''
25454        '''
25455         Unique human-readable name of the Resource.
25456        '''
25457        self.port = port if port is not None else 0
25458        '''
25459         The port to dial to initiate a connection from the egress node to this resource.
25460        '''
25461        self.port_override = port_override if port_override is not None else 0
25462        '''
25463         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25464        '''
25465        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25466        '''
25467         ID of the proxy cluster for this resource, if any.
25468        '''
25469        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25470        '''
25471         ID of the secret store containing credentials for this resource, if any.
25472        '''
25473        self.sid = sid if sid is not None else ''
25474        '''
25475         Windows Security Identifier (SID) of the configured Username, required for strong certificate mapping in full enforcement mode.
25476        '''
25477        self.subdomain = subdomain if subdomain is not None else ''
25478        '''
25479         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25480        '''
25481        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25482        '''
25483         Tags is a map of key, value pairs.
25484        '''
25485        self.username = username if username is not None else ''
25486        '''
25487         The username to authenticate with.
25488        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

dc_hostnames

Comma-separated list of Active Directory Domain Controller hostnames for LDAPS SID resolution. Utilized for strong certificate mapping in full enforcement mode when the identity alias does not specify a SID.

egress_filter

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

healthy

True if the datasource is reachable and the credentials 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

sid

Windows Security Identifier (SID) of the configured Username, required for strong certificate mapping in full enforcement mode.

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
25512    def to_dict(self):
25513        return {
25514            'bind_interface': self.bind_interface,
25515            'dc_hostnames': self.dc_hostnames,
25516            'egress_filter': self.egress_filter,
25517            'healthy': self.healthy,
25518            'hostname': self.hostname,
25519            'id': self.id,
25520            'identity_alias_healthcheck_username':
25521            self.identity_alias_healthcheck_username,
25522            'identity_set_id': self.identity_set_id,
25523            'lock_required': self.lock_required,
25524            'name': self.name,
25525            'port': self.port,
25526            'port_override': self.port_override,
25527            'proxy_cluster_id': self.proxy_cluster_id,
25528            'secret_store_id': self.secret_store_id,
25529            'sid': self.sid,
25530            'subdomain': self.subdomain,
25531            'tags': self.tags,
25532            'username': self.username,
25533        }
@classmethod
def from_dict(cls, d)
25535    @classmethod
25536    def from_dict(cls, d):
25537        return cls(
25538            bind_interface=d.get('bind_interface'),
25539            dc_hostnames=d.get('dc_hostnames'),
25540            egress_filter=d.get('egress_filter'),
25541            healthy=d.get('healthy'),
25542            hostname=d.get('hostname'),
25543            id=d.get('id'),
25544            identity_alias_healthcheck_username=d.get(
25545                'identity_alias_healthcheck_username'),
25546            identity_set_id=d.get('identity_set_id'),
25547            lock_required=d.get('lock_required'),
25548            name=d.get('name'),
25549            port=d.get('port'),
25550            port_override=d.get('port_override'),
25551            proxy_cluster_id=d.get('proxy_cluster_id'),
25552            secret_store_id=d.get('secret_store_id'),
25553            sid=d.get('sid'),
25554            subdomain=d.get('subdomain'),
25555            tags=d.get('tags'),
25556            username=d.get('username'),
25557        )
class RDSPostgresIAM:
25560class RDSPostgresIAM:
25561    __slots__ = [
25562        'bind_interface',
25563        'database',
25564        'egress_filter',
25565        'healthy',
25566        'hostname',
25567        'id',
25568        'name',
25569        'override_database',
25570        'port',
25571        'port_override',
25572        'proxy_cluster_id',
25573        'region',
25574        'role_assumption_arn',
25575        'secret_store_id',
25576        'subdomain',
25577        'tags',
25578        'username',
25579    ]
25580
25581    def __init__(
25582        self,
25583        bind_interface=None,
25584        database=None,
25585        egress_filter=None,
25586        healthy=None,
25587        hostname=None,
25588        id=None,
25589        name=None,
25590        override_database=None,
25591        port=None,
25592        port_override=None,
25593        proxy_cluster_id=None,
25594        region=None,
25595        role_assumption_arn=None,
25596        secret_store_id=None,
25597        subdomain=None,
25598        tags=None,
25599        username=None,
25600    ):
25601        self.bind_interface = bind_interface if bind_interface is not None else ''
25602        '''
25603         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25604        '''
25605        self.database = database if database is not None else ''
25606        '''
25607         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
25608        '''
25609        self.egress_filter = egress_filter if egress_filter is not None else ''
25610        '''
25611         A filter applied to the routing logic to pin datasource to nodes.
25612        '''
25613        self.healthy = healthy if healthy is not None else False
25614        '''
25615         True if the datasource is reachable and the credentials are valid.
25616        '''
25617        self.hostname = hostname if hostname is not None else ''
25618        '''
25619         The host to dial to initiate a connection from the egress node to this resource.
25620        '''
25621        self.id = id if id is not None else ''
25622        '''
25623         Unique identifier of the Resource.
25624        '''
25625        self.name = name if name is not None else ''
25626        '''
25627         Unique human-readable name of the Resource.
25628        '''
25629        self.override_database = override_database if override_database is not None else False
25630        '''
25631         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
25632        '''
25633        self.port = port if port is not None else 0
25634        '''
25635         The port to dial to initiate a connection from the egress node to this resource.
25636        '''
25637        self.port_override = port_override if port_override is not None else 0
25638        '''
25639         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25640        '''
25641        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25642        '''
25643         ID of the proxy cluster for this resource, if any.
25644        '''
25645        self.region = region if region is not None else ''
25646        '''
25647         The AWS region to connect to.
25648        '''
25649        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
25650        '''
25651         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
25652        '''
25653        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25654        '''
25655         ID of the secret store containing credentials for this resource, if any.
25656        '''
25657        self.subdomain = subdomain if subdomain is not None else ''
25658        '''
25659         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25660        '''
25661        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25662        '''
25663         Tags is a map of key, value pairs.
25664        '''
25665        self.username = username if username is not None else ''
25666        '''
25667         The username to authenticate with.
25668        '''
25669
25670    def __repr__(self):
25671        return '<sdm.RDSPostgresIAM ' + \
25672            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25673            'database: ' + repr(self.database) + ' ' +\
25674            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25675            'healthy: ' + repr(self.healthy) + ' ' +\
25676            'hostname: ' + repr(self.hostname) + ' ' +\
25677            'id: ' + repr(self.id) + ' ' +\
25678            'name: ' + repr(self.name) + ' ' +\
25679            'override_database: ' + repr(self.override_database) + ' ' +\
25680            'port: ' + repr(self.port) + ' ' +\
25681            'port_override: ' + repr(self.port_override) + ' ' +\
25682            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25683            'region: ' + repr(self.region) + ' ' +\
25684            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
25685            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25686            'subdomain: ' + repr(self.subdomain) + ' ' +\
25687            'tags: ' + repr(self.tags) + ' ' +\
25688            'username: ' + repr(self.username) + ' ' +\
25689            '>'
25690
25691    def to_dict(self):
25692        return {
25693            'bind_interface': self.bind_interface,
25694            'database': self.database,
25695            'egress_filter': self.egress_filter,
25696            'healthy': self.healthy,
25697            'hostname': self.hostname,
25698            'id': self.id,
25699            'name': self.name,
25700            'override_database': self.override_database,
25701            'port': self.port,
25702            'port_override': self.port_override,
25703            'proxy_cluster_id': self.proxy_cluster_id,
25704            'region': self.region,
25705            'role_assumption_arn': self.role_assumption_arn,
25706            'secret_store_id': self.secret_store_id,
25707            'subdomain': self.subdomain,
25708            'tags': self.tags,
25709            'username': self.username,
25710        }
25711
25712    @classmethod
25713    def from_dict(cls, d):
25714        return cls(
25715            bind_interface=d.get('bind_interface'),
25716            database=d.get('database'),
25717            egress_filter=d.get('egress_filter'),
25718            healthy=d.get('healthy'),
25719            hostname=d.get('hostname'),
25720            id=d.get('id'),
25721            name=d.get('name'),
25722            override_database=d.get('override_database'),
25723            port=d.get('port'),
25724            port_override=d.get('port_override'),
25725            proxy_cluster_id=d.get('proxy_cluster_id'),
25726            region=d.get('region'),
25727            role_assumption_arn=d.get('role_assumption_arn'),
25728            secret_store_id=d.get('secret_store_id'),
25729            subdomain=d.get('subdomain'),
25730            tags=d.get('tags'),
25731            username=d.get('username'),
25732        )
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)
25581    def __init__(
25582        self,
25583        bind_interface=None,
25584        database=None,
25585        egress_filter=None,
25586        healthy=None,
25587        hostname=None,
25588        id=None,
25589        name=None,
25590        override_database=None,
25591        port=None,
25592        port_override=None,
25593        proxy_cluster_id=None,
25594        region=None,
25595        role_assumption_arn=None,
25596        secret_store_id=None,
25597        subdomain=None,
25598        tags=None,
25599        username=None,
25600    ):
25601        self.bind_interface = bind_interface if bind_interface is not None else ''
25602        '''
25603         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25604        '''
25605        self.database = database if database is not None else ''
25606        '''
25607         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
25608        '''
25609        self.egress_filter = egress_filter if egress_filter is not None else ''
25610        '''
25611         A filter applied to the routing logic to pin datasource to nodes.
25612        '''
25613        self.healthy = healthy if healthy is not None else False
25614        '''
25615         True if the datasource is reachable and the credentials are valid.
25616        '''
25617        self.hostname = hostname if hostname is not None else ''
25618        '''
25619         The host to dial to initiate a connection from the egress node to this resource.
25620        '''
25621        self.id = id if id is not None else ''
25622        '''
25623         Unique identifier of the Resource.
25624        '''
25625        self.name = name if name is not None else ''
25626        '''
25627         Unique human-readable name of the Resource.
25628        '''
25629        self.override_database = override_database if override_database is not None else False
25630        '''
25631         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
25632        '''
25633        self.port = port if port is not None else 0
25634        '''
25635         The port to dial to initiate a connection from the egress node to this resource.
25636        '''
25637        self.port_override = port_override if port_override is not None else 0
25638        '''
25639         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25640        '''
25641        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25642        '''
25643         ID of the proxy cluster for this resource, if any.
25644        '''
25645        self.region = region if region is not None else ''
25646        '''
25647         The AWS region to connect to.
25648        '''
25649        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
25650        '''
25651         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
25652        '''
25653        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25654        '''
25655         ID of the secret store containing credentials for this resource, if any.
25656        '''
25657        self.subdomain = subdomain if subdomain is not None else ''
25658        '''
25659         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25660        '''
25661        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25662        '''
25663         Tags is a map of key, value pairs.
25664        '''
25665        self.username = username if username is not None else ''
25666        '''
25667         The username to authenticate with.
25668        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
25691    def to_dict(self):
25692        return {
25693            'bind_interface': self.bind_interface,
25694            'database': self.database,
25695            'egress_filter': self.egress_filter,
25696            'healthy': self.healthy,
25697            'hostname': self.hostname,
25698            'id': self.id,
25699            'name': self.name,
25700            'override_database': self.override_database,
25701            'port': self.port,
25702            'port_override': self.port_override,
25703            'proxy_cluster_id': self.proxy_cluster_id,
25704            'region': self.region,
25705            'role_assumption_arn': self.role_assumption_arn,
25706            'secret_store_id': self.secret_store_id,
25707            'subdomain': self.subdomain,
25708            'tags': self.tags,
25709            'username': self.username,
25710        }
@classmethod
def from_dict(cls, d)
25712    @classmethod
25713    def from_dict(cls, d):
25714        return cls(
25715            bind_interface=d.get('bind_interface'),
25716            database=d.get('database'),
25717            egress_filter=d.get('egress_filter'),
25718            healthy=d.get('healthy'),
25719            hostname=d.get('hostname'),
25720            id=d.get('id'),
25721            name=d.get('name'),
25722            override_database=d.get('override_database'),
25723            port=d.get('port'),
25724            port_override=d.get('port_override'),
25725            proxy_cluster_id=d.get('proxy_cluster_id'),
25726            region=d.get('region'),
25727            role_assumption_arn=d.get('role_assumption_arn'),
25728            secret_store_id=d.get('secret_store_id'),
25729            subdomain=d.get('subdomain'),
25730            tags=d.get('tags'),
25731            username=d.get('username'),
25732        )
class RabbitMQAMQP091:
25735class RabbitMQAMQP091:
25736    __slots__ = [
25737        'bind_interface',
25738        'egress_filter',
25739        'healthy',
25740        'hostname',
25741        'id',
25742        'name',
25743        'password',
25744        'port',
25745        'port_override',
25746        'proxy_cluster_id',
25747        'secret_store_id',
25748        'subdomain',
25749        'tags',
25750        'tls_required',
25751        'username',
25752    ]
25753
25754    def __init__(
25755        self,
25756        bind_interface=None,
25757        egress_filter=None,
25758        healthy=None,
25759        hostname=None,
25760        id=None,
25761        name=None,
25762        password=None,
25763        port=None,
25764        port_override=None,
25765        proxy_cluster_id=None,
25766        secret_store_id=None,
25767        subdomain=None,
25768        tags=None,
25769        tls_required=None,
25770        username=None,
25771    ):
25772        self.bind_interface = bind_interface if bind_interface is not None else ''
25773        '''
25774         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25775        '''
25776        self.egress_filter = egress_filter if egress_filter is not None else ''
25777        '''
25778         A filter applied to the routing logic to pin datasource to nodes.
25779        '''
25780        self.healthy = healthy if healthy is not None else False
25781        '''
25782         True if the datasource is reachable and the credentials are valid.
25783        '''
25784        self.hostname = hostname if hostname is not None else ''
25785        '''
25786         The host to dial to initiate a connection from the egress node to this resource.
25787        '''
25788        self.id = id if id is not None else ''
25789        '''
25790         Unique identifier of the Resource.
25791        '''
25792        self.name = name if name is not None else ''
25793        '''
25794         Unique human-readable name of the Resource.
25795        '''
25796        self.password = password if password is not None else ''
25797        '''
25798         The password to authenticate with.
25799        '''
25800        self.port = port if port is not None else 0
25801        '''
25802         The port to dial to initiate a connection from the egress node to this resource.
25803        '''
25804        self.port_override = port_override if port_override is not None else 0
25805        '''
25806         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25807        '''
25808        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25809        '''
25810         ID of the proxy cluster for this resource, if any.
25811        '''
25812        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25813        '''
25814         ID of the secret store containing credentials for this resource, if any.
25815        '''
25816        self.subdomain = subdomain if subdomain is not None else ''
25817        '''
25818         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25819        '''
25820        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25821        '''
25822         Tags is a map of key, value pairs.
25823        '''
25824        self.tls_required = tls_required if tls_required is not None else False
25825        '''
25826         If set, TLS must be used to connect to this resource.
25827        '''
25828        self.username = username if username is not None else ''
25829        '''
25830         The username to authenticate with.
25831        '''
25832
25833    def __repr__(self):
25834        return '<sdm.RabbitMQAMQP091 ' + \
25835            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
25836            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
25837            'healthy: ' + repr(self.healthy) + ' ' +\
25838            'hostname: ' + repr(self.hostname) + ' ' +\
25839            'id: ' + repr(self.id) + ' ' +\
25840            'name: ' + repr(self.name) + ' ' +\
25841            'password: ' + repr(self.password) + ' ' +\
25842            'port: ' + repr(self.port) + ' ' +\
25843            'port_override: ' + repr(self.port_override) + ' ' +\
25844            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
25845            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
25846            'subdomain: ' + repr(self.subdomain) + ' ' +\
25847            'tags: ' + repr(self.tags) + ' ' +\
25848            'tls_required: ' + repr(self.tls_required) + ' ' +\
25849            'username: ' + repr(self.username) + ' ' +\
25850            '>'
25851
25852    def to_dict(self):
25853        return {
25854            'bind_interface': self.bind_interface,
25855            'egress_filter': self.egress_filter,
25856            'healthy': self.healthy,
25857            'hostname': self.hostname,
25858            'id': self.id,
25859            'name': self.name,
25860            'password': self.password,
25861            'port': self.port,
25862            'port_override': self.port_override,
25863            'proxy_cluster_id': self.proxy_cluster_id,
25864            'secret_store_id': self.secret_store_id,
25865            'subdomain': self.subdomain,
25866            'tags': self.tags,
25867            'tls_required': self.tls_required,
25868            'username': self.username,
25869        }
25870
25871    @classmethod
25872    def from_dict(cls, d):
25873        return cls(
25874            bind_interface=d.get('bind_interface'),
25875            egress_filter=d.get('egress_filter'),
25876            healthy=d.get('healthy'),
25877            hostname=d.get('hostname'),
25878            id=d.get('id'),
25879            name=d.get('name'),
25880            password=d.get('password'),
25881            port=d.get('port'),
25882            port_override=d.get('port_override'),
25883            proxy_cluster_id=d.get('proxy_cluster_id'),
25884            secret_store_id=d.get('secret_store_id'),
25885            subdomain=d.get('subdomain'),
25886            tags=d.get('tags'),
25887            tls_required=d.get('tls_required'),
25888            username=d.get('username'),
25889        )
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)
25754    def __init__(
25755        self,
25756        bind_interface=None,
25757        egress_filter=None,
25758        healthy=None,
25759        hostname=None,
25760        id=None,
25761        name=None,
25762        password=None,
25763        port=None,
25764        port_override=None,
25765        proxy_cluster_id=None,
25766        secret_store_id=None,
25767        subdomain=None,
25768        tags=None,
25769        tls_required=None,
25770        username=None,
25771    ):
25772        self.bind_interface = bind_interface if bind_interface is not None else ''
25773        '''
25774         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25775        '''
25776        self.egress_filter = egress_filter if egress_filter is not None else ''
25777        '''
25778         A filter applied to the routing logic to pin datasource to nodes.
25779        '''
25780        self.healthy = healthy if healthy is not None else False
25781        '''
25782         True if the datasource is reachable and the credentials are valid.
25783        '''
25784        self.hostname = hostname if hostname is not None else ''
25785        '''
25786         The host to dial to initiate a connection from the egress node to this resource.
25787        '''
25788        self.id = id if id is not None else ''
25789        '''
25790         Unique identifier of the Resource.
25791        '''
25792        self.name = name if name is not None else ''
25793        '''
25794         Unique human-readable name of the Resource.
25795        '''
25796        self.password = password if password is not None else ''
25797        '''
25798         The password to authenticate with.
25799        '''
25800        self.port = port if port is not None else 0
25801        '''
25802         The port to dial to initiate a connection from the egress node to this resource.
25803        '''
25804        self.port_override = port_override if port_override is not None else 0
25805        '''
25806         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
25807        '''
25808        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
25809        '''
25810         ID of the proxy cluster for this resource, if any.
25811        '''
25812        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
25813        '''
25814         ID of the secret store containing credentials for this resource, if any.
25815        '''
25816        self.subdomain = subdomain if subdomain is not None else ''
25817        '''
25818         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
25819        '''
25820        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
25821        '''
25822         Tags is a map of key, value pairs.
25823        '''
25824        self.tls_required = tls_required if tls_required is not None else False
25825        '''
25826         If set, TLS must be used to connect to this resource.
25827        '''
25828        self.username = username if username is not None else ''
25829        '''
25830         The username to authenticate with.
25831        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
25852    def to_dict(self):
25853        return {
25854            'bind_interface': self.bind_interface,
25855            'egress_filter': self.egress_filter,
25856            'healthy': self.healthy,
25857            'hostname': self.hostname,
25858            'id': self.id,
25859            'name': self.name,
25860            'password': self.password,
25861            'port': self.port,
25862            'port_override': self.port_override,
25863            'proxy_cluster_id': self.proxy_cluster_id,
25864            'secret_store_id': self.secret_store_id,
25865            'subdomain': self.subdomain,
25866            'tags': self.tags,
25867            'tls_required': self.tls_required,
25868            'username': self.username,
25869        }
@classmethod
def from_dict(cls, d)
25871    @classmethod
25872    def from_dict(cls, d):
25873        return cls(
25874            bind_interface=d.get('bind_interface'),
25875            egress_filter=d.get('egress_filter'),
25876            healthy=d.get('healthy'),
25877            hostname=d.get('hostname'),
25878            id=d.get('id'),
25879            name=d.get('name'),
25880            password=d.get('password'),
25881            port=d.get('port'),
25882            port_override=d.get('port_override'),
25883            proxy_cluster_id=d.get('proxy_cluster_id'),
25884            secret_store_id=d.get('secret_store_id'),
25885            subdomain=d.get('subdomain'),
25886            tags=d.get('tags'),
25887            tls_required=d.get('tls_required'),
25888            username=d.get('username'),
25889        )
class RateLimitMetadata:
25892class RateLimitMetadata:
25893    '''
25894         RateLimitMetadata contains information about remaining requests avaialable
25895     to the user over some timeframe.
25896    '''
25897    __slots__ = [
25898        'bucket',
25899        'limit',
25900        'remaining',
25901        'reset_at',
25902    ]
25903
25904    def __init__(
25905        self,
25906        bucket=None,
25907        limit=None,
25908        remaining=None,
25909        reset_at=None,
25910    ):
25911        self.bucket = bucket if bucket is not None else ''
25912        '''
25913         The bucket this user/token is associated with, which may be shared between
25914         multiple users/tokens.
25915        '''
25916        self.limit = limit if limit is not None else 0
25917        '''
25918         How many total requests the user/token is authorized to make before being
25919         rate limited.
25920        '''
25921        self.remaining = remaining if remaining is not None else 0
25922        '''
25923         How many remaining requests out of the limit are still avaialable.
25924        '''
25925        self.reset_at = reset_at if reset_at is not None else None
25926        '''
25927         The time when remaining will be reset to limit.
25928        '''
25929
25930    def __repr__(self):
25931        return '<sdm.RateLimitMetadata ' + \
25932            'bucket: ' + repr(self.bucket) + ' ' +\
25933            'limit: ' + repr(self.limit) + ' ' +\
25934            'remaining: ' + repr(self.remaining) + ' ' +\
25935            'reset_at: ' + repr(self.reset_at) + ' ' +\
25936            '>'
25937
25938    def to_dict(self):
25939        return {
25940            'bucket': self.bucket,
25941            'limit': self.limit,
25942            'remaining': self.remaining,
25943            'reset_at': self.reset_at,
25944        }
25945
25946    @classmethod
25947    def from_dict(cls, d):
25948        return cls(
25949            bucket=d.get('bucket'),
25950            limit=d.get('limit'),
25951            remaining=d.get('remaining'),
25952            reset_at=d.get('reset_at'),
25953        )

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

RateLimitMetadata(bucket=None, limit=None, remaining=None, reset_at=None)
25904    def __init__(
25905        self,
25906        bucket=None,
25907        limit=None,
25908        remaining=None,
25909        reset_at=None,
25910    ):
25911        self.bucket = bucket if bucket is not None else ''
25912        '''
25913         The bucket this user/token is associated with, which may be shared between
25914         multiple users/tokens.
25915        '''
25916        self.limit = limit if limit is not None else 0
25917        '''
25918         How many total requests the user/token is authorized to make before being
25919         rate limited.
25920        '''
25921        self.remaining = remaining if remaining is not None else 0
25922        '''
25923         How many remaining requests out of the limit are still avaialable.
25924        '''
25925        self.reset_at = reset_at if reset_at is not None else None
25926        '''
25927         The time when remaining will be reset to limit.
25928        '''
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)
25938    def to_dict(self):
25939        return {
25940            'bucket': self.bucket,
25941            'limit': self.limit,
25942            'remaining': self.remaining,
25943            'reset_at': self.reset_at,
25944        }
@classmethod
def from_dict(cls, d)
25946    @classmethod
25947    def from_dict(cls, d):
25948        return cls(
25949            bucket=d.get('bucket'),
25950            limit=d.get('limit'),
25951            remaining=d.get('remaining'),
25952            reset_at=d.get('reset_at'),
25953        )
class RawTCP:
25956class RawTCP:
25957    __slots__ = [
25958        'bind_interface',
25959        'egress_filter',
25960        'healthy',
25961        'hostname',
25962        'id',
25963        'name',
25964        'port',
25965        'port_override',
25966        'proxy_cluster_id',
25967        'secret_store_id',
25968        'subdomain',
25969        'tags',
25970    ]
25971
25972    def __init__(
25973        self,
25974        bind_interface=None,
25975        egress_filter=None,
25976        healthy=None,
25977        hostname=None,
25978        id=None,
25979        name=None,
25980        port=None,
25981        port_override=None,
25982        proxy_cluster_id=None,
25983        secret_store_id=None,
25984        subdomain=None,
25985        tags=None,
25986    ):
25987        self.bind_interface = bind_interface if bind_interface is not None else ''
25988        '''
25989         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25990        '''
25991        self.egress_filter = egress_filter if egress_filter is not None else ''
25992        '''
25993         A filter applied to the routing logic to pin datasource to nodes.
25994        '''
25995        self.healthy = healthy if healthy is not None else False
25996        '''
25997         True if the datasource is reachable and the credentials are valid.
25998        '''
25999        self.hostname = hostname if hostname is not None else ''
26000        '''
26001         The host to dial to initiate a connection from the egress node to this resource.
26002        '''
26003        self.id = id if id is not None else ''
26004        '''
26005         Unique identifier of the Resource.
26006        '''
26007        self.name = name if name is not None else ''
26008        '''
26009         Unique human-readable name of the Resource.
26010        '''
26011        self.port = port if port is not None else 0
26012        '''
26013         The port to dial to initiate a connection from the egress node to this resource.
26014        '''
26015        self.port_override = port_override if port_override is not None else 0
26016        '''
26017         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26018        '''
26019        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26020        '''
26021         ID of the proxy cluster for this resource, if any.
26022        '''
26023        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26024        '''
26025         ID of the secret store containing credentials for this resource, if any.
26026        '''
26027        self.subdomain = subdomain if subdomain is not None else ''
26028        '''
26029         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26030        '''
26031        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26032        '''
26033         Tags is a map of key, value pairs.
26034        '''
26035
26036    def __repr__(self):
26037        return '<sdm.RawTCP ' + \
26038            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26039            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26040            'healthy: ' + repr(self.healthy) + ' ' +\
26041            'hostname: ' + repr(self.hostname) + ' ' +\
26042            'id: ' + repr(self.id) + ' ' +\
26043            'name: ' + repr(self.name) + ' ' +\
26044            'port: ' + repr(self.port) + ' ' +\
26045            'port_override: ' + repr(self.port_override) + ' ' +\
26046            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26047            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26048            'subdomain: ' + repr(self.subdomain) + ' ' +\
26049            'tags: ' + repr(self.tags) + ' ' +\
26050            '>'
26051
26052    def to_dict(self):
26053        return {
26054            'bind_interface': self.bind_interface,
26055            'egress_filter': self.egress_filter,
26056            'healthy': self.healthy,
26057            'hostname': self.hostname,
26058            'id': self.id,
26059            'name': self.name,
26060            'port': self.port,
26061            'port_override': self.port_override,
26062            'proxy_cluster_id': self.proxy_cluster_id,
26063            'secret_store_id': self.secret_store_id,
26064            'subdomain': self.subdomain,
26065            'tags': self.tags,
26066        }
26067
26068    @classmethod
26069    def from_dict(cls, d):
26070        return cls(
26071            bind_interface=d.get('bind_interface'),
26072            egress_filter=d.get('egress_filter'),
26073            healthy=d.get('healthy'),
26074            hostname=d.get('hostname'),
26075            id=d.get('id'),
26076            name=d.get('name'),
26077            port=d.get('port'),
26078            port_override=d.get('port_override'),
26079            proxy_cluster_id=d.get('proxy_cluster_id'),
26080            secret_store_id=d.get('secret_store_id'),
26081            subdomain=d.get('subdomain'),
26082            tags=d.get('tags'),
26083        )
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)
25972    def __init__(
25973        self,
25974        bind_interface=None,
25975        egress_filter=None,
25976        healthy=None,
25977        hostname=None,
25978        id=None,
25979        name=None,
25980        port=None,
25981        port_override=None,
25982        proxy_cluster_id=None,
25983        secret_store_id=None,
25984        subdomain=None,
25985        tags=None,
25986    ):
25987        self.bind_interface = bind_interface if bind_interface is not None else ''
25988        '''
25989         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
25990        '''
25991        self.egress_filter = egress_filter if egress_filter is not None else ''
25992        '''
25993         A filter applied to the routing logic to pin datasource to nodes.
25994        '''
25995        self.healthy = healthy if healthy is not None else False
25996        '''
25997         True if the datasource is reachable and the credentials are valid.
25998        '''
25999        self.hostname = hostname if hostname is not None else ''
26000        '''
26001         The host to dial to initiate a connection from the egress node to this resource.
26002        '''
26003        self.id = id if id is not None else ''
26004        '''
26005         Unique identifier of the Resource.
26006        '''
26007        self.name = name if name is not None else ''
26008        '''
26009         Unique human-readable name of the Resource.
26010        '''
26011        self.port = port if port is not None else 0
26012        '''
26013         The port to dial to initiate a connection from the egress node to this resource.
26014        '''
26015        self.port_override = port_override if port_override is not None else 0
26016        '''
26017         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26018        '''
26019        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26020        '''
26021         ID of the proxy cluster for this resource, if any.
26022        '''
26023        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26024        '''
26025         ID of the secret store containing credentials for this resource, if any.
26026        '''
26027        self.subdomain = subdomain if subdomain is not None else ''
26028        '''
26029         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26030        '''
26031        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26032        '''
26033         Tags is a map of key, value pairs.
26034        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
26052    def to_dict(self):
26053        return {
26054            'bind_interface': self.bind_interface,
26055            'egress_filter': self.egress_filter,
26056            'healthy': self.healthy,
26057            'hostname': self.hostname,
26058            'id': self.id,
26059            'name': self.name,
26060            'port': self.port,
26061            'port_override': self.port_override,
26062            'proxy_cluster_id': self.proxy_cluster_id,
26063            'secret_store_id': self.secret_store_id,
26064            'subdomain': self.subdomain,
26065            'tags': self.tags,
26066        }
@classmethod
def from_dict(cls, d)
26068    @classmethod
26069    def from_dict(cls, d):
26070        return cls(
26071            bind_interface=d.get('bind_interface'),
26072            egress_filter=d.get('egress_filter'),
26073            healthy=d.get('healthy'),
26074            hostname=d.get('hostname'),
26075            id=d.get('id'),
26076            name=d.get('name'),
26077            port=d.get('port'),
26078            port_override=d.get('port_override'),
26079            proxy_cluster_id=d.get('proxy_cluster_id'),
26080            secret_store_id=d.get('secret_store_id'),
26081            subdomain=d.get('subdomain'),
26082            tags=d.get('tags'),
26083        )
class Redis:
26086class Redis:
26087    __slots__ = [
26088        'bind_interface',
26089        'egress_filter',
26090        'healthy',
26091        'hostname',
26092        'id',
26093        'name',
26094        'password',
26095        'port',
26096        'port_override',
26097        'proxy_cluster_id',
26098        'secret_store_id',
26099        'subdomain',
26100        'tags',
26101        'tls_required',
26102        'username',
26103    ]
26104
26105    def __init__(
26106        self,
26107        bind_interface=None,
26108        egress_filter=None,
26109        healthy=None,
26110        hostname=None,
26111        id=None,
26112        name=None,
26113        password=None,
26114        port=None,
26115        port_override=None,
26116        proxy_cluster_id=None,
26117        secret_store_id=None,
26118        subdomain=None,
26119        tags=None,
26120        tls_required=None,
26121        username=None,
26122    ):
26123        self.bind_interface = bind_interface if bind_interface is not None else ''
26124        '''
26125         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26126        '''
26127        self.egress_filter = egress_filter if egress_filter is not None else ''
26128        '''
26129         A filter applied to the routing logic to pin datasource to nodes.
26130        '''
26131        self.healthy = healthy if healthy is not None else False
26132        '''
26133         True if the datasource is reachable and the credentials are valid.
26134        '''
26135        self.hostname = hostname if hostname is not None else ''
26136        '''
26137         The host to dial to initiate a connection from the egress node to this resource.
26138        '''
26139        self.id = id if id is not None else ''
26140        '''
26141         Unique identifier of the Resource.
26142        '''
26143        self.name = name if name is not None else ''
26144        '''
26145         Unique human-readable name of the Resource.
26146        '''
26147        self.password = password if password is not None else ''
26148        '''
26149         The password to authenticate with.
26150        '''
26151        self.port = port if port is not None else 0
26152        '''
26153         The port to dial to initiate a connection from the egress node to this resource.
26154        '''
26155        self.port_override = port_override if port_override is not None else 0
26156        '''
26157         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26158        '''
26159        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26160        '''
26161         ID of the proxy cluster for this resource, if any.
26162        '''
26163        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26164        '''
26165         ID of the secret store containing credentials for this resource, if any.
26166        '''
26167        self.subdomain = subdomain if subdomain is not None else ''
26168        '''
26169         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26170        '''
26171        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26172        '''
26173         Tags is a map of key, value pairs.
26174        '''
26175        self.tls_required = tls_required if tls_required is not None else False
26176        '''
26177         If set, TLS must be used to connect to this resource.
26178        '''
26179        self.username = username if username is not None else ''
26180        '''
26181         The username to authenticate with.
26182        '''
26183
26184    def __repr__(self):
26185        return '<sdm.Redis ' + \
26186            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26187            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26188            'healthy: ' + repr(self.healthy) + ' ' +\
26189            'hostname: ' + repr(self.hostname) + ' ' +\
26190            'id: ' + repr(self.id) + ' ' +\
26191            'name: ' + repr(self.name) + ' ' +\
26192            'password: ' + repr(self.password) + ' ' +\
26193            'port: ' + repr(self.port) + ' ' +\
26194            'port_override: ' + repr(self.port_override) + ' ' +\
26195            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26196            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26197            'subdomain: ' + repr(self.subdomain) + ' ' +\
26198            'tags: ' + repr(self.tags) + ' ' +\
26199            'tls_required: ' + repr(self.tls_required) + ' ' +\
26200            'username: ' + repr(self.username) + ' ' +\
26201            '>'
26202
26203    def to_dict(self):
26204        return {
26205            'bind_interface': self.bind_interface,
26206            'egress_filter': self.egress_filter,
26207            'healthy': self.healthy,
26208            'hostname': self.hostname,
26209            'id': self.id,
26210            'name': self.name,
26211            'password': self.password,
26212            'port': self.port,
26213            'port_override': self.port_override,
26214            'proxy_cluster_id': self.proxy_cluster_id,
26215            'secret_store_id': self.secret_store_id,
26216            'subdomain': self.subdomain,
26217            'tags': self.tags,
26218            'tls_required': self.tls_required,
26219            'username': self.username,
26220        }
26221
26222    @classmethod
26223    def from_dict(cls, d):
26224        return cls(
26225            bind_interface=d.get('bind_interface'),
26226            egress_filter=d.get('egress_filter'),
26227            healthy=d.get('healthy'),
26228            hostname=d.get('hostname'),
26229            id=d.get('id'),
26230            name=d.get('name'),
26231            password=d.get('password'),
26232            port=d.get('port'),
26233            port_override=d.get('port_override'),
26234            proxy_cluster_id=d.get('proxy_cluster_id'),
26235            secret_store_id=d.get('secret_store_id'),
26236            subdomain=d.get('subdomain'),
26237            tags=d.get('tags'),
26238            tls_required=d.get('tls_required'),
26239            username=d.get('username'),
26240        )
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)
26105    def __init__(
26106        self,
26107        bind_interface=None,
26108        egress_filter=None,
26109        healthy=None,
26110        hostname=None,
26111        id=None,
26112        name=None,
26113        password=None,
26114        port=None,
26115        port_override=None,
26116        proxy_cluster_id=None,
26117        secret_store_id=None,
26118        subdomain=None,
26119        tags=None,
26120        tls_required=None,
26121        username=None,
26122    ):
26123        self.bind_interface = bind_interface if bind_interface is not None else ''
26124        '''
26125         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26126        '''
26127        self.egress_filter = egress_filter if egress_filter is not None else ''
26128        '''
26129         A filter applied to the routing logic to pin datasource to nodes.
26130        '''
26131        self.healthy = healthy if healthy is not None else False
26132        '''
26133         True if the datasource is reachable and the credentials are valid.
26134        '''
26135        self.hostname = hostname if hostname is not None else ''
26136        '''
26137         The host to dial to initiate a connection from the egress node to this resource.
26138        '''
26139        self.id = id if id is not None else ''
26140        '''
26141         Unique identifier of the Resource.
26142        '''
26143        self.name = name if name is not None else ''
26144        '''
26145         Unique human-readable name of the Resource.
26146        '''
26147        self.password = password if password is not None else ''
26148        '''
26149         The password to authenticate with.
26150        '''
26151        self.port = port if port is not None else 0
26152        '''
26153         The port to dial to initiate a connection from the egress node to this resource.
26154        '''
26155        self.port_override = port_override if port_override is not None else 0
26156        '''
26157         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26158        '''
26159        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26160        '''
26161         ID of the proxy cluster for this resource, if any.
26162        '''
26163        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26164        '''
26165         ID of the secret store containing credentials for this resource, if any.
26166        '''
26167        self.subdomain = subdomain if subdomain is not None else ''
26168        '''
26169         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26170        '''
26171        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26172        '''
26173         Tags is a map of key, value pairs.
26174        '''
26175        self.tls_required = tls_required if tls_required is not None else False
26176        '''
26177         If set, TLS must be used to connect to this resource.
26178        '''
26179        self.username = username if username is not None else ''
26180        '''
26181         The username to authenticate with.
26182        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
26203    def to_dict(self):
26204        return {
26205            'bind_interface': self.bind_interface,
26206            'egress_filter': self.egress_filter,
26207            'healthy': self.healthy,
26208            'hostname': self.hostname,
26209            'id': self.id,
26210            'name': self.name,
26211            'password': self.password,
26212            'port': self.port,
26213            'port_override': self.port_override,
26214            'proxy_cluster_id': self.proxy_cluster_id,
26215            'secret_store_id': self.secret_store_id,
26216            'subdomain': self.subdomain,
26217            'tags': self.tags,
26218            'tls_required': self.tls_required,
26219            'username': self.username,
26220        }
@classmethod
def from_dict(cls, d)
26222    @classmethod
26223    def from_dict(cls, d):
26224        return cls(
26225            bind_interface=d.get('bind_interface'),
26226            egress_filter=d.get('egress_filter'),
26227            healthy=d.get('healthy'),
26228            hostname=d.get('hostname'),
26229            id=d.get('id'),
26230            name=d.get('name'),
26231            password=d.get('password'),
26232            port=d.get('port'),
26233            port_override=d.get('port_override'),
26234            proxy_cluster_id=d.get('proxy_cluster_id'),
26235            secret_store_id=d.get('secret_store_id'),
26236            subdomain=d.get('subdomain'),
26237            tags=d.get('tags'),
26238            tls_required=d.get('tls_required'),
26239            username=d.get('username'),
26240        )
class RedisCluster:
26243class RedisCluster:
26244    __slots__ = [
26245        'bind_interface',
26246        'egress_filter',
26247        'healthy',
26248        'hostname',
26249        'id',
26250        'name',
26251        'password',
26252        'port',
26253        'port_override',
26254        'proxy_cluster_id',
26255        'secret_store_id',
26256        'subdomain',
26257        'tags',
26258        'tls_required',
26259        'username',
26260    ]
26261
26262    def __init__(
26263        self,
26264        bind_interface=None,
26265        egress_filter=None,
26266        healthy=None,
26267        hostname=None,
26268        id=None,
26269        name=None,
26270        password=None,
26271        port=None,
26272        port_override=None,
26273        proxy_cluster_id=None,
26274        secret_store_id=None,
26275        subdomain=None,
26276        tags=None,
26277        tls_required=None,
26278        username=None,
26279    ):
26280        self.bind_interface = bind_interface if bind_interface is not None else ''
26281        '''
26282         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26283        '''
26284        self.egress_filter = egress_filter if egress_filter is not None else ''
26285        '''
26286         A filter applied to the routing logic to pin datasource to nodes.
26287        '''
26288        self.healthy = healthy if healthy is not None else False
26289        '''
26290         True if the datasource is reachable and the credentials are valid.
26291        '''
26292        self.hostname = hostname if hostname is not None else ''
26293        '''
26294         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
26295        '''
26296        self.id = id if id is not None else ''
26297        '''
26298         Unique identifier of the Resource.
26299        '''
26300        self.name = name if name is not None else ''
26301        '''
26302         Unique human-readable name of the Resource.
26303        '''
26304        self.password = password if password is not None else ''
26305        '''
26306         The password to authenticate with.
26307        '''
26308        self.port = port if port is not None else 0
26309        '''
26310         The port to dial to initiate a connection from the egress node to this resource.
26311        '''
26312        self.port_override = port_override if port_override is not None else 0
26313        '''
26314         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26315        '''
26316        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26317        '''
26318         ID of the proxy cluster for this resource, if any.
26319        '''
26320        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26321        '''
26322         ID of the secret store containing credentials for this resource, if any.
26323        '''
26324        self.subdomain = subdomain if subdomain is not None else ''
26325        '''
26326         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26327        '''
26328        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26329        '''
26330         Tags is a map of key, value pairs.
26331        '''
26332        self.tls_required = tls_required if tls_required is not None else False
26333        '''
26334         If set, TLS must be used to connect to this resource.
26335        '''
26336        self.username = username if username is not None else ''
26337        '''
26338         The username to authenticate with.
26339        '''
26340
26341    def __repr__(self):
26342        return '<sdm.RedisCluster ' + \
26343            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26344            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26345            'healthy: ' + repr(self.healthy) + ' ' +\
26346            'hostname: ' + repr(self.hostname) + ' ' +\
26347            'id: ' + repr(self.id) + ' ' +\
26348            'name: ' + repr(self.name) + ' ' +\
26349            'password: ' + repr(self.password) + ' ' +\
26350            'port: ' + repr(self.port) + ' ' +\
26351            'port_override: ' + repr(self.port_override) + ' ' +\
26352            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26353            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26354            'subdomain: ' + repr(self.subdomain) + ' ' +\
26355            'tags: ' + repr(self.tags) + ' ' +\
26356            'tls_required: ' + repr(self.tls_required) + ' ' +\
26357            'username: ' + repr(self.username) + ' ' +\
26358            '>'
26359
26360    def to_dict(self):
26361        return {
26362            'bind_interface': self.bind_interface,
26363            'egress_filter': self.egress_filter,
26364            'healthy': self.healthy,
26365            'hostname': self.hostname,
26366            'id': self.id,
26367            'name': self.name,
26368            'password': self.password,
26369            'port': self.port,
26370            'port_override': self.port_override,
26371            'proxy_cluster_id': self.proxy_cluster_id,
26372            'secret_store_id': self.secret_store_id,
26373            'subdomain': self.subdomain,
26374            'tags': self.tags,
26375            'tls_required': self.tls_required,
26376            'username': self.username,
26377        }
26378
26379    @classmethod
26380    def from_dict(cls, d):
26381        return cls(
26382            bind_interface=d.get('bind_interface'),
26383            egress_filter=d.get('egress_filter'),
26384            healthy=d.get('healthy'),
26385            hostname=d.get('hostname'),
26386            id=d.get('id'),
26387            name=d.get('name'),
26388            password=d.get('password'),
26389            port=d.get('port'),
26390            port_override=d.get('port_override'),
26391            proxy_cluster_id=d.get('proxy_cluster_id'),
26392            secret_store_id=d.get('secret_store_id'),
26393            subdomain=d.get('subdomain'),
26394            tags=d.get('tags'),
26395            tls_required=d.get('tls_required'),
26396            username=d.get('username'),
26397        )
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)
26262    def __init__(
26263        self,
26264        bind_interface=None,
26265        egress_filter=None,
26266        healthy=None,
26267        hostname=None,
26268        id=None,
26269        name=None,
26270        password=None,
26271        port=None,
26272        port_override=None,
26273        proxy_cluster_id=None,
26274        secret_store_id=None,
26275        subdomain=None,
26276        tags=None,
26277        tls_required=None,
26278        username=None,
26279    ):
26280        self.bind_interface = bind_interface if bind_interface is not None else ''
26281        '''
26282         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26283        '''
26284        self.egress_filter = egress_filter if egress_filter is not None else ''
26285        '''
26286         A filter applied to the routing logic to pin datasource to nodes.
26287        '''
26288        self.healthy = healthy if healthy is not None else False
26289        '''
26290         True if the datasource is reachable and the credentials are valid.
26291        '''
26292        self.hostname = hostname if hostname is not None else ''
26293        '''
26294         Hostname must contain the hostname/port pairs of all instances in the replica set separated by commas.
26295        '''
26296        self.id = id if id is not None else ''
26297        '''
26298         Unique identifier of the Resource.
26299        '''
26300        self.name = name if name is not None else ''
26301        '''
26302         Unique human-readable name of the Resource.
26303        '''
26304        self.password = password if password is not None else ''
26305        '''
26306         The password to authenticate with.
26307        '''
26308        self.port = port if port is not None else 0
26309        '''
26310         The port to dial to initiate a connection from the egress node to this resource.
26311        '''
26312        self.port_override = port_override if port_override is not None else 0
26313        '''
26314         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26315        '''
26316        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26317        '''
26318         ID of the proxy cluster for this resource, if any.
26319        '''
26320        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26321        '''
26322         ID of the secret store containing credentials for this resource, if any.
26323        '''
26324        self.subdomain = subdomain if subdomain is not None else ''
26325        '''
26326         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26327        '''
26328        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26329        '''
26330         Tags is a map of key, value pairs.
26331        '''
26332        self.tls_required = tls_required if tls_required is not None else False
26333        '''
26334         If set, TLS must be used to connect to this resource.
26335        '''
26336        self.username = username if username is not None else ''
26337        '''
26338         The username to authenticate with.
26339        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

A 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
26360    def to_dict(self):
26361        return {
26362            'bind_interface': self.bind_interface,
26363            'egress_filter': self.egress_filter,
26364            'healthy': self.healthy,
26365            'hostname': self.hostname,
26366            'id': self.id,
26367            'name': self.name,
26368            'password': self.password,
26369            'port': self.port,
26370            'port_override': self.port_override,
26371            'proxy_cluster_id': self.proxy_cluster_id,
26372            'secret_store_id': self.secret_store_id,
26373            'subdomain': self.subdomain,
26374            'tags': self.tags,
26375            'tls_required': self.tls_required,
26376            'username': self.username,
26377        }
@classmethod
def from_dict(cls, d)
26379    @classmethod
26380    def from_dict(cls, d):
26381        return cls(
26382            bind_interface=d.get('bind_interface'),
26383            egress_filter=d.get('egress_filter'),
26384            healthy=d.get('healthy'),
26385            hostname=d.get('hostname'),
26386            id=d.get('id'),
26387            name=d.get('name'),
26388            password=d.get('password'),
26389            port=d.get('port'),
26390            port_override=d.get('port_override'),
26391            proxy_cluster_id=d.get('proxy_cluster_id'),
26392            secret_store_id=d.get('secret_store_id'),
26393            subdomain=d.get('subdomain'),
26394            tags=d.get('tags'),
26395            tls_required=d.get('tls_required'),
26396            username=d.get('username'),
26397        )
class Redshift:
26400class Redshift:
26401    __slots__ = [
26402        'bind_interface',
26403        'database',
26404        'egress_filter',
26405        'healthy',
26406        'hostname',
26407        'id',
26408        'name',
26409        'override_database',
26410        'password',
26411        'port',
26412        'port_override',
26413        'proxy_cluster_id',
26414        'secret_store_id',
26415        'subdomain',
26416        'tags',
26417        'username',
26418    ]
26419
26420    def __init__(
26421        self,
26422        bind_interface=None,
26423        database=None,
26424        egress_filter=None,
26425        healthy=None,
26426        hostname=None,
26427        id=None,
26428        name=None,
26429        override_database=None,
26430        password=None,
26431        port=None,
26432        port_override=None,
26433        proxy_cluster_id=None,
26434        secret_store_id=None,
26435        subdomain=None,
26436        tags=None,
26437        username=None,
26438    ):
26439        self.bind_interface = bind_interface if bind_interface is not None else ''
26440        '''
26441         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26442        '''
26443        self.database = database if database is not None else ''
26444        '''
26445         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26446        '''
26447        self.egress_filter = egress_filter if egress_filter is not None else ''
26448        '''
26449         A filter applied to the routing logic to pin datasource to nodes.
26450        '''
26451        self.healthy = healthy if healthy is not None else False
26452        '''
26453         True if the datasource is reachable and the credentials are valid.
26454        '''
26455        self.hostname = hostname if hostname is not None else ''
26456        '''
26457         The host to dial to initiate a connection from the egress node to this resource.
26458        '''
26459        self.id = id if id is not None else ''
26460        '''
26461         Unique identifier of the Resource.
26462        '''
26463        self.name = name if name is not None else ''
26464        '''
26465         Unique human-readable name of the Resource.
26466        '''
26467        self.override_database = override_database if override_database is not None else False
26468        '''
26469         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26470        '''
26471        self.password = password if password is not None else ''
26472        '''
26473         The password to authenticate with.
26474        '''
26475        self.port = port if port is not None else 0
26476        '''
26477         The port to dial to initiate a connection from the egress node to this resource.
26478        '''
26479        self.port_override = port_override if port_override is not None else 0
26480        '''
26481         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26482        '''
26483        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26484        '''
26485         ID of the proxy cluster for this resource, if any.
26486        '''
26487        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26488        '''
26489         ID of the secret store containing credentials for this resource, if any.
26490        '''
26491        self.subdomain = subdomain if subdomain is not None else ''
26492        '''
26493         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26494        '''
26495        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26496        '''
26497         Tags is a map of key, value pairs.
26498        '''
26499        self.username = username if username is not None else ''
26500        '''
26501         The username to authenticate with.
26502        '''
26503
26504    def __repr__(self):
26505        return '<sdm.Redshift ' + \
26506            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26507            'database: ' + repr(self.database) + ' ' +\
26508            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26509            'healthy: ' + repr(self.healthy) + ' ' +\
26510            'hostname: ' + repr(self.hostname) + ' ' +\
26511            'id: ' + repr(self.id) + ' ' +\
26512            'name: ' + repr(self.name) + ' ' +\
26513            'override_database: ' + repr(self.override_database) + ' ' +\
26514            'password: ' + repr(self.password) + ' ' +\
26515            'port: ' + repr(self.port) + ' ' +\
26516            'port_override: ' + repr(self.port_override) + ' ' +\
26517            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26518            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26519            'subdomain: ' + repr(self.subdomain) + ' ' +\
26520            'tags: ' + repr(self.tags) + ' ' +\
26521            'username: ' + repr(self.username) + ' ' +\
26522            '>'
26523
26524    def to_dict(self):
26525        return {
26526            'bind_interface': self.bind_interface,
26527            'database': self.database,
26528            'egress_filter': self.egress_filter,
26529            'healthy': self.healthy,
26530            'hostname': self.hostname,
26531            'id': self.id,
26532            'name': self.name,
26533            'override_database': self.override_database,
26534            'password': self.password,
26535            'port': self.port,
26536            'port_override': self.port_override,
26537            'proxy_cluster_id': self.proxy_cluster_id,
26538            'secret_store_id': self.secret_store_id,
26539            'subdomain': self.subdomain,
26540            'tags': self.tags,
26541            'username': self.username,
26542        }
26543
26544    @classmethod
26545    def from_dict(cls, d):
26546        return cls(
26547            bind_interface=d.get('bind_interface'),
26548            database=d.get('database'),
26549            egress_filter=d.get('egress_filter'),
26550            healthy=d.get('healthy'),
26551            hostname=d.get('hostname'),
26552            id=d.get('id'),
26553            name=d.get('name'),
26554            override_database=d.get('override_database'),
26555            password=d.get('password'),
26556            port=d.get('port'),
26557            port_override=d.get('port_override'),
26558            proxy_cluster_id=d.get('proxy_cluster_id'),
26559            secret_store_id=d.get('secret_store_id'),
26560            subdomain=d.get('subdomain'),
26561            tags=d.get('tags'),
26562            username=d.get('username'),
26563        )
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)
26420    def __init__(
26421        self,
26422        bind_interface=None,
26423        database=None,
26424        egress_filter=None,
26425        healthy=None,
26426        hostname=None,
26427        id=None,
26428        name=None,
26429        override_database=None,
26430        password=None,
26431        port=None,
26432        port_override=None,
26433        proxy_cluster_id=None,
26434        secret_store_id=None,
26435        subdomain=None,
26436        tags=None,
26437        username=None,
26438    ):
26439        self.bind_interface = bind_interface if bind_interface is not None else ''
26440        '''
26441         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26442        '''
26443        self.database = database if database is not None else ''
26444        '''
26445         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26446        '''
26447        self.egress_filter = egress_filter if egress_filter is not None else ''
26448        '''
26449         A filter applied to the routing logic to pin datasource to nodes.
26450        '''
26451        self.healthy = healthy if healthy is not None else False
26452        '''
26453         True if the datasource is reachable and the credentials are valid.
26454        '''
26455        self.hostname = hostname if hostname is not None else ''
26456        '''
26457         The host to dial to initiate a connection from the egress node to this resource.
26458        '''
26459        self.id = id if id is not None else ''
26460        '''
26461         Unique identifier of the Resource.
26462        '''
26463        self.name = name if name is not None else ''
26464        '''
26465         Unique human-readable name of the Resource.
26466        '''
26467        self.override_database = override_database if override_database is not None else False
26468        '''
26469         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26470        '''
26471        self.password = password if password is not None else ''
26472        '''
26473         The password to authenticate with.
26474        '''
26475        self.port = port if port is not None else 0
26476        '''
26477         The port to dial to initiate a connection from the egress node to this resource.
26478        '''
26479        self.port_override = port_override if port_override is not None else 0
26480        '''
26481         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26482        '''
26483        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26484        '''
26485         ID of the proxy cluster for this resource, if any.
26486        '''
26487        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26488        '''
26489         ID of the secret store containing credentials for this resource, if any.
26490        '''
26491        self.subdomain = subdomain if subdomain is not None else ''
26492        '''
26493         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26494        '''
26495        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26496        '''
26497         Tags is a map of key, value pairs.
26498        '''
26499        self.username = username if username is not None else ''
26500        '''
26501         The username to authenticate with.
26502        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
26524    def to_dict(self):
26525        return {
26526            'bind_interface': self.bind_interface,
26527            'database': self.database,
26528            'egress_filter': self.egress_filter,
26529            'healthy': self.healthy,
26530            'hostname': self.hostname,
26531            'id': self.id,
26532            'name': self.name,
26533            'override_database': self.override_database,
26534            'password': self.password,
26535            'port': self.port,
26536            'port_override': self.port_override,
26537            'proxy_cluster_id': self.proxy_cluster_id,
26538            'secret_store_id': self.secret_store_id,
26539            'subdomain': self.subdomain,
26540            'tags': self.tags,
26541            'username': self.username,
26542        }
@classmethod
def from_dict(cls, d)
26544    @classmethod
26545    def from_dict(cls, d):
26546        return cls(
26547            bind_interface=d.get('bind_interface'),
26548            database=d.get('database'),
26549            egress_filter=d.get('egress_filter'),
26550            healthy=d.get('healthy'),
26551            hostname=d.get('hostname'),
26552            id=d.get('id'),
26553            name=d.get('name'),
26554            override_database=d.get('override_database'),
26555            password=d.get('password'),
26556            port=d.get('port'),
26557            port_override=d.get('port_override'),
26558            proxy_cluster_id=d.get('proxy_cluster_id'),
26559            secret_store_id=d.get('secret_store_id'),
26560            subdomain=d.get('subdomain'),
26561            tags=d.get('tags'),
26562            username=d.get('username'),
26563        )
class RedshiftIAM:
26566class RedshiftIAM:
26567    __slots__ = [
26568        'bind_interface',
26569        'cluster_id',
26570        'database',
26571        'egress_filter',
26572        'healthy',
26573        'hostname',
26574        'id',
26575        'name',
26576        'override_database',
26577        'port',
26578        'port_override',
26579        'proxy_cluster_id',
26580        'region',
26581        'role_assumption_arn',
26582        'secret_store_id',
26583        'subdomain',
26584        'tags',
26585    ]
26586
26587    def __init__(
26588        self,
26589        bind_interface=None,
26590        cluster_id=None,
26591        database=None,
26592        egress_filter=None,
26593        healthy=None,
26594        hostname=None,
26595        id=None,
26596        name=None,
26597        override_database=None,
26598        port=None,
26599        port_override=None,
26600        proxy_cluster_id=None,
26601        region=None,
26602        role_assumption_arn=None,
26603        secret_store_id=None,
26604        subdomain=None,
26605        tags=None,
26606    ):
26607        self.bind_interface = bind_interface if bind_interface is not None else ''
26608        '''
26609         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26610        '''
26611        self.cluster_id = cluster_id if cluster_id is not None else ''
26612        '''
26613         Cluster Identified of Redshift cluster
26614        '''
26615        self.database = database if database is not None else ''
26616        '''
26617         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26618        '''
26619        self.egress_filter = egress_filter if egress_filter is not None else ''
26620        '''
26621         A filter applied to the routing logic to pin datasource to nodes.
26622        '''
26623        self.healthy = healthy if healthy is not None else False
26624        '''
26625         True if the datasource is reachable and the credentials are valid.
26626        '''
26627        self.hostname = hostname if hostname is not None else ''
26628        '''
26629         The host to dial to initiate a connection from the egress node to this resource.
26630        '''
26631        self.id = id if id is not None else ''
26632        '''
26633         Unique identifier of the Resource.
26634        '''
26635        self.name = name if name is not None else ''
26636        '''
26637         Unique human-readable name of the Resource.
26638        '''
26639        self.override_database = override_database if override_database is not None else False
26640        '''
26641         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26642        '''
26643        self.port = port if port is not None else 0
26644        '''
26645         The port to dial to initiate a connection from the egress node to this resource.
26646        '''
26647        self.port_override = port_override if port_override is not None else 0
26648        '''
26649         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26650        '''
26651        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26652        '''
26653         ID of the proxy cluster for this resource, if any.
26654        '''
26655        self.region = region if region is not None else ''
26656        '''
26657         The AWS region to connect to.
26658        '''
26659        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
26660        '''
26661         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
26662        '''
26663        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26664        '''
26665         ID of the secret store containing credentials for this resource, if any.
26666        '''
26667        self.subdomain = subdomain if subdomain is not None else ''
26668        '''
26669         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26670        '''
26671        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26672        '''
26673         Tags is a map of key, value pairs.
26674        '''
26675
26676    def __repr__(self):
26677        return '<sdm.RedshiftIAM ' + \
26678            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26679            'cluster_id: ' + repr(self.cluster_id) + ' ' +\
26680            'database: ' + repr(self.database) + ' ' +\
26681            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26682            'healthy: ' + repr(self.healthy) + ' ' +\
26683            'hostname: ' + repr(self.hostname) + ' ' +\
26684            'id: ' + repr(self.id) + ' ' +\
26685            'name: ' + repr(self.name) + ' ' +\
26686            'override_database: ' + repr(self.override_database) + ' ' +\
26687            'port: ' + repr(self.port) + ' ' +\
26688            'port_override: ' + repr(self.port_override) + ' ' +\
26689            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26690            'region: ' + repr(self.region) + ' ' +\
26691            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
26692            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26693            'subdomain: ' + repr(self.subdomain) + ' ' +\
26694            'tags: ' + repr(self.tags) + ' ' +\
26695            '>'
26696
26697    def to_dict(self):
26698        return {
26699            'bind_interface': self.bind_interface,
26700            'cluster_id': self.cluster_id,
26701            'database': self.database,
26702            'egress_filter': self.egress_filter,
26703            'healthy': self.healthy,
26704            'hostname': self.hostname,
26705            'id': self.id,
26706            'name': self.name,
26707            'override_database': self.override_database,
26708            'port': self.port,
26709            'port_override': self.port_override,
26710            'proxy_cluster_id': self.proxy_cluster_id,
26711            'region': self.region,
26712            'role_assumption_arn': self.role_assumption_arn,
26713            'secret_store_id': self.secret_store_id,
26714            'subdomain': self.subdomain,
26715            'tags': self.tags,
26716        }
26717
26718    @classmethod
26719    def from_dict(cls, d):
26720        return cls(
26721            bind_interface=d.get('bind_interface'),
26722            cluster_id=d.get('cluster_id'),
26723            database=d.get('database'),
26724            egress_filter=d.get('egress_filter'),
26725            healthy=d.get('healthy'),
26726            hostname=d.get('hostname'),
26727            id=d.get('id'),
26728            name=d.get('name'),
26729            override_database=d.get('override_database'),
26730            port=d.get('port'),
26731            port_override=d.get('port_override'),
26732            proxy_cluster_id=d.get('proxy_cluster_id'),
26733            region=d.get('region'),
26734            role_assumption_arn=d.get('role_assumption_arn'),
26735            secret_store_id=d.get('secret_store_id'),
26736            subdomain=d.get('subdomain'),
26737            tags=d.get('tags'),
26738        )
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)
26587    def __init__(
26588        self,
26589        bind_interface=None,
26590        cluster_id=None,
26591        database=None,
26592        egress_filter=None,
26593        healthy=None,
26594        hostname=None,
26595        id=None,
26596        name=None,
26597        override_database=None,
26598        port=None,
26599        port_override=None,
26600        proxy_cluster_id=None,
26601        region=None,
26602        role_assumption_arn=None,
26603        secret_store_id=None,
26604        subdomain=None,
26605        tags=None,
26606    ):
26607        self.bind_interface = bind_interface if bind_interface is not None else ''
26608        '''
26609         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26610        '''
26611        self.cluster_id = cluster_id if cluster_id is not None else ''
26612        '''
26613         Cluster Identified of Redshift cluster
26614        '''
26615        self.database = database if database is not None else ''
26616        '''
26617         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26618        '''
26619        self.egress_filter = egress_filter if egress_filter is not None else ''
26620        '''
26621         A filter applied to the routing logic to pin datasource to nodes.
26622        '''
26623        self.healthy = healthy if healthy is not None else False
26624        '''
26625         True if the datasource is reachable and the credentials are valid.
26626        '''
26627        self.hostname = hostname if hostname is not None else ''
26628        '''
26629         The host to dial to initiate a connection from the egress node to this resource.
26630        '''
26631        self.id = id if id is not None else ''
26632        '''
26633         Unique identifier of the Resource.
26634        '''
26635        self.name = name if name is not None else ''
26636        '''
26637         Unique human-readable name of the Resource.
26638        '''
26639        self.override_database = override_database if override_database is not None else False
26640        '''
26641         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26642        '''
26643        self.port = port if port is not None else 0
26644        '''
26645         The port to dial to initiate a connection from the egress node to this resource.
26646        '''
26647        self.port_override = port_override if port_override is not None else 0
26648        '''
26649         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26650        '''
26651        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26652        '''
26653         ID of the proxy cluster for this resource, if any.
26654        '''
26655        self.region = region if region is not None else ''
26656        '''
26657         The AWS region to connect to.
26658        '''
26659        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
26660        '''
26661         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
26662        '''
26663        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26664        '''
26665         ID of the secret store containing credentials for this resource, if any.
26666        '''
26667        self.subdomain = subdomain if subdomain is not None else ''
26668        '''
26669         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26670        '''
26671        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26672        '''
26673         Tags is a map of key, value pairs.
26674        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

def to_dict(self)
26697    def to_dict(self):
26698        return {
26699            'bind_interface': self.bind_interface,
26700            'cluster_id': self.cluster_id,
26701            'database': self.database,
26702            'egress_filter': self.egress_filter,
26703            'healthy': self.healthy,
26704            'hostname': self.hostname,
26705            'id': self.id,
26706            'name': self.name,
26707            'override_database': self.override_database,
26708            'port': self.port,
26709            'port_override': self.port_override,
26710            'proxy_cluster_id': self.proxy_cluster_id,
26711            'region': self.region,
26712            'role_assumption_arn': self.role_assumption_arn,
26713            'secret_store_id': self.secret_store_id,
26714            'subdomain': self.subdomain,
26715            'tags': self.tags,
26716        }
@classmethod
def from_dict(cls, d)
26718    @classmethod
26719    def from_dict(cls, d):
26720        return cls(
26721            bind_interface=d.get('bind_interface'),
26722            cluster_id=d.get('cluster_id'),
26723            database=d.get('database'),
26724            egress_filter=d.get('egress_filter'),
26725            healthy=d.get('healthy'),
26726            hostname=d.get('hostname'),
26727            id=d.get('id'),
26728            name=d.get('name'),
26729            override_database=d.get('override_database'),
26730            port=d.get('port'),
26731            port_override=d.get('port_override'),
26732            proxy_cluster_id=d.get('proxy_cluster_id'),
26733            region=d.get('region'),
26734            role_assumption_arn=d.get('role_assumption_arn'),
26735            secret_store_id=d.get('secret_store_id'),
26736            subdomain=d.get('subdomain'),
26737            tags=d.get('tags'),
26738        )
class RedshiftServerlessIAM:
26741class RedshiftServerlessIAM:
26742    __slots__ = [
26743        'bind_interface',
26744        'database',
26745        'egress_filter',
26746        'healthy',
26747        'hostname',
26748        'id',
26749        'name',
26750        'override_database',
26751        'port',
26752        'port_override',
26753        'proxy_cluster_id',
26754        'region',
26755        'role_assumption_arn',
26756        'secret_store_id',
26757        'subdomain',
26758        'tags',
26759        'workgroup',
26760    ]
26761
26762    def __init__(
26763        self,
26764        bind_interface=None,
26765        database=None,
26766        egress_filter=None,
26767        healthy=None,
26768        hostname=None,
26769        id=None,
26770        name=None,
26771        override_database=None,
26772        port=None,
26773        port_override=None,
26774        proxy_cluster_id=None,
26775        region=None,
26776        role_assumption_arn=None,
26777        secret_store_id=None,
26778        subdomain=None,
26779        tags=None,
26780        workgroup=None,
26781    ):
26782        self.bind_interface = bind_interface if bind_interface is not None else ''
26783        '''
26784         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26785        '''
26786        self.database = database if database is not None else ''
26787        '''
26788         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26789        '''
26790        self.egress_filter = egress_filter if egress_filter is not None else ''
26791        '''
26792         A filter applied to the routing logic to pin datasource to nodes.
26793        '''
26794        self.healthy = healthy if healthy is not None else False
26795        '''
26796         True if the datasource is reachable and the credentials are valid.
26797        '''
26798        self.hostname = hostname if hostname is not None else ''
26799        '''
26800         The host to dial to initiate a connection from the egress node to this resource.
26801        '''
26802        self.id = id if id is not None else ''
26803        '''
26804         Unique identifier of the Resource.
26805        '''
26806        self.name = name if name is not None else ''
26807        '''
26808         Unique human-readable name of the Resource.
26809        '''
26810        self.override_database = override_database if override_database is not None else False
26811        '''
26812         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26813        '''
26814        self.port = port if port is not None else 0
26815        '''
26816         The port to dial to initiate a connection from the egress node to this resource.
26817        '''
26818        self.port_override = port_override if port_override is not None else 0
26819        '''
26820         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26821        '''
26822        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26823        '''
26824         ID of the proxy cluster for this resource, if any.
26825        '''
26826        self.region = region if region is not None else ''
26827        '''
26828         The AWS region to connect to.
26829        '''
26830        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
26831        '''
26832         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
26833        '''
26834        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26835        '''
26836         ID of the secret store containing credentials for this resource, if any.
26837        '''
26838        self.subdomain = subdomain if subdomain is not None else ''
26839        '''
26840         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26841        '''
26842        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26843        '''
26844         Tags is a map of key, value pairs.
26845        '''
26846        self.workgroup = workgroup if workgroup is not None else ''
26847        '''
26848         Workgroup name in the serverless Redshift
26849        '''
26850
26851    def __repr__(self):
26852        return '<sdm.RedshiftServerlessIAM ' + \
26853            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
26854            'database: ' + repr(self.database) + ' ' +\
26855            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
26856            'healthy: ' + repr(self.healthy) + ' ' +\
26857            'hostname: ' + repr(self.hostname) + ' ' +\
26858            'id: ' + repr(self.id) + ' ' +\
26859            'name: ' + repr(self.name) + ' ' +\
26860            'override_database: ' + repr(self.override_database) + ' ' +\
26861            'port: ' + repr(self.port) + ' ' +\
26862            'port_override: ' + repr(self.port_override) + ' ' +\
26863            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
26864            'region: ' + repr(self.region) + ' ' +\
26865            'role_assumption_arn: ' + repr(self.role_assumption_arn) + ' ' +\
26866            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
26867            'subdomain: ' + repr(self.subdomain) + ' ' +\
26868            'tags: ' + repr(self.tags) + ' ' +\
26869            'workgroup: ' + repr(self.workgroup) + ' ' +\
26870            '>'
26871
26872    def to_dict(self):
26873        return {
26874            'bind_interface': self.bind_interface,
26875            'database': self.database,
26876            'egress_filter': self.egress_filter,
26877            'healthy': self.healthy,
26878            'hostname': self.hostname,
26879            'id': self.id,
26880            'name': self.name,
26881            'override_database': self.override_database,
26882            'port': self.port,
26883            'port_override': self.port_override,
26884            'proxy_cluster_id': self.proxy_cluster_id,
26885            'region': self.region,
26886            'role_assumption_arn': self.role_assumption_arn,
26887            'secret_store_id': self.secret_store_id,
26888            'subdomain': self.subdomain,
26889            'tags': self.tags,
26890            'workgroup': self.workgroup,
26891        }
26892
26893    @classmethod
26894    def from_dict(cls, d):
26895        return cls(
26896            bind_interface=d.get('bind_interface'),
26897            database=d.get('database'),
26898            egress_filter=d.get('egress_filter'),
26899            healthy=d.get('healthy'),
26900            hostname=d.get('hostname'),
26901            id=d.get('id'),
26902            name=d.get('name'),
26903            override_database=d.get('override_database'),
26904            port=d.get('port'),
26905            port_override=d.get('port_override'),
26906            proxy_cluster_id=d.get('proxy_cluster_id'),
26907            region=d.get('region'),
26908            role_assumption_arn=d.get('role_assumption_arn'),
26909            secret_store_id=d.get('secret_store_id'),
26910            subdomain=d.get('subdomain'),
26911            tags=d.get('tags'),
26912            workgroup=d.get('workgroup'),
26913        )
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)
26762    def __init__(
26763        self,
26764        bind_interface=None,
26765        database=None,
26766        egress_filter=None,
26767        healthy=None,
26768        hostname=None,
26769        id=None,
26770        name=None,
26771        override_database=None,
26772        port=None,
26773        port_override=None,
26774        proxy_cluster_id=None,
26775        region=None,
26776        role_assumption_arn=None,
26777        secret_store_id=None,
26778        subdomain=None,
26779        tags=None,
26780        workgroup=None,
26781    ):
26782        self.bind_interface = bind_interface if bind_interface is not None else ''
26783        '''
26784         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
26785        '''
26786        self.database = database if database is not None else ''
26787        '''
26788         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
26789        '''
26790        self.egress_filter = egress_filter if egress_filter is not None else ''
26791        '''
26792         A filter applied to the routing logic to pin datasource to nodes.
26793        '''
26794        self.healthy = healthy if healthy is not None else False
26795        '''
26796         True if the datasource is reachable and the credentials are valid.
26797        '''
26798        self.hostname = hostname if hostname is not None else ''
26799        '''
26800         The host to dial to initiate a connection from the egress node to this resource.
26801        '''
26802        self.id = id if id is not None else ''
26803        '''
26804         Unique identifier of the Resource.
26805        '''
26806        self.name = name if name is not None else ''
26807        '''
26808         Unique human-readable name of the Resource.
26809        '''
26810        self.override_database = override_database if override_database is not None else False
26811        '''
26812         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
26813        '''
26814        self.port = port if port is not None else 0
26815        '''
26816         The port to dial to initiate a connection from the egress node to this resource.
26817        '''
26818        self.port_override = port_override if port_override is not None else 0
26819        '''
26820         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
26821        '''
26822        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
26823        '''
26824         ID of the proxy cluster for this resource, if any.
26825        '''
26826        self.region = region if region is not None else ''
26827        '''
26828         The AWS region to connect to.
26829        '''
26830        self.role_assumption_arn = role_assumption_arn if role_assumption_arn is not None else ''
26831        '''
26832         If provided, the gateway/relay will try to assume this role instead of the underlying compute's role.
26833        '''
26834        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
26835        '''
26836         ID of the secret store containing credentials for this resource, if any.
26837        '''
26838        self.subdomain = subdomain if subdomain is not None else ''
26839        '''
26840         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
26841        '''
26842        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26843        '''
26844         Tags is a map of key, value pairs.
26845        '''
26846        self.workgroup = workgroup if workgroup is not None else ''
26847        '''
26848         Workgroup name in the serverless Redshift
26849        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

workgroup

Workgroup name in the serverless Redshift

def to_dict(self)
26872    def to_dict(self):
26873        return {
26874            'bind_interface': self.bind_interface,
26875            'database': self.database,
26876            'egress_filter': self.egress_filter,
26877            'healthy': self.healthy,
26878            'hostname': self.hostname,
26879            'id': self.id,
26880            'name': self.name,
26881            'override_database': self.override_database,
26882            'port': self.port,
26883            'port_override': self.port_override,
26884            'proxy_cluster_id': self.proxy_cluster_id,
26885            'region': self.region,
26886            'role_assumption_arn': self.role_assumption_arn,
26887            'secret_store_id': self.secret_store_id,
26888            'subdomain': self.subdomain,
26889            'tags': self.tags,
26890            'workgroup': self.workgroup,
26891        }
@classmethod
def from_dict(cls, d)
26893    @classmethod
26894    def from_dict(cls, d):
26895        return cls(
26896            bind_interface=d.get('bind_interface'),
26897            database=d.get('database'),
26898            egress_filter=d.get('egress_filter'),
26899            healthy=d.get('healthy'),
26900            hostname=d.get('hostname'),
26901            id=d.get('id'),
26902            name=d.get('name'),
26903            override_database=d.get('override_database'),
26904            port=d.get('port'),
26905            port_override=d.get('port_override'),
26906            proxy_cluster_id=d.get('proxy_cluster_id'),
26907            region=d.get('region'),
26908            role_assumption_arn=d.get('role_assumption_arn'),
26909            secret_store_id=d.get('secret_store_id'),
26910            subdomain=d.get('subdomain'),
26911            tags=d.get('tags'),
26912            workgroup=d.get('workgroup'),
26913        )
class Relay:
26916class Relay:
26917    '''
26918         Relay represents a StrongDM CLI installation running in relay mode.
26919    '''
26920    __slots__ = [
26921        'device',
26922        'gateway_filter',
26923        'id',
26924        'location',
26925        'maintenance_windows',
26926        'name',
26927        'state',
26928        'tags',
26929        'version',
26930    ]
26931
26932    def __init__(
26933        self,
26934        device=None,
26935        gateway_filter=None,
26936        id=None,
26937        location=None,
26938        maintenance_windows=None,
26939        name=None,
26940        state=None,
26941        tags=None,
26942        version=None,
26943    ):
26944        self.device = device if device is not None else ''
26945        '''
26946         Device is a read only device name uploaded by the gateway process when
26947         it comes online.
26948        '''
26949        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
26950        '''
26951         GatewayFilter can be used to restrict the peering between relays and
26952         gateways. Deprecated.
26953        '''
26954        self.id = id if id is not None else ''
26955        '''
26956         Unique identifier of the Relay.
26957        '''
26958        self.location = location if location is not None else ''
26959        '''
26960         Location is a read only network location uploaded by the gateway process
26961         when it comes online.
26962        '''
26963        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
26964        '''
26965         Maintenance Windows define when this node is allowed to restart. If a node
26966         is requested to restart, it will check each window to determine if any of
26967         them permit it to restart, and if any do, it will. This check is repeated
26968         per window until the restart is successfully completed.
26969         
26970         If not set here, may be set on the command line or via an environment variable
26971         on the process itself; any server setting will take precedence over local
26972         settings. This setting is ineffective for nodes below version 38.44.0.
26973         
26974         If this setting is not applied via this remote configuration or via local
26975         configuration, the default setting is used: always allow restarts if serving
26976         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
26977        '''
26978        self.name = name if name is not None else ''
26979        '''
26980         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.
26981        '''
26982        self.state = state if state is not None else ''
26983        '''
26984         The current state of the relay, one of the NodeState constants.
26985        '''
26986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26987        '''
26988         Tags is a map of key, value pairs.
26989        '''
26990        self.version = version if version is not None else ''
26991        '''
26992         Version is a read only sdm binary version uploaded by the gateway process
26993         when it comes online.
26994        '''
26995
26996    def __repr__(self):
26997        return '<sdm.Relay ' + \
26998            'device: ' + repr(self.device) + ' ' +\
26999            'gateway_filter: ' + repr(self.gateway_filter) + ' ' +\
27000            'id: ' + repr(self.id) + ' ' +\
27001            'location: ' + repr(self.location) + ' ' +\
27002            'maintenance_windows: ' + repr(self.maintenance_windows) + ' ' +\
27003            'name: ' + repr(self.name) + ' ' +\
27004            'state: ' + repr(self.state) + ' ' +\
27005            'tags: ' + repr(self.tags) + ' ' +\
27006            'version: ' + repr(self.version) + ' ' +\
27007            '>'
27008
27009    def to_dict(self):
27010        return {
27011            'device': self.device,
27012            'gateway_filter': self.gateway_filter,
27013            'id': self.id,
27014            'location': self.location,
27015            'maintenance_windows': self.maintenance_windows,
27016            'name': self.name,
27017            'state': self.state,
27018            'tags': self.tags,
27019            'version': self.version,
27020        }
27021
27022    @classmethod
27023    def from_dict(cls, d):
27024        return cls(
27025            device=d.get('device'),
27026            gateway_filter=d.get('gateway_filter'),
27027            id=d.get('id'),
27028            location=d.get('location'),
27029            maintenance_windows=d.get('maintenance_windows'),
27030            name=d.get('name'),
27031            state=d.get('state'),
27032            tags=d.get('tags'),
27033            version=d.get('version'),
27034        )

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)
26932    def __init__(
26933        self,
26934        device=None,
26935        gateway_filter=None,
26936        id=None,
26937        location=None,
26938        maintenance_windows=None,
26939        name=None,
26940        state=None,
26941        tags=None,
26942        version=None,
26943    ):
26944        self.device = device if device is not None else ''
26945        '''
26946         Device is a read only device name uploaded by the gateway process when
26947         it comes online.
26948        '''
26949        self.gateway_filter = gateway_filter if gateway_filter is not None else ''
26950        '''
26951         GatewayFilter can be used to restrict the peering between relays and
26952         gateways. Deprecated.
26953        '''
26954        self.id = id if id is not None else ''
26955        '''
26956         Unique identifier of the Relay.
26957        '''
26958        self.location = location if location is not None else ''
26959        '''
26960         Location is a read only network location uploaded by the gateway process
26961         when it comes online.
26962        '''
26963        self.maintenance_windows = maintenance_windows if maintenance_windows is not None else []
26964        '''
26965         Maintenance Windows define when this node is allowed to restart. If a node
26966         is requested to restart, it will check each window to determine if any of
26967         them permit it to restart, and if any do, it will. This check is repeated
26968         per window until the restart is successfully completed.
26969         
26970         If not set here, may be set on the command line or via an environment variable
26971         on the process itself; any server setting will take precedence over local
26972         settings. This setting is ineffective for nodes below version 38.44.0.
26973         
26974         If this setting is not applied via this remote configuration or via local
26975         configuration, the default setting is used: always allow restarts if serving
26976         no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
26977        '''
26978        self.name = name if name is not None else ''
26979        '''
26980         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.
26981        '''
26982        self.state = state if state is not None else ''
26983        '''
26984         The current state of the relay, one of the NodeState constants.
26985        '''
26986        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
26987        '''
26988         Tags is a map of key, value pairs.
26989        '''
26990        self.version = version if version is not None else ''
26991        '''
26992         Version is a read only sdm binary version uploaded by the gateway process
26993         when it comes online.
26994        '''
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)
27009    def to_dict(self):
27010        return {
27011            'device': self.device,
27012            'gateway_filter': self.gateway_filter,
27013            'id': self.id,
27014            'location': self.location,
27015            'maintenance_windows': self.maintenance_windows,
27016            'name': self.name,
27017            'state': self.state,
27018            'tags': self.tags,
27019            'version': self.version,
27020        }
@classmethod
def from_dict(cls, d)
27022    @classmethod
27023    def from_dict(cls, d):
27024        return cls(
27025            device=d.get('device'),
27026            gateway_filter=d.get('gateway_filter'),
27027            id=d.get('id'),
27028            location=d.get('location'),
27029            maintenance_windows=d.get('maintenance_windows'),
27030            name=d.get('name'),
27031            state=d.get('state'),
27032            tags=d.get('tags'),
27033            version=d.get('version'),
27034        )
class RemoteIdentity:
27037class RemoteIdentity:
27038    '''
27039         RemoteIdentities define the username to be used for a specific account
27040     when connecting to a remote resource using that group.
27041    '''
27042    __slots__ = [
27043        'account_id',
27044        'id',
27045        'remote_identity_group_id',
27046        'username',
27047    ]
27048
27049    def __init__(
27050        self,
27051        account_id=None,
27052        id=None,
27053        remote_identity_group_id=None,
27054        username=None,
27055    ):
27056        self.account_id = account_id if account_id is not None else ''
27057        '''
27058         The account for this remote identity.
27059        '''
27060        self.id = id if id is not None else ''
27061        '''
27062         Unique identifier of the RemoteIdentity.
27063        '''
27064        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
27065        '''
27066         The remote identity group.
27067        '''
27068        self.username = username if username is not None else ''
27069        '''
27070         The username to be used as the remote identity for this account.
27071        '''
27072
27073    def __repr__(self):
27074        return '<sdm.RemoteIdentity ' + \
27075            'account_id: ' + repr(self.account_id) + ' ' +\
27076            'id: ' + repr(self.id) + ' ' +\
27077            'remote_identity_group_id: ' + repr(self.remote_identity_group_id) + ' ' +\
27078            'username: ' + repr(self.username) + ' ' +\
27079            '>'
27080
27081    def to_dict(self):
27082        return {
27083            'account_id': self.account_id,
27084            'id': self.id,
27085            'remote_identity_group_id': self.remote_identity_group_id,
27086            'username': self.username,
27087        }
27088
27089    @classmethod
27090    def from_dict(cls, d):
27091        return cls(
27092            account_id=d.get('account_id'),
27093            id=d.get('id'),
27094            remote_identity_group_id=d.get('remote_identity_group_id'),
27095            username=d.get('username'),
27096        )

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)
27049    def __init__(
27050        self,
27051        account_id=None,
27052        id=None,
27053        remote_identity_group_id=None,
27054        username=None,
27055    ):
27056        self.account_id = account_id if account_id is not None else ''
27057        '''
27058         The account for this remote identity.
27059        '''
27060        self.id = id if id is not None else ''
27061        '''
27062         Unique identifier of the RemoteIdentity.
27063        '''
27064        self.remote_identity_group_id = remote_identity_group_id if remote_identity_group_id is not None else ''
27065        '''
27066         The remote identity group.
27067        '''
27068        self.username = username if username is not None else ''
27069        '''
27070         The username to be used as the remote identity for this account.
27071        '''
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)
27081    def to_dict(self):
27082        return {
27083            'account_id': self.account_id,
27084            'id': self.id,
27085            'remote_identity_group_id': self.remote_identity_group_id,
27086            'username': self.username,
27087        }
@classmethod
def from_dict(cls, d)
27089    @classmethod
27090    def from_dict(cls, d):
27091        return cls(
27092            account_id=d.get('account_id'),
27093            id=d.get('id'),
27094            remote_identity_group_id=d.get('remote_identity_group_id'),
27095            username=d.get('username'),
27096        )
class RemoteIdentityCreateResponse:
27099class RemoteIdentityCreateResponse:
27100    '''
27101         RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
27102    '''
27103    __slots__ = [
27104        'meta',
27105        'rate_limit',
27106        'remote_identity',
27107    ]
27108
27109    def __init__(
27110        self,
27111        meta=None,
27112        rate_limit=None,
27113        remote_identity=None,
27114    ):
27115        self.meta = meta if meta is not None else None
27116        '''
27117         Reserved for future use.
27118        '''
27119        self.rate_limit = rate_limit if rate_limit is not None else None
27120        '''
27121         Rate limit information.
27122        '''
27123        self.remote_identity = remote_identity if remote_identity is not None else None
27124        '''
27125         The created RemoteIdentity.
27126        '''
27127
27128    def __repr__(self):
27129        return '<sdm.RemoteIdentityCreateResponse ' + \
27130            'meta: ' + repr(self.meta) + ' ' +\
27131            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27132            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27133            '>'
27134
27135    def to_dict(self):
27136        return {
27137            'meta': self.meta,
27138            'rate_limit': self.rate_limit,
27139            'remote_identity': self.remote_identity,
27140        }
27141
27142    @classmethod
27143    def from_dict(cls, d):
27144        return cls(
27145            meta=d.get('meta'),
27146            rate_limit=d.get('rate_limit'),
27147            remote_identity=d.get('remote_identity'),
27148        )

RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.

RemoteIdentityCreateResponse(meta=None, rate_limit=None, remote_identity=None)
27109    def __init__(
27110        self,
27111        meta=None,
27112        rate_limit=None,
27113        remote_identity=None,
27114    ):
27115        self.meta = meta if meta is not None else None
27116        '''
27117         Reserved for future use.
27118        '''
27119        self.rate_limit = rate_limit if rate_limit is not None else None
27120        '''
27121         Rate limit information.
27122        '''
27123        self.remote_identity = remote_identity if remote_identity is not None else None
27124        '''
27125         The created RemoteIdentity.
27126        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The created RemoteIdentity.

def to_dict(self)
27135    def to_dict(self):
27136        return {
27137            'meta': self.meta,
27138            'rate_limit': self.rate_limit,
27139            'remote_identity': self.remote_identity,
27140        }
@classmethod
def from_dict(cls, d)
27142    @classmethod
27143    def from_dict(cls, d):
27144        return cls(
27145            meta=d.get('meta'),
27146            rate_limit=d.get('rate_limit'),
27147            remote_identity=d.get('remote_identity'),
27148        )
class RemoteIdentityDeleteResponse:
27151class RemoteIdentityDeleteResponse:
27152    '''
27153         RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
27154    '''
27155    __slots__ = [
27156        'meta',
27157        'rate_limit',
27158    ]
27159
27160    def __init__(
27161        self,
27162        meta=None,
27163        rate_limit=None,
27164    ):
27165        self.meta = meta if meta is not None else None
27166        '''
27167         Reserved for future use.
27168        '''
27169        self.rate_limit = rate_limit if rate_limit is not None else None
27170        '''
27171         Rate limit information.
27172        '''
27173
27174    def __repr__(self):
27175        return '<sdm.RemoteIdentityDeleteResponse ' + \
27176            'meta: ' + repr(self.meta) + ' ' +\
27177            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27178            '>'
27179
27180    def to_dict(self):
27181        return {
27182            'meta': self.meta,
27183            'rate_limit': self.rate_limit,
27184        }
27185
27186    @classmethod
27187    def from_dict(cls, d):
27188        return cls(
27189            meta=d.get('meta'),
27190            rate_limit=d.get('rate_limit'),
27191        )

RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.

RemoteIdentityDeleteResponse(meta=None, rate_limit=None)
27160    def __init__(
27161        self,
27162        meta=None,
27163        rate_limit=None,
27164    ):
27165        self.meta = meta if meta is not None else None
27166        '''
27167         Reserved for future use.
27168        '''
27169        self.rate_limit = rate_limit if rate_limit is not None else None
27170        '''
27171         Rate limit information.
27172        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
27180    def to_dict(self):
27181        return {
27182            'meta': self.meta,
27183            'rate_limit': self.rate_limit,
27184        }
@classmethod
def from_dict(cls, d)
27186    @classmethod
27187    def from_dict(cls, d):
27188        return cls(
27189            meta=d.get('meta'),
27190            rate_limit=d.get('rate_limit'),
27191        )
class RemoteIdentityGetResponse:
27194class RemoteIdentityGetResponse:
27195    '''
27196         RemoteIdentityGetResponse returns a requested RemoteIdentity.
27197    '''
27198    __slots__ = [
27199        'meta',
27200        'rate_limit',
27201        'remote_identity',
27202    ]
27203
27204    def __init__(
27205        self,
27206        meta=None,
27207        rate_limit=None,
27208        remote_identity=None,
27209    ):
27210        self.meta = meta if meta is not None else None
27211        '''
27212         Reserved for future use.
27213        '''
27214        self.rate_limit = rate_limit if rate_limit is not None else None
27215        '''
27216         Rate limit information.
27217        '''
27218        self.remote_identity = remote_identity if remote_identity is not None else None
27219        '''
27220         The requested RemoteIdentity.
27221        '''
27222
27223    def __repr__(self):
27224        return '<sdm.RemoteIdentityGetResponse ' + \
27225            'meta: ' + repr(self.meta) + ' ' +\
27226            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27227            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27228            '>'
27229
27230    def to_dict(self):
27231        return {
27232            'meta': self.meta,
27233            'rate_limit': self.rate_limit,
27234            'remote_identity': self.remote_identity,
27235        }
27236
27237    @classmethod
27238    def from_dict(cls, d):
27239        return cls(
27240            meta=d.get('meta'),
27241            rate_limit=d.get('rate_limit'),
27242            remote_identity=d.get('remote_identity'),
27243        )

RemoteIdentityGetResponse returns a requested RemoteIdentity.

RemoteIdentityGetResponse(meta=None, rate_limit=None, remote_identity=None)
27204    def __init__(
27205        self,
27206        meta=None,
27207        rate_limit=None,
27208        remote_identity=None,
27209    ):
27210        self.meta = meta if meta is not None else None
27211        '''
27212         Reserved for future use.
27213        '''
27214        self.rate_limit = rate_limit if rate_limit is not None else None
27215        '''
27216         Rate limit information.
27217        '''
27218        self.remote_identity = remote_identity if remote_identity is not None else None
27219        '''
27220         The requested RemoteIdentity.
27221        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The requested RemoteIdentity.

def to_dict(self)
27230    def to_dict(self):
27231        return {
27232            'meta': self.meta,
27233            'rate_limit': self.rate_limit,
27234            'remote_identity': self.remote_identity,
27235        }
@classmethod
def from_dict(cls, d)
27237    @classmethod
27238    def from_dict(cls, d):
27239        return cls(
27240            meta=d.get('meta'),
27241            rate_limit=d.get('rate_limit'),
27242            remote_identity=d.get('remote_identity'),
27243        )
class RemoteIdentityGroup:
27246class RemoteIdentityGroup:
27247    '''
27248         A RemoteIdentityGroup defines a group of remote identities.
27249    '''
27250    __slots__ = [
27251        'id',
27252        'name',
27253    ]
27254
27255    def __init__(
27256        self,
27257        id=None,
27258        name=None,
27259    ):
27260        self.id = id if id is not None else ''
27261        '''
27262         Unique identifier of the RemoteIdentityGroup.
27263        '''
27264        self.name = name if name is not None else ''
27265        '''
27266         Unique human-readable name of the RemoteIdentityGroup.
27267        '''
27268
27269    def __repr__(self):
27270        return '<sdm.RemoteIdentityGroup ' + \
27271            'id: ' + repr(self.id) + ' ' +\
27272            'name: ' + repr(self.name) + ' ' +\
27273            '>'
27274
27275    def to_dict(self):
27276        return {
27277            'id': self.id,
27278            'name': self.name,
27279        }
27280
27281    @classmethod
27282    def from_dict(cls, d):
27283        return cls(
27284            id=d.get('id'),
27285            name=d.get('name'),
27286        )

A RemoteIdentityGroup defines a group of remote identities.

RemoteIdentityGroup(id=None, name=None)
27255    def __init__(
27256        self,
27257        id=None,
27258        name=None,
27259    ):
27260        self.id = id if id is not None else ''
27261        '''
27262         Unique identifier of the RemoteIdentityGroup.
27263        '''
27264        self.name = name if name is not None else ''
27265        '''
27266         Unique human-readable name of the RemoteIdentityGroup.
27267        '''
id

Unique identifier of the RemoteIdentityGroup.

name

Unique human-readable name of the RemoteIdentityGroup.

def to_dict(self)
27275    def to_dict(self):
27276        return {
27277            'id': self.id,
27278            'name': self.name,
27279        }
@classmethod
def from_dict(cls, d)
27281    @classmethod
27282    def from_dict(cls, d):
27283        return cls(
27284            id=d.get('id'),
27285            name=d.get('name'),
27286        )
class RemoteIdentityGroupGetResponse:
27289class RemoteIdentityGroupGetResponse:
27290    '''
27291         RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
27292    '''
27293    __slots__ = [
27294        'meta',
27295        'rate_limit',
27296        'remote_identity_group',
27297    ]
27298
27299    def __init__(
27300        self,
27301        meta=None,
27302        rate_limit=None,
27303        remote_identity_group=None,
27304    ):
27305        self.meta = meta if meta is not None else None
27306        '''
27307         Reserved for future use.
27308        '''
27309        self.rate_limit = rate_limit if rate_limit is not None else None
27310        '''
27311         Rate limit information.
27312        '''
27313        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
27314        '''
27315         The requested RemoteIdentityGroup.
27316        '''
27317
27318    def __repr__(self):
27319        return '<sdm.RemoteIdentityGroupGetResponse ' + \
27320            'meta: ' + repr(self.meta) + ' ' +\
27321            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27322            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
27323            '>'
27324
27325    def to_dict(self):
27326        return {
27327            'meta': self.meta,
27328            'rate_limit': self.rate_limit,
27329            'remote_identity_group': self.remote_identity_group,
27330        }
27331
27332    @classmethod
27333    def from_dict(cls, d):
27334        return cls(
27335            meta=d.get('meta'),
27336            rate_limit=d.get('rate_limit'),
27337            remote_identity_group=d.get('remote_identity_group'),
27338        )

RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.

RemoteIdentityGroupGetResponse(meta=None, rate_limit=None, remote_identity_group=None)
27299    def __init__(
27300        self,
27301        meta=None,
27302        rate_limit=None,
27303        remote_identity_group=None,
27304    ):
27305        self.meta = meta if meta is not None else None
27306        '''
27307         Reserved for future use.
27308        '''
27309        self.rate_limit = rate_limit if rate_limit is not None else None
27310        '''
27311         Rate limit information.
27312        '''
27313        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
27314        '''
27315         The requested RemoteIdentityGroup.
27316        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity_group

The requested RemoteIdentityGroup.

def to_dict(self)
27325    def to_dict(self):
27326        return {
27327            'meta': self.meta,
27328            'rate_limit': self.rate_limit,
27329            'remote_identity_group': self.remote_identity_group,
27330        }
@classmethod
def from_dict(cls, d)
27332    @classmethod
27333    def from_dict(cls, d):
27334        return cls(
27335            meta=d.get('meta'),
27336            rate_limit=d.get('rate_limit'),
27337            remote_identity_group=d.get('remote_identity_group'),
27338        )
class RemoteIdentityGroupHistory:
27341class RemoteIdentityGroupHistory:
27342    '''
27343         RemoteIdentityGroupHistory records the state of a RemoteIdentityGroup at a given point in time,
27344     where every change (create, update and delete) to a RemoteIdentityGroup produces an
27345     RemoteIdentityGroupHistory record.
27346    '''
27347    __slots__ = [
27348        'activity_id',
27349        'deleted_at',
27350        'remote_identity_group',
27351        'timestamp',
27352    ]
27353
27354    def __init__(
27355        self,
27356        activity_id=None,
27357        deleted_at=None,
27358        remote_identity_group=None,
27359        timestamp=None,
27360    ):
27361        self.activity_id = activity_id if activity_id is not None else ''
27362        '''
27363         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
27364         May be empty for some system-initiated updates.
27365        '''
27366        self.deleted_at = deleted_at if deleted_at is not None else None
27367        '''
27368         If this RemoteIdentityGroup was deleted, the time it was deleted.
27369        '''
27370        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
27371        '''
27372         The complete RemoteIdentityGroup state at this time.
27373        '''
27374        self.timestamp = timestamp if timestamp is not None else None
27375        '''
27376         The time at which the RemoteIdentityGroup state was recorded.
27377        '''
27378
27379    def __repr__(self):
27380        return '<sdm.RemoteIdentityGroupHistory ' + \
27381            'activity_id: ' + repr(self.activity_id) + ' ' +\
27382            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
27383            'remote_identity_group: ' + repr(self.remote_identity_group) + ' ' +\
27384            'timestamp: ' + repr(self.timestamp) + ' ' +\
27385            '>'
27386
27387    def to_dict(self):
27388        return {
27389            'activity_id': self.activity_id,
27390            'deleted_at': self.deleted_at,
27391            'remote_identity_group': self.remote_identity_group,
27392            'timestamp': self.timestamp,
27393        }
27394
27395    @classmethod
27396    def from_dict(cls, d):
27397        return cls(
27398            activity_id=d.get('activity_id'),
27399            deleted_at=d.get('deleted_at'),
27400            remote_identity_group=d.get('remote_identity_group'),
27401            timestamp=d.get('timestamp'),
27402        )

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)
27354    def __init__(
27355        self,
27356        activity_id=None,
27357        deleted_at=None,
27358        remote_identity_group=None,
27359        timestamp=None,
27360    ):
27361        self.activity_id = activity_id if activity_id is not None else ''
27362        '''
27363         The unique identifier of the Activity that produced this change to the RemoteIdentityGroup.
27364         May be empty for some system-initiated updates.
27365        '''
27366        self.deleted_at = deleted_at if deleted_at is not None else None
27367        '''
27368         If this RemoteIdentityGroup was deleted, the time it was deleted.
27369        '''
27370        self.remote_identity_group = remote_identity_group if remote_identity_group is not None else None
27371        '''
27372         The complete RemoteIdentityGroup state at this time.
27373        '''
27374        self.timestamp = timestamp if timestamp is not None else None
27375        '''
27376         The time at which the RemoteIdentityGroup state was recorded.
27377        '''
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)
27387    def to_dict(self):
27388        return {
27389            'activity_id': self.activity_id,
27390            'deleted_at': self.deleted_at,
27391            'remote_identity_group': self.remote_identity_group,
27392            'timestamp': self.timestamp,
27393        }
@classmethod
def from_dict(cls, d)
27395    @classmethod
27396    def from_dict(cls, d):
27397        return cls(
27398            activity_id=d.get('activity_id'),
27399            deleted_at=d.get('deleted_at'),
27400            remote_identity_group=d.get('remote_identity_group'),
27401            timestamp=d.get('timestamp'),
27402        )
class RemoteIdentityHistory:
27405class RemoteIdentityHistory:
27406    '''
27407         RemoteIdentityHistory records the state of a RemoteIdentity at a given point in time,
27408     where every change (create, update and delete) to a RemoteIdentity produces an
27409     RemoteIdentityHistory record.
27410    '''
27411    __slots__ = [
27412        'activity_id',
27413        'deleted_at',
27414        'remote_identity',
27415        'timestamp',
27416    ]
27417
27418    def __init__(
27419        self,
27420        activity_id=None,
27421        deleted_at=None,
27422        remote_identity=None,
27423        timestamp=None,
27424    ):
27425        self.activity_id = activity_id if activity_id is not None else ''
27426        '''
27427         The unique identifier of the Activity that produced this change to the RemoteIdentity.
27428         May be empty for some system-initiated updates.
27429        '''
27430        self.deleted_at = deleted_at if deleted_at is not None else None
27431        '''
27432         If this RemoteIdentity was deleted, the time it was deleted.
27433        '''
27434        self.remote_identity = remote_identity if remote_identity is not None else None
27435        '''
27436         The complete RemoteIdentity state at this time.
27437        '''
27438        self.timestamp = timestamp if timestamp is not None else None
27439        '''
27440         The time at which the RemoteIdentity state was recorded.
27441        '''
27442
27443    def __repr__(self):
27444        return '<sdm.RemoteIdentityHistory ' + \
27445            'activity_id: ' + repr(self.activity_id) + ' ' +\
27446            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
27447            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27448            'timestamp: ' + repr(self.timestamp) + ' ' +\
27449            '>'
27450
27451    def to_dict(self):
27452        return {
27453            'activity_id': self.activity_id,
27454            'deleted_at': self.deleted_at,
27455            'remote_identity': self.remote_identity,
27456            'timestamp': self.timestamp,
27457        }
27458
27459    @classmethod
27460    def from_dict(cls, d):
27461        return cls(
27462            activity_id=d.get('activity_id'),
27463            deleted_at=d.get('deleted_at'),
27464            remote_identity=d.get('remote_identity'),
27465            timestamp=d.get('timestamp'),
27466        )

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)
27418    def __init__(
27419        self,
27420        activity_id=None,
27421        deleted_at=None,
27422        remote_identity=None,
27423        timestamp=None,
27424    ):
27425        self.activity_id = activity_id if activity_id is not None else ''
27426        '''
27427         The unique identifier of the Activity that produced this change to the RemoteIdentity.
27428         May be empty for some system-initiated updates.
27429        '''
27430        self.deleted_at = deleted_at if deleted_at is not None else None
27431        '''
27432         If this RemoteIdentity was deleted, the time it was deleted.
27433        '''
27434        self.remote_identity = remote_identity if remote_identity is not None else None
27435        '''
27436         The complete RemoteIdentity state at this time.
27437        '''
27438        self.timestamp = timestamp if timestamp is not None else None
27439        '''
27440         The time at which the RemoteIdentity state was recorded.
27441        '''
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)
27451    def to_dict(self):
27452        return {
27453            'activity_id': self.activity_id,
27454            'deleted_at': self.deleted_at,
27455            'remote_identity': self.remote_identity,
27456            'timestamp': self.timestamp,
27457        }
@classmethod
def from_dict(cls, d)
27459    @classmethod
27460    def from_dict(cls, d):
27461        return cls(
27462            activity_id=d.get('activity_id'),
27463            deleted_at=d.get('deleted_at'),
27464            remote_identity=d.get('remote_identity'),
27465            timestamp=d.get('timestamp'),
27466        )
class RemoteIdentityUpdateResponse:
27469class RemoteIdentityUpdateResponse:
27470    '''
27471         RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
27472     a RemoteIdentityUpdateRequest.
27473    '''
27474    __slots__ = [
27475        'meta',
27476        'rate_limit',
27477        'remote_identity',
27478    ]
27479
27480    def __init__(
27481        self,
27482        meta=None,
27483        rate_limit=None,
27484        remote_identity=None,
27485    ):
27486        self.meta = meta if meta is not None else None
27487        '''
27488         Reserved for future use.
27489        '''
27490        self.rate_limit = rate_limit if rate_limit is not None else None
27491        '''
27492         Rate limit information.
27493        '''
27494        self.remote_identity = remote_identity if remote_identity is not None else None
27495        '''
27496         The updated RemoteIdentity.
27497        '''
27498
27499    def __repr__(self):
27500        return '<sdm.RemoteIdentityUpdateResponse ' + \
27501            'meta: ' + repr(self.meta) + ' ' +\
27502            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27503            'remote_identity: ' + repr(self.remote_identity) + ' ' +\
27504            '>'
27505
27506    def to_dict(self):
27507        return {
27508            'meta': self.meta,
27509            'rate_limit': self.rate_limit,
27510            'remote_identity': self.remote_identity,
27511        }
27512
27513    @classmethod
27514    def from_dict(cls, d):
27515        return cls(
27516            meta=d.get('meta'),
27517            rate_limit=d.get('rate_limit'),
27518            remote_identity=d.get('remote_identity'),
27519        )

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

RemoteIdentityUpdateResponse(meta=None, rate_limit=None, remote_identity=None)
27480    def __init__(
27481        self,
27482        meta=None,
27483        rate_limit=None,
27484        remote_identity=None,
27485    ):
27486        self.meta = meta if meta is not None else None
27487        '''
27488         Reserved for future use.
27489        '''
27490        self.rate_limit = rate_limit if rate_limit is not None else None
27491        '''
27492         Rate limit information.
27493        '''
27494        self.remote_identity = remote_identity if remote_identity is not None else None
27495        '''
27496         The updated RemoteIdentity.
27497        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

remote_identity

The updated RemoteIdentity.

def to_dict(self)
27506    def to_dict(self):
27507        return {
27508            'meta': self.meta,
27509            'rate_limit': self.rate_limit,
27510            'remote_identity': self.remote_identity,
27511        }
@classmethod
def from_dict(cls, d)
27513    @classmethod
27514    def from_dict(cls, d):
27515        return cls(
27516            meta=d.get('meta'),
27517            rate_limit=d.get('rate_limit'),
27518            remote_identity=d.get('remote_identity'),
27519        )
class ReplayChunk:
27522class ReplayChunk:
27523    '''
27524         A ReplayChunk represents a single "chunk" of data from the query replay.
27525    '''
27526    __slots__ = [
27527        'data',
27528        'events',
27529        'symmetric_key',
27530    ]
27531
27532    def __init__(
27533        self,
27534        data=None,
27535        events=None,
27536        symmetric_key=None,
27537    ):
27538        self.data = data if data is not None else b''
27539        '''
27540         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
27541        '''
27542        self.events = events if events is not None else []
27543        '''
27544         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
27545         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
27546        '''
27547        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
27548        '''
27549         If the data is encrypted, this contains the encrypted symmetric key
27550        '''
27551
27552    def __repr__(self):
27553        return '<sdm.ReplayChunk ' + \
27554            'data: ' + repr(self.data) + ' ' +\
27555            'events: ' + repr(self.events) + ' ' +\
27556            'symmetric_key: ' + repr(self.symmetric_key) + ' ' +\
27557            '>'
27558
27559    def to_dict(self):
27560        return {
27561            'data': self.data,
27562            'events': self.events,
27563            'symmetric_key': self.symmetric_key,
27564        }
27565
27566    @classmethod
27567    def from_dict(cls, d):
27568        return cls(
27569            data=d.get('data'),
27570            events=d.get('events'),
27571            symmetric_key=d.get('symmetric_key'),
27572        )

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

ReplayChunk(data=None, events=None, symmetric_key=None)
27532    def __init__(
27533        self,
27534        data=None,
27535        events=None,
27536        symmetric_key=None,
27537    ):
27538        self.data = data if data is not None else b''
27539        '''
27540         The raw data of the ReplayChunk. The data is encrypted if the associated Query is encrypted.
27541        '''
27542        self.events = events if events is not None else []
27543        '''
27544         The list of events of the ReplayChunk. If the Query is encrypted, this field is always empty
27545         and the events can be obtained by decrypting the data using the QueryKey returned with the Query.
27546        '''
27547        self.symmetric_key = symmetric_key if symmetric_key is not None else ''
27548        '''
27549         If the data is encrypted, this contains the encrypted symmetric key
27550        '''
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)
27559    def to_dict(self):
27560        return {
27561            'data': self.data,
27562            'events': self.events,
27563            'symmetric_key': self.symmetric_key,
27564        }
@classmethod
def from_dict(cls, d)
27566    @classmethod
27567    def from_dict(cls, d):
27568        return cls(
27569            data=d.get('data'),
27570            events=d.get('events'),
27571            symmetric_key=d.get('symmetric_key'),
27572        )
class ReplayChunkEvent:
27575class ReplayChunkEvent:
27576    '''
27577         A ReplayChunkEvent represents a single event within a query replay.
27578     The timing information included in each ReplayChunkEvent may be used to replay a session in real time.
27579    '''
27580    __slots__ = [
27581        'data',
27582        'duration',
27583    ]
27584
27585    def __init__(
27586        self,
27587        data=None,
27588        duration=None,
27589    ):
27590        self.data = data if data is not None else b''
27591        '''
27592         The raw data of the ReplayChunkEvent.
27593        '''
27594        self.duration = duration if duration is not None else None
27595        '''
27596         The time duration over which the data in this ReplayChunkEvent was transferred.
27597        '''
27598
27599    def __repr__(self):
27600        return '<sdm.ReplayChunkEvent ' + \
27601            'data: ' + repr(self.data) + ' ' +\
27602            'duration: ' + repr(self.duration) + ' ' +\
27603            '>'
27604
27605    def to_dict(self):
27606        return {
27607            'data': self.data,
27608            'duration': self.duration,
27609        }
27610
27611    @classmethod
27612    def from_dict(cls, d):
27613        return cls(
27614            data=d.get('data'),
27615            duration=d.get('duration'),
27616        )

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)
27585    def __init__(
27586        self,
27587        data=None,
27588        duration=None,
27589    ):
27590        self.data = data if data is not None else b''
27591        '''
27592         The raw data of the ReplayChunkEvent.
27593        '''
27594        self.duration = duration if duration is not None else None
27595        '''
27596         The time duration over which the data in this ReplayChunkEvent was transferred.
27597        '''
data

The raw data of the ReplayChunkEvent.

duration

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

def to_dict(self)
27605    def to_dict(self):
27606        return {
27607            'data': self.data,
27608            'duration': self.duration,
27609        }
@classmethod
def from_dict(cls, d)
27611    @classmethod
27612    def from_dict(cls, d):
27613        return cls(
27614            data=d.get('data'),
27615            duration=d.get('duration'),
27616        )
class RequestableResource:
27619class RequestableResource:
27620    '''
27621         RequestableResource is a resource that can be requested via an AccessRequestConfig
27622    '''
27623    __slots__ = [
27624        'access',
27625        'authentication',
27626        'healthy',
27627        'id',
27628        'name',
27629        'tags',
27630        'type',
27631    ]
27632
27633    def __init__(
27634        self,
27635        access=None,
27636        authentication=None,
27637        healthy=None,
27638        id=None,
27639        name=None,
27640        tags=None,
27641        type=None,
27642    ):
27643        self.access = access if access is not None else ''
27644        '''
27645         The current state of the user's access to the resources
27646        '''
27647        self.authentication = authentication if authentication is not None else ''
27648        '''
27649         The type of authentication for the resource
27650        '''
27651        self.healthy = healthy if healthy is not None else False
27652        '''
27653         The health check status of the reasource
27654        '''
27655        self.id = id if id is not None else ''
27656        '''
27657         The resource id.
27658        '''
27659        self.name = name if name is not None else ''
27660        '''
27661         The resource name.
27662        '''
27663        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27664        '''
27665         Any tags attached to this resource
27666        '''
27667        self.type = type if type is not None else ''
27668        '''
27669         The resource type
27670        '''
27671
27672    def __repr__(self):
27673        return '<sdm.RequestableResource ' + \
27674            'access: ' + repr(self.access) + ' ' +\
27675            'authentication: ' + repr(self.authentication) + ' ' +\
27676            'healthy: ' + repr(self.healthy) + ' ' +\
27677            'id: ' + repr(self.id) + ' ' +\
27678            'name: ' + repr(self.name) + ' ' +\
27679            'tags: ' + repr(self.tags) + ' ' +\
27680            'type: ' + repr(self.type) + ' ' +\
27681            '>'
27682
27683    def to_dict(self):
27684        return {
27685            'access': self.access,
27686            'authentication': self.authentication,
27687            'healthy': self.healthy,
27688            'id': self.id,
27689            'name': self.name,
27690            'tags': self.tags,
27691            'type': self.type,
27692        }
27693
27694    @classmethod
27695    def from_dict(cls, d):
27696        return cls(
27697            access=d.get('access'),
27698            authentication=d.get('authentication'),
27699            healthy=d.get('healthy'),
27700            id=d.get('id'),
27701            name=d.get('name'),
27702            tags=d.get('tags'),
27703            type=d.get('type'),
27704        )

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)
27633    def __init__(
27634        self,
27635        access=None,
27636        authentication=None,
27637        healthy=None,
27638        id=None,
27639        name=None,
27640        tags=None,
27641        type=None,
27642    ):
27643        self.access = access if access is not None else ''
27644        '''
27645         The current state of the user's access to the resources
27646        '''
27647        self.authentication = authentication if authentication is not None else ''
27648        '''
27649         The type of authentication for the resource
27650        '''
27651        self.healthy = healthy if healthy is not None else False
27652        '''
27653         The health check status of the reasource
27654        '''
27655        self.id = id if id is not None else ''
27656        '''
27657         The resource id.
27658        '''
27659        self.name = name if name is not None else ''
27660        '''
27661         The resource name.
27662        '''
27663        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
27664        '''
27665         Any tags attached to this resource
27666        '''
27667        self.type = type if type is not None else ''
27668        '''
27669         The resource type
27670        '''
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)
27683    def to_dict(self):
27684        return {
27685            'access': self.access,
27686            'authentication': self.authentication,
27687            'healthy': self.healthy,
27688            'id': self.id,
27689            'name': self.name,
27690            'tags': self.tags,
27691            'type': self.type,
27692        }
@classmethod
def from_dict(cls, d)
27694    @classmethod
27695    def from_dict(cls, d):
27696        return cls(
27697            access=d.get('access'),
27698            authentication=d.get('authentication'),
27699            healthy=d.get('healthy'),
27700            id=d.get('id'),
27701            name=d.get('name'),
27702            tags=d.get('tags'),
27703            type=d.get('type'),
27704        )
class ResourceCreateResponse:
27707class ResourceCreateResponse:
27708    '''
27709         ResourceCreateResponse reports how the Resources were created in the system.
27710    '''
27711    __slots__ = [
27712        'meta',
27713        'rate_limit',
27714        'resource',
27715    ]
27716
27717    def __init__(
27718        self,
27719        meta=None,
27720        rate_limit=None,
27721        resource=None,
27722    ):
27723        self.meta = meta if meta is not None else None
27724        '''
27725         Reserved for future use.
27726        '''
27727        self.rate_limit = rate_limit if rate_limit is not None else None
27728        '''
27729         Rate limit information.
27730        '''
27731        self.resource = resource if resource is not None else None
27732        '''
27733         The created Resource.
27734        '''
27735
27736    def __repr__(self):
27737        return '<sdm.ResourceCreateResponse ' + \
27738            'meta: ' + repr(self.meta) + ' ' +\
27739            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27740            'resource: ' + repr(self.resource) + ' ' +\
27741            '>'
27742
27743    def to_dict(self):
27744        return {
27745            'meta': self.meta,
27746            'rate_limit': self.rate_limit,
27747            'resource': self.resource,
27748        }
27749
27750    @classmethod
27751    def from_dict(cls, d):
27752        return cls(
27753            meta=d.get('meta'),
27754            rate_limit=d.get('rate_limit'),
27755            resource=d.get('resource'),
27756        )

ResourceCreateResponse reports how the Resources were created in the system.

ResourceCreateResponse(meta=None, rate_limit=None, resource=None)
27717    def __init__(
27718        self,
27719        meta=None,
27720        rate_limit=None,
27721        resource=None,
27722    ):
27723        self.meta = meta if meta is not None else None
27724        '''
27725         Reserved for future use.
27726        '''
27727        self.rate_limit = rate_limit if rate_limit is not None else None
27728        '''
27729         Rate limit information.
27730        '''
27731        self.resource = resource if resource is not None else None
27732        '''
27733         The created Resource.
27734        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The created Resource.

def to_dict(self)
27743    def to_dict(self):
27744        return {
27745            'meta': self.meta,
27746            'rate_limit': self.rate_limit,
27747            'resource': self.resource,
27748        }
@classmethod
def from_dict(cls, d)
27750    @classmethod
27751    def from_dict(cls, d):
27752        return cls(
27753            meta=d.get('meta'),
27754            rate_limit=d.get('rate_limit'),
27755            resource=d.get('resource'),
27756        )
class ResourceDeleteResponse:
27759class ResourceDeleteResponse:
27760    '''
27761         ResourceDeleteResponse returns information about a Resource that was deleted.
27762    '''
27763    __slots__ = [
27764        'meta',
27765        'rate_limit',
27766    ]
27767
27768    def __init__(
27769        self,
27770        meta=None,
27771        rate_limit=None,
27772    ):
27773        self.meta = meta if meta is not None else None
27774        '''
27775         Reserved for future use.
27776        '''
27777        self.rate_limit = rate_limit if rate_limit is not None else None
27778        '''
27779         Rate limit information.
27780        '''
27781
27782    def __repr__(self):
27783        return '<sdm.ResourceDeleteResponse ' + \
27784            'meta: ' + repr(self.meta) + ' ' +\
27785            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27786            '>'
27787
27788    def to_dict(self):
27789        return {
27790            'meta': self.meta,
27791            'rate_limit': self.rate_limit,
27792        }
27793
27794    @classmethod
27795    def from_dict(cls, d):
27796        return cls(
27797            meta=d.get('meta'),
27798            rate_limit=d.get('rate_limit'),
27799        )

ResourceDeleteResponse returns information about a Resource that was deleted.

ResourceDeleteResponse(meta=None, rate_limit=None)
27768    def __init__(
27769        self,
27770        meta=None,
27771        rate_limit=None,
27772    ):
27773        self.meta = meta if meta is not None else None
27774        '''
27775         Reserved for future use.
27776        '''
27777        self.rate_limit = rate_limit if rate_limit is not None else None
27778        '''
27779         Rate limit information.
27780        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
27788    def to_dict(self):
27789        return {
27790            'meta': self.meta,
27791            'rate_limit': self.rate_limit,
27792        }
@classmethod
def from_dict(cls, d)
27794    @classmethod
27795    def from_dict(cls, d):
27796        return cls(
27797            meta=d.get('meta'),
27798            rate_limit=d.get('rate_limit'),
27799        )
class ResourceGetResponse:
27802class ResourceGetResponse:
27803    '''
27804         ResourceGetResponse returns a requested Resource.
27805    '''
27806    __slots__ = [
27807        'meta',
27808        'rate_limit',
27809        'resource',
27810    ]
27811
27812    def __init__(
27813        self,
27814        meta=None,
27815        rate_limit=None,
27816        resource=None,
27817    ):
27818        self.meta = meta if meta is not None else None
27819        '''
27820         Reserved for future use.
27821        '''
27822        self.rate_limit = rate_limit if rate_limit is not None else None
27823        '''
27824         Rate limit information.
27825        '''
27826        self.resource = resource if resource is not None else None
27827        '''
27828         The requested Resource.
27829        '''
27830
27831    def __repr__(self):
27832        return '<sdm.ResourceGetResponse ' + \
27833            'meta: ' + repr(self.meta) + ' ' +\
27834            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27835            'resource: ' + repr(self.resource) + ' ' +\
27836            '>'
27837
27838    def to_dict(self):
27839        return {
27840            'meta': self.meta,
27841            'rate_limit': self.rate_limit,
27842            'resource': self.resource,
27843        }
27844
27845    @classmethod
27846    def from_dict(cls, d):
27847        return cls(
27848            meta=d.get('meta'),
27849            rate_limit=d.get('rate_limit'),
27850            resource=d.get('resource'),
27851        )

ResourceGetResponse returns a requested Resource.

ResourceGetResponse(meta=None, rate_limit=None, resource=None)
27812    def __init__(
27813        self,
27814        meta=None,
27815        rate_limit=None,
27816        resource=None,
27817    ):
27818        self.meta = meta if meta is not None else None
27819        '''
27820         Reserved for future use.
27821        '''
27822        self.rate_limit = rate_limit if rate_limit is not None else None
27823        '''
27824         Rate limit information.
27825        '''
27826        self.resource = resource if resource is not None else None
27827        '''
27828         The requested Resource.
27829        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The requested Resource.

def to_dict(self)
27838    def to_dict(self):
27839        return {
27840            'meta': self.meta,
27841            'rate_limit': self.rate_limit,
27842            'resource': self.resource,
27843        }
@classmethod
def from_dict(cls, d)
27845    @classmethod
27846    def from_dict(cls, d):
27847        return cls(
27848            meta=d.get('meta'),
27849            rate_limit=d.get('rate_limit'),
27850            resource=d.get('resource'),
27851        )
class ResourceHealthcheckRequest:
27854class ResourceHealthcheckRequest:
27855    '''
27856         ResourceHealthcheckRequest specifies requesting a healthcheck for a given resource by ID.
27857    '''
27858    __slots__ = [
27859        'id',
27860    ]
27861
27862    def __init__(
27863        self,
27864        id=None,
27865    ):
27866        self.id = id if id is not None else ''
27867        '''
27868         The unique identifier of the Resource to healthcheck.
27869        '''
27870
27871    def __repr__(self):
27872        return '<sdm.ResourceHealthcheckRequest ' + \
27873            'id: ' + repr(self.id) + ' ' +\
27874            '>'
27875
27876    def to_dict(self):
27877        return {
27878            'id': self.id,
27879        }
27880
27881    @classmethod
27882    def from_dict(cls, d):
27883        return cls(id=d.get('id'), )

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

ResourceHealthcheckRequest(id=None)
27862    def __init__(
27863        self,
27864        id=None,
27865    ):
27866        self.id = id if id is not None else ''
27867        '''
27868         The unique identifier of the Resource to healthcheck.
27869        '''
id

The unique identifier of the Resource to healthcheck.

def to_dict(self)
27876    def to_dict(self):
27877        return {
27878            'id': self.id,
27879        }
@classmethod
def from_dict(cls, d)
27881    @classmethod
27882    def from_dict(cls, d):
27883        return cls(id=d.get('id'), )
class ResourceHealthcheckResponse:
27886class ResourceHealthcheckResponse:
27887    '''
27888         ResourceHealthcheckResponse reports any metadata concerning a healthcheck response.
27889     Healthchecks are non blocking, and this contains no non-metadata.
27890    '''
27891    __slots__ = [
27892        'meta',
27893        'rate_limit',
27894    ]
27895
27896    def __init__(
27897        self,
27898        meta=None,
27899        rate_limit=None,
27900    ):
27901        self.meta = meta if meta is not None else None
27902        '''
27903         Reserved for future use.
27904        '''
27905        self.rate_limit = rate_limit if rate_limit is not None else None
27906        '''
27907         Rate limit information.
27908        '''
27909
27910    def __repr__(self):
27911        return '<sdm.ResourceHealthcheckResponse ' + \
27912            'meta: ' + repr(self.meta) + ' ' +\
27913            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
27914            '>'
27915
27916    def to_dict(self):
27917        return {
27918            'meta': self.meta,
27919            'rate_limit': self.rate_limit,
27920        }
27921
27922    @classmethod
27923    def from_dict(cls, d):
27924        return cls(
27925            meta=d.get('meta'),
27926            rate_limit=d.get('rate_limit'),
27927        )

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

ResourceHealthcheckResponse(meta=None, rate_limit=None)
27896    def __init__(
27897        self,
27898        meta=None,
27899        rate_limit=None,
27900    ):
27901        self.meta = meta if meta is not None else None
27902        '''
27903         Reserved for future use.
27904        '''
27905        self.rate_limit = rate_limit if rate_limit is not None else None
27906        '''
27907         Rate limit information.
27908        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
27916    def to_dict(self):
27917        return {
27918            'meta': self.meta,
27919            'rate_limit': self.rate_limit,
27920        }
@classmethod
def from_dict(cls, d)
27922    @classmethod
27923    def from_dict(cls, d):
27924        return cls(
27925            meta=d.get('meta'),
27926            rate_limit=d.get('rate_limit'),
27927        )
class ResourceHistory:
27930class ResourceHistory:
27931    '''
27932         ResourceHistory records the state of a Resource at a given point in time,
27933     where every change (create, update and delete) to a Resource produces an
27934     ResourceHistory record.
27935    '''
27936    __slots__ = [
27937        'activity_id',
27938        'deleted_at',
27939        'resource',
27940        'timestamp',
27941    ]
27942
27943    def __init__(
27944        self,
27945        activity_id=None,
27946        deleted_at=None,
27947        resource=None,
27948        timestamp=None,
27949    ):
27950        self.activity_id = activity_id if activity_id is not None else ''
27951        '''
27952         The unique identifier of the Activity that produced this change to the Resource.
27953         May be empty for some system-initiated updates.
27954        '''
27955        self.deleted_at = deleted_at if deleted_at is not None else None
27956        '''
27957         If this Resource was deleted, the time it was deleted.
27958        '''
27959        self.resource = resource if resource is not None else None
27960        '''
27961         The complete Resource state at this time.
27962        '''
27963        self.timestamp = timestamp if timestamp is not None else None
27964        '''
27965         The time at which the Resource state was recorded.
27966        '''
27967
27968    def __repr__(self):
27969        return '<sdm.ResourceHistory ' + \
27970            'activity_id: ' + repr(self.activity_id) + ' ' +\
27971            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
27972            'resource: ' + repr(self.resource) + ' ' +\
27973            'timestamp: ' + repr(self.timestamp) + ' ' +\
27974            '>'
27975
27976    def to_dict(self):
27977        return {
27978            'activity_id': self.activity_id,
27979            'deleted_at': self.deleted_at,
27980            'resource': self.resource,
27981            'timestamp': self.timestamp,
27982        }
27983
27984    @classmethod
27985    def from_dict(cls, d):
27986        return cls(
27987            activity_id=d.get('activity_id'),
27988            deleted_at=d.get('deleted_at'),
27989            resource=d.get('resource'),
27990            timestamp=d.get('timestamp'),
27991        )

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)
27943    def __init__(
27944        self,
27945        activity_id=None,
27946        deleted_at=None,
27947        resource=None,
27948        timestamp=None,
27949    ):
27950        self.activity_id = activity_id if activity_id is not None else ''
27951        '''
27952         The unique identifier of the Activity that produced this change to the Resource.
27953         May be empty for some system-initiated updates.
27954        '''
27955        self.deleted_at = deleted_at if deleted_at is not None else None
27956        '''
27957         If this Resource was deleted, the time it was deleted.
27958        '''
27959        self.resource = resource if resource is not None else None
27960        '''
27961         The complete Resource state at this time.
27962        '''
27963        self.timestamp = timestamp if timestamp is not None else None
27964        '''
27965         The time at which the Resource state was recorded.
27966        '''
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)
27976    def to_dict(self):
27977        return {
27978            'activity_id': self.activity_id,
27979            'deleted_at': self.deleted_at,
27980            'resource': self.resource,
27981            'timestamp': self.timestamp,
27982        }
@classmethod
def from_dict(cls, d)
27984    @classmethod
27985    def from_dict(cls, d):
27986        return cls(
27987            activity_id=d.get('activity_id'),
27988            deleted_at=d.get('deleted_at'),
27989            resource=d.get('resource'),
27990            timestamp=d.get('timestamp'),
27991        )
class ResourceUpdateResponse:
27994class ResourceUpdateResponse:
27995    '''
27996         ResourceUpdateResponse returns the fields of a Resource after it has been updated by
27997     a ResourceUpdateRequest.
27998    '''
27999    __slots__ = [
28000        'meta',
28001        'rate_limit',
28002        'resource',
28003    ]
28004
28005    def __init__(
28006        self,
28007        meta=None,
28008        rate_limit=None,
28009        resource=None,
28010    ):
28011        self.meta = meta if meta is not None else None
28012        '''
28013         Reserved for future use.
28014        '''
28015        self.rate_limit = rate_limit if rate_limit is not None else None
28016        '''
28017         Rate limit information.
28018        '''
28019        self.resource = resource if resource is not None else None
28020        '''
28021         The updated Resource.
28022        '''
28023
28024    def __repr__(self):
28025        return '<sdm.ResourceUpdateResponse ' + \
28026            'meta: ' + repr(self.meta) + ' ' +\
28027            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28028            'resource: ' + repr(self.resource) + ' ' +\
28029            '>'
28030
28031    def to_dict(self):
28032        return {
28033            'meta': self.meta,
28034            'rate_limit': self.rate_limit,
28035            'resource': self.resource,
28036        }
28037
28038    @classmethod
28039    def from_dict(cls, d):
28040        return cls(
28041            meta=d.get('meta'),
28042            rate_limit=d.get('rate_limit'),
28043            resource=d.get('resource'),
28044        )

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

ResourceUpdateResponse(meta=None, rate_limit=None, resource=None)
28005    def __init__(
28006        self,
28007        meta=None,
28008        rate_limit=None,
28009        resource=None,
28010    ):
28011        self.meta = meta if meta is not None else None
28012        '''
28013         Reserved for future use.
28014        '''
28015        self.rate_limit = rate_limit if rate_limit is not None else None
28016        '''
28017         Rate limit information.
28018        '''
28019        self.resource = resource if resource is not None else None
28020        '''
28021         The updated Resource.
28022        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

resource

The updated Resource.

def to_dict(self)
28031    def to_dict(self):
28032        return {
28033            'meta': self.meta,
28034            'rate_limit': self.rate_limit,
28035            'resource': self.resource,
28036        }
@classmethod
def from_dict(cls, d)
28038    @classmethod
28039    def from_dict(cls, d):
28040        return cls(
28041            meta=d.get('meta'),
28042            rate_limit=d.get('rate_limit'),
28043            resource=d.get('resource'),
28044        )
class Role:
28047class Role:
28048    '''
28049         A Role has a list of access rules which determine which Resources the members
28050     of the Role have access to. An Account can be a member of multiple Roles via
28051     AccountAttachments.
28052    '''
28053    __slots__ = [
28054        'access_rules',
28055        'id',
28056        'managed_by',
28057        'name',
28058        'tags',
28059    ]
28060
28061    def __init__(
28062        self,
28063        access_rules=None,
28064        id=None,
28065        managed_by=None,
28066        name=None,
28067        tags=None,
28068    ):
28069        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
28070        )
28071        '''
28072         AccessRules is a list of access rules defining the resources this Role has access to.
28073        '''
28074        self.id = id if id is not None else ''
28075        '''
28076         Unique identifier of the Role.
28077        '''
28078        self.managed_by = managed_by if managed_by is not None else ''
28079        '''
28080         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
28081        '''
28082        self.name = name if name is not None else ''
28083        '''
28084         Unique human-readable name of the Role.
28085        '''
28086        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28087        '''
28088         Tags is a map of key, value pairs.
28089        '''
28090
28091    def __repr__(self):
28092        return '<sdm.Role ' + \
28093            'access_rules: ' + repr(self.access_rules) + ' ' +\
28094            'id: ' + repr(self.id) + ' ' +\
28095            'managed_by: ' + repr(self.managed_by) + ' ' +\
28096            'name: ' + repr(self.name) + ' ' +\
28097            'tags: ' + repr(self.tags) + ' ' +\
28098            '>'
28099
28100    def to_dict(self):
28101        return {
28102            'access_rules': self.access_rules,
28103            'id': self.id,
28104            'managed_by': self.managed_by,
28105            'name': self.name,
28106            'tags': self.tags,
28107        }
28108
28109    @classmethod
28110    def from_dict(cls, d):
28111        return cls(
28112            access_rules=d.get('access_rules'),
28113            id=d.get('id'),
28114            managed_by=d.get('managed_by'),
28115            name=d.get('name'),
28116            tags=d.get('tags'),
28117        )

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)
28061    def __init__(
28062        self,
28063        access_rules=None,
28064        id=None,
28065        managed_by=None,
28066        name=None,
28067        tags=None,
28068    ):
28069        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
28070        )
28071        '''
28072         AccessRules is a list of access rules defining the resources this Role has access to.
28073        '''
28074        self.id = id if id is not None else ''
28075        '''
28076         Unique identifier of the Role.
28077        '''
28078        self.managed_by = managed_by if managed_by is not None else ''
28079        '''
28080         Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
28081        '''
28082        self.name = name if name is not None else ''
28083        '''
28084         Unique human-readable name of the Role.
28085        '''
28086        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28087        '''
28088         Tags is a map of key, value pairs.
28089        '''
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)
28100    def to_dict(self):
28101        return {
28102            'access_rules': self.access_rules,
28103            'id': self.id,
28104            'managed_by': self.managed_by,
28105            'name': self.name,
28106            'tags': self.tags,
28107        }
@classmethod
def from_dict(cls, d)
28109    @classmethod
28110    def from_dict(cls, d):
28111        return cls(
28112            access_rules=d.get('access_rules'),
28113            id=d.get('id'),
28114            managed_by=d.get('managed_by'),
28115            name=d.get('name'),
28116            tags=d.get('tags'),
28117        )
class RoleCreateResponse:
28120class RoleCreateResponse:
28121    '''
28122         RoleCreateResponse reports how the Roles were created in the system. It can
28123     communicate partial successes or failures.
28124    '''
28125    __slots__ = [
28126        'meta',
28127        'rate_limit',
28128        'role',
28129    ]
28130
28131    def __init__(
28132        self,
28133        meta=None,
28134        rate_limit=None,
28135        role=None,
28136    ):
28137        self.meta = meta if meta is not None else None
28138        '''
28139         Reserved for future use.
28140        '''
28141        self.rate_limit = rate_limit if rate_limit is not None else None
28142        '''
28143         Rate limit information.
28144        '''
28145        self.role = role if role is not None else None
28146        '''
28147         The created Role.
28148        '''
28149
28150    def __repr__(self):
28151        return '<sdm.RoleCreateResponse ' + \
28152            'meta: ' + repr(self.meta) + ' ' +\
28153            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28154            'role: ' + repr(self.role) + ' ' +\
28155            '>'
28156
28157    def to_dict(self):
28158        return {
28159            'meta': self.meta,
28160            'rate_limit': self.rate_limit,
28161            'role': self.role,
28162        }
28163
28164    @classmethod
28165    def from_dict(cls, d):
28166        return cls(
28167            meta=d.get('meta'),
28168            rate_limit=d.get('rate_limit'),
28169            role=d.get('role'),
28170        )

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)
28131    def __init__(
28132        self,
28133        meta=None,
28134        rate_limit=None,
28135        role=None,
28136    ):
28137        self.meta = meta if meta is not None else None
28138        '''
28139         Reserved for future use.
28140        '''
28141        self.rate_limit = rate_limit if rate_limit is not None else None
28142        '''
28143         Rate limit information.
28144        '''
28145        self.role = role if role is not None else None
28146        '''
28147         The created Role.
28148        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The created Role.

def to_dict(self)
28157    def to_dict(self):
28158        return {
28159            'meta': self.meta,
28160            'rate_limit': self.rate_limit,
28161            'role': self.role,
28162        }
@classmethod
def from_dict(cls, d)
28164    @classmethod
28165    def from_dict(cls, d):
28166        return cls(
28167            meta=d.get('meta'),
28168            rate_limit=d.get('rate_limit'),
28169            role=d.get('role'),
28170        )
class RoleDeleteResponse:
28173class RoleDeleteResponse:
28174    '''
28175         RoleDeleteResponse returns information about a Role that was deleted.
28176    '''
28177    __slots__ = [
28178        'meta',
28179        'rate_limit',
28180    ]
28181
28182    def __init__(
28183        self,
28184        meta=None,
28185        rate_limit=None,
28186    ):
28187        self.meta = meta if meta is not None else None
28188        '''
28189         Reserved for future use.
28190        '''
28191        self.rate_limit = rate_limit if rate_limit is not None else None
28192        '''
28193         Rate limit information.
28194        '''
28195
28196    def __repr__(self):
28197        return '<sdm.RoleDeleteResponse ' + \
28198            'meta: ' + repr(self.meta) + ' ' +\
28199            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28200            '>'
28201
28202    def to_dict(self):
28203        return {
28204            'meta': self.meta,
28205            'rate_limit': self.rate_limit,
28206        }
28207
28208    @classmethod
28209    def from_dict(cls, d):
28210        return cls(
28211            meta=d.get('meta'),
28212            rate_limit=d.get('rate_limit'),
28213        )

RoleDeleteResponse returns information about a Role that was deleted.

RoleDeleteResponse(meta=None, rate_limit=None)
28182    def __init__(
28183        self,
28184        meta=None,
28185        rate_limit=None,
28186    ):
28187        self.meta = meta if meta is not None else None
28188        '''
28189         Reserved for future use.
28190        '''
28191        self.rate_limit = rate_limit if rate_limit is not None else None
28192        '''
28193         Rate limit information.
28194        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
28202    def to_dict(self):
28203        return {
28204            'meta': self.meta,
28205            'rate_limit': self.rate_limit,
28206        }
@classmethod
def from_dict(cls, d)
28208    @classmethod
28209    def from_dict(cls, d):
28210        return cls(
28211            meta=d.get('meta'),
28212            rate_limit=d.get('rate_limit'),
28213        )
class RoleGetResponse:
28216class RoleGetResponse:
28217    '''
28218         RoleGetResponse returns a requested Role.
28219    '''
28220    __slots__ = [
28221        'meta',
28222        'rate_limit',
28223        'role',
28224    ]
28225
28226    def __init__(
28227        self,
28228        meta=None,
28229        rate_limit=None,
28230        role=None,
28231    ):
28232        self.meta = meta if meta is not None else None
28233        '''
28234         Reserved for future use.
28235        '''
28236        self.rate_limit = rate_limit if rate_limit is not None else None
28237        '''
28238         Rate limit information.
28239        '''
28240        self.role = role if role is not None else None
28241        '''
28242         The requested Role.
28243        '''
28244
28245    def __repr__(self):
28246        return '<sdm.RoleGetResponse ' + \
28247            'meta: ' + repr(self.meta) + ' ' +\
28248            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28249            'role: ' + repr(self.role) + ' ' +\
28250            '>'
28251
28252    def to_dict(self):
28253        return {
28254            'meta': self.meta,
28255            'rate_limit': self.rate_limit,
28256            'role': self.role,
28257        }
28258
28259    @classmethod
28260    def from_dict(cls, d):
28261        return cls(
28262            meta=d.get('meta'),
28263            rate_limit=d.get('rate_limit'),
28264            role=d.get('role'),
28265        )

RoleGetResponse returns a requested Role.

RoleGetResponse(meta=None, rate_limit=None, role=None)
28226    def __init__(
28227        self,
28228        meta=None,
28229        rate_limit=None,
28230        role=None,
28231    ):
28232        self.meta = meta if meta is not None else None
28233        '''
28234         Reserved for future use.
28235        '''
28236        self.rate_limit = rate_limit if rate_limit is not None else None
28237        '''
28238         Rate limit information.
28239        '''
28240        self.role = role if role is not None else None
28241        '''
28242         The requested Role.
28243        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The requested Role.

def to_dict(self)
28252    def to_dict(self):
28253        return {
28254            'meta': self.meta,
28255            'rate_limit': self.rate_limit,
28256            'role': self.role,
28257        }
@classmethod
def from_dict(cls, d)
28259    @classmethod
28260    def from_dict(cls, d):
28261        return cls(
28262            meta=d.get('meta'),
28263            rate_limit=d.get('rate_limit'),
28264            role=d.get('role'),
28265        )
class RoleHistory:
28268class RoleHistory:
28269    '''
28270         RoleHistory records the state of a Role at a given point in time,
28271     where every change (create, update and delete) to a Role produces an
28272     RoleHistory record.
28273    '''
28274    __slots__ = [
28275        'activity_id',
28276        'deleted_at',
28277        'role',
28278        'timestamp',
28279    ]
28280
28281    def __init__(
28282        self,
28283        activity_id=None,
28284        deleted_at=None,
28285        role=None,
28286        timestamp=None,
28287    ):
28288        self.activity_id = activity_id if activity_id is not None else ''
28289        '''
28290         The unique identifier of the Activity that produced this change to the Role.
28291         May be empty for some system-initiated updates.
28292        '''
28293        self.deleted_at = deleted_at if deleted_at is not None else None
28294        '''
28295         If this Role was deleted, the time it was deleted.
28296        '''
28297        self.role = role if role is not None else None
28298        '''
28299         The complete Role state at this time.
28300        '''
28301        self.timestamp = timestamp if timestamp is not None else None
28302        '''
28303         The time at which the Role state was recorded.
28304        '''
28305
28306    def __repr__(self):
28307        return '<sdm.RoleHistory ' + \
28308            'activity_id: ' + repr(self.activity_id) + ' ' +\
28309            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28310            'role: ' + repr(self.role) + ' ' +\
28311            'timestamp: ' + repr(self.timestamp) + ' ' +\
28312            '>'
28313
28314    def to_dict(self):
28315        return {
28316            'activity_id': self.activity_id,
28317            'deleted_at': self.deleted_at,
28318            'role': self.role,
28319            'timestamp': self.timestamp,
28320        }
28321
28322    @classmethod
28323    def from_dict(cls, d):
28324        return cls(
28325            activity_id=d.get('activity_id'),
28326            deleted_at=d.get('deleted_at'),
28327            role=d.get('role'),
28328            timestamp=d.get('timestamp'),
28329        )

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)
28281    def __init__(
28282        self,
28283        activity_id=None,
28284        deleted_at=None,
28285        role=None,
28286        timestamp=None,
28287    ):
28288        self.activity_id = activity_id if activity_id is not None else ''
28289        '''
28290         The unique identifier of the Activity that produced this change to the Role.
28291         May be empty for some system-initiated updates.
28292        '''
28293        self.deleted_at = deleted_at if deleted_at is not None else None
28294        '''
28295         If this Role was deleted, the time it was deleted.
28296        '''
28297        self.role = role if role is not None else None
28298        '''
28299         The complete Role state at this time.
28300        '''
28301        self.timestamp = timestamp if timestamp is not None else None
28302        '''
28303         The time at which the Role state was recorded.
28304        '''
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)
28314    def to_dict(self):
28315        return {
28316            'activity_id': self.activity_id,
28317            'deleted_at': self.deleted_at,
28318            'role': self.role,
28319            'timestamp': self.timestamp,
28320        }
@classmethod
def from_dict(cls, d)
28322    @classmethod
28323    def from_dict(cls, d):
28324        return cls(
28325            activity_id=d.get('activity_id'),
28326            deleted_at=d.get('deleted_at'),
28327            role=d.get('role'),
28328            timestamp=d.get('timestamp'),
28329        )
class RoleResource:
28332class RoleResource:
28333    '''
28334         RoleResource represents an individual access grant of a Role to a Resource.
28335    '''
28336    __slots__ = [
28337        'granted_at',
28338        'resource_id',
28339        'role_id',
28340    ]
28341
28342    def __init__(
28343        self,
28344        granted_at=None,
28345        resource_id=None,
28346        role_id=None,
28347    ):
28348        self.granted_at = granted_at if granted_at is not None else None
28349        '''
28350         The most recent time at which access was granted. If access was granted,
28351         revoked, and granted again, this will reflect the later time.
28352        '''
28353        self.resource_id = resource_id if resource_id is not None else ''
28354        '''
28355         The unique identifier of the Resource to which access is granted.
28356        '''
28357        self.role_id = role_id if role_id is not None else ''
28358        '''
28359         The unique identifier of the Role to which access is granted.
28360        '''
28361
28362    def __repr__(self):
28363        return '<sdm.RoleResource ' + \
28364            'granted_at: ' + repr(self.granted_at) + ' ' +\
28365            'resource_id: ' + repr(self.resource_id) + ' ' +\
28366            'role_id: ' + repr(self.role_id) + ' ' +\
28367            '>'
28368
28369    def to_dict(self):
28370        return {
28371            'granted_at': self.granted_at,
28372            'resource_id': self.resource_id,
28373            'role_id': self.role_id,
28374        }
28375
28376    @classmethod
28377    def from_dict(cls, d):
28378        return cls(
28379            granted_at=d.get('granted_at'),
28380            resource_id=d.get('resource_id'),
28381            role_id=d.get('role_id'),
28382        )

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

RoleResource(granted_at=None, resource_id=None, role_id=None)
28342    def __init__(
28343        self,
28344        granted_at=None,
28345        resource_id=None,
28346        role_id=None,
28347    ):
28348        self.granted_at = granted_at if granted_at is not None else None
28349        '''
28350         The most recent time at which access was granted. If access was granted,
28351         revoked, and granted again, this will reflect the later time.
28352        '''
28353        self.resource_id = resource_id if resource_id is not None else ''
28354        '''
28355         The unique identifier of the Resource to which access is granted.
28356        '''
28357        self.role_id = role_id if role_id is not None else ''
28358        '''
28359         The unique identifier of the Role to which access is granted.
28360        '''
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)
28369    def to_dict(self):
28370        return {
28371            'granted_at': self.granted_at,
28372            'resource_id': self.resource_id,
28373            'role_id': self.role_id,
28374        }
@classmethod
def from_dict(cls, d)
28376    @classmethod
28377    def from_dict(cls, d):
28378        return cls(
28379            granted_at=d.get('granted_at'),
28380            resource_id=d.get('resource_id'),
28381            role_id=d.get('role_id'),
28382        )
class RoleResourceHistory:
28385class RoleResourceHistory:
28386    '''
28387         RoleResourceHistory records the state of a RoleResource at a given point in time,
28388     where every change (create or delete) to a RoleResource produces an
28389     RoleResourceHistory record.
28390    '''
28391    __slots__ = [
28392        'activity_id',
28393        'deleted_at',
28394        'role_resource',
28395        'timestamp',
28396    ]
28397
28398    def __init__(
28399        self,
28400        activity_id=None,
28401        deleted_at=None,
28402        role_resource=None,
28403        timestamp=None,
28404    ):
28405        self.activity_id = activity_id if activity_id is not None else ''
28406        '''
28407         The unique identifier of the Activity that produced this change to the RoleResource.
28408         May be empty for some system-initiated updates.
28409        '''
28410        self.deleted_at = deleted_at if deleted_at is not None else None
28411        '''
28412         If this RoleResource was deleted, the time it was deleted.
28413        '''
28414        self.role_resource = role_resource if role_resource is not None else None
28415        '''
28416         The complete RoleResource state at this time.
28417        '''
28418        self.timestamp = timestamp if timestamp is not None else None
28419        '''
28420         The time at which the RoleResource state was recorded.
28421        '''
28422
28423    def __repr__(self):
28424        return '<sdm.RoleResourceHistory ' + \
28425            'activity_id: ' + repr(self.activity_id) + ' ' +\
28426            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
28427            'role_resource: ' + repr(self.role_resource) + ' ' +\
28428            'timestamp: ' + repr(self.timestamp) + ' ' +\
28429            '>'
28430
28431    def to_dict(self):
28432        return {
28433            'activity_id': self.activity_id,
28434            'deleted_at': self.deleted_at,
28435            'role_resource': self.role_resource,
28436            'timestamp': self.timestamp,
28437        }
28438
28439    @classmethod
28440    def from_dict(cls, d):
28441        return cls(
28442            activity_id=d.get('activity_id'),
28443            deleted_at=d.get('deleted_at'),
28444            role_resource=d.get('role_resource'),
28445            timestamp=d.get('timestamp'),
28446        )

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)
28398    def __init__(
28399        self,
28400        activity_id=None,
28401        deleted_at=None,
28402        role_resource=None,
28403        timestamp=None,
28404    ):
28405        self.activity_id = activity_id if activity_id is not None else ''
28406        '''
28407         The unique identifier of the Activity that produced this change to the RoleResource.
28408         May be empty for some system-initiated updates.
28409        '''
28410        self.deleted_at = deleted_at if deleted_at is not None else None
28411        '''
28412         If this RoleResource was deleted, the time it was deleted.
28413        '''
28414        self.role_resource = role_resource if role_resource is not None else None
28415        '''
28416         The complete RoleResource state at this time.
28417        '''
28418        self.timestamp = timestamp if timestamp is not None else None
28419        '''
28420         The time at which the RoleResource state was recorded.
28421        '''
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)
28431    def to_dict(self):
28432        return {
28433            'activity_id': self.activity_id,
28434            'deleted_at': self.deleted_at,
28435            'role_resource': self.role_resource,
28436            'timestamp': self.timestamp,
28437        }
@classmethod
def from_dict(cls, d)
28439    @classmethod
28440    def from_dict(cls, d):
28441        return cls(
28442            activity_id=d.get('activity_id'),
28443            deleted_at=d.get('deleted_at'),
28444            role_resource=d.get('role_resource'),
28445            timestamp=d.get('timestamp'),
28446        )
class RoleUpdateResponse:
28449class RoleUpdateResponse:
28450    '''
28451         RoleUpdateResponse returns the fields of a Role after it has been updated by
28452     a RoleUpdateRequest.
28453    '''
28454    __slots__ = [
28455        'meta',
28456        'rate_limit',
28457        'role',
28458    ]
28459
28460    def __init__(
28461        self,
28462        meta=None,
28463        rate_limit=None,
28464        role=None,
28465    ):
28466        self.meta = meta if meta is not None else None
28467        '''
28468         Reserved for future use.
28469        '''
28470        self.rate_limit = rate_limit if rate_limit is not None else None
28471        '''
28472         Rate limit information.
28473        '''
28474        self.role = role if role is not None else None
28475        '''
28476         The updated Role.
28477        '''
28478
28479    def __repr__(self):
28480        return '<sdm.RoleUpdateResponse ' + \
28481            'meta: ' + repr(self.meta) + ' ' +\
28482            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
28483            'role: ' + repr(self.role) + ' ' +\
28484            '>'
28485
28486    def to_dict(self):
28487        return {
28488            'meta': self.meta,
28489            'rate_limit': self.rate_limit,
28490            'role': self.role,
28491        }
28492
28493    @classmethod
28494    def from_dict(cls, d):
28495        return cls(
28496            meta=d.get('meta'),
28497            rate_limit=d.get('rate_limit'),
28498            role=d.get('role'),
28499        )

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

RoleUpdateResponse(meta=None, rate_limit=None, role=None)
28460    def __init__(
28461        self,
28462        meta=None,
28463        rate_limit=None,
28464        role=None,
28465    ):
28466        self.meta = meta if meta is not None else None
28467        '''
28468         Reserved for future use.
28469        '''
28470        self.rate_limit = rate_limit if rate_limit is not None else None
28471        '''
28472         Rate limit information.
28473        '''
28474        self.role = role if role is not None else None
28475        '''
28476         The updated Role.
28477        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

role

The updated Role.

def to_dict(self)
28486    def to_dict(self):
28487        return {
28488            'meta': self.meta,
28489            'rate_limit': self.rate_limit,
28490            'role': self.role,
28491        }
@classmethod
def from_dict(cls, d)
28493    @classmethod
28494    def from_dict(cls, d):
28495        return cls(
28496            meta=d.get('meta'),
28497            rate_limit=d.get('rate_limit'),
28498            role=d.get('role'),
28499        )
class SQLServer:
28502class SQLServer:
28503    __slots__ = [
28504        'allow_deprecated_encryption',
28505        'bind_interface',
28506        'database',
28507        'egress_filter',
28508        'healthy',
28509        'hostname',
28510        'id',
28511        'name',
28512        'override_database',
28513        'password',
28514        'port',
28515        'port_override',
28516        'proxy_cluster_id',
28517        'schema',
28518        'secret_store_id',
28519        'subdomain',
28520        'tags',
28521        'username',
28522    ]
28523
28524    def __init__(
28525        self,
28526        allow_deprecated_encryption=None,
28527        bind_interface=None,
28528        database=None,
28529        egress_filter=None,
28530        healthy=None,
28531        hostname=None,
28532        id=None,
28533        name=None,
28534        override_database=None,
28535        password=None,
28536        port=None,
28537        port_override=None,
28538        proxy_cluster_id=None,
28539        schema=None,
28540        secret_store_id=None,
28541        subdomain=None,
28542        tags=None,
28543        username=None,
28544    ):
28545        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28546        '''
28547         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28548         TLS 1.0.
28549        '''
28550        self.bind_interface = bind_interface if bind_interface is not None else ''
28551        '''
28552         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28553        '''
28554        self.database = database if database is not None else ''
28555        '''
28556         The database for healthchecks, and used for clients if Override Default Database is true.
28557        '''
28558        self.egress_filter = egress_filter if egress_filter is not None else ''
28559        '''
28560         A filter applied to the routing logic to pin datasource to nodes.
28561        '''
28562        self.healthy = healthy if healthy is not None else False
28563        '''
28564         True if the datasource is reachable and the credentials are valid.
28565        '''
28566        self.hostname = hostname if hostname is not None else ''
28567        '''
28568         The host to dial to initiate a connection from the egress node to this resource.
28569        '''
28570        self.id = id if id is not None else ''
28571        '''
28572         Unique identifier of the Resource.
28573        '''
28574        self.name = name if name is not None else ''
28575        '''
28576         Unique human-readable name of the Resource.
28577        '''
28578        self.override_database = override_database if override_database is not None else False
28579        '''
28580         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28581        '''
28582        self.password = password if password is not None else ''
28583        '''
28584         The password to authenticate with.
28585        '''
28586        self.port = port if port is not None else 0
28587        '''
28588         The port to dial to initiate a connection from the egress node to this resource.
28589        '''
28590        self.port_override = port_override if port_override is not None else 0
28591        '''
28592         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28593        '''
28594        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28595        '''
28596         ID of the proxy cluster for this resource, if any.
28597        '''
28598        self.schema = schema if schema is not None else ''
28599        '''
28600         The Schema to use to direct initial requests.
28601        '''
28602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28603        '''
28604         ID of the secret store containing credentials for this resource, if any.
28605        '''
28606        self.subdomain = subdomain if subdomain is not None else ''
28607        '''
28608         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28609        '''
28610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28611        '''
28612         Tags is a map of key, value pairs.
28613        '''
28614        self.username = username if username is not None else ''
28615        '''
28616         The username to authenticate with.
28617        '''
28618
28619    def __repr__(self):
28620        return '<sdm.SQLServer ' + \
28621            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
28622            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28623            'database: ' + repr(self.database) + ' ' +\
28624            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28625            'healthy: ' + repr(self.healthy) + ' ' +\
28626            'hostname: ' + repr(self.hostname) + ' ' +\
28627            'id: ' + repr(self.id) + ' ' +\
28628            'name: ' + repr(self.name) + ' ' +\
28629            'override_database: ' + repr(self.override_database) + ' ' +\
28630            'password: ' + repr(self.password) + ' ' +\
28631            'port: ' + repr(self.port) + ' ' +\
28632            'port_override: ' + repr(self.port_override) + ' ' +\
28633            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28634            'schema: ' + repr(self.schema) + ' ' +\
28635            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28636            'subdomain: ' + repr(self.subdomain) + ' ' +\
28637            'tags: ' + repr(self.tags) + ' ' +\
28638            'username: ' + repr(self.username) + ' ' +\
28639            '>'
28640
28641    def to_dict(self):
28642        return {
28643            'allow_deprecated_encryption': self.allow_deprecated_encryption,
28644            'bind_interface': self.bind_interface,
28645            'database': self.database,
28646            'egress_filter': self.egress_filter,
28647            'healthy': self.healthy,
28648            'hostname': self.hostname,
28649            'id': self.id,
28650            'name': self.name,
28651            'override_database': self.override_database,
28652            'password': self.password,
28653            'port': self.port,
28654            'port_override': self.port_override,
28655            'proxy_cluster_id': self.proxy_cluster_id,
28656            'schema': self.schema,
28657            'secret_store_id': self.secret_store_id,
28658            'subdomain': self.subdomain,
28659            'tags': self.tags,
28660            'username': self.username,
28661        }
28662
28663    @classmethod
28664    def from_dict(cls, d):
28665        return cls(
28666            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
28667            bind_interface=d.get('bind_interface'),
28668            database=d.get('database'),
28669            egress_filter=d.get('egress_filter'),
28670            healthy=d.get('healthy'),
28671            hostname=d.get('hostname'),
28672            id=d.get('id'),
28673            name=d.get('name'),
28674            override_database=d.get('override_database'),
28675            password=d.get('password'),
28676            port=d.get('port'),
28677            port_override=d.get('port_override'),
28678            proxy_cluster_id=d.get('proxy_cluster_id'),
28679            schema=d.get('schema'),
28680            secret_store_id=d.get('secret_store_id'),
28681            subdomain=d.get('subdomain'),
28682            tags=d.get('tags'),
28683            username=d.get('username'),
28684        )
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)
28524    def __init__(
28525        self,
28526        allow_deprecated_encryption=None,
28527        bind_interface=None,
28528        database=None,
28529        egress_filter=None,
28530        healthy=None,
28531        hostname=None,
28532        id=None,
28533        name=None,
28534        override_database=None,
28535        password=None,
28536        port=None,
28537        port_override=None,
28538        proxy_cluster_id=None,
28539        schema=None,
28540        secret_store_id=None,
28541        subdomain=None,
28542        tags=None,
28543        username=None,
28544    ):
28545        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28546        '''
28547         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28548         TLS 1.0.
28549        '''
28550        self.bind_interface = bind_interface if bind_interface is not None else ''
28551        '''
28552         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28553        '''
28554        self.database = database if database is not None else ''
28555        '''
28556         The database for healthchecks, and used for clients if Override Default Database is true.
28557        '''
28558        self.egress_filter = egress_filter if egress_filter is not None else ''
28559        '''
28560         A filter applied to the routing logic to pin datasource to nodes.
28561        '''
28562        self.healthy = healthy if healthy is not None else False
28563        '''
28564         True if the datasource is reachable and the credentials are valid.
28565        '''
28566        self.hostname = hostname if hostname is not None else ''
28567        '''
28568         The host to dial to initiate a connection from the egress node to this resource.
28569        '''
28570        self.id = id if id is not None else ''
28571        '''
28572         Unique identifier of the Resource.
28573        '''
28574        self.name = name if name is not None else ''
28575        '''
28576         Unique human-readable name of the Resource.
28577        '''
28578        self.override_database = override_database if override_database is not None else False
28579        '''
28580         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28581        '''
28582        self.password = password if password is not None else ''
28583        '''
28584         The password to authenticate with.
28585        '''
28586        self.port = port if port is not None else 0
28587        '''
28588         The port to dial to initiate a connection from the egress node to this resource.
28589        '''
28590        self.port_override = port_override if port_override is not None else 0
28591        '''
28592         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28593        '''
28594        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28595        '''
28596         ID of the proxy cluster for this resource, if any.
28597        '''
28598        self.schema = schema if schema is not None else ''
28599        '''
28600         The Schema to use to direct initial requests.
28601        '''
28602        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28603        '''
28604         ID of the secret store containing credentials for this resource, if any.
28605        '''
28606        self.subdomain = subdomain if subdomain is not None else ''
28607        '''
28608         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28609        '''
28610        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28611        '''
28612         Tags is a map of key, value pairs.
28613        '''
28614        self.username = username if username is not None else ''
28615        '''
28616         The username to authenticate with.
28617        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
28641    def to_dict(self):
28642        return {
28643            'allow_deprecated_encryption': self.allow_deprecated_encryption,
28644            'bind_interface': self.bind_interface,
28645            'database': self.database,
28646            'egress_filter': self.egress_filter,
28647            'healthy': self.healthy,
28648            'hostname': self.hostname,
28649            'id': self.id,
28650            'name': self.name,
28651            'override_database': self.override_database,
28652            'password': self.password,
28653            'port': self.port,
28654            'port_override': self.port_override,
28655            'proxy_cluster_id': self.proxy_cluster_id,
28656            'schema': self.schema,
28657            'secret_store_id': self.secret_store_id,
28658            'subdomain': self.subdomain,
28659            'tags': self.tags,
28660            'username': self.username,
28661        }
@classmethod
def from_dict(cls, d)
28663    @classmethod
28664    def from_dict(cls, d):
28665        return cls(
28666            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
28667            bind_interface=d.get('bind_interface'),
28668            database=d.get('database'),
28669            egress_filter=d.get('egress_filter'),
28670            healthy=d.get('healthy'),
28671            hostname=d.get('hostname'),
28672            id=d.get('id'),
28673            name=d.get('name'),
28674            override_database=d.get('override_database'),
28675            password=d.get('password'),
28676            port=d.get('port'),
28677            port_override=d.get('port_override'),
28678            proxy_cluster_id=d.get('proxy_cluster_id'),
28679            schema=d.get('schema'),
28680            secret_store_id=d.get('secret_store_id'),
28681            subdomain=d.get('subdomain'),
28682            tags=d.get('tags'),
28683            username=d.get('username'),
28684        )
class SQLServerAzureAD:
28687class SQLServerAzureAD:
28688    __slots__ = [
28689        'allow_deprecated_encryption',
28690        'bind_interface',
28691        'client_id',
28692        'database',
28693        'egress_filter',
28694        'healthy',
28695        'hostname',
28696        'id',
28697        'name',
28698        'override_database',
28699        'port',
28700        'port_override',
28701        'proxy_cluster_id',
28702        'schema',
28703        'secret',
28704        'secret_store_id',
28705        'subdomain',
28706        'tags',
28707        'tenant_id',
28708    ]
28709
28710    def __init__(
28711        self,
28712        allow_deprecated_encryption=None,
28713        bind_interface=None,
28714        client_id=None,
28715        database=None,
28716        egress_filter=None,
28717        healthy=None,
28718        hostname=None,
28719        id=None,
28720        name=None,
28721        override_database=None,
28722        port=None,
28723        port_override=None,
28724        proxy_cluster_id=None,
28725        schema=None,
28726        secret=None,
28727        secret_store_id=None,
28728        subdomain=None,
28729        tags=None,
28730        tenant_id=None,
28731    ):
28732        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28733        '''
28734         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28735         TLS 1.0.
28736        '''
28737        self.bind_interface = bind_interface if bind_interface is not None else ''
28738        '''
28739         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28740        '''
28741        self.client_id = client_id if client_id is not None else ''
28742        '''
28743         The Azure AD application (client) ID with which to authenticate.
28744        '''
28745        self.database = database if database is not None else ''
28746        '''
28747         The database for healthchecks, and used for clients if Override Default Database is true.
28748        '''
28749        self.egress_filter = egress_filter if egress_filter is not None else ''
28750        '''
28751         A filter applied to the routing logic to pin datasource to nodes.
28752        '''
28753        self.healthy = healthy if healthy is not None else False
28754        '''
28755         True if the datasource is reachable and the credentials are valid.
28756        '''
28757        self.hostname = hostname if hostname is not None else ''
28758        '''
28759         The host to dial to initiate a connection from the egress node to this resource.
28760        '''
28761        self.id = id if id is not None else ''
28762        '''
28763         Unique identifier of the Resource.
28764        '''
28765        self.name = name if name is not None else ''
28766        '''
28767         Unique human-readable name of the Resource.
28768        '''
28769        self.override_database = override_database if override_database is not None else False
28770        '''
28771         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28772        '''
28773        self.port = port if port is not None else 0
28774        '''
28775         The port to dial to initiate a connection from the egress node to this resource.
28776        '''
28777        self.port_override = port_override if port_override is not None else 0
28778        '''
28779         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28780        '''
28781        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28782        '''
28783         ID of the proxy cluster for this resource, if any.
28784        '''
28785        self.schema = schema if schema is not None else ''
28786        '''
28787         The Schema to use to direct initial requests.
28788        '''
28789        self.secret = secret if secret is not None else ''
28790        '''
28791         The Azure AD client secret (application password) with which to authenticate.
28792        '''
28793        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28794        '''
28795         ID of the secret store containing credentials for this resource, if any.
28796        '''
28797        self.subdomain = subdomain if subdomain is not None else ''
28798        '''
28799         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28800        '''
28801        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28802        '''
28803         Tags is a map of key, value pairs.
28804        '''
28805        self.tenant_id = tenant_id if tenant_id is not None else ''
28806        '''
28807         The Azure AD directory (tenant) ID with which to authenticate.
28808        '''
28809
28810    def __repr__(self):
28811        return '<sdm.SQLServerAzureAD ' + \
28812            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
28813            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
28814            'client_id: ' + repr(self.client_id) + ' ' +\
28815            'database: ' + repr(self.database) + ' ' +\
28816            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
28817            'healthy: ' + repr(self.healthy) + ' ' +\
28818            'hostname: ' + repr(self.hostname) + ' ' +\
28819            'id: ' + repr(self.id) + ' ' +\
28820            'name: ' + repr(self.name) + ' ' +\
28821            'override_database: ' + repr(self.override_database) + ' ' +\
28822            'port: ' + repr(self.port) + ' ' +\
28823            'port_override: ' + repr(self.port_override) + ' ' +\
28824            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
28825            'schema: ' + repr(self.schema) + ' ' +\
28826            'secret: ' + repr(self.secret) + ' ' +\
28827            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
28828            'subdomain: ' + repr(self.subdomain) + ' ' +\
28829            'tags: ' + repr(self.tags) + ' ' +\
28830            'tenant_id: ' + repr(self.tenant_id) + ' ' +\
28831            '>'
28832
28833    def to_dict(self):
28834        return {
28835            'allow_deprecated_encryption': self.allow_deprecated_encryption,
28836            'bind_interface': self.bind_interface,
28837            'client_id': self.client_id,
28838            'database': self.database,
28839            'egress_filter': self.egress_filter,
28840            'healthy': self.healthy,
28841            'hostname': self.hostname,
28842            'id': self.id,
28843            'name': self.name,
28844            'override_database': self.override_database,
28845            'port': self.port,
28846            'port_override': self.port_override,
28847            'proxy_cluster_id': self.proxy_cluster_id,
28848            'schema': self.schema,
28849            'secret': self.secret,
28850            'secret_store_id': self.secret_store_id,
28851            'subdomain': self.subdomain,
28852            'tags': self.tags,
28853            'tenant_id': self.tenant_id,
28854        }
28855
28856    @classmethod
28857    def from_dict(cls, d):
28858        return cls(
28859            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
28860            bind_interface=d.get('bind_interface'),
28861            client_id=d.get('client_id'),
28862            database=d.get('database'),
28863            egress_filter=d.get('egress_filter'),
28864            healthy=d.get('healthy'),
28865            hostname=d.get('hostname'),
28866            id=d.get('id'),
28867            name=d.get('name'),
28868            override_database=d.get('override_database'),
28869            port=d.get('port'),
28870            port_override=d.get('port_override'),
28871            proxy_cluster_id=d.get('proxy_cluster_id'),
28872            schema=d.get('schema'),
28873            secret=d.get('secret'),
28874            secret_store_id=d.get('secret_store_id'),
28875            subdomain=d.get('subdomain'),
28876            tags=d.get('tags'),
28877            tenant_id=d.get('tenant_id'),
28878        )
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)
28710    def __init__(
28711        self,
28712        allow_deprecated_encryption=None,
28713        bind_interface=None,
28714        client_id=None,
28715        database=None,
28716        egress_filter=None,
28717        healthy=None,
28718        hostname=None,
28719        id=None,
28720        name=None,
28721        override_database=None,
28722        port=None,
28723        port_override=None,
28724        proxy_cluster_id=None,
28725        schema=None,
28726        secret=None,
28727        secret_store_id=None,
28728        subdomain=None,
28729        tags=None,
28730        tenant_id=None,
28731    ):
28732        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28733        '''
28734         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28735         TLS 1.0.
28736        '''
28737        self.bind_interface = bind_interface if bind_interface is not None else ''
28738        '''
28739         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28740        '''
28741        self.client_id = client_id if client_id is not None else ''
28742        '''
28743         The Azure AD application (client) ID with which to authenticate.
28744        '''
28745        self.database = database if database is not None else ''
28746        '''
28747         The database for healthchecks, and used for clients if Override Default Database is true.
28748        '''
28749        self.egress_filter = egress_filter if egress_filter is not None else ''
28750        '''
28751         A filter applied to the routing logic to pin datasource to nodes.
28752        '''
28753        self.healthy = healthy if healthy is not None else False
28754        '''
28755         True if the datasource is reachable and the credentials are valid.
28756        '''
28757        self.hostname = hostname if hostname is not None else ''
28758        '''
28759         The host to dial to initiate a connection from the egress node to this resource.
28760        '''
28761        self.id = id if id is not None else ''
28762        '''
28763         Unique identifier of the Resource.
28764        '''
28765        self.name = name if name is not None else ''
28766        '''
28767         Unique human-readable name of the Resource.
28768        '''
28769        self.override_database = override_database if override_database is not None else False
28770        '''
28771         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28772        '''
28773        self.port = port if port is not None else 0
28774        '''
28775         The port to dial to initiate a connection from the egress node to this resource.
28776        '''
28777        self.port_override = port_override if port_override is not None else 0
28778        '''
28779         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28780        '''
28781        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28782        '''
28783         ID of the proxy cluster for this resource, if any.
28784        '''
28785        self.schema = schema if schema is not None else ''
28786        '''
28787         The Schema to use to direct initial requests.
28788        '''
28789        self.secret = secret if secret is not None else ''
28790        '''
28791         The Azure AD client secret (application password) with which to authenticate.
28792        '''
28793        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28794        '''
28795         ID of the secret store containing credentials for this resource, if any.
28796        '''
28797        self.subdomain = subdomain if subdomain is not None else ''
28798        '''
28799         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
28800        '''
28801        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
28802        '''
28803         Tags is a map of key, value pairs.
28804        '''
28805        self.tenant_id = tenant_id if tenant_id is not None else ''
28806        '''
28807         The Azure AD directory (tenant) ID with which to authenticate.
28808        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
28833    def to_dict(self):
28834        return {
28835            'allow_deprecated_encryption': self.allow_deprecated_encryption,
28836            'bind_interface': self.bind_interface,
28837            'client_id': self.client_id,
28838            'database': self.database,
28839            'egress_filter': self.egress_filter,
28840            'healthy': self.healthy,
28841            'hostname': self.hostname,
28842            'id': self.id,
28843            'name': self.name,
28844            'override_database': self.override_database,
28845            'port': self.port,
28846            'port_override': self.port_override,
28847            'proxy_cluster_id': self.proxy_cluster_id,
28848            'schema': self.schema,
28849            'secret': self.secret,
28850            'secret_store_id': self.secret_store_id,
28851            'subdomain': self.subdomain,
28852            'tags': self.tags,
28853            'tenant_id': self.tenant_id,
28854        }
@classmethod
def from_dict(cls, d)
28856    @classmethod
28857    def from_dict(cls, d):
28858        return cls(
28859            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
28860            bind_interface=d.get('bind_interface'),
28861            client_id=d.get('client_id'),
28862            database=d.get('database'),
28863            egress_filter=d.get('egress_filter'),
28864            healthy=d.get('healthy'),
28865            hostname=d.get('hostname'),
28866            id=d.get('id'),
28867            name=d.get('name'),
28868            override_database=d.get('override_database'),
28869            port=d.get('port'),
28870            port_override=d.get('port_override'),
28871            proxy_cluster_id=d.get('proxy_cluster_id'),
28872            schema=d.get('schema'),
28873            secret=d.get('secret'),
28874            secret_store_id=d.get('secret_store_id'),
28875            subdomain=d.get('subdomain'),
28876            tags=d.get('tags'),
28877            tenant_id=d.get('tenant_id'),
28878        )
class SQLServerKerberosAD:
28881class SQLServerKerberosAD:
28882    __slots__ = [
28883        'allow_deprecated_encryption',
28884        'bind_interface',
28885        'database',
28886        'egress_filter',
28887        'healthy',
28888        'hostname',
28889        'id',
28890        'keytab',
28891        'krb_config',
28892        'name',
28893        'override_database',
28894        'port',
28895        'port_override',
28896        'proxy_cluster_id',
28897        'realm',
28898        'schema',
28899        'secret_store_id',
28900        'server_spn',
28901        'subdomain',
28902        'tags',
28903        'username',
28904    ]
28905
28906    def __init__(
28907        self,
28908        allow_deprecated_encryption=None,
28909        bind_interface=None,
28910        database=None,
28911        egress_filter=None,
28912        healthy=None,
28913        hostname=None,
28914        id=None,
28915        keytab=None,
28916        krb_config=None,
28917        name=None,
28918        override_database=None,
28919        port=None,
28920        port_override=None,
28921        proxy_cluster_id=None,
28922        realm=None,
28923        schema=None,
28924        secret_store_id=None,
28925        server_spn=None,
28926        subdomain=None,
28927        tags=None,
28928        username=None,
28929    ):
28930        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28931        '''
28932         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28933         TLS 1.0.
28934        '''
28935        self.bind_interface = bind_interface if bind_interface is not None else ''
28936        '''
28937         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28938        '''
28939        self.database = database if database is not None else ''
28940        '''
28941         The database for healthchecks, and used for clients if Override Default Database is true.
28942        '''
28943        self.egress_filter = egress_filter if egress_filter is not None else ''
28944        '''
28945         A filter applied to the routing logic to pin datasource to nodes.
28946        '''
28947        self.healthy = healthy if healthy is not None else False
28948        '''
28949         True if the datasource is reachable and the credentials are valid.
28950        '''
28951        self.hostname = hostname if hostname is not None else ''
28952        '''
28953         The host to dial to initiate a connection from the egress node to this resource.
28954        '''
28955        self.id = id if id is not None else ''
28956        '''
28957         Unique identifier of the Resource.
28958        '''
28959        self.keytab = keytab if keytab is not None else ''
28960        '''
28961         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
28962        '''
28963        self.krb_config = krb_config if krb_config is not None else ''
28964        '''
28965         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
28966        '''
28967        self.name = name if name is not None else ''
28968        '''
28969         Unique human-readable name of the Resource.
28970        '''
28971        self.override_database = override_database if override_database is not None else False
28972        '''
28973         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28974        '''
28975        self.port = port if port is not None else 0
28976        '''
28977         The port to dial to initiate a connection from the egress node to this resource.
28978        '''
28979        self.port_override = port_override if port_override is not None else 0
28980        '''
28981         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28982        '''
28983        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28984        '''
28985         ID of the proxy cluster for this resource, if any.
28986        '''
28987        self.realm = realm if realm is not None else ''
28988        '''
28989         The Active Directory domain (realm) to which the configured username belongs.
28990        '''
28991        self.schema = schema if schema is not None else ''
28992        '''
28993         The Schema to use to direct initial requests.
28994        '''
28995        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28996        '''
28997         ID of the secret store containing credentials for this resource, if any.
28998        '''
28999        self.server_spn = server_spn if server_spn is not None else ''
29000        '''
29001         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
29002        '''
29003        self.subdomain = subdomain if subdomain is not None else ''
29004        '''
29005         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29006        '''
29007        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29008        '''
29009         Tags is a map of key, value pairs.
29010        '''
29011        self.username = username if username is not None else ''
29012        '''
29013         The username to authenticate with.
29014        '''
29015
29016    def __repr__(self):
29017        return '<sdm.SQLServerKerberosAD ' + \
29018            'allow_deprecated_encryption: ' + repr(self.allow_deprecated_encryption) + ' ' +\
29019            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29020            'database: ' + repr(self.database) + ' ' +\
29021            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29022            'healthy: ' + repr(self.healthy) + ' ' +\
29023            'hostname: ' + repr(self.hostname) + ' ' +\
29024            'id: ' + repr(self.id) + ' ' +\
29025            'keytab: ' + repr(self.keytab) + ' ' +\
29026            'krb_config: ' + repr(self.krb_config) + ' ' +\
29027            'name: ' + repr(self.name) + ' ' +\
29028            'override_database: ' + repr(self.override_database) + ' ' +\
29029            'port: ' + repr(self.port) + ' ' +\
29030            'port_override: ' + repr(self.port_override) + ' ' +\
29031            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29032            'realm: ' + repr(self.realm) + ' ' +\
29033            'schema: ' + repr(self.schema) + ' ' +\
29034            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29035            'server_spn: ' + repr(self.server_spn) + ' ' +\
29036            'subdomain: ' + repr(self.subdomain) + ' ' +\
29037            'tags: ' + repr(self.tags) + ' ' +\
29038            'username: ' + repr(self.username) + ' ' +\
29039            '>'
29040
29041    def to_dict(self):
29042        return {
29043            'allow_deprecated_encryption': self.allow_deprecated_encryption,
29044            'bind_interface': self.bind_interface,
29045            'database': self.database,
29046            'egress_filter': self.egress_filter,
29047            'healthy': self.healthy,
29048            'hostname': self.hostname,
29049            'id': self.id,
29050            'keytab': self.keytab,
29051            'krb_config': self.krb_config,
29052            'name': self.name,
29053            'override_database': self.override_database,
29054            'port': self.port,
29055            'port_override': self.port_override,
29056            'proxy_cluster_id': self.proxy_cluster_id,
29057            'realm': self.realm,
29058            'schema': self.schema,
29059            'secret_store_id': self.secret_store_id,
29060            'server_spn': self.server_spn,
29061            'subdomain': self.subdomain,
29062            'tags': self.tags,
29063            'username': self.username,
29064        }
29065
29066    @classmethod
29067    def from_dict(cls, d):
29068        return cls(
29069            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
29070            bind_interface=d.get('bind_interface'),
29071            database=d.get('database'),
29072            egress_filter=d.get('egress_filter'),
29073            healthy=d.get('healthy'),
29074            hostname=d.get('hostname'),
29075            id=d.get('id'),
29076            keytab=d.get('keytab'),
29077            krb_config=d.get('krb_config'),
29078            name=d.get('name'),
29079            override_database=d.get('override_database'),
29080            port=d.get('port'),
29081            port_override=d.get('port_override'),
29082            proxy_cluster_id=d.get('proxy_cluster_id'),
29083            realm=d.get('realm'),
29084            schema=d.get('schema'),
29085            secret_store_id=d.get('secret_store_id'),
29086            server_spn=d.get('server_spn'),
29087            subdomain=d.get('subdomain'),
29088            tags=d.get('tags'),
29089            username=d.get('username'),
29090        )
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)
28906    def __init__(
28907        self,
28908        allow_deprecated_encryption=None,
28909        bind_interface=None,
28910        database=None,
28911        egress_filter=None,
28912        healthy=None,
28913        hostname=None,
28914        id=None,
28915        keytab=None,
28916        krb_config=None,
28917        name=None,
28918        override_database=None,
28919        port=None,
28920        port_override=None,
28921        proxy_cluster_id=None,
28922        realm=None,
28923        schema=None,
28924        secret_store_id=None,
28925        server_spn=None,
28926        subdomain=None,
28927        tags=None,
28928        username=None,
28929    ):
28930        self.allow_deprecated_encryption = allow_deprecated_encryption if allow_deprecated_encryption is not None else False
28931        '''
28932         Whether to allow deprecated encryption protocols to be used for this resource. For example,
28933         TLS 1.0.
28934        '''
28935        self.bind_interface = bind_interface if bind_interface is not None else ''
28936        '''
28937         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
28938        '''
28939        self.database = database if database is not None else ''
28940        '''
28941         The database for healthchecks, and used for clients if Override Default Database is true.
28942        '''
28943        self.egress_filter = egress_filter if egress_filter is not None else ''
28944        '''
28945         A filter applied to the routing logic to pin datasource to nodes.
28946        '''
28947        self.healthy = healthy if healthy is not None else False
28948        '''
28949         True if the datasource is reachable and the credentials are valid.
28950        '''
28951        self.hostname = hostname if hostname is not None else ''
28952        '''
28953         The host to dial to initiate a connection from the egress node to this resource.
28954        '''
28955        self.id = id if id is not None else ''
28956        '''
28957         Unique identifier of the Resource.
28958        '''
28959        self.keytab = keytab if keytab is not None else ''
28960        '''
28961         The keytab file in base64 format containing an entry with the principal name (username@realm) and key version number with which to authenticate.
28962        '''
28963        self.krb_config = krb_config if krb_config is not None else ''
28964        '''
28965         The Kerberos 5 configuration file (krb5.conf) specifying the Active Directory server (KDC) for the configured realm.
28966        '''
28967        self.name = name if name is not None else ''
28968        '''
28969         Unique human-readable name of the Resource.
28970        '''
28971        self.override_database = override_database if override_database is not None else False
28972        '''
28973         If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
28974        '''
28975        self.port = port if port is not None else 0
28976        '''
28977         The port to dial to initiate a connection from the egress node to this resource.
28978        '''
28979        self.port_override = port_override if port_override is not None else 0
28980        '''
28981         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
28982        '''
28983        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
28984        '''
28985         ID of the proxy cluster for this resource, if any.
28986        '''
28987        self.realm = realm if realm is not None else ''
28988        '''
28989         The Active Directory domain (realm) to which the configured username belongs.
28990        '''
28991        self.schema = schema if schema is not None else ''
28992        '''
28993         The Schema to use to direct initial requests.
28994        '''
28995        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
28996        '''
28997         ID of the secret store containing credentials for this resource, if any.
28998        '''
28999        self.server_spn = server_spn if server_spn is not None else ''
29000        '''
29001         The Service Principal Name of the Microsoft SQL Server instance in Active Directory.
29002        '''
29003        self.subdomain = subdomain if subdomain is not None else ''
29004        '''
29005         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29006        '''
29007        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29008        '''
29009         Tags is a map of key, value pairs.
29010        '''
29011        self.username = username if username is not None else ''
29012        '''
29013         The username to authenticate with.
29014        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29041    def to_dict(self):
29042        return {
29043            'allow_deprecated_encryption': self.allow_deprecated_encryption,
29044            'bind_interface': self.bind_interface,
29045            'database': self.database,
29046            'egress_filter': self.egress_filter,
29047            'healthy': self.healthy,
29048            'hostname': self.hostname,
29049            'id': self.id,
29050            'keytab': self.keytab,
29051            'krb_config': self.krb_config,
29052            'name': self.name,
29053            'override_database': self.override_database,
29054            'port': self.port,
29055            'port_override': self.port_override,
29056            'proxy_cluster_id': self.proxy_cluster_id,
29057            'realm': self.realm,
29058            'schema': self.schema,
29059            'secret_store_id': self.secret_store_id,
29060            'server_spn': self.server_spn,
29061            'subdomain': self.subdomain,
29062            'tags': self.tags,
29063            'username': self.username,
29064        }
@classmethod
def from_dict(cls, d)
29066    @classmethod
29067    def from_dict(cls, d):
29068        return cls(
29069            allow_deprecated_encryption=d.get('allow_deprecated_encryption'),
29070            bind_interface=d.get('bind_interface'),
29071            database=d.get('database'),
29072            egress_filter=d.get('egress_filter'),
29073            healthy=d.get('healthy'),
29074            hostname=d.get('hostname'),
29075            id=d.get('id'),
29076            keytab=d.get('keytab'),
29077            krb_config=d.get('krb_config'),
29078            name=d.get('name'),
29079            override_database=d.get('override_database'),
29080            port=d.get('port'),
29081            port_override=d.get('port_override'),
29082            proxy_cluster_id=d.get('proxy_cluster_id'),
29083            realm=d.get('realm'),
29084            schema=d.get('schema'),
29085            secret_store_id=d.get('secret_store_id'),
29086            server_spn=d.get('server_spn'),
29087            subdomain=d.get('subdomain'),
29088            tags=d.get('tags'),
29089            username=d.get('username'),
29090        )
class SSH:
29093class SSH:
29094    __slots__ = [
29095        'allow_deprecated_key_exchanges',
29096        'bind_interface',
29097        'egress_filter',
29098        'healthy',
29099        'hostname',
29100        'id',
29101        'key_type',
29102        'name',
29103        'port',
29104        'port_forwarding',
29105        'port_override',
29106        'proxy_cluster_id',
29107        'public_key',
29108        'secret_store_id',
29109        'subdomain',
29110        'tags',
29111        'username',
29112    ]
29113
29114    def __init__(
29115        self,
29116        allow_deprecated_key_exchanges=None,
29117        bind_interface=None,
29118        egress_filter=None,
29119        healthy=None,
29120        hostname=None,
29121        id=None,
29122        key_type=None,
29123        name=None,
29124        port=None,
29125        port_forwarding=None,
29126        port_override=None,
29127        proxy_cluster_id=None,
29128        public_key=None,
29129        secret_store_id=None,
29130        subdomain=None,
29131        tags=None,
29132        username=None,
29133    ):
29134        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29135        '''
29136         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29137        '''
29138        self.bind_interface = bind_interface if bind_interface is not None else ''
29139        '''
29140         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29141        '''
29142        self.egress_filter = egress_filter if egress_filter is not None else ''
29143        '''
29144         A filter applied to the routing logic to pin datasource to nodes.
29145        '''
29146        self.healthy = healthy if healthy is not None else False
29147        '''
29148         True if the datasource is reachable and the credentials are valid.
29149        '''
29150        self.hostname = hostname if hostname is not None else ''
29151        '''
29152         The host to dial to initiate a connection from the egress node to this resource.
29153        '''
29154        self.id = id if id is not None else ''
29155        '''
29156         Unique identifier of the Resource.
29157        '''
29158        self.key_type = key_type if key_type is not None else ''
29159        '''
29160         The key type to use e.g. rsa-2048 or ed25519
29161        '''
29162        self.name = name if name is not None else ''
29163        '''
29164         Unique human-readable name of the Resource.
29165        '''
29166        self.port = port if port is not None else 0
29167        '''
29168         The port to dial to initiate a connection from the egress node to this resource.
29169        '''
29170        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29171        '''
29172         Whether port forwarding is allowed through this server.
29173        '''
29174        self.port_override = port_override if port_override is not None else 0
29175        '''
29176         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29177        '''
29178        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29179        '''
29180         ID of the proxy cluster for this resource, if any.
29181        '''
29182        self.public_key = public_key if public_key is not None else ''
29183        '''
29184         The public key to append to a server's authorized keys. This will be generated after resource creation.
29185        '''
29186        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29187        '''
29188         ID of the secret store containing credentials for this resource, if any.
29189        '''
29190        self.subdomain = subdomain if subdomain is not None else ''
29191        '''
29192         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29193        '''
29194        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29195        '''
29196         Tags is a map of key, value pairs.
29197        '''
29198        self.username = username if username is not None else ''
29199        '''
29200         The username to authenticate with.
29201        '''
29202
29203    def __repr__(self):
29204        return '<sdm.SSH ' + \
29205            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29206            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29207            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29208            'healthy: ' + repr(self.healthy) + ' ' +\
29209            'hostname: ' + repr(self.hostname) + ' ' +\
29210            'id: ' + repr(self.id) + ' ' +\
29211            'key_type: ' + repr(self.key_type) + ' ' +\
29212            'name: ' + repr(self.name) + ' ' +\
29213            'port: ' + repr(self.port) + ' ' +\
29214            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29215            'port_override: ' + repr(self.port_override) + ' ' +\
29216            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29217            'public_key: ' + repr(self.public_key) + ' ' +\
29218            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29219            'subdomain: ' + repr(self.subdomain) + ' ' +\
29220            'tags: ' + repr(self.tags) + ' ' +\
29221            'username: ' + repr(self.username) + ' ' +\
29222            '>'
29223
29224    def to_dict(self):
29225        return {
29226            'allow_deprecated_key_exchanges':
29227            self.allow_deprecated_key_exchanges,
29228            'bind_interface': self.bind_interface,
29229            'egress_filter': self.egress_filter,
29230            'healthy': self.healthy,
29231            'hostname': self.hostname,
29232            'id': self.id,
29233            'key_type': self.key_type,
29234            'name': self.name,
29235            'port': self.port,
29236            'port_forwarding': self.port_forwarding,
29237            'port_override': self.port_override,
29238            'proxy_cluster_id': self.proxy_cluster_id,
29239            'public_key': self.public_key,
29240            'secret_store_id': self.secret_store_id,
29241            'subdomain': self.subdomain,
29242            'tags': self.tags,
29243            'username': self.username,
29244        }
29245
29246    @classmethod
29247    def from_dict(cls, d):
29248        return cls(
29249            allow_deprecated_key_exchanges=d.get(
29250                'allow_deprecated_key_exchanges'),
29251            bind_interface=d.get('bind_interface'),
29252            egress_filter=d.get('egress_filter'),
29253            healthy=d.get('healthy'),
29254            hostname=d.get('hostname'),
29255            id=d.get('id'),
29256            key_type=d.get('key_type'),
29257            name=d.get('name'),
29258            port=d.get('port'),
29259            port_forwarding=d.get('port_forwarding'),
29260            port_override=d.get('port_override'),
29261            proxy_cluster_id=d.get('proxy_cluster_id'),
29262            public_key=d.get('public_key'),
29263            secret_store_id=d.get('secret_store_id'),
29264            subdomain=d.get('subdomain'),
29265            tags=d.get('tags'),
29266            username=d.get('username'),
29267        )
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)
29114    def __init__(
29115        self,
29116        allow_deprecated_key_exchanges=None,
29117        bind_interface=None,
29118        egress_filter=None,
29119        healthy=None,
29120        hostname=None,
29121        id=None,
29122        key_type=None,
29123        name=None,
29124        port=None,
29125        port_forwarding=None,
29126        port_override=None,
29127        proxy_cluster_id=None,
29128        public_key=None,
29129        secret_store_id=None,
29130        subdomain=None,
29131        tags=None,
29132        username=None,
29133    ):
29134        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29135        '''
29136         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29137        '''
29138        self.bind_interface = bind_interface if bind_interface is not None else ''
29139        '''
29140         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29141        '''
29142        self.egress_filter = egress_filter if egress_filter is not None else ''
29143        '''
29144         A filter applied to the routing logic to pin datasource to nodes.
29145        '''
29146        self.healthy = healthy if healthy is not None else False
29147        '''
29148         True if the datasource is reachable and the credentials are valid.
29149        '''
29150        self.hostname = hostname if hostname is not None else ''
29151        '''
29152         The host to dial to initiate a connection from the egress node to this resource.
29153        '''
29154        self.id = id if id is not None else ''
29155        '''
29156         Unique identifier of the Resource.
29157        '''
29158        self.key_type = key_type if key_type is not None else ''
29159        '''
29160         The key type to use e.g. rsa-2048 or ed25519
29161        '''
29162        self.name = name if name is not None else ''
29163        '''
29164         Unique human-readable name of the Resource.
29165        '''
29166        self.port = port if port is not None else 0
29167        '''
29168         The port to dial to initiate a connection from the egress node to this resource.
29169        '''
29170        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29171        '''
29172         Whether port forwarding is allowed through this server.
29173        '''
29174        self.port_override = port_override if port_override is not None else 0
29175        '''
29176         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29177        '''
29178        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29179        '''
29180         ID of the proxy cluster for this resource, if any.
29181        '''
29182        self.public_key = public_key if public_key is not None else ''
29183        '''
29184         The public key to append to a server's authorized keys. This will be generated after resource creation.
29185        '''
29186        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29187        '''
29188         ID of the secret store containing credentials for this resource, if any.
29189        '''
29190        self.subdomain = subdomain if subdomain is not None else ''
29191        '''
29192         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29193        '''
29194        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29195        '''
29196         Tags is a map of key, value pairs.
29197        '''
29198        self.username = username if username is not None else ''
29199        '''
29200         The username to authenticate with.
29201        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

True if the datasource is reachable and the credentials 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29224    def to_dict(self):
29225        return {
29226            'allow_deprecated_key_exchanges':
29227            self.allow_deprecated_key_exchanges,
29228            'bind_interface': self.bind_interface,
29229            'egress_filter': self.egress_filter,
29230            'healthy': self.healthy,
29231            'hostname': self.hostname,
29232            'id': self.id,
29233            'key_type': self.key_type,
29234            'name': self.name,
29235            'port': self.port,
29236            'port_forwarding': self.port_forwarding,
29237            'port_override': self.port_override,
29238            'proxy_cluster_id': self.proxy_cluster_id,
29239            'public_key': self.public_key,
29240            'secret_store_id': self.secret_store_id,
29241            'subdomain': self.subdomain,
29242            'tags': self.tags,
29243            'username': self.username,
29244        }
@classmethod
def from_dict(cls, d)
29246    @classmethod
29247    def from_dict(cls, d):
29248        return cls(
29249            allow_deprecated_key_exchanges=d.get(
29250                'allow_deprecated_key_exchanges'),
29251            bind_interface=d.get('bind_interface'),
29252            egress_filter=d.get('egress_filter'),
29253            healthy=d.get('healthy'),
29254            hostname=d.get('hostname'),
29255            id=d.get('id'),
29256            key_type=d.get('key_type'),
29257            name=d.get('name'),
29258            port=d.get('port'),
29259            port_forwarding=d.get('port_forwarding'),
29260            port_override=d.get('port_override'),
29261            proxy_cluster_id=d.get('proxy_cluster_id'),
29262            public_key=d.get('public_key'),
29263            secret_store_id=d.get('secret_store_id'),
29264            subdomain=d.get('subdomain'),
29265            tags=d.get('tags'),
29266            username=d.get('username'),
29267        )
class SSHCert:
29270class SSHCert:
29271    __slots__ = [
29272        'allow_deprecated_key_exchanges',
29273        'bind_interface',
29274        'egress_filter',
29275        'healthy',
29276        'hostname',
29277        'id',
29278        'identity_alias_healthcheck_username',
29279        'identity_set_id',
29280        'key_type',
29281        'name',
29282        'port',
29283        'port_forwarding',
29284        'port_override',
29285        'proxy_cluster_id',
29286        'secret_store_id',
29287        'subdomain',
29288        'tags',
29289        'username',
29290    ]
29291
29292    def __init__(
29293        self,
29294        allow_deprecated_key_exchanges=None,
29295        bind_interface=None,
29296        egress_filter=None,
29297        healthy=None,
29298        hostname=None,
29299        id=None,
29300        identity_alias_healthcheck_username=None,
29301        identity_set_id=None,
29302        key_type=None,
29303        name=None,
29304        port=None,
29305        port_forwarding=None,
29306        port_override=None,
29307        proxy_cluster_id=None,
29308        secret_store_id=None,
29309        subdomain=None,
29310        tags=None,
29311        username=None,
29312    ):
29313        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29314        '''
29315         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29316        '''
29317        self.bind_interface = bind_interface if bind_interface is not None else ''
29318        '''
29319         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29320        '''
29321        self.egress_filter = egress_filter if egress_filter is not None else ''
29322        '''
29323         A filter applied to the routing logic to pin datasource to nodes.
29324        '''
29325        self.healthy = healthy if healthy is not None else False
29326        '''
29327         True if the datasource is reachable and the credentials are valid.
29328        '''
29329        self.hostname = hostname if hostname is not None else ''
29330        '''
29331         The host to dial to initiate a connection from the egress node to this resource.
29332        '''
29333        self.id = id if id is not None else ''
29334        '''
29335         Unique identifier of the Resource.
29336        '''
29337        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
29338        '''
29339         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
29340        '''
29341        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
29342        '''
29343         The ID of the identity set to use for identity connections.
29344        '''
29345        self.key_type = key_type if key_type is not None else ''
29346        '''
29347         The key type to use e.g. rsa-2048 or ed25519
29348        '''
29349        self.name = name if name is not None else ''
29350        '''
29351         Unique human-readable name of the Resource.
29352        '''
29353        self.port = port if port is not None else 0
29354        '''
29355         The port to dial to initiate a connection from the egress node to this resource.
29356        '''
29357        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29358        '''
29359         Whether port forwarding is allowed through this server.
29360        '''
29361        self.port_override = port_override if port_override is not None else 0
29362        '''
29363         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29364        '''
29365        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29366        '''
29367         ID of the proxy cluster for this resource, if any.
29368        '''
29369        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29370        '''
29371         ID of the secret store containing credentials for this resource, if any.
29372        '''
29373        self.subdomain = subdomain if subdomain is not None else ''
29374        '''
29375         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29376        '''
29377        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29378        '''
29379         Tags is a map of key, value pairs.
29380        '''
29381        self.username = username if username is not None else ''
29382        '''
29383         The username to authenticate with.
29384        '''
29385
29386    def __repr__(self):
29387        return '<sdm.SSHCert ' + \
29388            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29389            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29390            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29391            'healthy: ' + repr(self.healthy) + ' ' +\
29392            'hostname: ' + repr(self.hostname) + ' ' +\
29393            'id: ' + repr(self.id) + ' ' +\
29394            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
29395            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
29396            'key_type: ' + repr(self.key_type) + ' ' +\
29397            'name: ' + repr(self.name) + ' ' +\
29398            'port: ' + repr(self.port) + ' ' +\
29399            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29400            'port_override: ' + repr(self.port_override) + ' ' +\
29401            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29402            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29403            'subdomain: ' + repr(self.subdomain) + ' ' +\
29404            'tags: ' + repr(self.tags) + ' ' +\
29405            'username: ' + repr(self.username) + ' ' +\
29406            '>'
29407
29408    def to_dict(self):
29409        return {
29410            'allow_deprecated_key_exchanges':
29411            self.allow_deprecated_key_exchanges,
29412            'bind_interface': self.bind_interface,
29413            'egress_filter': self.egress_filter,
29414            'healthy': self.healthy,
29415            'hostname': self.hostname,
29416            'id': self.id,
29417            'identity_alias_healthcheck_username':
29418            self.identity_alias_healthcheck_username,
29419            'identity_set_id': self.identity_set_id,
29420            'key_type': self.key_type,
29421            'name': self.name,
29422            'port': self.port,
29423            'port_forwarding': self.port_forwarding,
29424            'port_override': self.port_override,
29425            'proxy_cluster_id': self.proxy_cluster_id,
29426            'secret_store_id': self.secret_store_id,
29427            'subdomain': self.subdomain,
29428            'tags': self.tags,
29429            'username': self.username,
29430        }
29431
29432    @classmethod
29433    def from_dict(cls, d):
29434        return cls(
29435            allow_deprecated_key_exchanges=d.get(
29436                'allow_deprecated_key_exchanges'),
29437            bind_interface=d.get('bind_interface'),
29438            egress_filter=d.get('egress_filter'),
29439            healthy=d.get('healthy'),
29440            hostname=d.get('hostname'),
29441            id=d.get('id'),
29442            identity_alias_healthcheck_username=d.get(
29443                'identity_alias_healthcheck_username'),
29444            identity_set_id=d.get('identity_set_id'),
29445            key_type=d.get('key_type'),
29446            name=d.get('name'),
29447            port=d.get('port'),
29448            port_forwarding=d.get('port_forwarding'),
29449            port_override=d.get('port_override'),
29450            proxy_cluster_id=d.get('proxy_cluster_id'),
29451            secret_store_id=d.get('secret_store_id'),
29452            subdomain=d.get('subdomain'),
29453            tags=d.get('tags'),
29454            username=d.get('username'),
29455        )
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)
29292    def __init__(
29293        self,
29294        allow_deprecated_key_exchanges=None,
29295        bind_interface=None,
29296        egress_filter=None,
29297        healthy=None,
29298        hostname=None,
29299        id=None,
29300        identity_alias_healthcheck_username=None,
29301        identity_set_id=None,
29302        key_type=None,
29303        name=None,
29304        port=None,
29305        port_forwarding=None,
29306        port_override=None,
29307        proxy_cluster_id=None,
29308        secret_store_id=None,
29309        subdomain=None,
29310        tags=None,
29311        username=None,
29312    ):
29313        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29314        '''
29315         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29316        '''
29317        self.bind_interface = bind_interface if bind_interface is not None else ''
29318        '''
29319         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29320        '''
29321        self.egress_filter = egress_filter if egress_filter is not None else ''
29322        '''
29323         A filter applied to the routing logic to pin datasource to nodes.
29324        '''
29325        self.healthy = healthy if healthy is not None else False
29326        '''
29327         True if the datasource is reachable and the credentials are valid.
29328        '''
29329        self.hostname = hostname if hostname is not None else ''
29330        '''
29331         The host to dial to initiate a connection from the egress node to this resource.
29332        '''
29333        self.id = id if id is not None else ''
29334        '''
29335         Unique identifier of the Resource.
29336        '''
29337        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
29338        '''
29339         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
29340        '''
29341        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
29342        '''
29343         The ID of the identity set to use for identity connections.
29344        '''
29345        self.key_type = key_type if key_type is not None else ''
29346        '''
29347         The key type to use e.g. rsa-2048 or ed25519
29348        '''
29349        self.name = name if name is not None else ''
29350        '''
29351         Unique human-readable name of the Resource.
29352        '''
29353        self.port = port if port is not None else 0
29354        '''
29355         The port to dial to initiate a connection from the egress node to this resource.
29356        '''
29357        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29358        '''
29359         Whether port forwarding is allowed through this server.
29360        '''
29361        self.port_override = port_override if port_override is not None else 0
29362        '''
29363         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29364        '''
29365        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29366        '''
29367         ID of the proxy cluster for this resource, if any.
29368        '''
29369        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29370        '''
29371         ID of the secret store containing credentials for this resource, if any.
29372        '''
29373        self.subdomain = subdomain if subdomain is not None else ''
29374        '''
29375         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29376        '''
29377        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29378        '''
29379         Tags is a map of key, value pairs.
29380        '''
29381        self.username = username if username is not None else ''
29382        '''
29383         The username to authenticate with.
29384        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

True if the datasource is reachable and the credentials 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29408    def to_dict(self):
29409        return {
29410            'allow_deprecated_key_exchanges':
29411            self.allow_deprecated_key_exchanges,
29412            'bind_interface': self.bind_interface,
29413            'egress_filter': self.egress_filter,
29414            'healthy': self.healthy,
29415            'hostname': self.hostname,
29416            'id': self.id,
29417            'identity_alias_healthcheck_username':
29418            self.identity_alias_healthcheck_username,
29419            'identity_set_id': self.identity_set_id,
29420            'key_type': self.key_type,
29421            'name': self.name,
29422            'port': self.port,
29423            'port_forwarding': self.port_forwarding,
29424            'port_override': self.port_override,
29425            'proxy_cluster_id': self.proxy_cluster_id,
29426            'secret_store_id': self.secret_store_id,
29427            'subdomain': self.subdomain,
29428            'tags': self.tags,
29429            'username': self.username,
29430        }
@classmethod
def from_dict(cls, d)
29432    @classmethod
29433    def from_dict(cls, d):
29434        return cls(
29435            allow_deprecated_key_exchanges=d.get(
29436                'allow_deprecated_key_exchanges'),
29437            bind_interface=d.get('bind_interface'),
29438            egress_filter=d.get('egress_filter'),
29439            healthy=d.get('healthy'),
29440            hostname=d.get('hostname'),
29441            id=d.get('id'),
29442            identity_alias_healthcheck_username=d.get(
29443                'identity_alias_healthcheck_username'),
29444            identity_set_id=d.get('identity_set_id'),
29445            key_type=d.get('key_type'),
29446            name=d.get('name'),
29447            port=d.get('port'),
29448            port_forwarding=d.get('port_forwarding'),
29449            port_override=d.get('port_override'),
29450            proxy_cluster_id=d.get('proxy_cluster_id'),
29451            secret_store_id=d.get('secret_store_id'),
29452            subdomain=d.get('subdomain'),
29453            tags=d.get('tags'),
29454            username=d.get('username'),
29455        )
class SSHCustomerKey:
29458class SSHCustomerKey:
29459    __slots__ = [
29460        'allow_deprecated_key_exchanges',
29461        'bind_interface',
29462        'egress_filter',
29463        'healthy',
29464        'hostname',
29465        'id',
29466        'identity_alias_healthcheck_username',
29467        'identity_set_id',
29468        'name',
29469        'port',
29470        'port_forwarding',
29471        'port_override',
29472        'private_key',
29473        'proxy_cluster_id',
29474        'secret_store_id',
29475        'subdomain',
29476        'tags',
29477        'username',
29478    ]
29479
29480    def __init__(
29481        self,
29482        allow_deprecated_key_exchanges=None,
29483        bind_interface=None,
29484        egress_filter=None,
29485        healthy=None,
29486        hostname=None,
29487        id=None,
29488        identity_alias_healthcheck_username=None,
29489        identity_set_id=None,
29490        name=None,
29491        port=None,
29492        port_forwarding=None,
29493        port_override=None,
29494        private_key=None,
29495        proxy_cluster_id=None,
29496        secret_store_id=None,
29497        subdomain=None,
29498        tags=None,
29499        username=None,
29500    ):
29501        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29502        '''
29503         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29504        '''
29505        self.bind_interface = bind_interface if bind_interface is not None else ''
29506        '''
29507         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29508        '''
29509        self.egress_filter = egress_filter if egress_filter is not None else ''
29510        '''
29511         A filter applied to the routing logic to pin datasource to nodes.
29512        '''
29513        self.healthy = healthy if healthy is not None else False
29514        '''
29515         True if the datasource is reachable and the credentials are valid.
29516        '''
29517        self.hostname = hostname if hostname is not None else ''
29518        '''
29519         The host to dial to initiate a connection from the egress node to this resource.
29520        '''
29521        self.id = id if id is not None else ''
29522        '''
29523         Unique identifier of the Resource.
29524        '''
29525        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
29526        '''
29527         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
29528        '''
29529        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
29530        '''
29531         The ID of the identity set to use for identity connections.
29532        '''
29533        self.name = name if name is not None else ''
29534        '''
29535         Unique human-readable name of the Resource.
29536        '''
29537        self.port = port if port is not None else 0
29538        '''
29539         The port to dial to initiate a connection from the egress node to this resource.
29540        '''
29541        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29542        '''
29543         Whether port forwarding is allowed through this server.
29544        '''
29545        self.port_override = port_override if port_override is not None else 0
29546        '''
29547         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29548        '''
29549        self.private_key = private_key if private_key is not None else ''
29550        '''
29551         The private key used to authenticate with the server.
29552        '''
29553        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29554        '''
29555         ID of the proxy cluster for this resource, if any.
29556        '''
29557        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29558        '''
29559         ID of the secret store containing credentials for this resource, if any.
29560        '''
29561        self.subdomain = subdomain if subdomain is not None else ''
29562        '''
29563         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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        self.username = username if username is not None else ''
29570        '''
29571         The username to authenticate with.
29572        '''
29573
29574    def __repr__(self):
29575        return '<sdm.SSHCustomerKey ' + \
29576            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29577            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29578            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29579            'healthy: ' + repr(self.healthy) + ' ' +\
29580            'hostname: ' + repr(self.hostname) + ' ' +\
29581            'id: ' + repr(self.id) + ' ' +\
29582            'identity_alias_healthcheck_username: ' + repr(self.identity_alias_healthcheck_username) + ' ' +\
29583            'identity_set_id: ' + repr(self.identity_set_id) + ' ' +\
29584            'name: ' + repr(self.name) + ' ' +\
29585            'port: ' + repr(self.port) + ' ' +\
29586            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29587            'port_override: ' + repr(self.port_override) + ' ' +\
29588            'private_key: ' + repr(self.private_key) + ' ' +\
29589            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29590            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29591            'subdomain: ' + repr(self.subdomain) + ' ' +\
29592            'tags: ' + repr(self.tags) + ' ' +\
29593            'username: ' + repr(self.username) + ' ' +\
29594            '>'
29595
29596    def to_dict(self):
29597        return {
29598            'allow_deprecated_key_exchanges':
29599            self.allow_deprecated_key_exchanges,
29600            'bind_interface': self.bind_interface,
29601            'egress_filter': self.egress_filter,
29602            'healthy': self.healthy,
29603            'hostname': self.hostname,
29604            'id': self.id,
29605            'identity_alias_healthcheck_username':
29606            self.identity_alias_healthcheck_username,
29607            'identity_set_id': self.identity_set_id,
29608            'name': self.name,
29609            'port': self.port,
29610            'port_forwarding': self.port_forwarding,
29611            'port_override': self.port_override,
29612            'private_key': self.private_key,
29613            'proxy_cluster_id': self.proxy_cluster_id,
29614            'secret_store_id': self.secret_store_id,
29615            'subdomain': self.subdomain,
29616            'tags': self.tags,
29617            'username': self.username,
29618        }
29619
29620    @classmethod
29621    def from_dict(cls, d):
29622        return cls(
29623            allow_deprecated_key_exchanges=d.get(
29624                'allow_deprecated_key_exchanges'),
29625            bind_interface=d.get('bind_interface'),
29626            egress_filter=d.get('egress_filter'),
29627            healthy=d.get('healthy'),
29628            hostname=d.get('hostname'),
29629            id=d.get('id'),
29630            identity_alias_healthcheck_username=d.get(
29631                'identity_alias_healthcheck_username'),
29632            identity_set_id=d.get('identity_set_id'),
29633            name=d.get('name'),
29634            port=d.get('port'),
29635            port_forwarding=d.get('port_forwarding'),
29636            port_override=d.get('port_override'),
29637            private_key=d.get('private_key'),
29638            proxy_cluster_id=d.get('proxy_cluster_id'),
29639            secret_store_id=d.get('secret_store_id'),
29640            subdomain=d.get('subdomain'),
29641            tags=d.get('tags'),
29642            username=d.get('username'),
29643        )
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)
29480    def __init__(
29481        self,
29482        allow_deprecated_key_exchanges=None,
29483        bind_interface=None,
29484        egress_filter=None,
29485        healthy=None,
29486        hostname=None,
29487        id=None,
29488        identity_alias_healthcheck_username=None,
29489        identity_set_id=None,
29490        name=None,
29491        port=None,
29492        port_forwarding=None,
29493        port_override=None,
29494        private_key=None,
29495        proxy_cluster_id=None,
29496        secret_store_id=None,
29497        subdomain=None,
29498        tags=None,
29499        username=None,
29500    ):
29501        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29502        '''
29503         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29504        '''
29505        self.bind_interface = bind_interface if bind_interface is not None else ''
29506        '''
29507         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29508        '''
29509        self.egress_filter = egress_filter if egress_filter is not None else ''
29510        '''
29511         A filter applied to the routing logic to pin datasource to nodes.
29512        '''
29513        self.healthy = healthy if healthy is not None else False
29514        '''
29515         True if the datasource is reachable and the credentials are valid.
29516        '''
29517        self.hostname = hostname if hostname is not None else ''
29518        '''
29519         The host to dial to initiate a connection from the egress node to this resource.
29520        '''
29521        self.id = id if id is not None else ''
29522        '''
29523         Unique identifier of the Resource.
29524        '''
29525        self.identity_alias_healthcheck_username = identity_alias_healthcheck_username if identity_alias_healthcheck_username is not None else ''
29526        '''
29527         The username to use for healthchecks, when clients otherwise connect with their own identity alias username.
29528        '''
29529        self.identity_set_id = identity_set_id if identity_set_id is not None else ''
29530        '''
29531         The ID of the identity set to use for identity connections.
29532        '''
29533        self.name = name if name is not None else ''
29534        '''
29535         Unique human-readable name of the Resource.
29536        '''
29537        self.port = port if port is not None else 0
29538        '''
29539         The port to dial to initiate a connection from the egress node to this resource.
29540        '''
29541        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29542        '''
29543         Whether port forwarding is allowed through this server.
29544        '''
29545        self.port_override = port_override if port_override is not None else 0
29546        '''
29547         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29548        '''
29549        self.private_key = private_key if private_key is not None else ''
29550        '''
29551         The private key used to authenticate with the server.
29552        '''
29553        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29554        '''
29555         ID of the proxy cluster for this resource, if any.
29556        '''
29557        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29558        '''
29559         ID of the secret store containing credentials for this resource, if any.
29560        '''
29561        self.subdomain = subdomain if subdomain is not None else ''
29562        '''
29563         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
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        self.username = username if username is not None else ''
29570        '''
29571         The username to authenticate with.
29572        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

True if the datasource is reachable and the credentials 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29596    def to_dict(self):
29597        return {
29598            'allow_deprecated_key_exchanges':
29599            self.allow_deprecated_key_exchanges,
29600            'bind_interface': self.bind_interface,
29601            'egress_filter': self.egress_filter,
29602            'healthy': self.healthy,
29603            'hostname': self.hostname,
29604            'id': self.id,
29605            'identity_alias_healthcheck_username':
29606            self.identity_alias_healthcheck_username,
29607            'identity_set_id': self.identity_set_id,
29608            'name': self.name,
29609            'port': self.port,
29610            'port_forwarding': self.port_forwarding,
29611            'port_override': self.port_override,
29612            'private_key': self.private_key,
29613            'proxy_cluster_id': self.proxy_cluster_id,
29614            'secret_store_id': self.secret_store_id,
29615            'subdomain': self.subdomain,
29616            'tags': self.tags,
29617            'username': self.username,
29618        }
@classmethod
def from_dict(cls, d)
29620    @classmethod
29621    def from_dict(cls, d):
29622        return cls(
29623            allow_deprecated_key_exchanges=d.get(
29624                'allow_deprecated_key_exchanges'),
29625            bind_interface=d.get('bind_interface'),
29626            egress_filter=d.get('egress_filter'),
29627            healthy=d.get('healthy'),
29628            hostname=d.get('hostname'),
29629            id=d.get('id'),
29630            identity_alias_healthcheck_username=d.get(
29631                'identity_alias_healthcheck_username'),
29632            identity_set_id=d.get('identity_set_id'),
29633            name=d.get('name'),
29634            port=d.get('port'),
29635            port_forwarding=d.get('port_forwarding'),
29636            port_override=d.get('port_override'),
29637            private_key=d.get('private_key'),
29638            proxy_cluster_id=d.get('proxy_cluster_id'),
29639            secret_store_id=d.get('secret_store_id'),
29640            subdomain=d.get('subdomain'),
29641            tags=d.get('tags'),
29642            username=d.get('username'),
29643        )
class SSHPassword:
29646class SSHPassword:
29647    __slots__ = [
29648        'allow_deprecated_key_exchanges',
29649        'bind_interface',
29650        'egress_filter',
29651        'healthy',
29652        'hostname',
29653        'id',
29654        'name',
29655        'password',
29656        'port',
29657        'port_forwarding',
29658        'port_override',
29659        'proxy_cluster_id',
29660        'secret_store_id',
29661        'subdomain',
29662        'tags',
29663        'username',
29664    ]
29665
29666    def __init__(
29667        self,
29668        allow_deprecated_key_exchanges=None,
29669        bind_interface=None,
29670        egress_filter=None,
29671        healthy=None,
29672        hostname=None,
29673        id=None,
29674        name=None,
29675        password=None,
29676        port=None,
29677        port_forwarding=None,
29678        port_override=None,
29679        proxy_cluster_id=None,
29680        secret_store_id=None,
29681        subdomain=None,
29682        tags=None,
29683        username=None,
29684    ):
29685        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29686        '''
29687         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29688        '''
29689        self.bind_interface = bind_interface if bind_interface is not None else ''
29690        '''
29691         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29692        '''
29693        self.egress_filter = egress_filter if egress_filter is not None else ''
29694        '''
29695         A filter applied to the routing logic to pin datasource to nodes.
29696        '''
29697        self.healthy = healthy if healthy is not None else False
29698        '''
29699         True if the datasource is reachable and the credentials are valid.
29700        '''
29701        self.hostname = hostname if hostname is not None else ''
29702        '''
29703         The host to dial to initiate a connection from the egress node to this resource.
29704        '''
29705        self.id = id if id is not None else ''
29706        '''
29707         Unique identifier of the Resource.
29708        '''
29709        self.name = name if name is not None else ''
29710        '''
29711         Unique human-readable name of the Resource.
29712        '''
29713        self.password = password if password is not None else ''
29714        '''
29715         The password to authenticate with.
29716        '''
29717        self.port = port if port is not None else 0
29718        '''
29719         The port to dial to initiate a connection from the egress node to this resource.
29720        '''
29721        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29722        '''
29723         Whether port forwarding is allowed through this server.
29724        '''
29725        self.port_override = port_override if port_override is not None else 0
29726        '''
29727         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29728        '''
29729        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29730        '''
29731         ID of the proxy cluster for this resource, if any.
29732        '''
29733        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29734        '''
29735         ID of the secret store containing credentials for this resource, if any.
29736        '''
29737        self.subdomain = subdomain if subdomain is not None else ''
29738        '''
29739         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29740        '''
29741        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29742        '''
29743         Tags is a map of key, value pairs.
29744        '''
29745        self.username = username if username is not None else ''
29746        '''
29747         The username to authenticate with.
29748        '''
29749
29750    def __repr__(self):
29751        return '<sdm.SSHPassword ' + \
29752            'allow_deprecated_key_exchanges: ' + repr(self.allow_deprecated_key_exchanges) + ' ' +\
29753            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
29754            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
29755            'healthy: ' + repr(self.healthy) + ' ' +\
29756            'hostname: ' + repr(self.hostname) + ' ' +\
29757            'id: ' + repr(self.id) + ' ' +\
29758            'name: ' + repr(self.name) + ' ' +\
29759            'password: ' + repr(self.password) + ' ' +\
29760            'port: ' + repr(self.port) + ' ' +\
29761            'port_forwarding: ' + repr(self.port_forwarding) + ' ' +\
29762            'port_override: ' + repr(self.port_override) + ' ' +\
29763            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
29764            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
29765            'subdomain: ' + repr(self.subdomain) + ' ' +\
29766            'tags: ' + repr(self.tags) + ' ' +\
29767            'username: ' + repr(self.username) + ' ' +\
29768            '>'
29769
29770    def to_dict(self):
29771        return {
29772            'allow_deprecated_key_exchanges':
29773            self.allow_deprecated_key_exchanges,
29774            'bind_interface': self.bind_interface,
29775            'egress_filter': self.egress_filter,
29776            'healthy': self.healthy,
29777            'hostname': self.hostname,
29778            'id': self.id,
29779            'name': self.name,
29780            'password': self.password,
29781            'port': self.port,
29782            'port_forwarding': self.port_forwarding,
29783            'port_override': self.port_override,
29784            'proxy_cluster_id': self.proxy_cluster_id,
29785            'secret_store_id': self.secret_store_id,
29786            'subdomain': self.subdomain,
29787            'tags': self.tags,
29788            'username': self.username,
29789        }
29790
29791    @classmethod
29792    def from_dict(cls, d):
29793        return cls(
29794            allow_deprecated_key_exchanges=d.get(
29795                'allow_deprecated_key_exchanges'),
29796            bind_interface=d.get('bind_interface'),
29797            egress_filter=d.get('egress_filter'),
29798            healthy=d.get('healthy'),
29799            hostname=d.get('hostname'),
29800            id=d.get('id'),
29801            name=d.get('name'),
29802            password=d.get('password'),
29803            port=d.get('port'),
29804            port_forwarding=d.get('port_forwarding'),
29805            port_override=d.get('port_override'),
29806            proxy_cluster_id=d.get('proxy_cluster_id'),
29807            secret_store_id=d.get('secret_store_id'),
29808            subdomain=d.get('subdomain'),
29809            tags=d.get('tags'),
29810            username=d.get('username'),
29811        )
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)
29666    def __init__(
29667        self,
29668        allow_deprecated_key_exchanges=None,
29669        bind_interface=None,
29670        egress_filter=None,
29671        healthy=None,
29672        hostname=None,
29673        id=None,
29674        name=None,
29675        password=None,
29676        port=None,
29677        port_forwarding=None,
29678        port_override=None,
29679        proxy_cluster_id=None,
29680        secret_store_id=None,
29681        subdomain=None,
29682        tags=None,
29683        username=None,
29684    ):
29685        self.allow_deprecated_key_exchanges = allow_deprecated_key_exchanges if allow_deprecated_key_exchanges is not None else False
29686        '''
29687         Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.
29688        '''
29689        self.bind_interface = bind_interface if bind_interface is not None else ''
29690        '''
29691         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
29692        '''
29693        self.egress_filter = egress_filter if egress_filter is not None else ''
29694        '''
29695         A filter applied to the routing logic to pin datasource to nodes.
29696        '''
29697        self.healthy = healthy if healthy is not None else False
29698        '''
29699         True if the datasource is reachable and the credentials are valid.
29700        '''
29701        self.hostname = hostname if hostname is not None else ''
29702        '''
29703         The host to dial to initiate a connection from the egress node to this resource.
29704        '''
29705        self.id = id if id is not None else ''
29706        '''
29707         Unique identifier of the Resource.
29708        '''
29709        self.name = name if name is not None else ''
29710        '''
29711         Unique human-readable name of the Resource.
29712        '''
29713        self.password = password if password is not None else ''
29714        '''
29715         The password to authenticate with.
29716        '''
29717        self.port = port if port is not None else 0
29718        '''
29719         The port to dial to initiate a connection from the egress node to this resource.
29720        '''
29721        self.port_forwarding = port_forwarding if port_forwarding is not None else False
29722        '''
29723         Whether port forwarding is allowed through this server.
29724        '''
29725        self.port_override = port_override if port_override is not None else 0
29726        '''
29727         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
29728        '''
29729        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
29730        '''
29731         ID of the proxy cluster for this resource, if any.
29732        '''
29733        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
29734        '''
29735         ID of the secret store containing credentials for this resource, if any.
29736        '''
29737        self.subdomain = subdomain if subdomain is not None else ''
29738        '''
29739         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
29740        '''
29741        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
29742        '''
29743         Tags is a map of key, value pairs.
29744        '''
29745        self.username = username if username is not None else ''
29746        '''
29747         The username to authenticate with.
29748        '''
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
29770    def to_dict(self):
29771        return {
29772            'allow_deprecated_key_exchanges':
29773            self.allow_deprecated_key_exchanges,
29774            'bind_interface': self.bind_interface,
29775            'egress_filter': self.egress_filter,
29776            'healthy': self.healthy,
29777            'hostname': self.hostname,
29778            'id': self.id,
29779            'name': self.name,
29780            'password': self.password,
29781            'port': self.port,
29782            'port_forwarding': self.port_forwarding,
29783            'port_override': self.port_override,
29784            'proxy_cluster_id': self.proxy_cluster_id,
29785            'secret_store_id': self.secret_store_id,
29786            'subdomain': self.subdomain,
29787            'tags': self.tags,
29788            'username': self.username,
29789        }
@classmethod
def from_dict(cls, d)
29791    @classmethod
29792    def from_dict(cls, d):
29793        return cls(
29794            allow_deprecated_key_exchanges=d.get(
29795                'allow_deprecated_key_exchanges'),
29796            bind_interface=d.get('bind_interface'),
29797            egress_filter=d.get('egress_filter'),
29798            healthy=d.get('healthy'),
29799            hostname=d.get('hostname'),
29800            id=d.get('id'),
29801            name=d.get('name'),
29802            password=d.get('password'),
29803            port=d.get('port'),
29804            port_forwarding=d.get('port_forwarding'),
29805            port_override=d.get('port_override'),
29806            proxy_cluster_id=d.get('proxy_cluster_id'),
29807            secret_store_id=d.get('secret_store_id'),
29808            subdomain=d.get('subdomain'),
29809            tags=d.get('tags'),
29810            username=d.get('username'),
29811        )
class SecretEngineCreateRequest:
29814class SecretEngineCreateRequest:
29815    '''
29816         SecretEngineCreateRequest specifies a Secret Engine to create.
29817    '''
29818    __slots__ = [
29819        'secret_engine',
29820    ]
29821
29822    def __init__(
29823        self,
29824        secret_engine=None,
29825    ):
29826        self.secret_engine = secret_engine if secret_engine is not None else None
29827        '''
29828         Parameters to define the new Secret Engine.
29829        '''
29830
29831    def __repr__(self):
29832        return '<sdm.SecretEngineCreateRequest ' + \
29833            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
29834            '>'
29835
29836    def to_dict(self):
29837        return {
29838            'secret_engine': self.secret_engine,
29839        }
29840
29841    @classmethod
29842    def from_dict(cls, d):
29843        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineCreateRequest specifies a Secret Engine to create.

SecretEngineCreateRequest(secret_engine=None)
29822    def __init__(
29823        self,
29824        secret_engine=None,
29825    ):
29826        self.secret_engine = secret_engine if secret_engine is not None else None
29827        '''
29828         Parameters to define the new Secret Engine.
29829        '''
secret_engine

Parameters to define the new Secret Engine.

def to_dict(self)
29836    def to_dict(self):
29837        return {
29838            'secret_engine': self.secret_engine,
29839        }
@classmethod
def from_dict(cls, d)
29841    @classmethod
29842    def from_dict(cls, d):
29843        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineCreateResponse:
29846class SecretEngineCreateResponse:
29847    '''
29848         SecretEngineCreateResponse contains information about a Secret Engine after successful creation.
29849    '''
29850    __slots__ = [
29851        'meta',
29852        'rate_limit',
29853        'secret_engine',
29854    ]
29855
29856    def __init__(
29857        self,
29858        meta=None,
29859        rate_limit=None,
29860        secret_engine=None,
29861    ):
29862        self.meta = meta if meta is not None else None
29863        '''
29864         Reserved for future use.
29865        '''
29866        self.rate_limit = rate_limit if rate_limit is not None else None
29867        '''
29868         Rate limit information.
29869        '''
29870        self.secret_engine = secret_engine if secret_engine is not None else None
29871        '''
29872         The requested Secret Engine.
29873        '''
29874
29875    def __repr__(self):
29876        return '<sdm.SecretEngineCreateResponse ' + \
29877            'meta: ' + repr(self.meta) + ' ' +\
29878            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29879            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
29880            '>'
29881
29882    def to_dict(self):
29883        return {
29884            'meta': self.meta,
29885            'rate_limit': self.rate_limit,
29886            'secret_engine': self.secret_engine,
29887        }
29888
29889    @classmethod
29890    def from_dict(cls, d):
29891        return cls(
29892            meta=d.get('meta'),
29893            rate_limit=d.get('rate_limit'),
29894            secret_engine=d.get('secret_engine'),
29895        )

SecretEngineCreateResponse contains information about a Secret Engine after successful creation.

SecretEngineCreateResponse(meta=None, rate_limit=None, secret_engine=None)
29856    def __init__(
29857        self,
29858        meta=None,
29859        rate_limit=None,
29860        secret_engine=None,
29861    ):
29862        self.meta = meta if meta is not None else None
29863        '''
29864         Reserved for future use.
29865        '''
29866        self.rate_limit = rate_limit if rate_limit is not None else None
29867        '''
29868         Rate limit information.
29869        '''
29870        self.secret_engine = secret_engine if secret_engine is not None else None
29871        '''
29872         The requested Secret Engine.
29873        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
29882    def to_dict(self):
29883        return {
29884            'meta': self.meta,
29885            'rate_limit': self.rate_limit,
29886            'secret_engine': self.secret_engine,
29887        }
@classmethod
def from_dict(cls, d)
29889    @classmethod
29890    def from_dict(cls, d):
29891        return cls(
29892            meta=d.get('meta'),
29893            rate_limit=d.get('rate_limit'),
29894            secret_engine=d.get('secret_engine'),
29895        )
class SecretEngineDeleteRequest:
29898class SecretEngineDeleteRequest:
29899    '''
29900         SecretEngineDeleteRequest specified the ID of a Secret Engine to be deleted.
29901    '''
29902    __slots__ = [
29903        'id',
29904    ]
29905
29906    def __init__(
29907        self,
29908        id=None,
29909    ):
29910        self.id = id if id is not None else ''
29911        '''
29912         The unique identifier of the Secret Engine to delete.
29913        '''
29914
29915    def __repr__(self):
29916        return '<sdm.SecretEngineDeleteRequest ' + \
29917            'id: ' + repr(self.id) + ' ' +\
29918            '>'
29919
29920    def to_dict(self):
29921        return {
29922            'id': self.id,
29923        }
29924
29925    @classmethod
29926    def from_dict(cls, d):
29927        return cls(id=d.get('id'), )

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

SecretEngineDeleteRequest(id=None)
29906    def __init__(
29907        self,
29908        id=None,
29909    ):
29910        self.id = id if id is not None else ''
29911        '''
29912         The unique identifier of the Secret Engine to delete.
29913        '''
id

The unique identifier of the Secret Engine to delete.

def to_dict(self)
29920    def to_dict(self):
29921        return {
29922            'id': self.id,
29923        }
@classmethod
def from_dict(cls, d)
29925    @classmethod
29926    def from_dict(cls, d):
29927        return cls(id=d.get('id'), )
class SecretEngineDeleteResponse:
29930class SecretEngineDeleteResponse:
29931    '''
29932         SecretEngineDeleteResponse contains information about a Secret Engine after it was deleted.
29933    '''
29934    __slots__ = [
29935        'rate_limit',
29936    ]
29937
29938    def __init__(
29939        self,
29940        rate_limit=None,
29941    ):
29942        self.rate_limit = rate_limit if rate_limit is not None else None
29943        '''
29944         Rate limit information.
29945        '''
29946
29947    def __repr__(self):
29948        return '<sdm.SecretEngineDeleteResponse ' + \
29949            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
29950            '>'
29951
29952    def to_dict(self):
29953        return {
29954            'rate_limit': self.rate_limit,
29955        }
29956
29957    @classmethod
29958    def from_dict(cls, d):
29959        return cls(rate_limit=d.get('rate_limit'), )

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

SecretEngineDeleteResponse(rate_limit=None)
29938    def __init__(
29939        self,
29940        rate_limit=None,
29941    ):
29942        self.rate_limit = rate_limit if rate_limit is not None else None
29943        '''
29944         Rate limit information.
29945        '''
rate_limit

Rate limit information.

def to_dict(self)
29952    def to_dict(self):
29953        return {
29954            'rate_limit': self.rate_limit,
29955        }
@classmethod
def from_dict(cls, d)
29957    @classmethod
29958    def from_dict(cls, d):
29959        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineGetRequest:
29962class SecretEngineGetRequest:
29963    '''
29964         SecretEngineGetRequest specifies which Secret Engine to retrieve
29965    '''
29966    __slots__ = [
29967        'id',
29968    ]
29969
29970    def __init__(
29971        self,
29972        id=None,
29973    ):
29974        self.id = id if id is not None else ''
29975        '''
29976         The unique identifier of the Secret Engine to retrieve.
29977        '''
29978
29979    def __repr__(self):
29980        return '<sdm.SecretEngineGetRequest ' + \
29981            'id: ' + repr(self.id) + ' ' +\
29982            '>'
29983
29984    def to_dict(self):
29985        return {
29986            'id': self.id,
29987        }
29988
29989    @classmethod
29990    def from_dict(cls, d):
29991        return cls(id=d.get('id'), )

SecretEngineGetRequest specifies which Secret Engine to retrieve

SecretEngineGetRequest(id=None)
29970    def __init__(
29971        self,
29972        id=None,
29973    ):
29974        self.id = id if id is not None else ''
29975        '''
29976         The unique identifier of the Secret Engine to retrieve.
29977        '''
id

The unique identifier of the Secret Engine to retrieve.

def to_dict(self)
29984    def to_dict(self):
29985        return {
29986            'id': self.id,
29987        }
@classmethod
def from_dict(cls, d)
29989    @classmethod
29990    def from_dict(cls, d):
29991        return cls(id=d.get('id'), )
class SecretEngineGetResponse:
29994class SecretEngineGetResponse:
29995    '''
29996         SecretEngineGetResponse contains information about requested Secret Engine
29997    '''
29998    __slots__ = [
29999        'meta',
30000        'rate_limit',
30001        'secret_engine',
30002    ]
30003
30004    def __init__(
30005        self,
30006        meta=None,
30007        rate_limit=None,
30008        secret_engine=None,
30009    ):
30010        self.meta = meta if meta is not None else None
30011        '''
30012         Reserved for future use.
30013        '''
30014        self.rate_limit = rate_limit if rate_limit is not None else None
30015        '''
30016         Rate limit information.
30017        '''
30018        self.secret_engine = secret_engine if secret_engine is not None else None
30019        '''
30020         The requested Secret Engine.
30021        '''
30022
30023    def __repr__(self):
30024        return '<sdm.SecretEngineGetResponse ' + \
30025            'meta: ' + repr(self.meta) + ' ' +\
30026            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30027            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
30028            '>'
30029
30030    def to_dict(self):
30031        return {
30032            'meta': self.meta,
30033            'rate_limit': self.rate_limit,
30034            'secret_engine': self.secret_engine,
30035        }
30036
30037    @classmethod
30038    def from_dict(cls, d):
30039        return cls(
30040            meta=d.get('meta'),
30041            rate_limit=d.get('rate_limit'),
30042            secret_engine=d.get('secret_engine'),
30043        )

SecretEngineGetResponse contains information about requested Secret Engine

SecretEngineGetResponse(meta=None, rate_limit=None, secret_engine=None)
30004    def __init__(
30005        self,
30006        meta=None,
30007        rate_limit=None,
30008        secret_engine=None,
30009    ):
30010        self.meta = meta if meta is not None else None
30011        '''
30012         Reserved for future use.
30013        '''
30014        self.rate_limit = rate_limit if rate_limit is not None else None
30015        '''
30016         Rate limit information.
30017        '''
30018        self.secret_engine = secret_engine if secret_engine is not None else None
30019        '''
30020         The requested Secret Engine.
30021        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
30030    def to_dict(self):
30031        return {
30032            'meta': self.meta,
30033            'rate_limit': self.rate_limit,
30034            'secret_engine': self.secret_engine,
30035        }
@classmethod
def from_dict(cls, d)
30037    @classmethod
30038    def from_dict(cls, d):
30039        return cls(
30040            meta=d.get('meta'),
30041            rate_limit=d.get('rate_limit'),
30042            secret_engine=d.get('secret_engine'),
30043        )
class SecretEngineListRequest:
30046class SecretEngineListRequest:
30047    '''
30048         SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines
30049    '''
30050    __slots__ = [
30051        'filter',
30052    ]
30053
30054    def __init__(
30055        self,
30056        filter=None,
30057    ):
30058        self.filter = filter if filter is not None else ''
30059        '''
30060         A human-readable filter query string.
30061        '''
30062
30063    def __repr__(self):
30064        return '<sdm.SecretEngineListRequest ' + \
30065            'filter: ' + repr(self.filter) + ' ' +\
30066            '>'
30067
30068    def to_dict(self):
30069        return {
30070            'filter': self.filter,
30071        }
30072
30073    @classmethod
30074    def from_dict(cls, d):
30075        return cls(filter=d.get('filter'), )

SecretEngineListRequest specifies criteria for retrieving a list of Secret Engines

SecretEngineListRequest(filter=None)
30054    def __init__(
30055        self,
30056        filter=None,
30057    ):
30058        self.filter = filter if filter is not None else ''
30059        '''
30060         A human-readable filter query string.
30061        '''
filter

A human-readable filter query string.

def to_dict(self)
30068    def to_dict(self):
30069        return {
30070            'filter': self.filter,
30071        }
@classmethod
def from_dict(cls, d)
30073    @classmethod
30074    def from_dict(cls, d):
30075        return cls(filter=d.get('filter'), )
class SecretEngineListResponse:
30078class SecretEngineListResponse:
30079    '''
30080         SecretEngineListResponse contains a list of requested Secret Engine
30081    '''
30082    __slots__ = [
30083        'rate_limit',
30084    ]
30085
30086    def __init__(
30087        self,
30088        rate_limit=None,
30089    ):
30090        self.rate_limit = rate_limit if rate_limit is not None else None
30091        '''
30092         Rate limit information.
30093        '''
30094
30095    def __repr__(self):
30096        return '<sdm.SecretEngineListResponse ' + \
30097            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30098            '>'
30099
30100    def to_dict(self):
30101        return {
30102            'rate_limit': self.rate_limit,
30103        }
30104
30105    @classmethod
30106    def from_dict(cls, d):
30107        return cls(rate_limit=d.get('rate_limit'), )

SecretEngineListResponse contains a list of requested Secret Engine

SecretEngineListResponse(rate_limit=None)
30086    def __init__(
30087        self,
30088        rate_limit=None,
30089    ):
30090        self.rate_limit = rate_limit if rate_limit is not None else None
30091        '''
30092         Rate limit information.
30093        '''
rate_limit

Rate limit information.

def to_dict(self)
30100    def to_dict(self):
30101        return {
30102            'rate_limit': self.rate_limit,
30103        }
@classmethod
def from_dict(cls, d)
30105    @classmethod
30106    def from_dict(cls, d):
30107        return cls(rate_limit=d.get('rate_limit'), )
class SecretEnginePasswordPolicy:
30110class SecretEnginePasswordPolicy:
30111    __slots__ = [
30112        'allow_repeat',
30113        'exclude_characters',
30114        'exclude_upper_case',
30115        'length',
30116        'num_digits',
30117        'num_symbols',
30118    ]
30119
30120    def __init__(
30121        self,
30122        allow_repeat=None,
30123        exclude_characters=None,
30124        exclude_upper_case=None,
30125        length=None,
30126        num_digits=None,
30127        num_symbols=None,
30128    ):
30129        self.allow_repeat = allow_repeat if allow_repeat is not None else False
30130        '''
30131         If set to true allows for consecutive characters to repeat itself
30132        '''
30133        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
30134        '''
30135         Characters to exclude when generating password
30136        '''
30137        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
30138        '''
30139         If set to true do not include upper case letters when generating password
30140        '''
30141        self.length = length if length is not None else 0
30142        '''
30143         Password length.
30144        '''
30145        self.num_digits = num_digits if num_digits is not None else 0
30146        '''
30147         Numbers of digits to use when generating password
30148        '''
30149        self.num_symbols = num_symbols if num_symbols is not None else 0
30150        '''
30151         Number of symbols to use when generating password
30152        '''
30153
30154    def __repr__(self):
30155        return '<sdm.SecretEnginePasswordPolicy ' + \
30156            'allow_repeat: ' + repr(self.allow_repeat) + ' ' +\
30157            'exclude_characters: ' + repr(self.exclude_characters) + ' ' +\
30158            'exclude_upper_case: ' + repr(self.exclude_upper_case) + ' ' +\
30159            'length: ' + repr(self.length) + ' ' +\
30160            'num_digits: ' + repr(self.num_digits) + ' ' +\
30161            'num_symbols: ' + repr(self.num_symbols) + ' ' +\
30162            '>'
30163
30164    def to_dict(self):
30165        return {
30166            'allow_repeat': self.allow_repeat,
30167            'exclude_characters': self.exclude_characters,
30168            'exclude_upper_case': self.exclude_upper_case,
30169            'length': self.length,
30170            'num_digits': self.num_digits,
30171            'num_symbols': self.num_symbols,
30172        }
30173
30174    @classmethod
30175    def from_dict(cls, d):
30176        return cls(
30177            allow_repeat=d.get('allow_repeat'),
30178            exclude_characters=d.get('exclude_characters'),
30179            exclude_upper_case=d.get('exclude_upper_case'),
30180            length=d.get('length'),
30181            num_digits=d.get('num_digits'),
30182            num_symbols=d.get('num_symbols'),
30183        )
SecretEnginePasswordPolicy( allow_repeat=None, exclude_characters=None, exclude_upper_case=None, length=None, num_digits=None, num_symbols=None)
30120    def __init__(
30121        self,
30122        allow_repeat=None,
30123        exclude_characters=None,
30124        exclude_upper_case=None,
30125        length=None,
30126        num_digits=None,
30127        num_symbols=None,
30128    ):
30129        self.allow_repeat = allow_repeat if allow_repeat is not None else False
30130        '''
30131         If set to true allows for consecutive characters to repeat itself
30132        '''
30133        self.exclude_characters = exclude_characters if exclude_characters is not None else ''
30134        '''
30135         Characters to exclude when generating password
30136        '''
30137        self.exclude_upper_case = exclude_upper_case if exclude_upper_case is not None else False
30138        '''
30139         If set to true do not include upper case letters when generating password
30140        '''
30141        self.length = length if length is not None else 0
30142        '''
30143         Password length.
30144        '''
30145        self.num_digits = num_digits if num_digits is not None else 0
30146        '''
30147         Numbers of digits to use when generating password
30148        '''
30149        self.num_symbols = num_symbols if num_symbols is not None else 0
30150        '''
30151         Number of symbols to use when generating password
30152        '''
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)
30164    def to_dict(self):
30165        return {
30166            'allow_repeat': self.allow_repeat,
30167            'exclude_characters': self.exclude_characters,
30168            'exclude_upper_case': self.exclude_upper_case,
30169            'length': self.length,
30170            'num_digits': self.num_digits,
30171            'num_symbols': self.num_symbols,
30172        }
@classmethod
def from_dict(cls, d)
30174    @classmethod
30175    def from_dict(cls, d):
30176        return cls(
30177            allow_repeat=d.get('allow_repeat'),
30178            exclude_characters=d.get('exclude_characters'),
30179            exclude_upper_case=d.get('exclude_upper_case'),
30180            length=d.get('length'),
30181            num_digits=d.get('num_digits'),
30182            num_symbols=d.get('num_symbols'),
30183        )
class SecretEnginePolicy:
30186class SecretEnginePolicy:
30187    __slots__ = [
30188        'password_policy',
30189    ]
30190
30191    def __init__(
30192        self,
30193        password_policy=None,
30194    ):
30195        self.password_policy = password_policy if password_policy is not None else None
30196        '''
30197         Policy for password
30198        '''
30199
30200    def __repr__(self):
30201        return '<sdm.SecretEnginePolicy ' + \
30202            'password_policy: ' + repr(self.password_policy) + ' ' +\
30203            '>'
30204
30205    def to_dict(self):
30206        return {
30207            'password_policy': self.password_policy,
30208        }
30209
30210    @classmethod
30211    def from_dict(cls, d):
30212        return cls(password_policy=d.get('password_policy'), )
SecretEnginePolicy(password_policy=None)
30191    def __init__(
30192        self,
30193        password_policy=None,
30194    ):
30195        self.password_policy = password_policy if password_policy is not None else None
30196        '''
30197         Policy for password
30198        '''
password_policy

Policy for password

def to_dict(self)
30205    def to_dict(self):
30206        return {
30207            'password_policy': self.password_policy,
30208        }
@classmethod
def from_dict(cls, d)
30210    @classmethod
30211    def from_dict(cls, d):
30212        return cls(password_policy=d.get('password_policy'), )
class SecretEngineRotateRequest:
30215class SecretEngineRotateRequest:
30216    __slots__ = [
30217        'id',
30218        'password_policy',
30219    ]
30220
30221    def __init__(
30222        self,
30223        id=None,
30224        password_policy=None,
30225    ):
30226        self.id = id if id is not None else ''
30227        '''
30228         The unique identifier of the Secret Engine to rotate credentials for.
30229        '''
30230        self.password_policy = password_policy if password_policy is not None else None
30231        '''
30232         Optional password policy to use when generating a password
30233         If not provided it will use secret engine's password_policy
30234        '''
30235
30236    def __repr__(self):
30237        return '<sdm.SecretEngineRotateRequest ' + \
30238            'id: ' + repr(self.id) + ' ' +\
30239            'password_policy: ' + repr(self.password_policy) + ' ' +\
30240            '>'
30241
30242    def to_dict(self):
30243        return {
30244            'id': self.id,
30245            'password_policy': self.password_policy,
30246        }
30247
30248    @classmethod
30249    def from_dict(cls, d):
30250        return cls(
30251            id=d.get('id'),
30252            password_policy=d.get('password_policy'),
30253        )
SecretEngineRotateRequest(id=None, password_policy=None)
30221    def __init__(
30222        self,
30223        id=None,
30224        password_policy=None,
30225    ):
30226        self.id = id if id is not None else ''
30227        '''
30228         The unique identifier of the Secret Engine to rotate credentials for.
30229        '''
30230        self.password_policy = password_policy if password_policy is not None else None
30231        '''
30232         Optional password policy to use when generating a password
30233         If not provided it will use secret engine's password_policy
30234        '''
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)
30242    def to_dict(self):
30243        return {
30244            'id': self.id,
30245            'password_policy': self.password_policy,
30246        }
@classmethod
def from_dict(cls, d)
30248    @classmethod
30249    def from_dict(cls, d):
30250        return cls(
30251            id=d.get('id'),
30252            password_policy=d.get('password_policy'),
30253        )
class SecretEngineRotateResponse:
30256class SecretEngineRotateResponse:
30257    __slots__ = [
30258        'rate_limit',
30259    ]
30260
30261    def __init__(
30262        self,
30263        rate_limit=None,
30264    ):
30265        self.rate_limit = rate_limit if rate_limit is not None else None
30266        '''
30267         Rate limit information.
30268        '''
30269
30270    def __repr__(self):
30271        return '<sdm.SecretEngineRotateResponse ' + \
30272            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30273            '>'
30274
30275    def to_dict(self):
30276        return {
30277            'rate_limit': self.rate_limit,
30278        }
30279
30280    @classmethod
30281    def from_dict(cls, d):
30282        return cls(rate_limit=d.get('rate_limit'), )
SecretEngineRotateResponse(rate_limit=None)
30261    def __init__(
30262        self,
30263        rate_limit=None,
30264    ):
30265        self.rate_limit = rate_limit if rate_limit is not None else None
30266        '''
30267         Rate limit information.
30268        '''
rate_limit

Rate limit information.

def to_dict(self)
30275    def to_dict(self):
30276        return {
30277            'rate_limit': self.rate_limit,
30278        }
@classmethod
def from_dict(cls, d)
30280    @classmethod
30281    def from_dict(cls, d):
30282        return cls(rate_limit=d.get('rate_limit'), )
class SecretEngineUpdateRequest:
30285class SecretEngineUpdateRequest:
30286    '''
30287         SecretEngineUpdateRequest specifies secret engine to update
30288    '''
30289    __slots__ = [
30290        'secret_engine',
30291    ]
30292
30293    def __init__(
30294        self,
30295        secret_engine=None,
30296    ):
30297        self.secret_engine = secret_engine if secret_engine is not None else None
30298        '''
30299         Secret engine to update
30300        '''
30301
30302    def __repr__(self):
30303        return '<sdm.SecretEngineUpdateRequest ' + \
30304            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
30305            '>'
30306
30307    def to_dict(self):
30308        return {
30309            'secret_engine': self.secret_engine,
30310        }
30311
30312    @classmethod
30313    def from_dict(cls, d):
30314        return cls(secret_engine=d.get('secret_engine'), )

SecretEngineUpdateRequest specifies secret engine to update

SecretEngineUpdateRequest(secret_engine=None)
30293    def __init__(
30294        self,
30295        secret_engine=None,
30296    ):
30297        self.secret_engine = secret_engine if secret_engine is not None else None
30298        '''
30299         Secret engine to update
30300        '''
secret_engine

Secret engine to update

def to_dict(self)
30307    def to_dict(self):
30308        return {
30309            'secret_engine': self.secret_engine,
30310        }
@classmethod
def from_dict(cls, d)
30312    @classmethod
30313    def from_dict(cls, d):
30314        return cls(secret_engine=d.get('secret_engine'), )
class SecretEngineUpdateResponse:
30317class SecretEngineUpdateResponse:
30318    '''
30319         SecretEngineUpdateResponse contains information about Secret Engine after successful update.
30320    '''
30321    __slots__ = [
30322        'meta',
30323        'rate_limit',
30324        'secret_engine',
30325    ]
30326
30327    def __init__(
30328        self,
30329        meta=None,
30330        rate_limit=None,
30331        secret_engine=None,
30332    ):
30333        self.meta = meta if meta is not None else None
30334        '''
30335         Reserved for future use.
30336        '''
30337        self.rate_limit = rate_limit if rate_limit is not None else None
30338        '''
30339         Rate limit information.
30340        '''
30341        self.secret_engine = secret_engine if secret_engine is not None else None
30342        '''
30343         The requested Secret Engine.
30344        '''
30345
30346    def __repr__(self):
30347        return '<sdm.SecretEngineUpdateResponse ' + \
30348            'meta: ' + repr(self.meta) + ' ' +\
30349            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30350            'secret_engine: ' + repr(self.secret_engine) + ' ' +\
30351            '>'
30352
30353    def to_dict(self):
30354        return {
30355            'meta': self.meta,
30356            'rate_limit': self.rate_limit,
30357            'secret_engine': self.secret_engine,
30358        }
30359
30360    @classmethod
30361    def from_dict(cls, d):
30362        return cls(
30363            meta=d.get('meta'),
30364            rate_limit=d.get('rate_limit'),
30365            secret_engine=d.get('secret_engine'),
30366        )

SecretEngineUpdateResponse contains information about Secret Engine after successful update.

SecretEngineUpdateResponse(meta=None, rate_limit=None, secret_engine=None)
30327    def __init__(
30328        self,
30329        meta=None,
30330        rate_limit=None,
30331        secret_engine=None,
30332    ):
30333        self.meta = meta if meta is not None else None
30334        '''
30335         Reserved for future use.
30336        '''
30337        self.rate_limit = rate_limit if rate_limit is not None else None
30338        '''
30339         Rate limit information.
30340        '''
30341        self.secret_engine = secret_engine if secret_engine is not None else None
30342        '''
30343         The requested Secret Engine.
30344        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_engine

The requested Secret Engine.

def to_dict(self)
30353    def to_dict(self):
30354        return {
30355            'meta': self.meta,
30356            'rate_limit': self.rate_limit,
30357            'secret_engine': self.secret_engine,
30358        }
@classmethod
def from_dict(cls, d)
30360    @classmethod
30361    def from_dict(cls, d):
30362        return cls(
30363            meta=d.get('meta'),
30364            rate_limit=d.get('rate_limit'),
30365            secret_engine=d.get('secret_engine'),
30366        )
class SecretStoreCreateResponse:
30369class SecretStoreCreateResponse:
30370    '''
30371         SecretStoreCreateResponse reports how the SecretStores were created in the system.
30372    '''
30373    __slots__ = [
30374        'meta',
30375        'rate_limit',
30376        'secret_store',
30377    ]
30378
30379    def __init__(
30380        self,
30381        meta=None,
30382        rate_limit=None,
30383        secret_store=None,
30384    ):
30385        self.meta = meta if meta is not None else None
30386        '''
30387         Reserved for future use.
30388        '''
30389        self.rate_limit = rate_limit if rate_limit is not None else None
30390        '''
30391         Rate limit information.
30392        '''
30393        self.secret_store = secret_store if secret_store is not None else None
30394        '''
30395         The created SecretStore.
30396        '''
30397
30398    def __repr__(self):
30399        return '<sdm.SecretStoreCreateResponse ' + \
30400            'meta: ' + repr(self.meta) + ' ' +\
30401            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30402            'secret_store: ' + repr(self.secret_store) + ' ' +\
30403            '>'
30404
30405    def to_dict(self):
30406        return {
30407            'meta': self.meta,
30408            'rate_limit': self.rate_limit,
30409            'secret_store': self.secret_store,
30410        }
30411
30412    @classmethod
30413    def from_dict(cls, d):
30414        return cls(
30415            meta=d.get('meta'),
30416            rate_limit=d.get('rate_limit'),
30417            secret_store=d.get('secret_store'),
30418        )

SecretStoreCreateResponse reports how the SecretStores were created in the system.

SecretStoreCreateResponse(meta=None, rate_limit=None, secret_store=None)
30379    def __init__(
30380        self,
30381        meta=None,
30382        rate_limit=None,
30383        secret_store=None,
30384    ):
30385        self.meta = meta if meta is not None else None
30386        '''
30387         Reserved for future use.
30388        '''
30389        self.rate_limit = rate_limit if rate_limit is not None else None
30390        '''
30391         Rate limit information.
30392        '''
30393        self.secret_store = secret_store if secret_store is not None else None
30394        '''
30395         The created SecretStore.
30396        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The created SecretStore.

def to_dict(self)
30405    def to_dict(self):
30406        return {
30407            'meta': self.meta,
30408            'rate_limit': self.rate_limit,
30409            'secret_store': self.secret_store,
30410        }
@classmethod
def from_dict(cls, d)
30412    @classmethod
30413    def from_dict(cls, d):
30414        return cls(
30415            meta=d.get('meta'),
30416            rate_limit=d.get('rate_limit'),
30417            secret_store=d.get('secret_store'),
30418        )
class SecretStoreDeleteResponse:
30421class SecretStoreDeleteResponse:
30422    '''
30423         SecretStoreDeleteResponse returns information about a SecretStore that was deleted.
30424    '''
30425    __slots__ = [
30426        'meta',
30427        'rate_limit',
30428    ]
30429
30430    def __init__(
30431        self,
30432        meta=None,
30433        rate_limit=None,
30434    ):
30435        self.meta = meta if meta is not None else None
30436        '''
30437         Reserved for future use.
30438        '''
30439        self.rate_limit = rate_limit if rate_limit is not None else None
30440        '''
30441         Rate limit information.
30442        '''
30443
30444    def __repr__(self):
30445        return '<sdm.SecretStoreDeleteResponse ' + \
30446            'meta: ' + repr(self.meta) + ' ' +\
30447            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30448            '>'
30449
30450    def to_dict(self):
30451        return {
30452            'meta': self.meta,
30453            'rate_limit': self.rate_limit,
30454        }
30455
30456    @classmethod
30457    def from_dict(cls, d):
30458        return cls(
30459            meta=d.get('meta'),
30460            rate_limit=d.get('rate_limit'),
30461        )

SecretStoreDeleteResponse returns information about a SecretStore that was deleted.

SecretStoreDeleteResponse(meta=None, rate_limit=None)
30430    def __init__(
30431        self,
30432        meta=None,
30433        rate_limit=None,
30434    ):
30435        self.meta = meta if meta is not None else None
30436        '''
30437         Reserved for future use.
30438        '''
30439        self.rate_limit = rate_limit if rate_limit is not None else None
30440        '''
30441         Rate limit information.
30442        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

def to_dict(self)
30450    def to_dict(self):
30451        return {
30452            'meta': self.meta,
30453            'rate_limit': self.rate_limit,
30454        }
@classmethod
def from_dict(cls, d)
30456    @classmethod
30457    def from_dict(cls, d):
30458        return cls(
30459            meta=d.get('meta'),
30460            rate_limit=d.get('rate_limit'),
30461        )
class SecretStoreGetResponse:
30464class SecretStoreGetResponse:
30465    '''
30466         SecretStoreGetResponse returns a requested SecretStore.
30467    '''
30468    __slots__ = [
30469        'meta',
30470        'rate_limit',
30471        'secret_store',
30472    ]
30473
30474    def __init__(
30475        self,
30476        meta=None,
30477        rate_limit=None,
30478        secret_store=None,
30479    ):
30480        self.meta = meta if meta is not None else None
30481        '''
30482         Reserved for future use.
30483        '''
30484        self.rate_limit = rate_limit if rate_limit is not None else None
30485        '''
30486         Rate limit information.
30487        '''
30488        self.secret_store = secret_store if secret_store is not None else None
30489        '''
30490         The requested SecretStore.
30491        '''
30492
30493    def __repr__(self):
30494        return '<sdm.SecretStoreGetResponse ' + \
30495            'meta: ' + repr(self.meta) + ' ' +\
30496            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30497            'secret_store: ' + repr(self.secret_store) + ' ' +\
30498            '>'
30499
30500    def to_dict(self):
30501        return {
30502            'meta': self.meta,
30503            'rate_limit': self.rate_limit,
30504            'secret_store': self.secret_store,
30505        }
30506
30507    @classmethod
30508    def from_dict(cls, d):
30509        return cls(
30510            meta=d.get('meta'),
30511            rate_limit=d.get('rate_limit'),
30512            secret_store=d.get('secret_store'),
30513        )

SecretStoreGetResponse returns a requested SecretStore.

SecretStoreGetResponse(meta=None, rate_limit=None, secret_store=None)
30474    def __init__(
30475        self,
30476        meta=None,
30477        rate_limit=None,
30478        secret_store=None,
30479    ):
30480        self.meta = meta if meta is not None else None
30481        '''
30482         Reserved for future use.
30483        '''
30484        self.rate_limit = rate_limit if rate_limit is not None else None
30485        '''
30486         Rate limit information.
30487        '''
30488        self.secret_store = secret_store if secret_store is not None else None
30489        '''
30490         The requested SecretStore.
30491        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The requested SecretStore.

def to_dict(self)
30500    def to_dict(self):
30501        return {
30502            'meta': self.meta,
30503            'rate_limit': self.rate_limit,
30504            'secret_store': self.secret_store,
30505        }
@classmethod
def from_dict(cls, d)
30507    @classmethod
30508    def from_dict(cls, d):
30509        return cls(
30510            meta=d.get('meta'),
30511            rate_limit=d.get('rate_limit'),
30512            secret_store=d.get('secret_store'),
30513        )
class SecretStoreHealth:
30516class SecretStoreHealth:
30517    '''
30518         SecretStoreHealth denotes a secret store's health status. Note a secret store is not
30519     healthy in terms of a simple boolean, but rather healthy with respect to a particular node
30520     or set of nodes.
30521    '''
30522    __slots__ = [
30523        'changed_at',
30524        'checked_at',
30525        'error',
30526        'flags',
30527        'node_id',
30528        'reachability',
30529        'secret_store_id',
30530        'status',
30531    ]
30532
30533    def __init__(
30534        self,
30535        changed_at=None,
30536        checked_at=None,
30537        error=None,
30538        flags=None,
30539        node_id=None,
30540        reachability=None,
30541        secret_store_id=None,
30542        status=None,
30543    ):
30544        self.changed_at = changed_at if changed_at is not None else None
30545        '''
30546         The time when the status last changed
30547        '''
30548        self.checked_at = checked_at if checked_at is not None else None
30549        '''
30550         The time when the status was last checked by the node
30551        '''
30552        self.error = error if error is not None else ''
30553        '''
30554         The error associated with this health check, if it occurred after reachability checks succeeded.
30555        '''
30556        self.flags = flags if flags is not None else []
30557        '''
30558         Any specific status or error flags associated with this health check.
30559        '''
30560        self.node_id = node_id if node_id is not None else ''
30561        '''
30562         Associated node id for this health
30563        '''
30564        self.reachability = reachability if reachability is not None else ''
30565        '''
30566         The error associated with this health check, if it occurred during reachability checks.
30567        '''
30568        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30569        '''
30570         Associated secret store for this health
30571        '''
30572        self.status = status if status is not None else ''
30573        '''
30574         The status of the link between the node and secret store
30575        '''
30576
30577    def __repr__(self):
30578        return '<sdm.SecretStoreHealth ' + \
30579            'changed_at: ' + repr(self.changed_at) + ' ' +\
30580            'checked_at: ' + repr(self.checked_at) + ' ' +\
30581            'error: ' + repr(self.error) + ' ' +\
30582            'flags: ' + repr(self.flags) + ' ' +\
30583            'node_id: ' + repr(self.node_id) + ' ' +\
30584            'reachability: ' + repr(self.reachability) + ' ' +\
30585            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30586            'status: ' + repr(self.status) + ' ' +\
30587            '>'
30588
30589    def to_dict(self):
30590        return {
30591            'changed_at': self.changed_at,
30592            'checked_at': self.checked_at,
30593            'error': self.error,
30594            'flags': self.flags,
30595            'node_id': self.node_id,
30596            'reachability': self.reachability,
30597            'secret_store_id': self.secret_store_id,
30598            'status': self.status,
30599        }
30600
30601    @classmethod
30602    def from_dict(cls, d):
30603        return cls(
30604            changed_at=d.get('changed_at'),
30605            checked_at=d.get('checked_at'),
30606            error=d.get('error'),
30607            flags=d.get('flags'),
30608            node_id=d.get('node_id'),
30609            reachability=d.get('reachability'),
30610            secret_store_id=d.get('secret_store_id'),
30611            status=d.get('status'),
30612        )

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)
30533    def __init__(
30534        self,
30535        changed_at=None,
30536        checked_at=None,
30537        error=None,
30538        flags=None,
30539        node_id=None,
30540        reachability=None,
30541        secret_store_id=None,
30542        status=None,
30543    ):
30544        self.changed_at = changed_at if changed_at is not None else None
30545        '''
30546         The time when the status last changed
30547        '''
30548        self.checked_at = checked_at if checked_at is not None else None
30549        '''
30550         The time when the status was last checked by the node
30551        '''
30552        self.error = error if error is not None else ''
30553        '''
30554         The error associated with this health check, if it occurred after reachability checks succeeded.
30555        '''
30556        self.flags = flags if flags is not None else []
30557        '''
30558         Any specific status or error flags associated with this health check.
30559        '''
30560        self.node_id = node_id if node_id is not None else ''
30561        '''
30562         Associated node id for this health
30563        '''
30564        self.reachability = reachability if reachability is not None else ''
30565        '''
30566         The error associated with this health check, if it occurred during reachability checks.
30567        '''
30568        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30569        '''
30570         Associated secret store for this health
30571        '''
30572        self.status = status if status is not None else ''
30573        '''
30574         The status of the link between the node and secret store
30575        '''
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)
30589    def to_dict(self):
30590        return {
30591            'changed_at': self.changed_at,
30592            'checked_at': self.checked_at,
30593            'error': self.error,
30594            'flags': self.flags,
30595            'node_id': self.node_id,
30596            'reachability': self.reachability,
30597            'secret_store_id': self.secret_store_id,
30598            'status': self.status,
30599        }
@classmethod
def from_dict(cls, d)
30601    @classmethod
30602    def from_dict(cls, d):
30603        return cls(
30604            changed_at=d.get('changed_at'),
30605            checked_at=d.get('checked_at'),
30606            error=d.get('error'),
30607            flags=d.get('flags'),
30608            node_id=d.get('node_id'),
30609            reachability=d.get('reachability'),
30610            secret_store_id=d.get('secret_store_id'),
30611            status=d.get('status'),
30612        )
class SecretStoreHealthListResponse:
30615class SecretStoreHealthListResponse:
30616    __slots__ = [
30617        'rate_limit',
30618    ]
30619
30620    def __init__(
30621        self,
30622        rate_limit=None,
30623    ):
30624        self.rate_limit = rate_limit if rate_limit is not None else None
30625        '''
30626         Rate limit information.
30627        '''
30628
30629    def __repr__(self):
30630        return '<sdm.SecretStoreHealthListResponse ' + \
30631            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30632            '>'
30633
30634    def to_dict(self):
30635        return {
30636            'rate_limit': self.rate_limit,
30637        }
30638
30639    @classmethod
30640    def from_dict(cls, d):
30641        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthListResponse(rate_limit=None)
30620    def __init__(
30621        self,
30622        rate_limit=None,
30623    ):
30624        self.rate_limit = rate_limit if rate_limit is not None else None
30625        '''
30626         Rate limit information.
30627        '''
rate_limit

Rate limit information.

def to_dict(self)
30634    def to_dict(self):
30635        return {
30636            'rate_limit': self.rate_limit,
30637        }
@classmethod
def from_dict(cls, d)
30639    @classmethod
30640    def from_dict(cls, d):
30641        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHealthcheckResponse:
30644class SecretStoreHealthcheckResponse:
30645    __slots__ = [
30646        'rate_limit',
30647    ]
30648
30649    def __init__(
30650        self,
30651        rate_limit=None,
30652    ):
30653        self.rate_limit = rate_limit if rate_limit is not None else None
30654        '''
30655         Rate limit information.
30656        '''
30657
30658    def __repr__(self):
30659        return '<sdm.SecretStoreHealthcheckResponse ' + \
30660            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30661            '>'
30662
30663    def to_dict(self):
30664        return {
30665            'rate_limit': self.rate_limit,
30666        }
30667
30668    @classmethod
30669    def from_dict(cls, d):
30670        return cls(rate_limit=d.get('rate_limit'), )
SecretStoreHealthcheckResponse(rate_limit=None)
30649    def __init__(
30650        self,
30651        rate_limit=None,
30652    ):
30653        self.rate_limit = rate_limit if rate_limit is not None else None
30654        '''
30655         Rate limit information.
30656        '''
rate_limit

Rate limit information.

def to_dict(self)
30663    def to_dict(self):
30664        return {
30665            'rate_limit': self.rate_limit,
30666        }
@classmethod
def from_dict(cls, d)
30668    @classmethod
30669    def from_dict(cls, d):
30670        return cls(rate_limit=d.get('rate_limit'), )
class SecretStoreHistory:
30673class SecretStoreHistory:
30674    '''
30675         SecretStoreHistory records the state of a SecretStore at a given point in time,
30676     where every change (create, update and delete) to a SecretStore produces an
30677     SecretStoreHistory record.
30678    '''
30679    __slots__ = [
30680        'activity_id',
30681        'deleted_at',
30682        'secret_store',
30683        'timestamp',
30684    ]
30685
30686    def __init__(
30687        self,
30688        activity_id=None,
30689        deleted_at=None,
30690        secret_store=None,
30691        timestamp=None,
30692    ):
30693        self.activity_id = activity_id if activity_id is not None else ''
30694        '''
30695         The unique identifier of the Activity that produced this change to the SecretStore.
30696         May be empty for some system-initiated updates.
30697        '''
30698        self.deleted_at = deleted_at if deleted_at is not None else None
30699        '''
30700         If this SecretStore was deleted, the time it was deleted.
30701        '''
30702        self.secret_store = secret_store if secret_store is not None else None
30703        '''
30704         The complete SecretStore state at this time.
30705        '''
30706        self.timestamp = timestamp if timestamp is not None else None
30707        '''
30708         The time at which the SecretStore state was recorded.
30709        '''
30710
30711    def __repr__(self):
30712        return '<sdm.SecretStoreHistory ' + \
30713            'activity_id: ' + repr(self.activity_id) + ' ' +\
30714            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
30715            'secret_store: ' + repr(self.secret_store) + ' ' +\
30716            'timestamp: ' + repr(self.timestamp) + ' ' +\
30717            '>'
30718
30719    def to_dict(self):
30720        return {
30721            'activity_id': self.activity_id,
30722            'deleted_at': self.deleted_at,
30723            'secret_store': self.secret_store,
30724            'timestamp': self.timestamp,
30725        }
30726
30727    @classmethod
30728    def from_dict(cls, d):
30729        return cls(
30730            activity_id=d.get('activity_id'),
30731            deleted_at=d.get('deleted_at'),
30732            secret_store=d.get('secret_store'),
30733            timestamp=d.get('timestamp'),
30734        )

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)
30686    def __init__(
30687        self,
30688        activity_id=None,
30689        deleted_at=None,
30690        secret_store=None,
30691        timestamp=None,
30692    ):
30693        self.activity_id = activity_id if activity_id is not None else ''
30694        '''
30695         The unique identifier of the Activity that produced this change to the SecretStore.
30696         May be empty for some system-initiated updates.
30697        '''
30698        self.deleted_at = deleted_at if deleted_at is not None else None
30699        '''
30700         If this SecretStore was deleted, the time it was deleted.
30701        '''
30702        self.secret_store = secret_store if secret_store is not None else None
30703        '''
30704         The complete SecretStore state at this time.
30705        '''
30706        self.timestamp = timestamp if timestamp is not None else None
30707        '''
30708         The time at which the SecretStore state was recorded.
30709        '''
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)
30719    def to_dict(self):
30720        return {
30721            'activity_id': self.activity_id,
30722            'deleted_at': self.deleted_at,
30723            'secret_store': self.secret_store,
30724            'timestamp': self.timestamp,
30725        }
@classmethod
def from_dict(cls, d)
30727    @classmethod
30728    def from_dict(cls, d):
30729        return cls(
30730            activity_id=d.get('activity_id'),
30731            deleted_at=d.get('deleted_at'),
30732            secret_store=d.get('secret_store'),
30733            timestamp=d.get('timestamp'),
30734        )
class SecretStoreUpdateResponse:
30737class SecretStoreUpdateResponse:
30738    '''
30739         SecretStoreUpdateResponse returns the fields of a SecretStore after it has been updated by
30740     a SecretStoreUpdateRequest.
30741    '''
30742    __slots__ = [
30743        'meta',
30744        'rate_limit',
30745        'secret_store',
30746    ]
30747
30748    def __init__(
30749        self,
30750        meta=None,
30751        rate_limit=None,
30752        secret_store=None,
30753    ):
30754        self.meta = meta if meta is not None else None
30755        '''
30756         Reserved for future use.
30757        '''
30758        self.rate_limit = rate_limit if rate_limit is not None else None
30759        '''
30760         Rate limit information.
30761        '''
30762        self.secret_store = secret_store if secret_store is not None else None
30763        '''
30764         The updated SecretStore.
30765        '''
30766
30767    def __repr__(self):
30768        return '<sdm.SecretStoreUpdateResponse ' + \
30769            'meta: ' + repr(self.meta) + ' ' +\
30770            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
30771            'secret_store: ' + repr(self.secret_store) + ' ' +\
30772            '>'
30773
30774    def to_dict(self):
30775        return {
30776            'meta': self.meta,
30777            'rate_limit': self.rate_limit,
30778            'secret_store': self.secret_store,
30779        }
30780
30781    @classmethod
30782    def from_dict(cls, d):
30783        return cls(
30784            meta=d.get('meta'),
30785            rate_limit=d.get('rate_limit'),
30786            secret_store=d.get('secret_store'),
30787        )

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

SecretStoreUpdateResponse(meta=None, rate_limit=None, secret_store=None)
30748    def __init__(
30749        self,
30750        meta=None,
30751        rate_limit=None,
30752        secret_store=None,
30753    ):
30754        self.meta = meta if meta is not None else None
30755        '''
30756         Reserved for future use.
30757        '''
30758        self.rate_limit = rate_limit if rate_limit is not None else None
30759        '''
30760         Rate limit information.
30761        '''
30762        self.secret_store = secret_store if secret_store is not None else None
30763        '''
30764         The updated SecretStore.
30765        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

secret_store

The updated SecretStore.

def to_dict(self)
30774    def to_dict(self):
30775        return {
30776            'meta': self.meta,
30777            'rate_limit': self.rate_limit,
30778            'secret_store': self.secret_store,
30779        }
@classmethod
def from_dict(cls, d)
30781    @classmethod
30782    def from_dict(cls, d):
30783        return cls(
30784            meta=d.get('meta'),
30785            rate_limit=d.get('rate_limit'),
30786            secret_store=d.get('secret_store'),
30787        )
class Service:
30790class Service:
30791    '''
30792         A Service is a service account that can connect to resources they are granted
30793     directly, or granted via roles. Services are typically automated jobs.
30794    '''
30795    __slots__ = [
30796        'id',
30797        'name',
30798        'suspended',
30799        'tags',
30800    ]
30801
30802    def __init__(
30803        self,
30804        id=None,
30805        name=None,
30806        suspended=None,
30807        tags=None,
30808    ):
30809        self.id = id if id is not None else ''
30810        '''
30811         Unique identifier of the Service.
30812        '''
30813        self.name = name if name is not None else ''
30814        '''
30815         Unique human-readable name of the Service.
30816        '''
30817        self.suspended = suspended if suspended is not None else False
30818        '''
30819         The Service's suspended state.
30820        '''
30821        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30822        '''
30823         Tags is a map of key, value pairs.
30824        '''
30825
30826    def __repr__(self):
30827        return '<sdm.Service ' + \
30828            'id: ' + repr(self.id) + ' ' +\
30829            'name: ' + repr(self.name) + ' ' +\
30830            'suspended: ' + repr(self.suspended) + ' ' +\
30831            'tags: ' + repr(self.tags) + ' ' +\
30832            '>'
30833
30834    def to_dict(self):
30835        return {
30836            'id': self.id,
30837            'name': self.name,
30838            'suspended': self.suspended,
30839            'tags': self.tags,
30840        }
30841
30842    @classmethod
30843    def from_dict(cls, d):
30844        return cls(
30845            id=d.get('id'),
30846            name=d.get('name'),
30847            suspended=d.get('suspended'),
30848            tags=d.get('tags'),
30849        )

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)
30802    def __init__(
30803        self,
30804        id=None,
30805        name=None,
30806        suspended=None,
30807        tags=None,
30808    ):
30809        self.id = id if id is not None else ''
30810        '''
30811         Unique identifier of the Service.
30812        '''
30813        self.name = name if name is not None else ''
30814        '''
30815         Unique human-readable name of the Service.
30816        '''
30817        self.suspended = suspended if suspended is not None else False
30818        '''
30819         The Service's suspended state.
30820        '''
30821        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30822        '''
30823         Tags is a map of key, value pairs.
30824        '''
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)
30834    def to_dict(self):
30835        return {
30836            'id': self.id,
30837            'name': self.name,
30838            'suspended': self.suspended,
30839            'tags': self.tags,
30840        }
@classmethod
def from_dict(cls, d)
30842    @classmethod
30843    def from_dict(cls, d):
30844        return cls(
30845            id=d.get('id'),
30846            name=d.get('name'),
30847            suspended=d.get('suspended'),
30848            tags=d.get('tags'),
30849        )
class SingleStore:
30852class SingleStore:
30853    __slots__ = [
30854        'bind_interface',
30855        'database',
30856        'egress_filter',
30857        'healthy',
30858        'hostname',
30859        'id',
30860        'name',
30861        'password',
30862        'port',
30863        'port_override',
30864        'proxy_cluster_id',
30865        'require_native_auth',
30866        'secret_store_id',
30867        'subdomain',
30868        'tags',
30869        'use_azure_single_server_usernames',
30870        'username',
30871    ]
30872
30873    def __init__(
30874        self,
30875        bind_interface=None,
30876        database=None,
30877        egress_filter=None,
30878        healthy=None,
30879        hostname=None,
30880        id=None,
30881        name=None,
30882        password=None,
30883        port=None,
30884        port_override=None,
30885        proxy_cluster_id=None,
30886        require_native_auth=None,
30887        secret_store_id=None,
30888        subdomain=None,
30889        tags=None,
30890        use_azure_single_server_usernames=None,
30891        username=None,
30892    ):
30893        self.bind_interface = bind_interface if bind_interface is not None else ''
30894        '''
30895         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
30896        '''
30897        self.database = database if database is not None else ''
30898        '''
30899         The database for healthchecks. Does not affect client requests.
30900        '''
30901        self.egress_filter = egress_filter if egress_filter is not None else ''
30902        '''
30903         A filter applied to the routing logic to pin datasource to nodes.
30904        '''
30905        self.healthy = healthy if healthy is not None else False
30906        '''
30907         True if the datasource is reachable and the credentials are valid.
30908        '''
30909        self.hostname = hostname if hostname is not None else ''
30910        '''
30911         The host to dial to initiate a connection from the egress node to this resource.
30912        '''
30913        self.id = id if id is not None else ''
30914        '''
30915         Unique identifier of the Resource.
30916        '''
30917        self.name = name if name is not None else ''
30918        '''
30919         Unique human-readable name of the Resource.
30920        '''
30921        self.password = password if password is not None else ''
30922        '''
30923         The password to authenticate with.
30924        '''
30925        self.port = port if port is not None else 0
30926        '''
30927         The port to dial to initiate a connection from the egress node to this resource.
30928        '''
30929        self.port_override = port_override if port_override is not None else 0
30930        '''
30931         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
30932        '''
30933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30934        '''
30935         ID of the proxy cluster for this resource, if any.
30936        '''
30937        self.require_native_auth = require_native_auth if require_native_auth is not None else False
30938        '''
30939         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
30940        '''
30941        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30942        '''
30943         ID of the secret store containing credentials for this resource, if any.
30944        '''
30945        self.subdomain = subdomain if subdomain is not None else ''
30946        '''
30947         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
30948        '''
30949        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30950        '''
30951         Tags is a map of key, value pairs.
30952        '''
30953        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
30954        '''
30955         If true, appends the hostname to the username when hitting a database.azure.com address
30956        '''
30957        self.username = username if username is not None else ''
30958        '''
30959         The username to authenticate with.
30960        '''
30961
30962    def __repr__(self):
30963        return '<sdm.SingleStore ' + \
30964            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
30965            'database: ' + repr(self.database) + ' ' +\
30966            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
30967            'healthy: ' + repr(self.healthy) + ' ' +\
30968            'hostname: ' + repr(self.hostname) + ' ' +\
30969            'id: ' + repr(self.id) + ' ' +\
30970            'name: ' + repr(self.name) + ' ' +\
30971            'password: ' + repr(self.password) + ' ' +\
30972            'port: ' + repr(self.port) + ' ' +\
30973            'port_override: ' + repr(self.port_override) + ' ' +\
30974            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
30975            'require_native_auth: ' + repr(self.require_native_auth) + ' ' +\
30976            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
30977            'subdomain: ' + repr(self.subdomain) + ' ' +\
30978            'tags: ' + repr(self.tags) + ' ' +\
30979            'use_azure_single_server_usernames: ' + repr(self.use_azure_single_server_usernames) + ' ' +\
30980            'username: ' + repr(self.username) + ' ' +\
30981            '>'
30982
30983    def to_dict(self):
30984        return {
30985            'bind_interface': self.bind_interface,
30986            'database': self.database,
30987            'egress_filter': self.egress_filter,
30988            'healthy': self.healthy,
30989            'hostname': self.hostname,
30990            'id': self.id,
30991            'name': self.name,
30992            'password': self.password,
30993            'port': self.port,
30994            'port_override': self.port_override,
30995            'proxy_cluster_id': self.proxy_cluster_id,
30996            'require_native_auth': self.require_native_auth,
30997            'secret_store_id': self.secret_store_id,
30998            'subdomain': self.subdomain,
30999            'tags': self.tags,
31000            'use_azure_single_server_usernames':
31001            self.use_azure_single_server_usernames,
31002            'username': self.username,
31003        }
31004
31005    @classmethod
31006    def from_dict(cls, d):
31007        return cls(
31008            bind_interface=d.get('bind_interface'),
31009            database=d.get('database'),
31010            egress_filter=d.get('egress_filter'),
31011            healthy=d.get('healthy'),
31012            hostname=d.get('hostname'),
31013            id=d.get('id'),
31014            name=d.get('name'),
31015            password=d.get('password'),
31016            port=d.get('port'),
31017            port_override=d.get('port_override'),
31018            proxy_cluster_id=d.get('proxy_cluster_id'),
31019            require_native_auth=d.get('require_native_auth'),
31020            secret_store_id=d.get('secret_store_id'),
31021            subdomain=d.get('subdomain'),
31022            tags=d.get('tags'),
31023            use_azure_single_server_usernames=d.get(
31024                'use_azure_single_server_usernames'),
31025            username=d.get('username'),
31026        )
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)
30873    def __init__(
30874        self,
30875        bind_interface=None,
30876        database=None,
30877        egress_filter=None,
30878        healthy=None,
30879        hostname=None,
30880        id=None,
30881        name=None,
30882        password=None,
30883        port=None,
30884        port_override=None,
30885        proxy_cluster_id=None,
30886        require_native_auth=None,
30887        secret_store_id=None,
30888        subdomain=None,
30889        tags=None,
30890        use_azure_single_server_usernames=None,
30891        username=None,
30892    ):
30893        self.bind_interface = bind_interface if bind_interface is not None else ''
30894        '''
30895         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
30896        '''
30897        self.database = database if database is not None else ''
30898        '''
30899         The database for healthchecks. Does not affect client requests.
30900        '''
30901        self.egress_filter = egress_filter if egress_filter is not None else ''
30902        '''
30903         A filter applied to the routing logic to pin datasource to nodes.
30904        '''
30905        self.healthy = healthy if healthy is not None else False
30906        '''
30907         True if the datasource is reachable and the credentials are valid.
30908        '''
30909        self.hostname = hostname if hostname is not None else ''
30910        '''
30911         The host to dial to initiate a connection from the egress node to this resource.
30912        '''
30913        self.id = id if id is not None else ''
30914        '''
30915         Unique identifier of the Resource.
30916        '''
30917        self.name = name if name is not None else ''
30918        '''
30919         Unique human-readable name of the Resource.
30920        '''
30921        self.password = password if password is not None else ''
30922        '''
30923         The password to authenticate with.
30924        '''
30925        self.port = port if port is not None else 0
30926        '''
30927         The port to dial to initiate a connection from the egress node to this resource.
30928        '''
30929        self.port_override = port_override if port_override is not None else 0
30930        '''
30931         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
30932        '''
30933        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
30934        '''
30935         ID of the proxy cluster for this resource, if any.
30936        '''
30937        self.require_native_auth = require_native_auth if require_native_auth is not None else False
30938        '''
30939         Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
30940        '''
30941        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
30942        '''
30943         ID of the secret store containing credentials for this resource, if any.
30944        '''
30945        self.subdomain = subdomain if subdomain is not None else ''
30946        '''
30947         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
30948        '''
30949        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
30950        '''
30951         Tags is a map of key, value pairs.
30952        '''
30953        self.use_azure_single_server_usernames = use_azure_single_server_usernames if use_azure_single_server_usernames is not None else False
30954        '''
30955         If true, appends the hostname to the username when hitting a database.azure.com address
30956        '''
30957        self.username = username if username is not None else ''
30958        '''
30959         The username to authenticate with.
30960        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
30983    def to_dict(self):
30984        return {
30985            'bind_interface': self.bind_interface,
30986            'database': self.database,
30987            'egress_filter': self.egress_filter,
30988            'healthy': self.healthy,
30989            'hostname': self.hostname,
30990            'id': self.id,
30991            'name': self.name,
30992            'password': self.password,
30993            'port': self.port,
30994            'port_override': self.port_override,
30995            'proxy_cluster_id': self.proxy_cluster_id,
30996            'require_native_auth': self.require_native_auth,
30997            'secret_store_id': self.secret_store_id,
30998            'subdomain': self.subdomain,
30999            'tags': self.tags,
31000            'use_azure_single_server_usernames':
31001            self.use_azure_single_server_usernames,
31002            'username': self.username,
31003        }
@classmethod
def from_dict(cls, d)
31005    @classmethod
31006    def from_dict(cls, d):
31007        return cls(
31008            bind_interface=d.get('bind_interface'),
31009            database=d.get('database'),
31010            egress_filter=d.get('egress_filter'),
31011            healthy=d.get('healthy'),
31012            hostname=d.get('hostname'),
31013            id=d.get('id'),
31014            name=d.get('name'),
31015            password=d.get('password'),
31016            port=d.get('port'),
31017            port_override=d.get('port_override'),
31018            proxy_cluster_id=d.get('proxy_cluster_id'),
31019            require_native_auth=d.get('require_native_auth'),
31020            secret_store_id=d.get('secret_store_id'),
31021            subdomain=d.get('subdomain'),
31022            tags=d.get('tags'),
31023            use_azure_single_server_usernames=d.get(
31024                'use_azure_single_server_usernames'),
31025            username=d.get('username'),
31026        )
class Snowflake:
31029class Snowflake:
31030    __slots__ = [
31031        'bind_interface',
31032        'database',
31033        'egress_filter',
31034        'healthy',
31035        'hostname',
31036        'id',
31037        'name',
31038        'password',
31039        'port_override',
31040        'private_key',
31041        'proxy_cluster_id',
31042        'schema',
31043        'secret_store_id',
31044        'subdomain',
31045        'tags',
31046        'username',
31047    ]
31048
31049    def __init__(
31050        self,
31051        bind_interface=None,
31052        database=None,
31053        egress_filter=None,
31054        healthy=None,
31055        hostname=None,
31056        id=None,
31057        name=None,
31058        password=None,
31059        port_override=None,
31060        private_key=None,
31061        proxy_cluster_id=None,
31062        schema=None,
31063        secret_store_id=None,
31064        subdomain=None,
31065        tags=None,
31066        username=None,
31067    ):
31068        self.bind_interface = bind_interface if bind_interface is not None else ''
31069        '''
31070         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31071        '''
31072        self.database = database if database is not None else ''
31073        '''
31074         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
31075        '''
31076        self.egress_filter = egress_filter if egress_filter is not None else ''
31077        '''
31078         A filter applied to the routing logic to pin datasource to nodes.
31079        '''
31080        self.healthy = healthy if healthy is not None else False
31081        '''
31082         True if the datasource is reachable and the credentials are valid.
31083        '''
31084        self.hostname = hostname if hostname is not None else ''
31085        '''
31086         The host to dial to initiate a connection from the egress node to this resource.
31087        '''
31088        self.id = id if id is not None else ''
31089        '''
31090         Unique identifier of the Resource.
31091        '''
31092        self.name = name if name is not None else ''
31093        '''
31094         Unique human-readable name of the Resource.
31095        '''
31096        self.password = password if password is not None else ''
31097        '''
31098         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
31099        '''
31100        self.port_override = port_override if port_override is not None else 0
31101        '''
31102         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31103        '''
31104        self.private_key = private_key if private_key is not None else ''
31105        '''
31106         RSA Private Key for authentication
31107        '''
31108        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31109        '''
31110         ID of the proxy cluster for this resource, if any.
31111        '''
31112        self.schema = schema if schema is not None else ''
31113        '''
31114         The schema to provide on authentication.
31115        '''
31116        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31117        '''
31118         ID of the secret store containing credentials for this resource, if any.
31119        '''
31120        self.subdomain = subdomain if subdomain is not None else ''
31121        '''
31122         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31123        '''
31124        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31125        '''
31126         Tags is a map of key, value pairs.
31127        '''
31128        self.username = username if username is not None else ''
31129        '''
31130         The username to authenticate with.
31131        '''
31132
31133    def __repr__(self):
31134        return '<sdm.Snowflake ' + \
31135            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31136            'database: ' + repr(self.database) + ' ' +\
31137            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31138            'healthy: ' + repr(self.healthy) + ' ' +\
31139            'hostname: ' + repr(self.hostname) + ' ' +\
31140            'id: ' + repr(self.id) + ' ' +\
31141            'name: ' + repr(self.name) + ' ' +\
31142            'password: ' + repr(self.password) + ' ' +\
31143            'port_override: ' + repr(self.port_override) + ' ' +\
31144            'private_key: ' + repr(self.private_key) + ' ' +\
31145            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31146            'schema: ' + repr(self.schema) + ' ' +\
31147            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31148            'subdomain: ' + repr(self.subdomain) + ' ' +\
31149            'tags: ' + repr(self.tags) + ' ' +\
31150            'username: ' + repr(self.username) + ' ' +\
31151            '>'
31152
31153    def to_dict(self):
31154        return {
31155            'bind_interface': self.bind_interface,
31156            'database': self.database,
31157            'egress_filter': self.egress_filter,
31158            'healthy': self.healthy,
31159            'hostname': self.hostname,
31160            'id': self.id,
31161            'name': self.name,
31162            'password': self.password,
31163            'port_override': self.port_override,
31164            'private_key': self.private_key,
31165            'proxy_cluster_id': self.proxy_cluster_id,
31166            'schema': self.schema,
31167            'secret_store_id': self.secret_store_id,
31168            'subdomain': self.subdomain,
31169            'tags': self.tags,
31170            'username': self.username,
31171        }
31172
31173    @classmethod
31174    def from_dict(cls, d):
31175        return cls(
31176            bind_interface=d.get('bind_interface'),
31177            database=d.get('database'),
31178            egress_filter=d.get('egress_filter'),
31179            healthy=d.get('healthy'),
31180            hostname=d.get('hostname'),
31181            id=d.get('id'),
31182            name=d.get('name'),
31183            password=d.get('password'),
31184            port_override=d.get('port_override'),
31185            private_key=d.get('private_key'),
31186            proxy_cluster_id=d.get('proxy_cluster_id'),
31187            schema=d.get('schema'),
31188            secret_store_id=d.get('secret_store_id'),
31189            subdomain=d.get('subdomain'),
31190            tags=d.get('tags'),
31191            username=d.get('username'),
31192        )
Snowflake( bind_interface=None, database=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port_override=None, private_key=None, proxy_cluster_id=None, schema=None, secret_store_id=None, subdomain=None, tags=None, username=None)
31049    def __init__(
31050        self,
31051        bind_interface=None,
31052        database=None,
31053        egress_filter=None,
31054        healthy=None,
31055        hostname=None,
31056        id=None,
31057        name=None,
31058        password=None,
31059        port_override=None,
31060        private_key=None,
31061        proxy_cluster_id=None,
31062        schema=None,
31063        secret_store_id=None,
31064        subdomain=None,
31065        tags=None,
31066        username=None,
31067    ):
31068        self.bind_interface = bind_interface if bind_interface is not None else ''
31069        '''
31070         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31071        '''
31072        self.database = database if database is not None else ''
31073        '''
31074         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
31075        '''
31076        self.egress_filter = egress_filter if egress_filter is not None else ''
31077        '''
31078         A filter applied to the routing logic to pin datasource to nodes.
31079        '''
31080        self.healthy = healthy if healthy is not None else False
31081        '''
31082         True if the datasource is reachable and the credentials are valid.
31083        '''
31084        self.hostname = hostname if hostname is not None else ''
31085        '''
31086         The host to dial to initiate a connection from the egress node to this resource.
31087        '''
31088        self.id = id if id is not None else ''
31089        '''
31090         Unique identifier of the Resource.
31091        '''
31092        self.name = name if name is not None else ''
31093        '''
31094         Unique human-readable name of the Resource.
31095        '''
31096        self.password = password if password is not None else ''
31097        '''
31098         Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/
31099        '''
31100        self.port_override = port_override if port_override is not None else 0
31101        '''
31102         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31103        '''
31104        self.private_key = private_key if private_key is not None else ''
31105        '''
31106         RSA Private Key for authentication
31107        '''
31108        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31109        '''
31110         ID of the proxy cluster for this resource, if any.
31111        '''
31112        self.schema = schema if schema is not None else ''
31113        '''
31114         The schema to provide on authentication.
31115        '''
31116        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31117        '''
31118         ID of the secret store containing credentials for this resource, if any.
31119        '''
31120        self.subdomain = subdomain if subdomain is not None else ''
31121        '''
31122         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31123        '''
31124        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31125        '''
31126         Tags is a map of key, value pairs.
31127        '''
31128        self.username = username if username is not None else ''
31129        '''
31130         The username to authenticate with.
31131        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

database

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

egress_filter

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

healthy

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

hostname

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

id

Unique identifier of the Resource.

name

Unique human-readable name of the Resource.

password

Deprecated: https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/

port_override

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

private_key

RSA Private Key for authentication

proxy_cluster_id

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

schema

The schema to provide on authentication.

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
31153    def to_dict(self):
31154        return {
31155            'bind_interface': self.bind_interface,
31156            'database': self.database,
31157            'egress_filter': self.egress_filter,
31158            'healthy': self.healthy,
31159            'hostname': self.hostname,
31160            'id': self.id,
31161            'name': self.name,
31162            'password': self.password,
31163            'port_override': self.port_override,
31164            'private_key': self.private_key,
31165            'proxy_cluster_id': self.proxy_cluster_id,
31166            'schema': self.schema,
31167            'secret_store_id': self.secret_store_id,
31168            'subdomain': self.subdomain,
31169            'tags': self.tags,
31170            'username': self.username,
31171        }
@classmethod
def from_dict(cls, d)
31173    @classmethod
31174    def from_dict(cls, d):
31175        return cls(
31176            bind_interface=d.get('bind_interface'),
31177            database=d.get('database'),
31178            egress_filter=d.get('egress_filter'),
31179            healthy=d.get('healthy'),
31180            hostname=d.get('hostname'),
31181            id=d.get('id'),
31182            name=d.get('name'),
31183            password=d.get('password'),
31184            port_override=d.get('port_override'),
31185            private_key=d.get('private_key'),
31186            proxy_cluster_id=d.get('proxy_cluster_id'),
31187            schema=d.get('schema'),
31188            secret_store_id=d.get('secret_store_id'),
31189            subdomain=d.get('subdomain'),
31190            tags=d.get('tags'),
31191            username=d.get('username'),
31192        )
class Snowsight:
31195class Snowsight:
31196    __slots__ = [
31197        'bind_interface',
31198        'connecttodefault',
31199        'egress_filter',
31200        'healthcheck_username',
31201        'healthy',
31202        'id',
31203        'name',
31204        'port_override',
31205        'proxy_cluster_id',
31206        'samlmetadata',
31207        'secret_store_id',
31208        'subdomain',
31209        'tags',
31210    ]
31211
31212    def __init__(
31213        self,
31214        bind_interface=None,
31215        connecttodefault=None,
31216        egress_filter=None,
31217        healthcheck_username=None,
31218        healthy=None,
31219        id=None,
31220        name=None,
31221        port_override=None,
31222        proxy_cluster_id=None,
31223        samlmetadata=None,
31224        secret_store_id=None,
31225        subdomain=None,
31226        tags=None,
31227    ):
31228        self.bind_interface = bind_interface if bind_interface is not None else ''
31229        '''
31230         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31231        '''
31232        self.connecttodefault = connecttodefault if connecttodefault is not None else False
31233        '''
31234         If true, select the ACS with isDefault=true
31235        '''
31236        self.egress_filter = egress_filter if egress_filter is not None else ''
31237        '''
31238         A filter applied to the routing logic to pin datasource to nodes.
31239        '''
31240        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
31241        '''
31242         The StrongDM user email to use for healthchecks.
31243        '''
31244        self.healthy = healthy if healthy is not None else False
31245        '''
31246         True if the datasource is reachable and the credentials are valid.
31247        '''
31248        self.id = id if id is not None else ''
31249        '''
31250         Unique identifier of the Resource.
31251        '''
31252        self.name = name if name is not None else ''
31253        '''
31254         Unique human-readable name of the Resource.
31255        '''
31256        self.port_override = port_override if port_override is not None else 0
31257        '''
31258         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31259        '''
31260        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31261        '''
31262         ID of the proxy cluster for this resource, if any.
31263        '''
31264        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
31265        '''
31266         The Metadata for your snowflake IDP integration
31267        '''
31268        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31269        '''
31270         ID of the secret store containing credentials for this resource, if any.
31271        '''
31272        self.subdomain = subdomain if subdomain is not None else ''
31273        '''
31274         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
31275        '''
31276        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31277        '''
31278         Tags is a map of key, value pairs.
31279        '''
31280
31281    def __repr__(self):
31282        return '<sdm.Snowsight ' + \
31283            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31284            'connecttodefault: ' + repr(self.connecttodefault) + ' ' +\
31285            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31286            'healthcheck_username: ' + repr(self.healthcheck_username) + ' ' +\
31287            'healthy: ' + repr(self.healthy) + ' ' +\
31288            'id: ' + repr(self.id) + ' ' +\
31289            'name: ' + repr(self.name) + ' ' +\
31290            'port_override: ' + repr(self.port_override) + ' ' +\
31291            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31292            'samlmetadata: ' + repr(self.samlmetadata) + ' ' +\
31293            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31294            'subdomain: ' + repr(self.subdomain) + ' ' +\
31295            'tags: ' + repr(self.tags) + ' ' +\
31296            '>'
31297
31298    def to_dict(self):
31299        return {
31300            'bind_interface': self.bind_interface,
31301            'connecttodefault': self.connecttodefault,
31302            'egress_filter': self.egress_filter,
31303            'healthcheck_username': self.healthcheck_username,
31304            'healthy': self.healthy,
31305            'id': self.id,
31306            'name': self.name,
31307            'port_override': self.port_override,
31308            'proxy_cluster_id': self.proxy_cluster_id,
31309            'samlmetadata': self.samlmetadata,
31310            'secret_store_id': self.secret_store_id,
31311            'subdomain': self.subdomain,
31312            'tags': self.tags,
31313        }
31314
31315    @classmethod
31316    def from_dict(cls, d):
31317        return cls(
31318            bind_interface=d.get('bind_interface'),
31319            connecttodefault=d.get('connecttodefault'),
31320            egress_filter=d.get('egress_filter'),
31321            healthcheck_username=d.get('healthcheck_username'),
31322            healthy=d.get('healthy'),
31323            id=d.get('id'),
31324            name=d.get('name'),
31325            port_override=d.get('port_override'),
31326            proxy_cluster_id=d.get('proxy_cluster_id'),
31327            samlmetadata=d.get('samlmetadata'),
31328            secret_store_id=d.get('secret_store_id'),
31329            subdomain=d.get('subdomain'),
31330            tags=d.get('tags'),
31331        )
Snowsight( bind_interface=None, connecttodefault=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)
31212    def __init__(
31213        self,
31214        bind_interface=None,
31215        connecttodefault=None,
31216        egress_filter=None,
31217        healthcheck_username=None,
31218        healthy=None,
31219        id=None,
31220        name=None,
31221        port_override=None,
31222        proxy_cluster_id=None,
31223        samlmetadata=None,
31224        secret_store_id=None,
31225        subdomain=None,
31226        tags=None,
31227    ):
31228        self.bind_interface = bind_interface if bind_interface is not None else ''
31229        '''
31230         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31231        '''
31232        self.connecttodefault = connecttodefault if connecttodefault is not None else False
31233        '''
31234         If true, select the ACS with isDefault=true
31235        '''
31236        self.egress_filter = egress_filter if egress_filter is not None else ''
31237        '''
31238         A filter applied to the routing logic to pin datasource to nodes.
31239        '''
31240        self.healthcheck_username = healthcheck_username if healthcheck_username is not None else ''
31241        '''
31242         The StrongDM user email to use for healthchecks.
31243        '''
31244        self.healthy = healthy if healthy is not None else False
31245        '''
31246         True if the datasource is reachable and the credentials are valid.
31247        '''
31248        self.id = id if id is not None else ''
31249        '''
31250         Unique identifier of the Resource.
31251        '''
31252        self.name = name if name is not None else ''
31253        '''
31254         Unique human-readable name of the Resource.
31255        '''
31256        self.port_override = port_override if port_override is not None else 0
31257        '''
31258         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31259        '''
31260        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31261        '''
31262         ID of the proxy cluster for this resource, if any.
31263        '''
31264        self.samlmetadata = samlmetadata if samlmetadata is not None else ''
31265        '''
31266         The Metadata for your snowflake IDP integration
31267        '''
31268        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31269        '''
31270         ID of the secret store containing credentials for this resource, if any.
31271        '''
31272        self.subdomain = subdomain if subdomain is not None else ''
31273        '''
31274         Subdomain is the local DNS address.  (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
31275        '''
31276        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31277        '''
31278         Tags is a map of key, value pairs.
31279        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

connecttodefault

If true, select the ACS with isDefault=true

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

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)
31298    def to_dict(self):
31299        return {
31300            'bind_interface': self.bind_interface,
31301            'connecttodefault': self.connecttodefault,
31302            'egress_filter': self.egress_filter,
31303            'healthcheck_username': self.healthcheck_username,
31304            'healthy': self.healthy,
31305            'id': self.id,
31306            'name': self.name,
31307            'port_override': self.port_override,
31308            'proxy_cluster_id': self.proxy_cluster_id,
31309            'samlmetadata': self.samlmetadata,
31310            'secret_store_id': self.secret_store_id,
31311            'subdomain': self.subdomain,
31312            'tags': self.tags,
31313        }
@classmethod
def from_dict(cls, d)
31315    @classmethod
31316    def from_dict(cls, d):
31317        return cls(
31318            bind_interface=d.get('bind_interface'),
31319            connecttodefault=d.get('connecttodefault'),
31320            egress_filter=d.get('egress_filter'),
31321            healthcheck_username=d.get('healthcheck_username'),
31322            healthy=d.get('healthy'),
31323            id=d.get('id'),
31324            name=d.get('name'),
31325            port_override=d.get('port_override'),
31326            proxy_cluster_id=d.get('proxy_cluster_id'),
31327            samlmetadata=d.get('samlmetadata'),
31328            secret_store_id=d.get('secret_store_id'),
31329            subdomain=d.get('subdomain'),
31330            tags=d.get('tags'),
31331        )
class StrongVaultStore:
31334class StrongVaultStore:
31335    '''
31336    StrongVaultStore is currently unstable, and its API may change, or it may be removed,
31337    without a major version bump.
31338    '''
31339    __slots__ = [
31340        'id',
31341        'name',
31342        'tags',
31343    ]
31344
31345    def __init__(
31346        self,
31347        id=None,
31348        name=None,
31349        tags=None,
31350    ):
31351        self.id = id if id is not None else ''
31352        '''
31353         Unique identifier of the SecretStore.
31354        '''
31355        self.name = name if name is not None else ''
31356        '''
31357         Unique human-readable name of the SecretStore.
31358        '''
31359        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31360        '''
31361         Tags is a map of key, value pairs.
31362        '''
31363
31364    def __repr__(self):
31365        return '<sdm.StrongVaultStore ' + \
31366            'id: ' + repr(self.id) + ' ' +\
31367            'name: ' + repr(self.name) + ' ' +\
31368            'tags: ' + repr(self.tags) + ' ' +\
31369            '>'
31370
31371    def to_dict(self):
31372        return {
31373            'id': self.id,
31374            'name': self.name,
31375            'tags': self.tags,
31376        }
31377
31378    @classmethod
31379    def from_dict(cls, d):
31380        return cls(
31381            id=d.get('id'),
31382            name=d.get('name'),
31383            tags=d.get('tags'),
31384        )

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

StrongVaultStore(id=None, name=None, tags=None)
31345    def __init__(
31346        self,
31347        id=None,
31348        name=None,
31349        tags=None,
31350    ):
31351        self.id = id if id is not None else ''
31352        '''
31353         Unique identifier of the SecretStore.
31354        '''
31355        self.name = name if name is not None else ''
31356        '''
31357         Unique human-readable name of the SecretStore.
31358        '''
31359        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31360        '''
31361         Tags is a map of key, value pairs.
31362        '''
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)
31371    def to_dict(self):
31372        return {
31373            'id': self.id,
31374            'name': self.name,
31375            'tags': self.tags,
31376        }
@classmethod
def from_dict(cls, d)
31378    @classmethod
31379    def from_dict(cls, d):
31380        return cls(
31381            id=d.get('id'),
31382            name=d.get('name'),
31383            tags=d.get('tags'),
31384        )
class Sybase:
31387class Sybase:
31388    __slots__ = [
31389        'bind_interface',
31390        'egress_filter',
31391        'healthy',
31392        'hostname',
31393        'id',
31394        'name',
31395        'password',
31396        'port',
31397        'port_override',
31398        'proxy_cluster_id',
31399        'secret_store_id',
31400        'subdomain',
31401        'tags',
31402        'username',
31403    ]
31404
31405    def __init__(
31406        self,
31407        bind_interface=None,
31408        egress_filter=None,
31409        healthy=None,
31410        hostname=None,
31411        id=None,
31412        name=None,
31413        password=None,
31414        port=None,
31415        port_override=None,
31416        proxy_cluster_id=None,
31417        secret_store_id=None,
31418        subdomain=None,
31419        tags=None,
31420        username=None,
31421    ):
31422        self.bind_interface = bind_interface if bind_interface is not None else ''
31423        '''
31424         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31425        '''
31426        self.egress_filter = egress_filter if egress_filter is not None else ''
31427        '''
31428         A filter applied to the routing logic to pin datasource to nodes.
31429        '''
31430        self.healthy = healthy if healthy is not None else False
31431        '''
31432         True if the datasource is reachable and the credentials are valid.
31433        '''
31434        self.hostname = hostname if hostname is not None else ''
31435        '''
31436         The host to dial to initiate a connection from the egress node to this resource.
31437        '''
31438        self.id = id if id is not None else ''
31439        '''
31440         Unique identifier of the Resource.
31441        '''
31442        self.name = name if name is not None else ''
31443        '''
31444         Unique human-readable name of the Resource.
31445        '''
31446        self.password = password if password is not None else ''
31447        '''
31448         The password to authenticate with.
31449        '''
31450        self.port = port if port is not None else 0
31451        '''
31452         The port to dial to initiate a connection from the egress node to this resource.
31453        '''
31454        self.port_override = port_override if port_override is not None else 0
31455        '''
31456         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31457        '''
31458        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31459        '''
31460         ID of the proxy cluster for this resource, if any.
31461        '''
31462        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31463        '''
31464         ID of the secret store containing credentials for this resource, if any.
31465        '''
31466        self.subdomain = subdomain if subdomain is not None else ''
31467        '''
31468         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31469        '''
31470        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31471        '''
31472         Tags is a map of key, value pairs.
31473        '''
31474        self.username = username if username is not None else ''
31475        '''
31476         The username to authenticate with.
31477        '''
31478
31479    def __repr__(self):
31480        return '<sdm.Sybase ' + \
31481            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31482            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31483            'healthy: ' + repr(self.healthy) + ' ' +\
31484            'hostname: ' + repr(self.hostname) + ' ' +\
31485            'id: ' + repr(self.id) + ' ' +\
31486            'name: ' + repr(self.name) + ' ' +\
31487            'password: ' + repr(self.password) + ' ' +\
31488            'port: ' + repr(self.port) + ' ' +\
31489            'port_override: ' + repr(self.port_override) + ' ' +\
31490            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31491            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31492            'subdomain: ' + repr(self.subdomain) + ' ' +\
31493            'tags: ' + repr(self.tags) + ' ' +\
31494            'username: ' + repr(self.username) + ' ' +\
31495            '>'
31496
31497    def to_dict(self):
31498        return {
31499            'bind_interface': self.bind_interface,
31500            'egress_filter': self.egress_filter,
31501            'healthy': self.healthy,
31502            'hostname': self.hostname,
31503            'id': self.id,
31504            'name': self.name,
31505            'password': self.password,
31506            'port': self.port,
31507            'port_override': self.port_override,
31508            'proxy_cluster_id': self.proxy_cluster_id,
31509            'secret_store_id': self.secret_store_id,
31510            'subdomain': self.subdomain,
31511            'tags': self.tags,
31512            'username': self.username,
31513        }
31514
31515    @classmethod
31516    def from_dict(cls, d):
31517        return cls(
31518            bind_interface=d.get('bind_interface'),
31519            egress_filter=d.get('egress_filter'),
31520            healthy=d.get('healthy'),
31521            hostname=d.get('hostname'),
31522            id=d.get('id'),
31523            name=d.get('name'),
31524            password=d.get('password'),
31525            port=d.get('port'),
31526            port_override=d.get('port_override'),
31527            proxy_cluster_id=d.get('proxy_cluster_id'),
31528            secret_store_id=d.get('secret_store_id'),
31529            subdomain=d.get('subdomain'),
31530            tags=d.get('tags'),
31531            username=d.get('username'),
31532        )
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)
31405    def __init__(
31406        self,
31407        bind_interface=None,
31408        egress_filter=None,
31409        healthy=None,
31410        hostname=None,
31411        id=None,
31412        name=None,
31413        password=None,
31414        port=None,
31415        port_override=None,
31416        proxy_cluster_id=None,
31417        secret_store_id=None,
31418        subdomain=None,
31419        tags=None,
31420        username=None,
31421    ):
31422        self.bind_interface = bind_interface if bind_interface is not None else ''
31423        '''
31424         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31425        '''
31426        self.egress_filter = egress_filter if egress_filter is not None else ''
31427        '''
31428         A filter applied to the routing logic to pin datasource to nodes.
31429        '''
31430        self.healthy = healthy if healthy is not None else False
31431        '''
31432         True if the datasource is reachable and the credentials are valid.
31433        '''
31434        self.hostname = hostname if hostname is not None else ''
31435        '''
31436         The host to dial to initiate a connection from the egress node to this resource.
31437        '''
31438        self.id = id if id is not None else ''
31439        '''
31440         Unique identifier of the Resource.
31441        '''
31442        self.name = name if name is not None else ''
31443        '''
31444         Unique human-readable name of the Resource.
31445        '''
31446        self.password = password if password is not None else ''
31447        '''
31448         The password to authenticate with.
31449        '''
31450        self.port = port if port is not None else 0
31451        '''
31452         The port to dial to initiate a connection from the egress node to this resource.
31453        '''
31454        self.port_override = port_override if port_override is not None else 0
31455        '''
31456         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31457        '''
31458        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31459        '''
31460         ID of the proxy cluster for this resource, if any.
31461        '''
31462        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31463        '''
31464         ID of the secret store containing credentials for this resource, if any.
31465        '''
31466        self.subdomain = subdomain if subdomain is not None else ''
31467        '''
31468         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31469        '''
31470        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31471        '''
31472         Tags is a map of key, value pairs.
31473        '''
31474        self.username = username if username is not None else ''
31475        '''
31476         The username to authenticate with.
31477        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
31497    def to_dict(self):
31498        return {
31499            'bind_interface': self.bind_interface,
31500            'egress_filter': self.egress_filter,
31501            'healthy': self.healthy,
31502            'hostname': self.hostname,
31503            'id': self.id,
31504            'name': self.name,
31505            'password': self.password,
31506            'port': self.port,
31507            'port_override': self.port_override,
31508            'proxy_cluster_id': self.proxy_cluster_id,
31509            'secret_store_id': self.secret_store_id,
31510            'subdomain': self.subdomain,
31511            'tags': self.tags,
31512            'username': self.username,
31513        }
@classmethod
def from_dict(cls, d)
31515    @classmethod
31516    def from_dict(cls, d):
31517        return cls(
31518            bind_interface=d.get('bind_interface'),
31519            egress_filter=d.get('egress_filter'),
31520            healthy=d.get('healthy'),
31521            hostname=d.get('hostname'),
31522            id=d.get('id'),
31523            name=d.get('name'),
31524            password=d.get('password'),
31525            port=d.get('port'),
31526            port_override=d.get('port_override'),
31527            proxy_cluster_id=d.get('proxy_cluster_id'),
31528            secret_store_id=d.get('secret_store_id'),
31529            subdomain=d.get('subdomain'),
31530            tags=d.get('tags'),
31531            username=d.get('username'),
31532        )
class SybaseIQ:
31535class SybaseIQ:
31536    __slots__ = [
31537        'bind_interface',
31538        'egress_filter',
31539        'healthy',
31540        'hostname',
31541        'id',
31542        'name',
31543        'password',
31544        'port',
31545        'port_override',
31546        'proxy_cluster_id',
31547        'secret_store_id',
31548        'subdomain',
31549        'tags',
31550        'username',
31551    ]
31552
31553    def __init__(
31554        self,
31555        bind_interface=None,
31556        egress_filter=None,
31557        healthy=None,
31558        hostname=None,
31559        id=None,
31560        name=None,
31561        password=None,
31562        port=None,
31563        port_override=None,
31564        proxy_cluster_id=None,
31565        secret_store_id=None,
31566        subdomain=None,
31567        tags=None,
31568        username=None,
31569    ):
31570        self.bind_interface = bind_interface if bind_interface is not None else ''
31571        '''
31572         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31573        '''
31574        self.egress_filter = egress_filter if egress_filter is not None else ''
31575        '''
31576         A filter applied to the routing logic to pin datasource to nodes.
31577        '''
31578        self.healthy = healthy if healthy is not None else False
31579        '''
31580         True if the datasource is reachable and the credentials are valid.
31581        '''
31582        self.hostname = hostname if hostname is not None else ''
31583        '''
31584         The host to dial to initiate a connection from the egress node to this resource.
31585        '''
31586        self.id = id if id is not None else ''
31587        '''
31588         Unique identifier of the Resource.
31589        '''
31590        self.name = name if name is not None else ''
31591        '''
31592         Unique human-readable name of the Resource.
31593        '''
31594        self.password = password if password is not None else ''
31595        '''
31596         The password to authenticate with.
31597        '''
31598        self.port = port if port is not None else 0
31599        '''
31600         The port to dial to initiate a connection from the egress node to this resource.
31601        '''
31602        self.port_override = port_override if port_override is not None else 0
31603        '''
31604         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31605        '''
31606        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31607        '''
31608         ID of the proxy cluster for this resource, if any.
31609        '''
31610        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31611        '''
31612         ID of the secret store containing credentials for this resource, if any.
31613        '''
31614        self.subdomain = subdomain if subdomain is not None else ''
31615        '''
31616         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31617        '''
31618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31619        '''
31620         Tags is a map of key, value pairs.
31621        '''
31622        self.username = username if username is not None else ''
31623        '''
31624         The username to authenticate with.
31625        '''
31626
31627    def __repr__(self):
31628        return '<sdm.SybaseIQ ' + \
31629            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31630            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31631            'healthy: ' + repr(self.healthy) + ' ' +\
31632            'hostname: ' + repr(self.hostname) + ' ' +\
31633            'id: ' + repr(self.id) + ' ' +\
31634            'name: ' + repr(self.name) + ' ' +\
31635            'password: ' + repr(self.password) + ' ' +\
31636            'port: ' + repr(self.port) + ' ' +\
31637            'port_override: ' + repr(self.port_override) + ' ' +\
31638            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31639            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31640            'subdomain: ' + repr(self.subdomain) + ' ' +\
31641            'tags: ' + repr(self.tags) + ' ' +\
31642            'username: ' + repr(self.username) + ' ' +\
31643            '>'
31644
31645    def to_dict(self):
31646        return {
31647            'bind_interface': self.bind_interface,
31648            'egress_filter': self.egress_filter,
31649            'healthy': self.healthy,
31650            'hostname': self.hostname,
31651            'id': self.id,
31652            'name': self.name,
31653            'password': self.password,
31654            'port': self.port,
31655            'port_override': self.port_override,
31656            'proxy_cluster_id': self.proxy_cluster_id,
31657            'secret_store_id': self.secret_store_id,
31658            'subdomain': self.subdomain,
31659            'tags': self.tags,
31660            'username': self.username,
31661        }
31662
31663    @classmethod
31664    def from_dict(cls, d):
31665        return cls(
31666            bind_interface=d.get('bind_interface'),
31667            egress_filter=d.get('egress_filter'),
31668            healthy=d.get('healthy'),
31669            hostname=d.get('hostname'),
31670            id=d.get('id'),
31671            name=d.get('name'),
31672            password=d.get('password'),
31673            port=d.get('port'),
31674            port_override=d.get('port_override'),
31675            proxy_cluster_id=d.get('proxy_cluster_id'),
31676            secret_store_id=d.get('secret_store_id'),
31677            subdomain=d.get('subdomain'),
31678            tags=d.get('tags'),
31679            username=d.get('username'),
31680        )
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)
31553    def __init__(
31554        self,
31555        bind_interface=None,
31556        egress_filter=None,
31557        healthy=None,
31558        hostname=None,
31559        id=None,
31560        name=None,
31561        password=None,
31562        port=None,
31563        port_override=None,
31564        proxy_cluster_id=None,
31565        secret_store_id=None,
31566        subdomain=None,
31567        tags=None,
31568        username=None,
31569    ):
31570        self.bind_interface = bind_interface if bind_interface is not None else ''
31571        '''
31572         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31573        '''
31574        self.egress_filter = egress_filter if egress_filter is not None else ''
31575        '''
31576         A filter applied to the routing logic to pin datasource to nodes.
31577        '''
31578        self.healthy = healthy if healthy is not None else False
31579        '''
31580         True if the datasource is reachable and the credentials are valid.
31581        '''
31582        self.hostname = hostname if hostname is not None else ''
31583        '''
31584         The host to dial to initiate a connection from the egress node to this resource.
31585        '''
31586        self.id = id if id is not None else ''
31587        '''
31588         Unique identifier of the Resource.
31589        '''
31590        self.name = name if name is not None else ''
31591        '''
31592         Unique human-readable name of the Resource.
31593        '''
31594        self.password = password if password is not None else ''
31595        '''
31596         The password to authenticate with.
31597        '''
31598        self.port = port if port is not None else 0
31599        '''
31600         The port to dial to initiate a connection from the egress node to this resource.
31601        '''
31602        self.port_override = port_override if port_override is not None else 0
31603        '''
31604         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31605        '''
31606        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31607        '''
31608         ID of the proxy cluster for this resource, if any.
31609        '''
31610        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31611        '''
31612         ID of the secret store containing credentials for this resource, if any.
31613        '''
31614        self.subdomain = subdomain if subdomain is not None else ''
31615        '''
31616         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31617        '''
31618        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31619        '''
31620         Tags is a map of key, value pairs.
31621        '''
31622        self.username = username if username is not None else ''
31623        '''
31624         The username to authenticate with.
31625        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
31645    def to_dict(self):
31646        return {
31647            'bind_interface': self.bind_interface,
31648            'egress_filter': self.egress_filter,
31649            'healthy': self.healthy,
31650            'hostname': self.hostname,
31651            'id': self.id,
31652            'name': self.name,
31653            'password': self.password,
31654            'port': self.port,
31655            'port_override': self.port_override,
31656            'proxy_cluster_id': self.proxy_cluster_id,
31657            'secret_store_id': self.secret_store_id,
31658            'subdomain': self.subdomain,
31659            'tags': self.tags,
31660            'username': self.username,
31661        }
@classmethod
def from_dict(cls, d)
31663    @classmethod
31664    def from_dict(cls, d):
31665        return cls(
31666            bind_interface=d.get('bind_interface'),
31667            egress_filter=d.get('egress_filter'),
31668            healthy=d.get('healthy'),
31669            hostname=d.get('hostname'),
31670            id=d.get('id'),
31671            name=d.get('name'),
31672            password=d.get('password'),
31673            port=d.get('port'),
31674            port_override=d.get('port_override'),
31675            proxy_cluster_id=d.get('proxy_cluster_id'),
31676            secret_store_id=d.get('secret_store_id'),
31677            subdomain=d.get('subdomain'),
31678            tags=d.get('tags'),
31679            username=d.get('username'),
31680        )
class Tag:
31683class Tag:
31684    __slots__ = [
31685        'name',
31686        'value',
31687    ]
31688
31689    def __init__(
31690        self,
31691        name=None,
31692        value=None,
31693    ):
31694        self.name = name if name is not None else ''
31695        '''
31696         The name or key of this tag. Each name can only refer to one value on a tagged entity.
31697        '''
31698        self.value = value if value is not None else ''
31699        '''
31700         The value of this tag.
31701        '''
31702
31703    def __repr__(self):
31704        return '<sdm.Tag ' + \
31705            'name: ' + repr(self.name) + ' ' +\
31706            'value: ' + repr(self.value) + ' ' +\
31707            '>'
31708
31709    def to_dict(self):
31710        return {
31711            'name': self.name,
31712            'value': self.value,
31713        }
31714
31715    @classmethod
31716    def from_dict(cls, d):
31717        return cls(
31718            name=d.get('name'),
31719            value=d.get('value'),
31720        )
Tag(name=None, value=None)
31689    def __init__(
31690        self,
31691        name=None,
31692        value=None,
31693    ):
31694        self.name = name if name is not None else ''
31695        '''
31696         The name or key of this tag. Each name can only refer to one value on a tagged entity.
31697        '''
31698        self.value = value if value is not None else ''
31699        '''
31700         The value of this tag.
31701        '''
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)
31709    def to_dict(self):
31710        return {
31711            'name': self.name,
31712            'value': self.value,
31713        }
@classmethod
def from_dict(cls, d)
31715    @classmethod
31716    def from_dict(cls, d):
31717        return cls(
31718            name=d.get('name'),
31719            value=d.get('value'),
31720        )
class Teradata:
31723class Teradata:
31724    __slots__ = [
31725        'bind_interface',
31726        'egress_filter',
31727        'healthy',
31728        'hostname',
31729        'id',
31730        'name',
31731        'password',
31732        'port',
31733        'port_override',
31734        'proxy_cluster_id',
31735        'secret_store_id',
31736        'subdomain',
31737        'tags',
31738        'username',
31739    ]
31740
31741    def __init__(
31742        self,
31743        bind_interface=None,
31744        egress_filter=None,
31745        healthy=None,
31746        hostname=None,
31747        id=None,
31748        name=None,
31749        password=None,
31750        port=None,
31751        port_override=None,
31752        proxy_cluster_id=None,
31753        secret_store_id=None,
31754        subdomain=None,
31755        tags=None,
31756        username=None,
31757    ):
31758        self.bind_interface = bind_interface if bind_interface is not None else ''
31759        '''
31760         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31761        '''
31762        self.egress_filter = egress_filter if egress_filter is not None else ''
31763        '''
31764         A filter applied to the routing logic to pin datasource to nodes.
31765        '''
31766        self.healthy = healthy if healthy is not None else False
31767        '''
31768         True if the datasource is reachable and the credentials are valid.
31769        '''
31770        self.hostname = hostname if hostname is not None else ''
31771        '''
31772         The host to dial to initiate a connection from the egress node to this resource.
31773        '''
31774        self.id = id if id is not None else ''
31775        '''
31776         Unique identifier of the Resource.
31777        '''
31778        self.name = name if name is not None else ''
31779        '''
31780         Unique human-readable name of the Resource.
31781        '''
31782        self.password = password if password is not None else ''
31783        '''
31784         The password to authenticate with.
31785        '''
31786        self.port = port if port is not None else 0
31787        '''
31788         The port to dial to initiate a connection from the egress node to this resource.
31789        '''
31790        self.port_override = port_override if port_override is not None else 0
31791        '''
31792         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31793        '''
31794        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31795        '''
31796         ID of the proxy cluster for this resource, if any.
31797        '''
31798        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31799        '''
31800         ID of the secret store containing credentials for this resource, if any.
31801        '''
31802        self.subdomain = subdomain if subdomain is not None else ''
31803        '''
31804         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31805        '''
31806        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31807        '''
31808         Tags is a map of key, value pairs.
31809        '''
31810        self.username = username if username is not None else ''
31811        '''
31812         The username to authenticate with.
31813        '''
31814
31815    def __repr__(self):
31816        return '<sdm.Teradata ' + \
31817            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
31818            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
31819            'healthy: ' + repr(self.healthy) + ' ' +\
31820            'hostname: ' + repr(self.hostname) + ' ' +\
31821            'id: ' + repr(self.id) + ' ' +\
31822            'name: ' + repr(self.name) + ' ' +\
31823            'password: ' + repr(self.password) + ' ' +\
31824            'port: ' + repr(self.port) + ' ' +\
31825            'port_override: ' + repr(self.port_override) + ' ' +\
31826            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
31827            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
31828            'subdomain: ' + repr(self.subdomain) + ' ' +\
31829            'tags: ' + repr(self.tags) + ' ' +\
31830            'username: ' + repr(self.username) + ' ' +\
31831            '>'
31832
31833    def to_dict(self):
31834        return {
31835            'bind_interface': self.bind_interface,
31836            'egress_filter': self.egress_filter,
31837            'healthy': self.healthy,
31838            'hostname': self.hostname,
31839            'id': self.id,
31840            'name': self.name,
31841            'password': self.password,
31842            'port': self.port,
31843            'port_override': self.port_override,
31844            'proxy_cluster_id': self.proxy_cluster_id,
31845            'secret_store_id': self.secret_store_id,
31846            'subdomain': self.subdomain,
31847            'tags': self.tags,
31848            'username': self.username,
31849        }
31850
31851    @classmethod
31852    def from_dict(cls, d):
31853        return cls(
31854            bind_interface=d.get('bind_interface'),
31855            egress_filter=d.get('egress_filter'),
31856            healthy=d.get('healthy'),
31857            hostname=d.get('hostname'),
31858            id=d.get('id'),
31859            name=d.get('name'),
31860            password=d.get('password'),
31861            port=d.get('port'),
31862            port_override=d.get('port_override'),
31863            proxy_cluster_id=d.get('proxy_cluster_id'),
31864            secret_store_id=d.get('secret_store_id'),
31865            subdomain=d.get('subdomain'),
31866            tags=d.get('tags'),
31867            username=d.get('username'),
31868        )
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)
31741    def __init__(
31742        self,
31743        bind_interface=None,
31744        egress_filter=None,
31745        healthy=None,
31746        hostname=None,
31747        id=None,
31748        name=None,
31749        password=None,
31750        port=None,
31751        port_override=None,
31752        proxy_cluster_id=None,
31753        secret_store_id=None,
31754        subdomain=None,
31755        tags=None,
31756        username=None,
31757    ):
31758        self.bind_interface = bind_interface if bind_interface is not None else ''
31759        '''
31760         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
31761        '''
31762        self.egress_filter = egress_filter if egress_filter is not None else ''
31763        '''
31764         A filter applied to the routing logic to pin datasource to nodes.
31765        '''
31766        self.healthy = healthy if healthy is not None else False
31767        '''
31768         True if the datasource is reachable and the credentials are valid.
31769        '''
31770        self.hostname = hostname if hostname is not None else ''
31771        '''
31772         The host to dial to initiate a connection from the egress node to this resource.
31773        '''
31774        self.id = id if id is not None else ''
31775        '''
31776         Unique identifier of the Resource.
31777        '''
31778        self.name = name if name is not None else ''
31779        '''
31780         Unique human-readable name of the Resource.
31781        '''
31782        self.password = password if password is not None else ''
31783        '''
31784         The password to authenticate with.
31785        '''
31786        self.port = port if port is not None else 0
31787        '''
31788         The port to dial to initiate a connection from the egress node to this resource.
31789        '''
31790        self.port_override = port_override if port_override is not None else 0
31791        '''
31792         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
31793        '''
31794        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
31795        '''
31796         ID of the proxy cluster for this resource, if any.
31797        '''
31798        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
31799        '''
31800         ID of the secret store containing credentials for this resource, if any.
31801        '''
31802        self.subdomain = subdomain if subdomain is not None else ''
31803        '''
31804         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
31805        '''
31806        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31807        '''
31808         Tags is a map of key, value pairs.
31809        '''
31810        self.username = username if username is not None else ''
31811        '''
31812         The username to authenticate with.
31813        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
31833    def to_dict(self):
31834        return {
31835            'bind_interface': self.bind_interface,
31836            'egress_filter': self.egress_filter,
31837            'healthy': self.healthy,
31838            'hostname': self.hostname,
31839            'id': self.id,
31840            'name': self.name,
31841            'password': self.password,
31842            'port': self.port,
31843            'port_override': self.port_override,
31844            'proxy_cluster_id': self.proxy_cluster_id,
31845            'secret_store_id': self.secret_store_id,
31846            'subdomain': self.subdomain,
31847            'tags': self.tags,
31848            'username': self.username,
31849        }
@classmethod
def from_dict(cls, d)
31851    @classmethod
31852    def from_dict(cls, d):
31853        return cls(
31854            bind_interface=d.get('bind_interface'),
31855            egress_filter=d.get('egress_filter'),
31856            healthy=d.get('healthy'),
31857            hostname=d.get('hostname'),
31858            id=d.get('id'),
31859            name=d.get('name'),
31860            password=d.get('password'),
31861            port=d.get('port'),
31862            port_override=d.get('port_override'),
31863            proxy_cluster_id=d.get('proxy_cluster_id'),
31864            secret_store_id=d.get('secret_store_id'),
31865            subdomain=d.get('subdomain'),
31866            tags=d.get('tags'),
31867            username=d.get('username'),
31868        )
class Token:
31871class Token:
31872    '''
31873         A Token is an account providing tokenized access for automation or integration use.
31874     Tokens include admin tokens, API keys, and SCIM tokens.
31875    '''
31876    __slots__ = [
31877        'account_type',
31878        'deadline',
31879        'duration',
31880        'id',
31881        'name',
31882        'permissions',
31883        'rekeyed',
31884        'suspended',
31885        'tags',
31886    ]
31887
31888    def __init__(
31889        self,
31890        account_type=None,
31891        deadline=None,
31892        duration=None,
31893        id=None,
31894        name=None,
31895        permissions=None,
31896        rekeyed=None,
31897        suspended=None,
31898        tags=None,
31899    ):
31900        self.account_type = account_type if account_type is not None else ''
31901        '''
31902         Corresponds to the type of token, e.g. api or admin-token.
31903        '''
31904        self.deadline = deadline if deadline is not None else None
31905        '''
31906         The timestamp when the Token will expire.
31907        '''
31908        self.duration = duration if duration is not None else None
31909        '''
31910         Duration from token creation to expiration.
31911        '''
31912        self.id = id if id is not None else ''
31913        '''
31914         Unique identifier of the Token.
31915        '''
31916        self.name = name if name is not None else ''
31917        '''
31918         Unique human-readable name of the Token.
31919        '''
31920        self.permissions = permissions if permissions is not None else []
31921        '''
31922         Permissions assigned to the token, e.g. role:create.
31923        '''
31924        self.rekeyed = rekeyed if rekeyed is not None else None
31925        '''
31926         The timestamp when the Token was last rekeyed.
31927        '''
31928        self.suspended = suspended if suspended is not None else False
31929        '''
31930         Reserved for future use.  Always false for tokens.
31931        '''
31932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31933        '''
31934         Tags is a map of key, value pairs.
31935        '''
31936
31937    def __repr__(self):
31938        return '<sdm.Token ' + \
31939            'account_type: ' + repr(self.account_type) + ' ' +\
31940            'deadline: ' + repr(self.deadline) + ' ' +\
31941            'duration: ' + repr(self.duration) + ' ' +\
31942            'id: ' + repr(self.id) + ' ' +\
31943            'name: ' + repr(self.name) + ' ' +\
31944            'permissions: ' + repr(self.permissions) + ' ' +\
31945            'rekeyed: ' + repr(self.rekeyed) + ' ' +\
31946            'suspended: ' + repr(self.suspended) + ' ' +\
31947            'tags: ' + repr(self.tags) + ' ' +\
31948            '>'
31949
31950    def to_dict(self):
31951        return {
31952            'account_type': self.account_type,
31953            'deadline': self.deadline,
31954            'duration': self.duration,
31955            'id': self.id,
31956            'name': self.name,
31957            'permissions': self.permissions,
31958            'rekeyed': self.rekeyed,
31959            'suspended': self.suspended,
31960            'tags': self.tags,
31961        }
31962
31963    @classmethod
31964    def from_dict(cls, d):
31965        return cls(
31966            account_type=d.get('account_type'),
31967            deadline=d.get('deadline'),
31968            duration=d.get('duration'),
31969            id=d.get('id'),
31970            name=d.get('name'),
31971            permissions=d.get('permissions'),
31972            rekeyed=d.get('rekeyed'),
31973            suspended=d.get('suspended'),
31974            tags=d.get('tags'),
31975        )

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)
31888    def __init__(
31889        self,
31890        account_type=None,
31891        deadline=None,
31892        duration=None,
31893        id=None,
31894        name=None,
31895        permissions=None,
31896        rekeyed=None,
31897        suspended=None,
31898        tags=None,
31899    ):
31900        self.account_type = account_type if account_type is not None else ''
31901        '''
31902         Corresponds to the type of token, e.g. api or admin-token.
31903        '''
31904        self.deadline = deadline if deadline is not None else None
31905        '''
31906         The timestamp when the Token will expire.
31907        '''
31908        self.duration = duration if duration is not None else None
31909        '''
31910         Duration from token creation to expiration.
31911        '''
31912        self.id = id if id is not None else ''
31913        '''
31914         Unique identifier of the Token.
31915        '''
31916        self.name = name if name is not None else ''
31917        '''
31918         Unique human-readable name of the Token.
31919        '''
31920        self.permissions = permissions if permissions is not None else []
31921        '''
31922         Permissions assigned to the token, e.g. role:create.
31923        '''
31924        self.rekeyed = rekeyed if rekeyed is not None else None
31925        '''
31926         The timestamp when the Token was last rekeyed.
31927        '''
31928        self.suspended = suspended if suspended is not None else False
31929        '''
31930         Reserved for future use.  Always false for tokens.
31931        '''
31932        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
31933        '''
31934         Tags is a map of key, value pairs.
31935        '''
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)
31950    def to_dict(self):
31951        return {
31952            'account_type': self.account_type,
31953            'deadline': self.deadline,
31954            'duration': self.duration,
31955            'id': self.id,
31956            'name': self.name,
31957            'permissions': self.permissions,
31958            'rekeyed': self.rekeyed,
31959            'suspended': self.suspended,
31960            'tags': self.tags,
31961        }
@classmethod
def from_dict(cls, d)
31963    @classmethod
31964    def from_dict(cls, d):
31965        return cls(
31966            account_type=d.get('account_type'),
31967            deadline=d.get('deadline'),
31968            duration=d.get('duration'),
31969            id=d.get('id'),
31970            name=d.get('name'),
31971            permissions=d.get('permissions'),
31972            rekeyed=d.get('rekeyed'),
31973            suspended=d.get('suspended'),
31974            tags=d.get('tags'),
31975        )
class Trino:
31978class Trino:
31979    __slots__ = [
31980        'bind_interface',
31981        'egress_filter',
31982        'healthy',
31983        'hostname',
31984        'id',
31985        'name',
31986        'password',
31987        'port',
31988        'port_override',
31989        'proxy_cluster_id',
31990        'secret_store_id',
31991        'subdomain',
31992        'tags',
31993        'tls_required',
31994        'username',
31995    ]
31996
31997    def __init__(
31998        self,
31999        bind_interface=None,
32000        egress_filter=None,
32001        healthy=None,
32002        hostname=None,
32003        id=None,
32004        name=None,
32005        password=None,
32006        port=None,
32007        port_override=None,
32008        proxy_cluster_id=None,
32009        secret_store_id=None,
32010        subdomain=None,
32011        tags=None,
32012        tls_required=None,
32013        username=None,
32014    ):
32015        self.bind_interface = bind_interface if bind_interface is not None else ''
32016        '''
32017         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32018        '''
32019        self.egress_filter = egress_filter if egress_filter is not None else ''
32020        '''
32021         A filter applied to the routing logic to pin datasource to nodes.
32022        '''
32023        self.healthy = healthy if healthy is not None else False
32024        '''
32025         True if the datasource is reachable and the credentials are valid.
32026        '''
32027        self.hostname = hostname if hostname is not None else ''
32028        '''
32029         The host to dial to initiate a connection from the egress node to this resource.
32030        '''
32031        self.id = id if id is not None else ''
32032        '''
32033         Unique identifier of the Resource.
32034        '''
32035        self.name = name if name is not None else ''
32036        '''
32037         Unique human-readable name of the Resource.
32038        '''
32039        self.password = password if password is not None else ''
32040        '''
32041         The password to authenticate with.
32042        '''
32043        self.port = port if port is not None else 0
32044        '''
32045         The port to dial to initiate a connection from the egress node to this resource.
32046        '''
32047        self.port_override = port_override if port_override is not None else 0
32048        '''
32049         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32050        '''
32051        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32052        '''
32053         ID of the proxy cluster for this resource, if any.
32054        '''
32055        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32056        '''
32057         ID of the secret store containing credentials for this resource, if any.
32058        '''
32059        self.subdomain = subdomain if subdomain is not None else ''
32060        '''
32061         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32062        '''
32063        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32064        '''
32065         Tags is a map of key, value pairs.
32066        '''
32067        self.tls_required = tls_required if tls_required is not None else False
32068        '''
32069         If set, TLS must be used to connect to this resource.
32070        '''
32071        self.username = username if username is not None else ''
32072        '''
32073         The username to authenticate with.
32074        '''
32075
32076    def __repr__(self):
32077        return '<sdm.Trino ' + \
32078            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
32079            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
32080            'healthy: ' + repr(self.healthy) + ' ' +\
32081            'hostname: ' + repr(self.hostname) + ' ' +\
32082            'id: ' + repr(self.id) + ' ' +\
32083            'name: ' + repr(self.name) + ' ' +\
32084            'password: ' + repr(self.password) + ' ' +\
32085            'port: ' + repr(self.port) + ' ' +\
32086            'port_override: ' + repr(self.port_override) + ' ' +\
32087            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
32088            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
32089            'subdomain: ' + repr(self.subdomain) + ' ' +\
32090            'tags: ' + repr(self.tags) + ' ' +\
32091            'tls_required: ' + repr(self.tls_required) + ' ' +\
32092            'username: ' + repr(self.username) + ' ' +\
32093            '>'
32094
32095    def to_dict(self):
32096        return {
32097            'bind_interface': self.bind_interface,
32098            'egress_filter': self.egress_filter,
32099            'healthy': self.healthy,
32100            'hostname': self.hostname,
32101            'id': self.id,
32102            'name': self.name,
32103            'password': self.password,
32104            'port': self.port,
32105            'port_override': self.port_override,
32106            'proxy_cluster_id': self.proxy_cluster_id,
32107            'secret_store_id': self.secret_store_id,
32108            'subdomain': self.subdomain,
32109            'tags': self.tags,
32110            'tls_required': self.tls_required,
32111            'username': self.username,
32112        }
32113
32114    @classmethod
32115    def from_dict(cls, d):
32116        return cls(
32117            bind_interface=d.get('bind_interface'),
32118            egress_filter=d.get('egress_filter'),
32119            healthy=d.get('healthy'),
32120            hostname=d.get('hostname'),
32121            id=d.get('id'),
32122            name=d.get('name'),
32123            password=d.get('password'),
32124            port=d.get('port'),
32125            port_override=d.get('port_override'),
32126            proxy_cluster_id=d.get('proxy_cluster_id'),
32127            secret_store_id=d.get('secret_store_id'),
32128            subdomain=d.get('subdomain'),
32129            tags=d.get('tags'),
32130            tls_required=d.get('tls_required'),
32131            username=d.get('username'),
32132        )
Trino( bind_interface=None, egress_filter=None, healthy=None, hostname=None, id=None, name=None, password=None, port=None, port_override=None, proxy_cluster_id=None, secret_store_id=None, subdomain=None, tags=None, tls_required=None, username=None)
31997    def __init__(
31998        self,
31999        bind_interface=None,
32000        egress_filter=None,
32001        healthy=None,
32002        hostname=None,
32003        id=None,
32004        name=None,
32005        password=None,
32006        port=None,
32007        port_override=None,
32008        proxy_cluster_id=None,
32009        secret_store_id=None,
32010        subdomain=None,
32011        tags=None,
32012        tls_required=None,
32013        username=None,
32014    ):
32015        self.bind_interface = bind_interface if bind_interface is not None else ''
32016        '''
32017         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
32018        '''
32019        self.egress_filter = egress_filter if egress_filter is not None else ''
32020        '''
32021         A filter applied to the routing logic to pin datasource to nodes.
32022        '''
32023        self.healthy = healthy if healthy is not None else False
32024        '''
32025         True if the datasource is reachable and the credentials are valid.
32026        '''
32027        self.hostname = hostname if hostname is not None else ''
32028        '''
32029         The host to dial to initiate a connection from the egress node to this resource.
32030        '''
32031        self.id = id if id is not None else ''
32032        '''
32033         Unique identifier of the Resource.
32034        '''
32035        self.name = name if name is not None else ''
32036        '''
32037         Unique human-readable name of the Resource.
32038        '''
32039        self.password = password if password is not None else ''
32040        '''
32041         The password to authenticate with.
32042        '''
32043        self.port = port if port is not None else 0
32044        '''
32045         The port to dial to initiate a connection from the egress node to this resource.
32046        '''
32047        self.port_override = port_override if port_override is not None else 0
32048        '''
32049         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
32050        '''
32051        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
32052        '''
32053         ID of the proxy cluster for this resource, if any.
32054        '''
32055        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
32056        '''
32057         ID of the secret store containing credentials for this resource, if any.
32058        '''
32059        self.subdomain = subdomain if subdomain is not None else ''
32060        '''
32061         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
32062        '''
32063        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32064        '''
32065         Tags is a map of key, value pairs.
32066        '''
32067        self.tls_required = tls_required if tls_required is not None else False
32068        '''
32069         If set, TLS must be used to connect to this resource.
32070        '''
32071        self.username = username if username is not None else ''
32072        '''
32073         The username to authenticate with.
32074        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

egress_filter

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

healthy

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

hostname

The host to dial to 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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

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)
32095    def to_dict(self):
32096        return {
32097            'bind_interface': self.bind_interface,
32098            'egress_filter': self.egress_filter,
32099            'healthy': self.healthy,
32100            'hostname': self.hostname,
32101            'id': self.id,
32102            'name': self.name,
32103            'password': self.password,
32104            'port': self.port,
32105            'port_override': self.port_override,
32106            'proxy_cluster_id': self.proxy_cluster_id,
32107            'secret_store_id': self.secret_store_id,
32108            'subdomain': self.subdomain,
32109            'tags': self.tags,
32110            'tls_required': self.tls_required,
32111            'username': self.username,
32112        }
@classmethod
def from_dict(cls, d)
32114    @classmethod
32115    def from_dict(cls, d):
32116        return cls(
32117            bind_interface=d.get('bind_interface'),
32118            egress_filter=d.get('egress_filter'),
32119            healthy=d.get('healthy'),
32120            hostname=d.get('hostname'),
32121            id=d.get('id'),
32122            name=d.get('name'),
32123            password=d.get('password'),
32124            port=d.get('port'),
32125            port_override=d.get('port_override'),
32126            proxy_cluster_id=d.get('proxy_cluster_id'),
32127            secret_store_id=d.get('secret_store_id'),
32128            subdomain=d.get('subdomain'),
32129            tags=d.get('tags'),
32130            tls_required=d.get('tls_required'),
32131            username=d.get('username'),
32132        )
class UpdateResponseMetadata:
32135class UpdateResponseMetadata:
32136    '''
32137         UpdateResponseMetadata is reserved for future use.
32138    '''
32139    __slots__ = []
32140
32141    def __init__(self, ):
32142        pass
32143
32144    def __repr__(self):
32145        return '<sdm.UpdateResponseMetadata ' + \
32146            '>'
32147
32148    def to_dict(self):
32149        return {}
32150
32151    @classmethod
32152    def from_dict(cls, d):
32153        return cls()

UpdateResponseMetadata is reserved for future use.

UpdateResponseMetadata()
32141    def __init__(self, ):
32142        pass
def to_dict(self)
32148    def to_dict(self):
32149        return {}
@classmethod
def from_dict(cls, d)
32151    @classmethod
32152    def from_dict(cls, d):
32153        return cls()
class User:
32156class User:
32157    '''
32158         A User can connect to resources they are granted directly, or granted
32159     via roles.
32160    '''
32161    __slots__ = [
32162        'scim',
32163        'email',
32164        'external_id',
32165        'first_name',
32166        'id',
32167        'last_name',
32168        'managed_by',
32169        'manager_id',
32170        'password',
32171        'permission_level',
32172        'resolved_manager_id',
32173        'suspended',
32174        'tags',
32175    ]
32176
32177    def __init__(
32178        self,
32179        scim=None,
32180        email=None,
32181        external_id=None,
32182        first_name=None,
32183        id=None,
32184        last_name=None,
32185        managed_by=None,
32186        manager_id=None,
32187        password=None,
32188        permission_level=None,
32189        resolved_manager_id=None,
32190        suspended=None,
32191        tags=None,
32192    ):
32193        self.scim = scim if scim is not None else ''
32194        '''
32195         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
32196        '''
32197        self.email = email if email is not None else ''
32198        '''
32199         The User's email address. Must be unique.
32200        '''
32201        self.external_id = external_id if external_id is not None else ''
32202        '''
32203         External ID is an alternative unique ID this user is represented by within an external service.
32204        '''
32205        self.first_name = first_name if first_name is not None else ''
32206        '''
32207         The User's first name.
32208        '''
32209        self.id = id if id is not None else ''
32210        '''
32211         Unique identifier of the User.
32212        '''
32213        self.last_name = last_name if last_name is not None else ''
32214        '''
32215         The User's last name.
32216        '''
32217        self.managed_by = managed_by if managed_by is not None else ''
32218        '''
32219         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
32220        '''
32221        self.manager_id = manager_id if manager_id is not None else ''
32222        '''
32223         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
32224        '''
32225        self.password = password if password is not None else ''
32226        '''
32227         Password is a write-only field that can be used to set the user's password.
32228         Currently only supported for update.
32229        '''
32230        self.permission_level = permission_level if permission_level is not None else ''
32231        '''
32232         PermissionLevel is the user's permission level e.g. admin, DBA, user.
32233        '''
32234        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
32235        '''
32236         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
32237         if present, or from the SCIM metadata.
32238         This is a read-only field that's only populated for get and list.
32239        '''
32240        self.suspended = suspended if suspended is not None else False
32241        '''
32242         Suspended is a read only field for the User's suspended state.
32243        '''
32244        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32245        '''
32246         Tags is a map of key, value pairs.
32247        '''
32248
32249    def __repr__(self):
32250        return '<sdm.User ' + \
32251            'scim: ' + repr(self.scim) + ' ' +\
32252            'email: ' + repr(self.email) + ' ' +\
32253            'external_id: ' + repr(self.external_id) + ' ' +\
32254            'first_name: ' + repr(self.first_name) + ' ' +\
32255            'id: ' + repr(self.id) + ' ' +\
32256            'last_name: ' + repr(self.last_name) + ' ' +\
32257            'managed_by: ' + repr(self.managed_by) + ' ' +\
32258            'manager_id: ' + repr(self.manager_id) + ' ' +\
32259            'password: ' + repr(self.password) + ' ' +\
32260            'permission_level: ' + repr(self.permission_level) + ' ' +\
32261            'resolved_manager_id: ' + repr(self.resolved_manager_id) + ' ' +\
32262            'suspended: ' + repr(self.suspended) + ' ' +\
32263            'tags: ' + repr(self.tags) + ' ' +\
32264            '>'
32265
32266    def to_dict(self):
32267        return {
32268            'scim': self.scim,
32269            'email': self.email,
32270            'external_id': self.external_id,
32271            'first_name': self.first_name,
32272            'id': self.id,
32273            'last_name': self.last_name,
32274            'managed_by': self.managed_by,
32275            'manager_id': self.manager_id,
32276            'password': self.password,
32277            'permission_level': self.permission_level,
32278            'resolved_manager_id': self.resolved_manager_id,
32279            'suspended': self.suspended,
32280            'tags': self.tags,
32281        }
32282
32283    @classmethod
32284    def from_dict(cls, d):
32285        return cls(
32286            scim=d.get('scim'),
32287            email=d.get('email'),
32288            external_id=d.get('external_id'),
32289            first_name=d.get('first_name'),
32290            id=d.get('id'),
32291            last_name=d.get('last_name'),
32292            managed_by=d.get('managed_by'),
32293            manager_id=d.get('manager_id'),
32294            password=d.get('password'),
32295            permission_level=d.get('permission_level'),
32296            resolved_manager_id=d.get('resolved_manager_id'),
32297            suspended=d.get('suspended'),
32298            tags=d.get('tags'),
32299        )

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)
32177    def __init__(
32178        self,
32179        scim=None,
32180        email=None,
32181        external_id=None,
32182        first_name=None,
32183        id=None,
32184        last_name=None,
32185        managed_by=None,
32186        manager_id=None,
32187        password=None,
32188        permission_level=None,
32189        resolved_manager_id=None,
32190        suspended=None,
32191        tags=None,
32192    ):
32193        self.scim = scim if scim is not None else ''
32194        '''
32195         SCIM contains the raw SCIM metadata for the user. This is a read-only field.
32196        '''
32197        self.email = email if email is not None else ''
32198        '''
32199         The User's email address. Must be unique.
32200        '''
32201        self.external_id = external_id if external_id is not None else ''
32202        '''
32203         External ID is an alternative unique ID this user is represented by within an external service.
32204        '''
32205        self.first_name = first_name if first_name is not None else ''
32206        '''
32207         The User's first name.
32208        '''
32209        self.id = id if id is not None else ''
32210        '''
32211         Unique identifier of the User.
32212        '''
32213        self.last_name = last_name if last_name is not None else ''
32214        '''
32215         The User's last name.
32216        '''
32217        self.managed_by = managed_by if managed_by is not None else ''
32218        '''
32219         Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
32220        '''
32221        self.manager_id = manager_id if manager_id is not None else ''
32222        '''
32223         Manager ID is the ID of the user's manager. This field is empty when the user has no manager.
32224        '''
32225        self.password = password if password is not None else ''
32226        '''
32227         Password is a write-only field that can be used to set the user's password.
32228         Currently only supported for update.
32229        '''
32230        self.permission_level = permission_level if permission_level is not None else ''
32231        '''
32232         PermissionLevel is the user's permission level e.g. admin, DBA, user.
32233        '''
32234        self.resolved_manager_id = resolved_manager_id if resolved_manager_id is not None else ''
32235        '''
32236         Resolved Manager ID is the ID of the user's manager derived from the manager_id,
32237         if present, or from the SCIM metadata.
32238         This is a read-only field that's only populated for get and list.
32239        '''
32240        self.suspended = suspended if suspended is not None else False
32241        '''
32242         Suspended is a read only field for the User's suspended state.
32243        '''
32244        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32245        '''
32246         Tags is a map of key, value pairs.
32247        '''
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)
32266    def to_dict(self):
32267        return {
32268            'scim': self.scim,
32269            'email': self.email,
32270            'external_id': self.external_id,
32271            'first_name': self.first_name,
32272            'id': self.id,
32273            'last_name': self.last_name,
32274            'managed_by': self.managed_by,
32275            'manager_id': self.manager_id,
32276            'password': self.password,
32277            'permission_level': self.permission_level,
32278            'resolved_manager_id': self.resolved_manager_id,
32279            'suspended': self.suspended,
32280            'tags': self.tags,
32281        }
@classmethod
def from_dict(cls, d)
32283    @classmethod
32284    def from_dict(cls, d):
32285        return cls(
32286            scim=d.get('scim'),
32287            email=d.get('email'),
32288            external_id=d.get('external_id'),
32289            first_name=d.get('first_name'),
32290            id=d.get('id'),
32291            last_name=d.get('last_name'),
32292            managed_by=d.get('managed_by'),
32293            manager_id=d.get('manager_id'),
32294            password=d.get('password'),
32295            permission_level=d.get('permission_level'),
32296            resolved_manager_id=d.get('resolved_manager_id'),
32297            suspended=d.get('suspended'),
32298            tags=d.get('tags'),
32299        )
class VaultAWSEC2CertSSHStore:
32302class VaultAWSEC2CertSSHStore:
32303    '''
32304    VaultAWSEC2CertSSHStore is currently unstable, and its API may change, or it may be removed,
32305    without a major version bump.
32306    '''
32307    __slots__ = [
32308        'id',
32309        'issuedcertttlminutes',
32310        'name',
32311        'namespace',
32312        'server_address',
32313        'signing_role',
32314        'ssh_mount_point',
32315        'tags',
32316    ]
32317
32318    def __init__(
32319        self,
32320        id=None,
32321        issuedcertttlminutes=None,
32322        name=None,
32323        namespace=None,
32324        server_address=None,
32325        signing_role=None,
32326        ssh_mount_point=None,
32327        tags=None,
32328    ):
32329        self.id = id if id is not None else ''
32330        '''
32331         Unique identifier of the SecretStore.
32332        '''
32333        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32334        '''
32335         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32336        '''
32337        self.name = name if name is not None else ''
32338        '''
32339         Unique human-readable name of the SecretStore.
32340        '''
32341        self.namespace = namespace if namespace is not None else ''
32342        '''
32343         The namespace to make requests within
32344        '''
32345        self.server_address = server_address if server_address is not None else ''
32346        '''
32347         The URL of the Vault to target
32348        '''
32349        self.signing_role = signing_role if signing_role is not None else ''
32350        '''
32351         The signing role to be used for signing certificates
32352        '''
32353        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32354        '''
32355         The mount point of the SSH engine configured with the desired CA
32356        '''
32357        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32358        '''
32359         Tags is a map of key, value pairs.
32360        '''
32361
32362    def __repr__(self):
32363        return '<sdm.VaultAWSEC2CertSSHStore ' + \
32364            'id: ' + repr(self.id) + ' ' +\
32365            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32366            'name: ' + repr(self.name) + ' ' +\
32367            'namespace: ' + repr(self.namespace) + ' ' +\
32368            'server_address: ' + repr(self.server_address) + ' ' +\
32369            'signing_role: ' + repr(self.signing_role) + ' ' +\
32370            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
32371            'tags: ' + repr(self.tags) + ' ' +\
32372            '>'
32373
32374    def to_dict(self):
32375        return {
32376            'id': self.id,
32377            'issuedcertttlminutes': self.issuedcertttlminutes,
32378            'name': self.name,
32379            'namespace': self.namespace,
32380            'server_address': self.server_address,
32381            'signing_role': self.signing_role,
32382            'ssh_mount_point': self.ssh_mount_point,
32383            'tags': self.tags,
32384        }
32385
32386    @classmethod
32387    def from_dict(cls, d):
32388        return cls(
32389            id=d.get('id'),
32390            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32391            name=d.get('name'),
32392            namespace=d.get('namespace'),
32393            server_address=d.get('server_address'),
32394            signing_role=d.get('signing_role'),
32395            ssh_mount_point=d.get('ssh_mount_point'),
32396            tags=d.get('tags'),
32397        )

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

VaultAWSEC2CertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
32318    def __init__(
32319        self,
32320        id=None,
32321        issuedcertttlminutes=None,
32322        name=None,
32323        namespace=None,
32324        server_address=None,
32325        signing_role=None,
32326        ssh_mount_point=None,
32327        tags=None,
32328    ):
32329        self.id = id if id is not None else ''
32330        '''
32331         Unique identifier of the SecretStore.
32332        '''
32333        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32334        '''
32335         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32336        '''
32337        self.name = name if name is not None else ''
32338        '''
32339         Unique human-readable name of the SecretStore.
32340        '''
32341        self.namespace = namespace if namespace is not None else ''
32342        '''
32343         The namespace to make requests within
32344        '''
32345        self.server_address = server_address if server_address is not None else ''
32346        '''
32347         The URL of the Vault to target
32348        '''
32349        self.signing_role = signing_role if signing_role is not None else ''
32350        '''
32351         The signing role to be used for signing certificates
32352        '''
32353        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32354        '''
32355         The mount point of the SSH engine configured with the desired CA
32356        '''
32357        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32358        '''
32359         Tags is a map of key, value pairs.
32360        '''
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)
32374    def to_dict(self):
32375        return {
32376            'id': self.id,
32377            'issuedcertttlminutes': self.issuedcertttlminutes,
32378            'name': self.name,
32379            'namespace': self.namespace,
32380            'server_address': self.server_address,
32381            'signing_role': self.signing_role,
32382            'ssh_mount_point': self.ssh_mount_point,
32383            'tags': self.tags,
32384        }
@classmethod
def from_dict(cls, d)
32386    @classmethod
32387    def from_dict(cls, d):
32388        return cls(
32389            id=d.get('id'),
32390            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32391            name=d.get('name'),
32392            namespace=d.get('namespace'),
32393            server_address=d.get('server_address'),
32394            signing_role=d.get('signing_role'),
32395            ssh_mount_point=d.get('ssh_mount_point'),
32396            tags=d.get('tags'),
32397        )
class VaultAWSEC2CertX509Store:
32400class VaultAWSEC2CertX509Store:
32401    '''
32402    VaultAWSEC2CertX509Store is currently unstable, and its API may change, or it may be removed,
32403    without a major version bump.
32404    '''
32405    __slots__ = [
32406        'id',
32407        'issuedcertttlminutes',
32408        'name',
32409        'namespace',
32410        'pki_mount_point',
32411        'server_address',
32412        'signing_role',
32413        'tags',
32414    ]
32415
32416    def __init__(
32417        self,
32418        id=None,
32419        issuedcertttlminutes=None,
32420        name=None,
32421        namespace=None,
32422        pki_mount_point=None,
32423        server_address=None,
32424        signing_role=None,
32425        tags=None,
32426    ):
32427        self.id = id if id is not None else ''
32428        '''
32429         Unique identifier of the SecretStore.
32430        '''
32431        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32432        '''
32433         The lifetime of certificates issued by this CA represented in minutes.
32434        '''
32435        self.name = name if name is not None else ''
32436        '''
32437         Unique human-readable name of the SecretStore.
32438        '''
32439        self.namespace = namespace if namespace is not None else ''
32440        '''
32441         The namespace to make requests within
32442        '''
32443        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32444        '''
32445         The mount point of the PKI engine configured with the desired CA
32446        '''
32447        self.server_address = server_address if server_address is not None else ''
32448        '''
32449         The URL of the Vault to target
32450        '''
32451        self.signing_role = signing_role if signing_role is not None else ''
32452        '''
32453         The signing role to be used for signing certificates
32454        '''
32455        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32456        '''
32457         Tags is a map of key, value pairs.
32458        '''
32459
32460    def __repr__(self):
32461        return '<sdm.VaultAWSEC2CertX509Store ' + \
32462            'id: ' + repr(self.id) + ' ' +\
32463            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32464            'name: ' + repr(self.name) + ' ' +\
32465            'namespace: ' + repr(self.namespace) + ' ' +\
32466            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
32467            'server_address: ' + repr(self.server_address) + ' ' +\
32468            'signing_role: ' + repr(self.signing_role) + ' ' +\
32469            'tags: ' + repr(self.tags) + ' ' +\
32470            '>'
32471
32472    def to_dict(self):
32473        return {
32474            'id': self.id,
32475            'issuedcertttlminutes': self.issuedcertttlminutes,
32476            'name': self.name,
32477            'namespace': self.namespace,
32478            'pki_mount_point': self.pki_mount_point,
32479            'server_address': self.server_address,
32480            'signing_role': self.signing_role,
32481            'tags': self.tags,
32482        }
32483
32484    @classmethod
32485    def from_dict(cls, d):
32486        return cls(
32487            id=d.get('id'),
32488            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32489            name=d.get('name'),
32490            namespace=d.get('namespace'),
32491            pki_mount_point=d.get('pki_mount_point'),
32492            server_address=d.get('server_address'),
32493            signing_role=d.get('signing_role'),
32494            tags=d.get('tags'),
32495        )

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

VaultAWSEC2CertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
32416    def __init__(
32417        self,
32418        id=None,
32419        issuedcertttlminutes=None,
32420        name=None,
32421        namespace=None,
32422        pki_mount_point=None,
32423        server_address=None,
32424        signing_role=None,
32425        tags=None,
32426    ):
32427        self.id = id if id is not None else ''
32428        '''
32429         Unique identifier of the SecretStore.
32430        '''
32431        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32432        '''
32433         The lifetime of certificates issued by this CA represented in minutes.
32434        '''
32435        self.name = name if name is not None else ''
32436        '''
32437         Unique human-readable name of the SecretStore.
32438        '''
32439        self.namespace = namespace if namespace is not None else ''
32440        '''
32441         The namespace to make requests within
32442        '''
32443        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32444        '''
32445         The mount point of the PKI engine configured with the desired CA
32446        '''
32447        self.server_address = server_address if server_address is not None else ''
32448        '''
32449         The URL of the Vault to target
32450        '''
32451        self.signing_role = signing_role if signing_role is not None else ''
32452        '''
32453         The signing role to be used for signing certificates
32454        '''
32455        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32456        '''
32457         Tags is a map of key, value pairs.
32458        '''
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)
32472    def to_dict(self):
32473        return {
32474            'id': self.id,
32475            'issuedcertttlminutes': self.issuedcertttlminutes,
32476            'name': self.name,
32477            'namespace': self.namespace,
32478            'pki_mount_point': self.pki_mount_point,
32479            'server_address': self.server_address,
32480            'signing_role': self.signing_role,
32481            'tags': self.tags,
32482        }
@classmethod
def from_dict(cls, d)
32484    @classmethod
32485    def from_dict(cls, d):
32486        return cls(
32487            id=d.get('id'),
32488            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32489            name=d.get('name'),
32490            namespace=d.get('namespace'),
32491            pki_mount_point=d.get('pki_mount_point'),
32492            server_address=d.get('server_address'),
32493            signing_role=d.get('signing_role'),
32494            tags=d.get('tags'),
32495        )
class VaultAWSEC2Store:
32498class VaultAWSEC2Store:
32499    __slots__ = [
32500        'id',
32501        'name',
32502        'namespace',
32503        'server_address',
32504        'tags',
32505    ]
32506
32507    def __init__(
32508        self,
32509        id=None,
32510        name=None,
32511        namespace=None,
32512        server_address=None,
32513        tags=None,
32514    ):
32515        self.id = id if id is not None else ''
32516        '''
32517         Unique identifier of the SecretStore.
32518        '''
32519        self.name = name if name is not None else ''
32520        '''
32521         Unique human-readable name of the SecretStore.
32522        '''
32523        self.namespace = namespace if namespace is not None else ''
32524        '''
32525         The namespace to make requests within
32526        '''
32527        self.server_address = server_address if server_address is not None else ''
32528        '''
32529         The URL of the Vault to target
32530        '''
32531        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32532        '''
32533         Tags is a map of key, value pairs.
32534        '''
32535
32536    def __repr__(self):
32537        return '<sdm.VaultAWSEC2Store ' + \
32538            'id: ' + repr(self.id) + ' ' +\
32539            'name: ' + repr(self.name) + ' ' +\
32540            'namespace: ' + repr(self.namespace) + ' ' +\
32541            'server_address: ' + repr(self.server_address) + ' ' +\
32542            'tags: ' + repr(self.tags) + ' ' +\
32543            '>'
32544
32545    def to_dict(self):
32546        return {
32547            'id': self.id,
32548            'name': self.name,
32549            'namespace': self.namespace,
32550            'server_address': self.server_address,
32551            'tags': self.tags,
32552        }
32553
32554    @classmethod
32555    def from_dict(cls, d):
32556        return cls(
32557            id=d.get('id'),
32558            name=d.get('name'),
32559            namespace=d.get('namespace'),
32560            server_address=d.get('server_address'),
32561            tags=d.get('tags'),
32562        )
VaultAWSEC2Store(id=None, name=None, namespace=None, server_address=None, tags=None)
32507    def __init__(
32508        self,
32509        id=None,
32510        name=None,
32511        namespace=None,
32512        server_address=None,
32513        tags=None,
32514    ):
32515        self.id = id if id is not None else ''
32516        '''
32517         Unique identifier of the SecretStore.
32518        '''
32519        self.name = name if name is not None else ''
32520        '''
32521         Unique human-readable name of the SecretStore.
32522        '''
32523        self.namespace = namespace if namespace is not None else ''
32524        '''
32525         The namespace to make requests within
32526        '''
32527        self.server_address = server_address if server_address is not None else ''
32528        '''
32529         The URL of the Vault to target
32530        '''
32531        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32532        '''
32533         Tags is a map of key, value pairs.
32534        '''
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)
32545    def to_dict(self):
32546        return {
32547            'id': self.id,
32548            'name': self.name,
32549            'namespace': self.namespace,
32550            'server_address': self.server_address,
32551            'tags': self.tags,
32552        }
@classmethod
def from_dict(cls, d)
32554    @classmethod
32555    def from_dict(cls, d):
32556        return cls(
32557            id=d.get('id'),
32558            name=d.get('name'),
32559            namespace=d.get('namespace'),
32560            server_address=d.get('server_address'),
32561            tags=d.get('tags'),
32562        )
class VaultAWSIAMCertSSHStore:
32565class VaultAWSIAMCertSSHStore:
32566    '''
32567    VaultAWSIAMCertSSHStore is currently unstable, and its API may change, or it may be removed,
32568    without a major version bump.
32569    '''
32570    __slots__ = [
32571        'id',
32572        'issuedcertttlminutes',
32573        'name',
32574        'namespace',
32575        'server_address',
32576        'signing_role',
32577        'ssh_mount_point',
32578        'tags',
32579    ]
32580
32581    def __init__(
32582        self,
32583        id=None,
32584        issuedcertttlminutes=None,
32585        name=None,
32586        namespace=None,
32587        server_address=None,
32588        signing_role=None,
32589        ssh_mount_point=None,
32590        tags=None,
32591    ):
32592        self.id = id if id is not None else ''
32593        '''
32594         Unique identifier of the SecretStore.
32595        '''
32596        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32597        '''
32598         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32599        '''
32600        self.name = name if name is not None else ''
32601        '''
32602         Unique human-readable name of the SecretStore.
32603        '''
32604        self.namespace = namespace if namespace is not None else ''
32605        '''
32606         The namespace to make requests within
32607        '''
32608        self.server_address = server_address if server_address is not None else ''
32609        '''
32610         The URL of the Vault to target
32611        '''
32612        self.signing_role = signing_role if signing_role is not None else ''
32613        '''
32614         The signing role to be used for signing certificates
32615        '''
32616        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32617        '''
32618         The mount point of the SSH engine configured with the desired CA
32619        '''
32620        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32621        '''
32622         Tags is a map of key, value pairs.
32623        '''
32624
32625    def __repr__(self):
32626        return '<sdm.VaultAWSIAMCertSSHStore ' + \
32627            'id: ' + repr(self.id) + ' ' +\
32628            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32629            'name: ' + repr(self.name) + ' ' +\
32630            'namespace: ' + repr(self.namespace) + ' ' +\
32631            'server_address: ' + repr(self.server_address) + ' ' +\
32632            'signing_role: ' + repr(self.signing_role) + ' ' +\
32633            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
32634            'tags: ' + repr(self.tags) + ' ' +\
32635            '>'
32636
32637    def to_dict(self):
32638        return {
32639            'id': self.id,
32640            'issuedcertttlminutes': self.issuedcertttlminutes,
32641            'name': self.name,
32642            'namespace': self.namespace,
32643            'server_address': self.server_address,
32644            'signing_role': self.signing_role,
32645            'ssh_mount_point': self.ssh_mount_point,
32646            'tags': self.tags,
32647        }
32648
32649    @classmethod
32650    def from_dict(cls, d):
32651        return cls(
32652            id=d.get('id'),
32653            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32654            name=d.get('name'),
32655            namespace=d.get('namespace'),
32656            server_address=d.get('server_address'),
32657            signing_role=d.get('signing_role'),
32658            ssh_mount_point=d.get('ssh_mount_point'),
32659            tags=d.get('tags'),
32660        )

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

VaultAWSIAMCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
32581    def __init__(
32582        self,
32583        id=None,
32584        issuedcertttlminutes=None,
32585        name=None,
32586        namespace=None,
32587        server_address=None,
32588        signing_role=None,
32589        ssh_mount_point=None,
32590        tags=None,
32591    ):
32592        self.id = id if id is not None else ''
32593        '''
32594         Unique identifier of the SecretStore.
32595        '''
32596        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32597        '''
32598         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32599        '''
32600        self.name = name if name is not None else ''
32601        '''
32602         Unique human-readable name of the SecretStore.
32603        '''
32604        self.namespace = namespace if namespace is not None else ''
32605        '''
32606         The namespace to make requests within
32607        '''
32608        self.server_address = server_address if server_address is not None else ''
32609        '''
32610         The URL of the Vault to target
32611        '''
32612        self.signing_role = signing_role if signing_role is not None else ''
32613        '''
32614         The signing role to be used for signing certificates
32615        '''
32616        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32617        '''
32618         The mount point of the SSH engine configured with the desired CA
32619        '''
32620        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32621        '''
32622         Tags is a map of key, value pairs.
32623        '''
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)
32637    def to_dict(self):
32638        return {
32639            'id': self.id,
32640            'issuedcertttlminutes': self.issuedcertttlminutes,
32641            'name': self.name,
32642            'namespace': self.namespace,
32643            'server_address': self.server_address,
32644            'signing_role': self.signing_role,
32645            'ssh_mount_point': self.ssh_mount_point,
32646            'tags': self.tags,
32647        }
@classmethod
def from_dict(cls, d)
32649    @classmethod
32650    def from_dict(cls, d):
32651        return cls(
32652            id=d.get('id'),
32653            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32654            name=d.get('name'),
32655            namespace=d.get('namespace'),
32656            server_address=d.get('server_address'),
32657            signing_role=d.get('signing_role'),
32658            ssh_mount_point=d.get('ssh_mount_point'),
32659            tags=d.get('tags'),
32660        )
class VaultAWSIAMCertX509Store:
32663class VaultAWSIAMCertX509Store:
32664    '''
32665    VaultAWSIAMCertX509Store is currently unstable, and its API may change, or it may be removed,
32666    without a major version bump.
32667    '''
32668    __slots__ = [
32669        'id',
32670        'issuedcertttlminutes',
32671        'name',
32672        'namespace',
32673        'pki_mount_point',
32674        'server_address',
32675        'signing_role',
32676        'tags',
32677    ]
32678
32679    def __init__(
32680        self,
32681        id=None,
32682        issuedcertttlminutes=None,
32683        name=None,
32684        namespace=None,
32685        pki_mount_point=None,
32686        server_address=None,
32687        signing_role=None,
32688        tags=None,
32689    ):
32690        self.id = id if id is not None else ''
32691        '''
32692         Unique identifier of the SecretStore.
32693        '''
32694        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32695        '''
32696         The lifetime of certificates issued by this CA represented in minutes.
32697        '''
32698        self.name = name if name is not None else ''
32699        '''
32700         Unique human-readable name of the SecretStore.
32701        '''
32702        self.namespace = namespace if namespace is not None else ''
32703        '''
32704         The namespace to make requests within
32705        '''
32706        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32707        '''
32708         The mount point of the PKI engine configured with the desired CA
32709        '''
32710        self.server_address = server_address if server_address is not None else ''
32711        '''
32712         The URL of the Vault to target
32713        '''
32714        self.signing_role = signing_role if signing_role is not None else ''
32715        '''
32716         The signing role to be used for signing certificates
32717        '''
32718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32719        '''
32720         Tags is a map of key, value pairs.
32721        '''
32722
32723    def __repr__(self):
32724        return '<sdm.VaultAWSIAMCertX509Store ' + \
32725            'id: ' + repr(self.id) + ' ' +\
32726            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32727            'name: ' + repr(self.name) + ' ' +\
32728            'namespace: ' + repr(self.namespace) + ' ' +\
32729            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
32730            'server_address: ' + repr(self.server_address) + ' ' +\
32731            'signing_role: ' + repr(self.signing_role) + ' ' +\
32732            'tags: ' + repr(self.tags) + ' ' +\
32733            '>'
32734
32735    def to_dict(self):
32736        return {
32737            'id': self.id,
32738            'issuedcertttlminutes': self.issuedcertttlminutes,
32739            'name': self.name,
32740            'namespace': self.namespace,
32741            'pki_mount_point': self.pki_mount_point,
32742            'server_address': self.server_address,
32743            'signing_role': self.signing_role,
32744            'tags': self.tags,
32745        }
32746
32747    @classmethod
32748    def from_dict(cls, d):
32749        return cls(
32750            id=d.get('id'),
32751            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32752            name=d.get('name'),
32753            namespace=d.get('namespace'),
32754            pki_mount_point=d.get('pki_mount_point'),
32755            server_address=d.get('server_address'),
32756            signing_role=d.get('signing_role'),
32757            tags=d.get('tags'),
32758        )

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

VaultAWSIAMCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
32679    def __init__(
32680        self,
32681        id=None,
32682        issuedcertttlminutes=None,
32683        name=None,
32684        namespace=None,
32685        pki_mount_point=None,
32686        server_address=None,
32687        signing_role=None,
32688        tags=None,
32689    ):
32690        self.id = id if id is not None else ''
32691        '''
32692         Unique identifier of the SecretStore.
32693        '''
32694        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32695        '''
32696         The lifetime of certificates issued by this CA represented in minutes.
32697        '''
32698        self.name = name if name is not None else ''
32699        '''
32700         Unique human-readable name of the SecretStore.
32701        '''
32702        self.namespace = namespace if namespace is not None else ''
32703        '''
32704         The namespace to make requests within
32705        '''
32706        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32707        '''
32708         The mount point of the PKI engine configured with the desired CA
32709        '''
32710        self.server_address = server_address if server_address is not None else ''
32711        '''
32712         The URL of the Vault to target
32713        '''
32714        self.signing_role = signing_role if signing_role is not None else ''
32715        '''
32716         The signing role to be used for signing certificates
32717        '''
32718        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32719        '''
32720         Tags is a map of key, value pairs.
32721        '''
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)
32735    def to_dict(self):
32736        return {
32737            'id': self.id,
32738            'issuedcertttlminutes': self.issuedcertttlminutes,
32739            'name': self.name,
32740            'namespace': self.namespace,
32741            'pki_mount_point': self.pki_mount_point,
32742            'server_address': self.server_address,
32743            'signing_role': self.signing_role,
32744            'tags': self.tags,
32745        }
@classmethod
def from_dict(cls, d)
32747    @classmethod
32748    def from_dict(cls, d):
32749        return cls(
32750            id=d.get('id'),
32751            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32752            name=d.get('name'),
32753            namespace=d.get('namespace'),
32754            pki_mount_point=d.get('pki_mount_point'),
32755            server_address=d.get('server_address'),
32756            signing_role=d.get('signing_role'),
32757            tags=d.get('tags'),
32758        )
class VaultAWSIAMStore:
32761class VaultAWSIAMStore:
32762    __slots__ = [
32763        'id',
32764        'name',
32765        'namespace',
32766        'server_address',
32767        'tags',
32768    ]
32769
32770    def __init__(
32771        self,
32772        id=None,
32773        name=None,
32774        namespace=None,
32775        server_address=None,
32776        tags=None,
32777    ):
32778        self.id = id if id is not None else ''
32779        '''
32780         Unique identifier of the SecretStore.
32781        '''
32782        self.name = name if name is not None else ''
32783        '''
32784         Unique human-readable name of the SecretStore.
32785        '''
32786        self.namespace = namespace if namespace is not None else ''
32787        '''
32788         The namespace to make requests within
32789        '''
32790        self.server_address = server_address if server_address is not None else ''
32791        '''
32792         The URL of the Vault to target
32793        '''
32794        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32795        '''
32796         Tags is a map of key, value pairs.
32797        '''
32798
32799    def __repr__(self):
32800        return '<sdm.VaultAWSIAMStore ' + \
32801            'id: ' + repr(self.id) + ' ' +\
32802            'name: ' + repr(self.name) + ' ' +\
32803            'namespace: ' + repr(self.namespace) + ' ' +\
32804            'server_address: ' + repr(self.server_address) + ' ' +\
32805            'tags: ' + repr(self.tags) + ' ' +\
32806            '>'
32807
32808    def to_dict(self):
32809        return {
32810            'id': self.id,
32811            'name': self.name,
32812            'namespace': self.namespace,
32813            'server_address': self.server_address,
32814            'tags': self.tags,
32815        }
32816
32817    @classmethod
32818    def from_dict(cls, d):
32819        return cls(
32820            id=d.get('id'),
32821            name=d.get('name'),
32822            namespace=d.get('namespace'),
32823            server_address=d.get('server_address'),
32824            tags=d.get('tags'),
32825        )
VaultAWSIAMStore(id=None, name=None, namespace=None, server_address=None, tags=None)
32770    def __init__(
32771        self,
32772        id=None,
32773        name=None,
32774        namespace=None,
32775        server_address=None,
32776        tags=None,
32777    ):
32778        self.id = id if id is not None else ''
32779        '''
32780         Unique identifier of the SecretStore.
32781        '''
32782        self.name = name if name is not None else ''
32783        '''
32784         Unique human-readable name of the SecretStore.
32785        '''
32786        self.namespace = namespace if namespace is not None else ''
32787        '''
32788         The namespace to make requests within
32789        '''
32790        self.server_address = server_address if server_address is not None else ''
32791        '''
32792         The URL of the Vault to target
32793        '''
32794        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32795        '''
32796         Tags is a map of key, value pairs.
32797        '''
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)
32808    def to_dict(self):
32809        return {
32810            'id': self.id,
32811            'name': self.name,
32812            'namespace': self.namespace,
32813            'server_address': self.server_address,
32814            'tags': self.tags,
32815        }
@classmethod
def from_dict(cls, d)
32817    @classmethod
32818    def from_dict(cls, d):
32819        return cls(
32820            id=d.get('id'),
32821            name=d.get('name'),
32822            namespace=d.get('namespace'),
32823            server_address=d.get('server_address'),
32824            tags=d.get('tags'),
32825        )
class VaultAppRoleCertSSHStore:
32828class VaultAppRoleCertSSHStore:
32829    __slots__ = [
32830        'id',
32831        'issuedcertttlminutes',
32832        'name',
32833        'namespace',
32834        'server_address',
32835        'signing_role',
32836        'ssh_mount_point',
32837        'tags',
32838    ]
32839
32840    def __init__(
32841        self,
32842        id=None,
32843        issuedcertttlminutes=None,
32844        name=None,
32845        namespace=None,
32846        server_address=None,
32847        signing_role=None,
32848        ssh_mount_point=None,
32849        tags=None,
32850    ):
32851        self.id = id if id is not None else ''
32852        '''
32853         Unique identifier of the SecretStore.
32854        '''
32855        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32856        '''
32857         The lifetime of certificates issued by this CA represented in minutes.
32858        '''
32859        self.name = name if name is not None else ''
32860        '''
32861         Unique human-readable name of the SecretStore.
32862        '''
32863        self.namespace = namespace if namespace is not None else ''
32864        '''
32865         The namespace to make requests within
32866        '''
32867        self.server_address = server_address if server_address is not None else ''
32868        '''
32869         The URL of the Vault to target
32870        '''
32871        self.signing_role = signing_role if signing_role is not None else ''
32872        '''
32873         The signing role to be used for signing certificates
32874        '''
32875        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32876        '''
32877         The mount point of the SSH engine configured with the desired CA
32878        '''
32879        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32880        '''
32881         Tags is a map of key, value pairs.
32882        '''
32883
32884    def __repr__(self):
32885        return '<sdm.VaultAppRoleCertSSHStore ' + \
32886            'id: ' + repr(self.id) + ' ' +\
32887            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32888            'name: ' + repr(self.name) + ' ' +\
32889            'namespace: ' + repr(self.namespace) + ' ' +\
32890            'server_address: ' + repr(self.server_address) + ' ' +\
32891            'signing_role: ' + repr(self.signing_role) + ' ' +\
32892            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
32893            'tags: ' + repr(self.tags) + ' ' +\
32894            '>'
32895
32896    def to_dict(self):
32897        return {
32898            'id': self.id,
32899            'issuedcertttlminutes': self.issuedcertttlminutes,
32900            'name': self.name,
32901            'namespace': self.namespace,
32902            'server_address': self.server_address,
32903            'signing_role': self.signing_role,
32904            'ssh_mount_point': self.ssh_mount_point,
32905            'tags': self.tags,
32906        }
32907
32908    @classmethod
32909    def from_dict(cls, d):
32910        return cls(
32911            id=d.get('id'),
32912            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32913            name=d.get('name'),
32914            namespace=d.get('namespace'),
32915            server_address=d.get('server_address'),
32916            signing_role=d.get('signing_role'),
32917            ssh_mount_point=d.get('ssh_mount_point'),
32918            tags=d.get('tags'),
32919        )
VaultAppRoleCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
32840    def __init__(
32841        self,
32842        id=None,
32843        issuedcertttlminutes=None,
32844        name=None,
32845        namespace=None,
32846        server_address=None,
32847        signing_role=None,
32848        ssh_mount_point=None,
32849        tags=None,
32850    ):
32851        self.id = id if id is not None else ''
32852        '''
32853         Unique identifier of the SecretStore.
32854        '''
32855        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32856        '''
32857         The lifetime of certificates issued by this CA represented in minutes.
32858        '''
32859        self.name = name if name is not None else ''
32860        '''
32861         Unique human-readable name of the SecretStore.
32862        '''
32863        self.namespace = namespace if namespace is not None else ''
32864        '''
32865         The namespace to make requests within
32866        '''
32867        self.server_address = server_address if server_address is not None else ''
32868        '''
32869         The URL of the Vault to target
32870        '''
32871        self.signing_role = signing_role if signing_role is not None else ''
32872        '''
32873         The signing role to be used for signing certificates
32874        '''
32875        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
32876        '''
32877         The mount point of the SSH engine configured with the desired CA
32878        '''
32879        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32880        '''
32881         Tags is a map of key, value pairs.
32882        '''
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)
32896    def to_dict(self):
32897        return {
32898            'id': self.id,
32899            'issuedcertttlminutes': self.issuedcertttlminutes,
32900            'name': self.name,
32901            'namespace': self.namespace,
32902            'server_address': self.server_address,
32903            'signing_role': self.signing_role,
32904            'ssh_mount_point': self.ssh_mount_point,
32905            'tags': self.tags,
32906        }
@classmethod
def from_dict(cls, d)
32908    @classmethod
32909    def from_dict(cls, d):
32910        return cls(
32911            id=d.get('id'),
32912            issuedcertttlminutes=d.get('issuedcertttlminutes'),
32913            name=d.get('name'),
32914            namespace=d.get('namespace'),
32915            server_address=d.get('server_address'),
32916            signing_role=d.get('signing_role'),
32917            ssh_mount_point=d.get('ssh_mount_point'),
32918            tags=d.get('tags'),
32919        )
class VaultAppRoleCertX509Store:
32922class VaultAppRoleCertX509Store:
32923    __slots__ = [
32924        'id',
32925        'issuedcertttlminutes',
32926        'name',
32927        'namespace',
32928        'pki_mount_point',
32929        'server_address',
32930        'signing_role',
32931        'tags',
32932    ]
32933
32934    def __init__(
32935        self,
32936        id=None,
32937        issuedcertttlminutes=None,
32938        name=None,
32939        namespace=None,
32940        pki_mount_point=None,
32941        server_address=None,
32942        signing_role=None,
32943        tags=None,
32944    ):
32945        self.id = id if id is not None else ''
32946        '''
32947         Unique identifier of the SecretStore.
32948        '''
32949        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32950        '''
32951         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32952        '''
32953        self.name = name if name is not None else ''
32954        '''
32955         Unique human-readable name of the SecretStore.
32956        '''
32957        self.namespace = namespace if namespace is not None else ''
32958        '''
32959         The namespace to make requests within
32960        '''
32961        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32962        '''
32963         The mount point of the PKI engine configured with the desired CA
32964        '''
32965        self.server_address = server_address if server_address is not None else ''
32966        '''
32967         The URL of the Vault to target
32968        '''
32969        self.signing_role = signing_role if signing_role is not None else ''
32970        '''
32971         The signing role to be used for signing certificates
32972        '''
32973        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32974        '''
32975         Tags is a map of key, value pairs.
32976        '''
32977
32978    def __repr__(self):
32979        return '<sdm.VaultAppRoleCertX509Store ' + \
32980            'id: ' + repr(self.id) + ' ' +\
32981            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
32982            'name: ' + repr(self.name) + ' ' +\
32983            'namespace: ' + repr(self.namespace) + ' ' +\
32984            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
32985            'server_address: ' + repr(self.server_address) + ' ' +\
32986            'signing_role: ' + repr(self.signing_role) + ' ' +\
32987            'tags: ' + repr(self.tags) + ' ' +\
32988            '>'
32989
32990    def to_dict(self):
32991        return {
32992            'id': self.id,
32993            'issuedcertttlminutes': self.issuedcertttlminutes,
32994            'name': self.name,
32995            'namespace': self.namespace,
32996            'pki_mount_point': self.pki_mount_point,
32997            'server_address': self.server_address,
32998            'signing_role': self.signing_role,
32999            'tags': self.tags,
33000        }
33001
33002    @classmethod
33003    def from_dict(cls, d):
33004        return cls(
33005            id=d.get('id'),
33006            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33007            name=d.get('name'),
33008            namespace=d.get('namespace'),
33009            pki_mount_point=d.get('pki_mount_point'),
33010            server_address=d.get('server_address'),
33011            signing_role=d.get('signing_role'),
33012            tags=d.get('tags'),
33013        )
VaultAppRoleCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
32934    def __init__(
32935        self,
32936        id=None,
32937        issuedcertttlminutes=None,
32938        name=None,
32939        namespace=None,
32940        pki_mount_point=None,
32941        server_address=None,
32942        signing_role=None,
32943        tags=None,
32944    ):
32945        self.id = id if id is not None else ''
32946        '''
32947         Unique identifier of the SecretStore.
32948        '''
32949        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
32950        '''
32951         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
32952        '''
32953        self.name = name if name is not None else ''
32954        '''
32955         Unique human-readable name of the SecretStore.
32956        '''
32957        self.namespace = namespace if namespace is not None else ''
32958        '''
32959         The namespace to make requests within
32960        '''
32961        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
32962        '''
32963         The mount point of the PKI engine configured with the desired CA
32964        '''
32965        self.server_address = server_address if server_address is not None else ''
32966        '''
32967         The URL of the Vault to target
32968        '''
32969        self.signing_role = signing_role if signing_role is not None else ''
32970        '''
32971         The signing role to be used for signing certificates
32972        '''
32973        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
32974        '''
32975         Tags is a map of key, value pairs.
32976        '''
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)
32990    def to_dict(self):
32991        return {
32992            'id': self.id,
32993            'issuedcertttlminutes': self.issuedcertttlminutes,
32994            'name': self.name,
32995            'namespace': self.namespace,
32996            'pki_mount_point': self.pki_mount_point,
32997            'server_address': self.server_address,
32998            'signing_role': self.signing_role,
32999            'tags': self.tags,
33000        }
@classmethod
def from_dict(cls, d)
33002    @classmethod
33003    def from_dict(cls, d):
33004        return cls(
33005            id=d.get('id'),
33006            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33007            name=d.get('name'),
33008            namespace=d.get('namespace'),
33009            pki_mount_point=d.get('pki_mount_point'),
33010            server_address=d.get('server_address'),
33011            signing_role=d.get('signing_role'),
33012            tags=d.get('tags'),
33013        )
class VaultAppRoleStore:
33016class VaultAppRoleStore:
33017    __slots__ = [
33018        'id',
33019        'name',
33020        'namespace',
33021        'server_address',
33022        'tags',
33023    ]
33024
33025    def __init__(
33026        self,
33027        id=None,
33028        name=None,
33029        namespace=None,
33030        server_address=None,
33031        tags=None,
33032    ):
33033        self.id = id if id is not None else ''
33034        '''
33035         Unique identifier of the SecretStore.
33036        '''
33037        self.name = name if name is not None else ''
33038        '''
33039         Unique human-readable name of the SecretStore.
33040        '''
33041        self.namespace = namespace if namespace is not None else ''
33042        '''
33043         The namespace to make requests within
33044        '''
33045        self.server_address = server_address if server_address is not None else ''
33046        '''
33047         The URL of the Vault to target
33048        '''
33049        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33050        '''
33051         Tags is a map of key, value pairs.
33052        '''
33053
33054    def __repr__(self):
33055        return '<sdm.VaultAppRoleStore ' + \
33056            'id: ' + repr(self.id) + ' ' +\
33057            'name: ' + repr(self.name) + ' ' +\
33058            'namespace: ' + repr(self.namespace) + ' ' +\
33059            'server_address: ' + repr(self.server_address) + ' ' +\
33060            'tags: ' + repr(self.tags) + ' ' +\
33061            '>'
33062
33063    def to_dict(self):
33064        return {
33065            'id': self.id,
33066            'name': self.name,
33067            'namespace': self.namespace,
33068            'server_address': self.server_address,
33069            'tags': self.tags,
33070        }
33071
33072    @classmethod
33073    def from_dict(cls, d):
33074        return cls(
33075            id=d.get('id'),
33076            name=d.get('name'),
33077            namespace=d.get('namespace'),
33078            server_address=d.get('server_address'),
33079            tags=d.get('tags'),
33080        )
VaultAppRoleStore(id=None, name=None, namespace=None, server_address=None, tags=None)
33025    def __init__(
33026        self,
33027        id=None,
33028        name=None,
33029        namespace=None,
33030        server_address=None,
33031        tags=None,
33032    ):
33033        self.id = id if id is not None else ''
33034        '''
33035         Unique identifier of the SecretStore.
33036        '''
33037        self.name = name if name is not None else ''
33038        '''
33039         Unique human-readable name of the SecretStore.
33040        '''
33041        self.namespace = namespace if namespace is not None else ''
33042        '''
33043         The namespace to make requests within
33044        '''
33045        self.server_address = server_address if server_address is not None else ''
33046        '''
33047         The URL of the Vault to target
33048        '''
33049        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33050        '''
33051         Tags is a map of key, value pairs.
33052        '''
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)
33063    def to_dict(self):
33064        return {
33065            'id': self.id,
33066            'name': self.name,
33067            'namespace': self.namespace,
33068            'server_address': self.server_address,
33069            'tags': self.tags,
33070        }
@classmethod
def from_dict(cls, d)
33072    @classmethod
33073    def from_dict(cls, d):
33074        return cls(
33075            id=d.get('id'),
33076            name=d.get('name'),
33077            namespace=d.get('namespace'),
33078            server_address=d.get('server_address'),
33079            tags=d.get('tags'),
33080        )
class VaultTLSCertSSHStore:
33083class VaultTLSCertSSHStore:
33084    __slots__ = [
33085        'ca_cert_path',
33086        'client_cert_path',
33087        'client_key_path',
33088        'id',
33089        'issuedcertttlminutes',
33090        'name',
33091        'namespace',
33092        'server_address',
33093        'signing_role',
33094        'ssh_mount_point',
33095        'tags',
33096    ]
33097
33098    def __init__(
33099        self,
33100        ca_cert_path=None,
33101        client_cert_path=None,
33102        client_key_path=None,
33103        id=None,
33104        issuedcertttlminutes=None,
33105        name=None,
33106        namespace=None,
33107        server_address=None,
33108        signing_role=None,
33109        ssh_mount_point=None,
33110        tags=None,
33111    ):
33112        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33113        '''
33114         A path to a CA file accessible by a Node
33115        '''
33116        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33117        '''
33118         A path to a client certificate file accessible by a Node
33119        '''
33120        self.client_key_path = client_key_path if client_key_path is not None else ''
33121        '''
33122         A path to a client key file accessible by a Node
33123        '''
33124        self.id = id if id is not None else ''
33125        '''
33126         Unique identifier of the SecretStore.
33127        '''
33128        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33129        '''
33130         The lifetime of certificates issued by this CA represented in minutes.
33131        '''
33132        self.name = name if name is not None else ''
33133        '''
33134         Unique human-readable name of the SecretStore.
33135        '''
33136        self.namespace = namespace if namespace is not None else ''
33137        '''
33138         The namespace to make requests within
33139        '''
33140        self.server_address = server_address if server_address is not None else ''
33141        '''
33142         The URL of the Vault to target
33143        '''
33144        self.signing_role = signing_role if signing_role is not None else ''
33145        '''
33146         The signing role to be used for signing certificates
33147        '''
33148        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
33149        '''
33150         The mount point of the SSH engine configured with the desired CA
33151        '''
33152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33153        '''
33154         Tags is a map of key, value pairs.
33155        '''
33156
33157    def __repr__(self):
33158        return '<sdm.VaultTLSCertSSHStore ' + \
33159            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
33160            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
33161            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
33162            'id: ' + repr(self.id) + ' ' +\
33163            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33164            'name: ' + repr(self.name) + ' ' +\
33165            'namespace: ' + repr(self.namespace) + ' ' +\
33166            'server_address: ' + repr(self.server_address) + ' ' +\
33167            'signing_role: ' + repr(self.signing_role) + ' ' +\
33168            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
33169            'tags: ' + repr(self.tags) + ' ' +\
33170            '>'
33171
33172    def to_dict(self):
33173        return {
33174            'ca_cert_path': self.ca_cert_path,
33175            'client_cert_path': self.client_cert_path,
33176            'client_key_path': self.client_key_path,
33177            'id': self.id,
33178            'issuedcertttlminutes': self.issuedcertttlminutes,
33179            'name': self.name,
33180            'namespace': self.namespace,
33181            'server_address': self.server_address,
33182            'signing_role': self.signing_role,
33183            'ssh_mount_point': self.ssh_mount_point,
33184            'tags': self.tags,
33185        }
33186
33187    @classmethod
33188    def from_dict(cls, d):
33189        return cls(
33190            ca_cert_path=d.get('ca_cert_path'),
33191            client_cert_path=d.get('client_cert_path'),
33192            client_key_path=d.get('client_key_path'),
33193            id=d.get('id'),
33194            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33195            name=d.get('name'),
33196            namespace=d.get('namespace'),
33197            server_address=d.get('server_address'),
33198            signing_role=d.get('signing_role'),
33199            ssh_mount_point=d.get('ssh_mount_point'),
33200            tags=d.get('tags'),
33201        )
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)
33098    def __init__(
33099        self,
33100        ca_cert_path=None,
33101        client_cert_path=None,
33102        client_key_path=None,
33103        id=None,
33104        issuedcertttlminutes=None,
33105        name=None,
33106        namespace=None,
33107        server_address=None,
33108        signing_role=None,
33109        ssh_mount_point=None,
33110        tags=None,
33111    ):
33112        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33113        '''
33114         A path to a CA file accessible by a Node
33115        '''
33116        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33117        '''
33118         A path to a client certificate file accessible by a Node
33119        '''
33120        self.client_key_path = client_key_path if client_key_path is not None else ''
33121        '''
33122         A path to a client key file accessible by a Node
33123        '''
33124        self.id = id if id is not None else ''
33125        '''
33126         Unique identifier of the SecretStore.
33127        '''
33128        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33129        '''
33130         The lifetime of certificates issued by this CA represented in minutes.
33131        '''
33132        self.name = name if name is not None else ''
33133        '''
33134         Unique human-readable name of the SecretStore.
33135        '''
33136        self.namespace = namespace if namespace is not None else ''
33137        '''
33138         The namespace to make requests within
33139        '''
33140        self.server_address = server_address if server_address is not None else ''
33141        '''
33142         The URL of the Vault to target
33143        '''
33144        self.signing_role = signing_role if signing_role is not None else ''
33145        '''
33146         The signing role to be used for signing certificates
33147        '''
33148        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
33149        '''
33150         The mount point of the SSH engine configured with the desired CA
33151        '''
33152        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33153        '''
33154         Tags is a map of key, value pairs.
33155        '''
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)
33172    def to_dict(self):
33173        return {
33174            'ca_cert_path': self.ca_cert_path,
33175            'client_cert_path': self.client_cert_path,
33176            'client_key_path': self.client_key_path,
33177            'id': self.id,
33178            'issuedcertttlminutes': self.issuedcertttlminutes,
33179            'name': self.name,
33180            'namespace': self.namespace,
33181            'server_address': self.server_address,
33182            'signing_role': self.signing_role,
33183            'ssh_mount_point': self.ssh_mount_point,
33184            'tags': self.tags,
33185        }
@classmethod
def from_dict(cls, d)
33187    @classmethod
33188    def from_dict(cls, d):
33189        return cls(
33190            ca_cert_path=d.get('ca_cert_path'),
33191            client_cert_path=d.get('client_cert_path'),
33192            client_key_path=d.get('client_key_path'),
33193            id=d.get('id'),
33194            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33195            name=d.get('name'),
33196            namespace=d.get('namespace'),
33197            server_address=d.get('server_address'),
33198            signing_role=d.get('signing_role'),
33199            ssh_mount_point=d.get('ssh_mount_point'),
33200            tags=d.get('tags'),
33201        )
class VaultTLSCertX509Store:
33204class VaultTLSCertX509Store:
33205    __slots__ = [
33206        'ca_cert_path',
33207        'client_cert_path',
33208        'client_key_path',
33209        'id',
33210        'issuedcertttlminutes',
33211        'name',
33212        'namespace',
33213        'pki_mount_point',
33214        'server_address',
33215        'signing_role',
33216        'tags',
33217    ]
33218
33219    def __init__(
33220        self,
33221        ca_cert_path=None,
33222        client_cert_path=None,
33223        client_key_path=None,
33224        id=None,
33225        issuedcertttlminutes=None,
33226        name=None,
33227        namespace=None,
33228        pki_mount_point=None,
33229        server_address=None,
33230        signing_role=None,
33231        tags=None,
33232    ):
33233        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33234        '''
33235         A path to a CA file accessible by a Node
33236        '''
33237        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33238        '''
33239         A path to a client certificate file accessible by a Node
33240        '''
33241        self.client_key_path = client_key_path if client_key_path is not None else ''
33242        '''
33243         A path to a client key file accessible by a Node
33244        '''
33245        self.id = id if id is not None else ''
33246        '''
33247         Unique identifier of the SecretStore.
33248        '''
33249        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33250        '''
33251         The lifetime of certificates issued by this CA represented in minutes.
33252        '''
33253        self.name = name if name is not None else ''
33254        '''
33255         Unique human-readable name of the SecretStore.
33256        '''
33257        self.namespace = namespace if namespace is not None else ''
33258        '''
33259         The namespace to make requests within
33260        '''
33261        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
33262        '''
33263         The mount point of the PKI engine configured with the desired CA
33264        '''
33265        self.server_address = server_address if server_address is not None else ''
33266        '''
33267         The URL of the Vault to target
33268        '''
33269        self.signing_role = signing_role if signing_role is not None else ''
33270        '''
33271         The signing role to be used for signing certificates
33272        '''
33273        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33274        '''
33275         Tags is a map of key, value pairs.
33276        '''
33277
33278    def __repr__(self):
33279        return '<sdm.VaultTLSCertX509Store ' + \
33280            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
33281            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
33282            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
33283            'id: ' + repr(self.id) + ' ' +\
33284            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33285            'name: ' + repr(self.name) + ' ' +\
33286            'namespace: ' + repr(self.namespace) + ' ' +\
33287            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
33288            'server_address: ' + repr(self.server_address) + ' ' +\
33289            'signing_role: ' + repr(self.signing_role) + ' ' +\
33290            'tags: ' + repr(self.tags) + ' ' +\
33291            '>'
33292
33293    def to_dict(self):
33294        return {
33295            'ca_cert_path': self.ca_cert_path,
33296            'client_cert_path': self.client_cert_path,
33297            'client_key_path': self.client_key_path,
33298            'id': self.id,
33299            'issuedcertttlminutes': self.issuedcertttlminutes,
33300            'name': self.name,
33301            'namespace': self.namespace,
33302            'pki_mount_point': self.pki_mount_point,
33303            'server_address': self.server_address,
33304            'signing_role': self.signing_role,
33305            'tags': self.tags,
33306        }
33307
33308    @classmethod
33309    def from_dict(cls, d):
33310        return cls(
33311            ca_cert_path=d.get('ca_cert_path'),
33312            client_cert_path=d.get('client_cert_path'),
33313            client_key_path=d.get('client_key_path'),
33314            id=d.get('id'),
33315            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33316            name=d.get('name'),
33317            namespace=d.get('namespace'),
33318            pki_mount_point=d.get('pki_mount_point'),
33319            server_address=d.get('server_address'),
33320            signing_role=d.get('signing_role'),
33321            tags=d.get('tags'),
33322        )
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)
33219    def __init__(
33220        self,
33221        ca_cert_path=None,
33222        client_cert_path=None,
33223        client_key_path=None,
33224        id=None,
33225        issuedcertttlminutes=None,
33226        name=None,
33227        namespace=None,
33228        pki_mount_point=None,
33229        server_address=None,
33230        signing_role=None,
33231        tags=None,
33232    ):
33233        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33234        '''
33235         A path to a CA file accessible by a Node
33236        '''
33237        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33238        '''
33239         A path to a client certificate file accessible by a Node
33240        '''
33241        self.client_key_path = client_key_path if client_key_path is not None else ''
33242        '''
33243         A path to a client key file accessible by a Node
33244        '''
33245        self.id = id if id is not None else ''
33246        '''
33247         Unique identifier of the SecretStore.
33248        '''
33249        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33250        '''
33251         The lifetime of certificates issued by this CA represented in minutes.
33252        '''
33253        self.name = name if name is not None else ''
33254        '''
33255         Unique human-readable name of the SecretStore.
33256        '''
33257        self.namespace = namespace if namespace is not None else ''
33258        '''
33259         The namespace to make requests within
33260        '''
33261        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
33262        '''
33263         The mount point of the PKI engine configured with the desired CA
33264        '''
33265        self.server_address = server_address if server_address is not None else ''
33266        '''
33267         The URL of the Vault to target
33268        '''
33269        self.signing_role = signing_role if signing_role is not None else ''
33270        '''
33271         The signing role to be used for signing certificates
33272        '''
33273        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33274        '''
33275         Tags is a map of key, value pairs.
33276        '''
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)
33293    def to_dict(self):
33294        return {
33295            'ca_cert_path': self.ca_cert_path,
33296            'client_cert_path': self.client_cert_path,
33297            'client_key_path': self.client_key_path,
33298            'id': self.id,
33299            'issuedcertttlminutes': self.issuedcertttlminutes,
33300            'name': self.name,
33301            'namespace': self.namespace,
33302            'pki_mount_point': self.pki_mount_point,
33303            'server_address': self.server_address,
33304            'signing_role': self.signing_role,
33305            'tags': self.tags,
33306        }
@classmethod
def from_dict(cls, d)
33308    @classmethod
33309    def from_dict(cls, d):
33310        return cls(
33311            ca_cert_path=d.get('ca_cert_path'),
33312            client_cert_path=d.get('client_cert_path'),
33313            client_key_path=d.get('client_key_path'),
33314            id=d.get('id'),
33315            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33316            name=d.get('name'),
33317            namespace=d.get('namespace'),
33318            pki_mount_point=d.get('pki_mount_point'),
33319            server_address=d.get('server_address'),
33320            signing_role=d.get('signing_role'),
33321            tags=d.get('tags'),
33322        )
class VaultTLSStore:
33325class VaultTLSStore:
33326    __slots__ = [
33327        'ca_cert_path',
33328        'client_cert_path',
33329        'client_key_path',
33330        'id',
33331        'name',
33332        'namespace',
33333        'server_address',
33334        'tags',
33335    ]
33336
33337    def __init__(
33338        self,
33339        ca_cert_path=None,
33340        client_cert_path=None,
33341        client_key_path=None,
33342        id=None,
33343        name=None,
33344        namespace=None,
33345        server_address=None,
33346        tags=None,
33347    ):
33348        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33349        '''
33350         A path to a CA file accessible by a Node
33351        '''
33352        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33353        '''
33354         A path to a client certificate file accessible by a Node
33355        '''
33356        self.client_key_path = client_key_path if client_key_path is not None else ''
33357        '''
33358         A path to a client key file accessible by a Node
33359        '''
33360        self.id = id if id is not None else ''
33361        '''
33362         Unique identifier of the SecretStore.
33363        '''
33364        self.name = name if name is not None else ''
33365        '''
33366         Unique human-readable name of the SecretStore.
33367        '''
33368        self.namespace = namespace if namespace is not None else ''
33369        '''
33370         The namespace to make requests within
33371        '''
33372        self.server_address = server_address if server_address is not None else ''
33373        '''
33374         The URL of the Vault to target
33375        '''
33376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33377        '''
33378         Tags is a map of key, value pairs.
33379        '''
33380
33381    def __repr__(self):
33382        return '<sdm.VaultTLSStore ' + \
33383            'ca_cert_path: ' + repr(self.ca_cert_path) + ' ' +\
33384            'client_cert_path: ' + repr(self.client_cert_path) + ' ' +\
33385            'client_key_path: ' + repr(self.client_key_path) + ' ' +\
33386            'id: ' + repr(self.id) + ' ' +\
33387            'name: ' + repr(self.name) + ' ' +\
33388            'namespace: ' + repr(self.namespace) + ' ' +\
33389            'server_address: ' + repr(self.server_address) + ' ' +\
33390            'tags: ' + repr(self.tags) + ' ' +\
33391            '>'
33392
33393    def to_dict(self):
33394        return {
33395            'ca_cert_path': self.ca_cert_path,
33396            'client_cert_path': self.client_cert_path,
33397            'client_key_path': self.client_key_path,
33398            'id': self.id,
33399            'name': self.name,
33400            'namespace': self.namespace,
33401            'server_address': self.server_address,
33402            'tags': self.tags,
33403        }
33404
33405    @classmethod
33406    def from_dict(cls, d):
33407        return cls(
33408            ca_cert_path=d.get('ca_cert_path'),
33409            client_cert_path=d.get('client_cert_path'),
33410            client_key_path=d.get('client_key_path'),
33411            id=d.get('id'),
33412            name=d.get('name'),
33413            namespace=d.get('namespace'),
33414            server_address=d.get('server_address'),
33415            tags=d.get('tags'),
33416        )
VaultTLSStore( ca_cert_path=None, client_cert_path=None, client_key_path=None, id=None, name=None, namespace=None, server_address=None, tags=None)
33337    def __init__(
33338        self,
33339        ca_cert_path=None,
33340        client_cert_path=None,
33341        client_key_path=None,
33342        id=None,
33343        name=None,
33344        namespace=None,
33345        server_address=None,
33346        tags=None,
33347    ):
33348        self.ca_cert_path = ca_cert_path if ca_cert_path is not None else ''
33349        '''
33350         A path to a CA file accessible by a Node
33351        '''
33352        self.client_cert_path = client_cert_path if client_cert_path is not None else ''
33353        '''
33354         A path to a client certificate file accessible by a Node
33355        '''
33356        self.client_key_path = client_key_path if client_key_path is not None else ''
33357        '''
33358         A path to a client key file accessible by a Node
33359        '''
33360        self.id = id if id is not None else ''
33361        '''
33362         Unique identifier of the SecretStore.
33363        '''
33364        self.name = name if name is not None else ''
33365        '''
33366         Unique human-readable name of the SecretStore.
33367        '''
33368        self.namespace = namespace if namespace is not None else ''
33369        '''
33370         The namespace to make requests within
33371        '''
33372        self.server_address = server_address if server_address is not None else ''
33373        '''
33374         The URL of the Vault to target
33375        '''
33376        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33377        '''
33378         Tags is a map of key, value pairs.
33379        '''
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)
33393    def to_dict(self):
33394        return {
33395            'ca_cert_path': self.ca_cert_path,
33396            'client_cert_path': self.client_cert_path,
33397            'client_key_path': self.client_key_path,
33398            'id': self.id,
33399            'name': self.name,
33400            'namespace': self.namespace,
33401            'server_address': self.server_address,
33402            'tags': self.tags,
33403        }
@classmethod
def from_dict(cls, d)
33405    @classmethod
33406    def from_dict(cls, d):
33407        return cls(
33408            ca_cert_path=d.get('ca_cert_path'),
33409            client_cert_path=d.get('client_cert_path'),
33410            client_key_path=d.get('client_key_path'),
33411            id=d.get('id'),
33412            name=d.get('name'),
33413            namespace=d.get('namespace'),
33414            server_address=d.get('server_address'),
33415            tags=d.get('tags'),
33416        )
class VaultTokenCertSSHStore:
33419class VaultTokenCertSSHStore:
33420    __slots__ = [
33421        'id',
33422        'issuedcertttlminutes',
33423        'name',
33424        'namespace',
33425        'server_address',
33426        'signing_role',
33427        'ssh_mount_point',
33428        'tags',
33429    ]
33430
33431    def __init__(
33432        self,
33433        id=None,
33434        issuedcertttlminutes=None,
33435        name=None,
33436        namespace=None,
33437        server_address=None,
33438        signing_role=None,
33439        ssh_mount_point=None,
33440        tags=None,
33441    ):
33442        self.id = id if id is not None else ''
33443        '''
33444         Unique identifier of the SecretStore.
33445        '''
33446        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33447        '''
33448         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
33449        '''
33450        self.name = name if name is not None else ''
33451        '''
33452         Unique human-readable name of the SecretStore.
33453        '''
33454        self.namespace = namespace if namespace is not None else ''
33455        '''
33456         The namespace to make requests within
33457        '''
33458        self.server_address = server_address if server_address is not None else ''
33459        '''
33460         The URL of the Vault to target
33461        '''
33462        self.signing_role = signing_role if signing_role is not None else ''
33463        '''
33464         The signing role to be used for signing certificates
33465        '''
33466        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
33467        '''
33468         The mount point of the SSH engine configured with the desired CA
33469        '''
33470        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33471        '''
33472         Tags is a map of key, value pairs.
33473        '''
33474
33475    def __repr__(self):
33476        return '<sdm.VaultTokenCertSSHStore ' + \
33477            'id: ' + repr(self.id) + ' ' +\
33478            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33479            'name: ' + repr(self.name) + ' ' +\
33480            'namespace: ' + repr(self.namespace) + ' ' +\
33481            'server_address: ' + repr(self.server_address) + ' ' +\
33482            'signing_role: ' + repr(self.signing_role) + ' ' +\
33483            'ssh_mount_point: ' + repr(self.ssh_mount_point) + ' ' +\
33484            'tags: ' + repr(self.tags) + ' ' +\
33485            '>'
33486
33487    def to_dict(self):
33488        return {
33489            'id': self.id,
33490            'issuedcertttlminutes': self.issuedcertttlminutes,
33491            'name': self.name,
33492            'namespace': self.namespace,
33493            'server_address': self.server_address,
33494            'signing_role': self.signing_role,
33495            'ssh_mount_point': self.ssh_mount_point,
33496            'tags': self.tags,
33497        }
33498
33499    @classmethod
33500    def from_dict(cls, d):
33501        return cls(
33502            id=d.get('id'),
33503            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33504            name=d.get('name'),
33505            namespace=d.get('namespace'),
33506            server_address=d.get('server_address'),
33507            signing_role=d.get('signing_role'),
33508            ssh_mount_point=d.get('ssh_mount_point'),
33509            tags=d.get('tags'),
33510        )
VaultTokenCertSSHStore( id=None, issuedcertttlminutes=None, name=None, namespace=None, server_address=None, signing_role=None, ssh_mount_point=None, tags=None)
33431    def __init__(
33432        self,
33433        id=None,
33434        issuedcertttlminutes=None,
33435        name=None,
33436        namespace=None,
33437        server_address=None,
33438        signing_role=None,
33439        ssh_mount_point=None,
33440        tags=None,
33441    ):
33442        self.id = id if id is not None else ''
33443        '''
33444         Unique identifier of the SecretStore.
33445        '''
33446        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33447        '''
33448         The lifetime of certificates issued by this CA in minutes. Recommended value is 5.
33449        '''
33450        self.name = name if name is not None else ''
33451        '''
33452         Unique human-readable name of the SecretStore.
33453        '''
33454        self.namespace = namespace if namespace is not None else ''
33455        '''
33456         The namespace to make requests within
33457        '''
33458        self.server_address = server_address if server_address is not None else ''
33459        '''
33460         The URL of the Vault to target
33461        '''
33462        self.signing_role = signing_role if signing_role is not None else ''
33463        '''
33464         The signing role to be used for signing certificates
33465        '''
33466        self.ssh_mount_point = ssh_mount_point if ssh_mount_point is not None else ''
33467        '''
33468         The mount point of the SSH engine configured with the desired CA
33469        '''
33470        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33471        '''
33472         Tags is a map of key, value pairs.
33473        '''
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)
33487    def to_dict(self):
33488        return {
33489            'id': self.id,
33490            'issuedcertttlminutes': self.issuedcertttlminutes,
33491            'name': self.name,
33492            'namespace': self.namespace,
33493            'server_address': self.server_address,
33494            'signing_role': self.signing_role,
33495            'ssh_mount_point': self.ssh_mount_point,
33496            'tags': self.tags,
33497        }
@classmethod
def from_dict(cls, d)
33499    @classmethod
33500    def from_dict(cls, d):
33501        return cls(
33502            id=d.get('id'),
33503            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33504            name=d.get('name'),
33505            namespace=d.get('namespace'),
33506            server_address=d.get('server_address'),
33507            signing_role=d.get('signing_role'),
33508            ssh_mount_point=d.get('ssh_mount_point'),
33509            tags=d.get('tags'),
33510        )
class VaultTokenCertX509Store:
33513class VaultTokenCertX509Store:
33514    __slots__ = [
33515        'id',
33516        'issuedcertttlminutes',
33517        'name',
33518        'namespace',
33519        'pki_mount_point',
33520        'server_address',
33521        'signing_role',
33522        'tags',
33523    ]
33524
33525    def __init__(
33526        self,
33527        id=None,
33528        issuedcertttlminutes=None,
33529        name=None,
33530        namespace=None,
33531        pki_mount_point=None,
33532        server_address=None,
33533        signing_role=None,
33534        tags=None,
33535    ):
33536        self.id = id if id is not None else ''
33537        '''
33538         Unique identifier of the SecretStore.
33539        '''
33540        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33541        '''
33542         The lifetime of certificates issued by this CA represented in minutes.
33543        '''
33544        self.name = name if name is not None else ''
33545        '''
33546         Unique human-readable name of the SecretStore.
33547        '''
33548        self.namespace = namespace if namespace is not None else ''
33549        '''
33550         The namespace to make requests within
33551        '''
33552        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
33553        '''
33554         The mount point of the PKI engine configured with the desired CA
33555        '''
33556        self.server_address = server_address if server_address is not None else ''
33557        '''
33558         The URL of the Vault to target
33559        '''
33560        self.signing_role = signing_role if signing_role is not None else ''
33561        '''
33562         The signing role to be used for signing certificates
33563        '''
33564        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33565        '''
33566         Tags is a map of key, value pairs.
33567        '''
33568
33569    def __repr__(self):
33570        return '<sdm.VaultTokenCertX509Store ' + \
33571            'id: ' + repr(self.id) + ' ' +\
33572            'issuedcertttlminutes: ' + repr(self.issuedcertttlminutes) + ' ' +\
33573            'name: ' + repr(self.name) + ' ' +\
33574            'namespace: ' + repr(self.namespace) + ' ' +\
33575            'pki_mount_point: ' + repr(self.pki_mount_point) + ' ' +\
33576            'server_address: ' + repr(self.server_address) + ' ' +\
33577            'signing_role: ' + repr(self.signing_role) + ' ' +\
33578            'tags: ' + repr(self.tags) + ' ' +\
33579            '>'
33580
33581    def to_dict(self):
33582        return {
33583            'id': self.id,
33584            'issuedcertttlminutes': self.issuedcertttlminutes,
33585            'name': self.name,
33586            'namespace': self.namespace,
33587            'pki_mount_point': self.pki_mount_point,
33588            'server_address': self.server_address,
33589            'signing_role': self.signing_role,
33590            'tags': self.tags,
33591        }
33592
33593    @classmethod
33594    def from_dict(cls, d):
33595        return cls(
33596            id=d.get('id'),
33597            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33598            name=d.get('name'),
33599            namespace=d.get('namespace'),
33600            pki_mount_point=d.get('pki_mount_point'),
33601            server_address=d.get('server_address'),
33602            signing_role=d.get('signing_role'),
33603            tags=d.get('tags'),
33604        )
VaultTokenCertX509Store( id=None, issuedcertttlminutes=None, name=None, namespace=None, pki_mount_point=None, server_address=None, signing_role=None, tags=None)
33525    def __init__(
33526        self,
33527        id=None,
33528        issuedcertttlminutes=None,
33529        name=None,
33530        namespace=None,
33531        pki_mount_point=None,
33532        server_address=None,
33533        signing_role=None,
33534        tags=None,
33535    ):
33536        self.id = id if id is not None else ''
33537        '''
33538         Unique identifier of the SecretStore.
33539        '''
33540        self.issuedcertttlminutes = issuedcertttlminutes if issuedcertttlminutes is not None else 0
33541        '''
33542         The lifetime of certificates issued by this CA represented in minutes.
33543        '''
33544        self.name = name if name is not None else ''
33545        '''
33546         Unique human-readable name of the SecretStore.
33547        '''
33548        self.namespace = namespace if namespace is not None else ''
33549        '''
33550         The namespace to make requests within
33551        '''
33552        self.pki_mount_point = pki_mount_point if pki_mount_point is not None else ''
33553        '''
33554         The mount point of the PKI engine configured with the desired CA
33555        '''
33556        self.server_address = server_address if server_address is not None else ''
33557        '''
33558         The URL of the Vault to target
33559        '''
33560        self.signing_role = signing_role if signing_role is not None else ''
33561        '''
33562         The signing role to be used for signing certificates
33563        '''
33564        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33565        '''
33566         Tags is a map of key, value pairs.
33567        '''
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)
33581    def to_dict(self):
33582        return {
33583            'id': self.id,
33584            'issuedcertttlminutes': self.issuedcertttlminutes,
33585            'name': self.name,
33586            'namespace': self.namespace,
33587            'pki_mount_point': self.pki_mount_point,
33588            'server_address': self.server_address,
33589            'signing_role': self.signing_role,
33590            'tags': self.tags,
33591        }
@classmethod
def from_dict(cls, d)
33593    @classmethod
33594    def from_dict(cls, d):
33595        return cls(
33596            id=d.get('id'),
33597            issuedcertttlminutes=d.get('issuedcertttlminutes'),
33598            name=d.get('name'),
33599            namespace=d.get('namespace'),
33600            pki_mount_point=d.get('pki_mount_point'),
33601            server_address=d.get('server_address'),
33602            signing_role=d.get('signing_role'),
33603            tags=d.get('tags'),
33604        )
class VaultTokenStore:
33607class VaultTokenStore:
33608    __slots__ = [
33609        'id',
33610        'name',
33611        'namespace',
33612        'server_address',
33613        'tags',
33614    ]
33615
33616    def __init__(
33617        self,
33618        id=None,
33619        name=None,
33620        namespace=None,
33621        server_address=None,
33622        tags=None,
33623    ):
33624        self.id = id if id is not None else ''
33625        '''
33626         Unique identifier of the SecretStore.
33627        '''
33628        self.name = name if name is not None else ''
33629        '''
33630         Unique human-readable name of the SecretStore.
33631        '''
33632        self.namespace = namespace if namespace is not None else ''
33633        '''
33634         The namespace to make requests within
33635        '''
33636        self.server_address = server_address if server_address is not None else ''
33637        '''
33638         The URL of the Vault to target
33639        '''
33640        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33641        '''
33642         Tags is a map of key, value pairs.
33643        '''
33644
33645    def __repr__(self):
33646        return '<sdm.VaultTokenStore ' + \
33647            'id: ' + repr(self.id) + ' ' +\
33648            'name: ' + repr(self.name) + ' ' +\
33649            'namespace: ' + repr(self.namespace) + ' ' +\
33650            'server_address: ' + repr(self.server_address) + ' ' +\
33651            'tags: ' + repr(self.tags) + ' ' +\
33652            '>'
33653
33654    def to_dict(self):
33655        return {
33656            'id': self.id,
33657            'name': self.name,
33658            'namespace': self.namespace,
33659            'server_address': self.server_address,
33660            'tags': self.tags,
33661        }
33662
33663    @classmethod
33664    def from_dict(cls, d):
33665        return cls(
33666            id=d.get('id'),
33667            name=d.get('name'),
33668            namespace=d.get('namespace'),
33669            server_address=d.get('server_address'),
33670            tags=d.get('tags'),
33671        )
VaultTokenStore(id=None, name=None, namespace=None, server_address=None, tags=None)
33616    def __init__(
33617        self,
33618        id=None,
33619        name=None,
33620        namespace=None,
33621        server_address=None,
33622        tags=None,
33623    ):
33624        self.id = id if id is not None else ''
33625        '''
33626         Unique identifier of the SecretStore.
33627        '''
33628        self.name = name if name is not None else ''
33629        '''
33630         Unique human-readable name of the SecretStore.
33631        '''
33632        self.namespace = namespace if namespace is not None else ''
33633        '''
33634         The namespace to make requests within
33635        '''
33636        self.server_address = server_address if server_address is not None else ''
33637        '''
33638         The URL of the Vault to target
33639        '''
33640        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33641        '''
33642         Tags is a map of key, value pairs.
33643        '''
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)
33654    def to_dict(self):
33655        return {
33656            'id': self.id,
33657            'name': self.name,
33658            'namespace': self.namespace,
33659            'server_address': self.server_address,
33660            'tags': self.tags,
33661        }
@classmethod
def from_dict(cls, d)
33663    @classmethod
33664    def from_dict(cls, d):
33665        return cls(
33666            id=d.get('id'),
33667            name=d.get('name'),
33668            namespace=d.get('namespace'),
33669            server_address=d.get('server_address'),
33670            tags=d.get('tags'),
33671        )
class Vertica:
33674class Vertica:
33675    __slots__ = [
33676        'bind_interface',
33677        'database',
33678        'egress_filter',
33679        'healthy',
33680        'hostname',
33681        'id',
33682        'name',
33683        'password',
33684        'port',
33685        'port_override',
33686        'proxy_cluster_id',
33687        'secret_store_id',
33688        'subdomain',
33689        'tags',
33690        'username',
33691    ]
33692
33693    def __init__(
33694        self,
33695        bind_interface=None,
33696        database=None,
33697        egress_filter=None,
33698        healthy=None,
33699        hostname=None,
33700        id=None,
33701        name=None,
33702        password=None,
33703        port=None,
33704        port_override=None,
33705        proxy_cluster_id=None,
33706        secret_store_id=None,
33707        subdomain=None,
33708        tags=None,
33709        username=None,
33710    ):
33711        self.bind_interface = bind_interface if bind_interface is not None else ''
33712        '''
33713         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
33714        '''
33715        self.database = database if database is not None else ''
33716        '''
33717         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
33718        '''
33719        self.egress_filter = egress_filter if egress_filter is not None else ''
33720        '''
33721         A filter applied to the routing logic to pin datasource to nodes.
33722        '''
33723        self.healthy = healthy if healthy is not None else False
33724        '''
33725         True if the datasource is reachable and the credentials are valid.
33726        '''
33727        self.hostname = hostname if hostname is not None else ''
33728        '''
33729         The host to dial to initiate a connection from the egress node to this resource.
33730        '''
33731        self.id = id if id is not None else ''
33732        '''
33733         Unique identifier of the Resource.
33734        '''
33735        self.name = name if name is not None else ''
33736        '''
33737         Unique human-readable name of the Resource.
33738        '''
33739        self.password = password if password is not None else ''
33740        '''
33741         The password to authenticate with.
33742        '''
33743        self.port = port if port is not None else 0
33744        '''
33745         The port to dial to initiate a connection from the egress node to this resource.
33746        '''
33747        self.port_override = port_override if port_override is not None else 0
33748        '''
33749         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
33750        '''
33751        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
33752        '''
33753         ID of the proxy cluster for this resource, if any.
33754        '''
33755        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33756        '''
33757         ID of the secret store containing credentials for this resource, if any.
33758        '''
33759        self.subdomain = subdomain if subdomain is not None else ''
33760        '''
33761         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
33762        '''
33763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33764        '''
33765         Tags is a map of key, value pairs.
33766        '''
33767        self.username = username if username is not None else ''
33768        '''
33769         The username to authenticate with.
33770        '''
33771
33772    def __repr__(self):
33773        return '<sdm.Vertica ' + \
33774            'bind_interface: ' + repr(self.bind_interface) + ' ' +\
33775            'database: ' + repr(self.database) + ' ' +\
33776            'egress_filter: ' + repr(self.egress_filter) + ' ' +\
33777            'healthy: ' + repr(self.healthy) + ' ' +\
33778            'hostname: ' + repr(self.hostname) + ' ' +\
33779            'id: ' + repr(self.id) + ' ' +\
33780            'name: ' + repr(self.name) + ' ' +\
33781            'password: ' + repr(self.password) + ' ' +\
33782            'port: ' + repr(self.port) + ' ' +\
33783            'port_override: ' + repr(self.port_override) + ' ' +\
33784            'proxy_cluster_id: ' + repr(self.proxy_cluster_id) + ' ' +\
33785            'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
33786            'subdomain: ' + repr(self.subdomain) + ' ' +\
33787            'tags: ' + repr(self.tags) + ' ' +\
33788            'username: ' + repr(self.username) + ' ' +\
33789            '>'
33790
33791    def to_dict(self):
33792        return {
33793            'bind_interface': self.bind_interface,
33794            'database': self.database,
33795            'egress_filter': self.egress_filter,
33796            'healthy': self.healthy,
33797            'hostname': self.hostname,
33798            'id': self.id,
33799            'name': self.name,
33800            'password': self.password,
33801            'port': self.port,
33802            'port_override': self.port_override,
33803            'proxy_cluster_id': self.proxy_cluster_id,
33804            'secret_store_id': self.secret_store_id,
33805            'subdomain': self.subdomain,
33806            'tags': self.tags,
33807            'username': self.username,
33808        }
33809
33810    @classmethod
33811    def from_dict(cls, d):
33812        return cls(
33813            bind_interface=d.get('bind_interface'),
33814            database=d.get('database'),
33815            egress_filter=d.get('egress_filter'),
33816            healthy=d.get('healthy'),
33817            hostname=d.get('hostname'),
33818            id=d.get('id'),
33819            name=d.get('name'),
33820            password=d.get('password'),
33821            port=d.get('port'),
33822            port_override=d.get('port_override'),
33823            proxy_cluster_id=d.get('proxy_cluster_id'),
33824            secret_store_id=d.get('secret_store_id'),
33825            subdomain=d.get('subdomain'),
33826            tags=d.get('tags'),
33827            username=d.get('username'),
33828        )
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)
33693    def __init__(
33694        self,
33695        bind_interface=None,
33696        database=None,
33697        egress_filter=None,
33698        healthy=None,
33699        hostname=None,
33700        id=None,
33701        name=None,
33702        password=None,
33703        port=None,
33704        port_override=None,
33705        proxy_cluster_id=None,
33706        secret_store_id=None,
33707        subdomain=None,
33708        tags=None,
33709        username=None,
33710    ):
33711        self.bind_interface = bind_interface if bind_interface is not None else ''
33712        '''
33713         The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
33714        '''
33715        self.database = database if database is not None else ''
33716        '''
33717         The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
33718        '''
33719        self.egress_filter = egress_filter if egress_filter is not None else ''
33720        '''
33721         A filter applied to the routing logic to pin datasource to nodes.
33722        '''
33723        self.healthy = healthy if healthy is not None else False
33724        '''
33725         True if the datasource is reachable and the credentials are valid.
33726        '''
33727        self.hostname = hostname if hostname is not None else ''
33728        '''
33729         The host to dial to initiate a connection from the egress node to this resource.
33730        '''
33731        self.id = id if id is not None else ''
33732        '''
33733         Unique identifier of the Resource.
33734        '''
33735        self.name = name if name is not None else ''
33736        '''
33737         Unique human-readable name of the Resource.
33738        '''
33739        self.password = password if password is not None else ''
33740        '''
33741         The password to authenticate with.
33742        '''
33743        self.port = port if port is not None else 0
33744        '''
33745         The port to dial to initiate a connection from the egress node to this resource.
33746        '''
33747        self.port_override = port_override if port_override is not None else 0
33748        '''
33749         The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.
33750        '''
33751        self.proxy_cluster_id = proxy_cluster_id if proxy_cluster_id is not None else ''
33752        '''
33753         ID of the proxy cluster for this resource, if any.
33754        '''
33755        self.secret_store_id = secret_store_id if secret_store_id is not None else ''
33756        '''
33757         ID of the secret store containing credentials for this resource, if any.
33758        '''
33759        self.subdomain = subdomain if subdomain is not None else ''
33760        '''
33761         DNS subdomain through which this resource may be accessed on clients.  (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.
33762        '''
33763        self.tags = tags if tags is not None else _porcelain_zero_value_tags()
33764        '''
33765         Tags is a map of key, value pairs.
33766        '''
33767        self.username = username if username is not None else ''
33768        '''
33769         The username to authenticate with.
33770        '''
bind_interface

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.

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. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.

proxy_cluster_id

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

secret_store_id

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

subdomain

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.

tags

Tags is a map of key, value pairs.

username

The username to authenticate with.

def to_dict(self)
33791    def to_dict(self):
33792        return {
33793            'bind_interface': self.bind_interface,
33794            'database': self.database,
33795            'egress_filter': self.egress_filter,
33796            'healthy': self.healthy,
33797            'hostname': self.hostname,
33798            'id': self.id,
33799            'name': self.name,
33800            'password': self.password,
33801            'port': self.port,
33802            'port_override': self.port_override,
33803            'proxy_cluster_id': self.proxy_cluster_id,
33804            'secret_store_id': self.secret_store_id,
33805            'subdomain': self.subdomain,
33806            'tags': self.tags,
33807            'username': self.username,
33808        }
@classmethod
def from_dict(cls, d)
33810    @classmethod
33811    def from_dict(cls, d):
33812        return cls(
33813            bind_interface=d.get('bind_interface'),
33814            database=d.get('database'),
33815            egress_filter=d.get('egress_filter'),
33816            healthy=d.get('healthy'),
33817            hostname=d.get('hostname'),
33818            id=d.get('id'),
33819            name=d.get('name'),
33820            password=d.get('password'),
33821            port=d.get('port'),
33822            port_override=d.get('port_override'),
33823            proxy_cluster_id=d.get('proxy_cluster_id'),
33824            secret_store_id=d.get('secret_store_id'),
33825            subdomain=d.get('subdomain'),
33826            tags=d.get('tags'),
33827            username=d.get('username'),
33828        )
class Workflow:
33831class Workflow:
33832    '''
33833         Workflows are the collection of rules that define the resources to which access can be requested,
33834     the users that can request that access, and the mechanism for approving those requests which can either
33835     but automatic approval or a set of users authorized to approve the requests.
33836    '''
33837    __slots__ = [
33838        'access_request_fixed_duration',
33839        'access_request_max_duration',
33840        'access_rules',
33841        'approval_flow_id',
33842        'auto_grant',
33843        'description',
33844        'enabled',
33845        'id',
33846        'name',
33847        'weight',
33848    ]
33849
33850    def __init__(
33851        self,
33852        access_request_fixed_duration=None,
33853        access_request_max_duration=None,
33854        access_rules=None,
33855        approval_flow_id=None,
33856        auto_grant=None,
33857        description=None,
33858        enabled=None,
33859        id=None,
33860        name=None,
33861        weight=None,
33862    ):
33863        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
33864        '''
33865         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
33866         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
33867        '''
33868        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
33869        '''
33870         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
33871         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
33872        '''
33873        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
33874        )
33875        '''
33876         AccessRules is a list of access rules defining the resources this Workflow provides access to.
33877        '''
33878        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
33879        '''
33880         Optional approval flow ID identifies an approval flow that linked to the workflow
33881        '''
33882        self.auto_grant = auto_grant if auto_grant is not None else False
33883        '''
33884         Optional auto grant setting to automatically approve requests or not, defaults to false.
33885        '''
33886        self.description = description if description is not None else ''
33887        '''
33888         Optional description of the Workflow.
33889        '''
33890        self.enabled = enabled if enabled is not None else False
33891        '''
33892         Optional enabled state for workflow. This setting may be overridden by the system if
33893         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
33894         enabling the workflow. The requirements to enable a workflow are that the workflow must be
33895         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
33896         the workflow.
33897        '''
33898        self.id = id if id is not None else ''
33899        '''
33900         Unique identifier of the Workflow.
33901        '''
33902        self.name = name if name is not None else ''
33903        '''
33904         Unique human-readable name of the Workflow.
33905        '''
33906        self.weight = weight if weight is not None else 0
33907        '''
33908         Optional weight for workflow to specify it's priority in matching a request.
33909        '''
33910
33911    def __repr__(self):
33912        return '<sdm.Workflow ' + \
33913            'access_request_fixed_duration: ' + repr(self.access_request_fixed_duration) + ' ' +\
33914            'access_request_max_duration: ' + repr(self.access_request_max_duration) + ' ' +\
33915            'access_rules: ' + repr(self.access_rules) + ' ' +\
33916            'approval_flow_id: ' + repr(self.approval_flow_id) + ' ' +\
33917            'auto_grant: ' + repr(self.auto_grant) + ' ' +\
33918            'description: ' + repr(self.description) + ' ' +\
33919            'enabled: ' + repr(self.enabled) + ' ' +\
33920            'id: ' + repr(self.id) + ' ' +\
33921            'name: ' + repr(self.name) + ' ' +\
33922            'weight: ' + repr(self.weight) + ' ' +\
33923            '>'
33924
33925    def to_dict(self):
33926        return {
33927            'access_request_fixed_duration':
33928            self.access_request_fixed_duration,
33929            'access_request_max_duration': self.access_request_max_duration,
33930            'access_rules': self.access_rules,
33931            'approval_flow_id': self.approval_flow_id,
33932            'auto_grant': self.auto_grant,
33933            'description': self.description,
33934            'enabled': self.enabled,
33935            'id': self.id,
33936            'name': self.name,
33937            'weight': self.weight,
33938        }
33939
33940    @classmethod
33941    def from_dict(cls, d):
33942        return cls(
33943            access_request_fixed_duration=d.get(
33944                'access_request_fixed_duration'),
33945            access_request_max_duration=d.get('access_request_max_duration'),
33946            access_rules=d.get('access_rules'),
33947            approval_flow_id=d.get('approval_flow_id'),
33948            auto_grant=d.get('auto_grant'),
33949            description=d.get('description'),
33950            enabled=d.get('enabled'),
33951            id=d.get('id'),
33952            name=d.get('name'),
33953            weight=d.get('weight'),
33954        )

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)
33850    def __init__(
33851        self,
33852        access_request_fixed_duration=None,
33853        access_request_max_duration=None,
33854        access_rules=None,
33855        approval_flow_id=None,
33856        auto_grant=None,
33857        description=None,
33858        enabled=None,
33859        id=None,
33860        name=None,
33861        weight=None,
33862    ):
33863        self.access_request_fixed_duration = access_request_fixed_duration if access_request_fixed_duration is not None else None
33864        '''
33865         Fixed Duration of access requests bound to this workflow. If fixed duration is provided, max duration must be empty.
33866         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
33867        '''
33868        self.access_request_max_duration = access_request_max_duration if access_request_max_duration is not None else None
33869        '''
33870         Maximum Duration of access requests bound to this workflow. If max duration is provided, fixed duration must be empty.
33871         If neither max nor fixed duration are provided, requests that bind to this workflow will use the organization-level settings.
33872        '''
33873        self.access_rules = access_rules if access_rules is not None else _porcelain_zero_value_access_rules(
33874        )
33875        '''
33876         AccessRules is a list of access rules defining the resources this Workflow provides access to.
33877        '''
33878        self.approval_flow_id = approval_flow_id if approval_flow_id is not None else ''
33879        '''
33880         Optional approval flow ID identifies an approval flow that linked to the workflow
33881        '''
33882        self.auto_grant = auto_grant if auto_grant is not None else False
33883        '''
33884         Optional auto grant setting to automatically approve requests or not, defaults to false.
33885        '''
33886        self.description = description if description is not None else ''
33887        '''
33888         Optional description of the Workflow.
33889        '''
33890        self.enabled = enabled if enabled is not None else False
33891        '''
33892         Optional enabled state for workflow. This setting may be overridden by the system if
33893         the workflow doesn't meet the requirements to be enabled or if other conditions prevent
33894         enabling the workflow. The requirements to enable a workflow are that the workflow must be
33895         either set up for with auto grant enabled or have one or more WorkflowApprovers created for
33896         the workflow.
33897        '''
33898        self.id = id if id is not None else ''
33899        '''
33900         Unique identifier of the Workflow.
33901        '''
33902        self.name = name if name is not None else ''
33903        '''
33904         Unique human-readable name of the Workflow.
33905        '''
33906        self.weight = weight if weight is not None else 0
33907        '''
33908         Optional weight for workflow to specify it's priority in matching a request.
33909        '''
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)
33925    def to_dict(self):
33926        return {
33927            'access_request_fixed_duration':
33928            self.access_request_fixed_duration,
33929            'access_request_max_duration': self.access_request_max_duration,
33930            'access_rules': self.access_rules,
33931            'approval_flow_id': self.approval_flow_id,
33932            'auto_grant': self.auto_grant,
33933            'description': self.description,
33934            'enabled': self.enabled,
33935            'id': self.id,
33936            'name': self.name,
33937            'weight': self.weight,
33938        }
@classmethod
def from_dict(cls, d)
33940    @classmethod
33941    def from_dict(cls, d):
33942        return cls(
33943            access_request_fixed_duration=d.get(
33944                'access_request_fixed_duration'),
33945            access_request_max_duration=d.get('access_request_max_duration'),
33946            access_rules=d.get('access_rules'),
33947            approval_flow_id=d.get('approval_flow_id'),
33948            auto_grant=d.get('auto_grant'),
33949            description=d.get('description'),
33950            enabled=d.get('enabled'),
33951            id=d.get('id'),
33952            name=d.get('name'),
33953            weight=d.get('weight'),
33954        )
class WorkflowApprover:
33957class WorkflowApprover:
33958    '''
33959         WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
33960    WorkflowApprover is deprecated, see docs for more info.
33961    '''
33962    __slots__ = [
33963        'account_id',
33964        'id',
33965        'role_id',
33966        'workflow_id',
33967    ]
33968
33969    def __init__(
33970        self,
33971        account_id=None,
33972        id=None,
33973        role_id=None,
33974        workflow_id=None,
33975    ):
33976        self.account_id = account_id if account_id is not None else ''
33977        '''
33978         The approver account id.
33979        '''
33980        self.id = id if id is not None else ''
33981        '''
33982         Unique identifier of the WorkflowApprover.
33983        '''
33984        self.role_id = role_id if role_id is not None else ''
33985        '''
33986         The approver role id
33987        '''
33988        self.workflow_id = workflow_id if workflow_id is not None else ''
33989        '''
33990         The workflow id.
33991        '''
33992
33993    def __repr__(self):
33994        return '<sdm.WorkflowApprover ' + \
33995            'account_id: ' + repr(self.account_id) + ' ' +\
33996            'id: ' + repr(self.id) + ' ' +\
33997            'role_id: ' + repr(self.role_id) + ' ' +\
33998            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
33999            '>'
34000
34001    def to_dict(self):
34002        return {
34003            'account_id': self.account_id,
34004            'id': self.id,
34005            'role_id': self.role_id,
34006            'workflow_id': self.workflow_id,
34007        }
34008
34009    @classmethod
34010    def from_dict(cls, d):
34011        return cls(
34012            account_id=d.get('account_id'),
34013            id=d.get('id'),
34014            role_id=d.get('role_id'),
34015            workflow_id=d.get('workflow_id'),
34016        )

WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow. WorkflowApprover is deprecated, see docs for more info.

WorkflowApprover(account_id=None, id=None, role_id=None, workflow_id=None)
33969    def __init__(
33970        self,
33971        account_id=None,
33972        id=None,
33973        role_id=None,
33974        workflow_id=None,
33975    ):
33976        self.account_id = account_id if account_id is not None else ''
33977        '''
33978         The approver account id.
33979        '''
33980        self.id = id if id is not None else ''
33981        '''
33982         Unique identifier of the WorkflowApprover.
33983        '''
33984        self.role_id = role_id if role_id is not None else ''
33985        '''
33986         The approver role id
33987        '''
33988        self.workflow_id = workflow_id if workflow_id is not None else ''
33989        '''
33990         The workflow id.
33991        '''
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)
34001    def to_dict(self):
34002        return {
34003            'account_id': self.account_id,
34004            'id': self.id,
34005            'role_id': self.role_id,
34006            'workflow_id': self.workflow_id,
34007        }
@classmethod
def from_dict(cls, d)
34009    @classmethod
34010    def from_dict(cls, d):
34011        return cls(
34012            account_id=d.get('account_id'),
34013            id=d.get('id'),
34014            role_id=d.get('role_id'),
34015            workflow_id=d.get('workflow_id'),
34016        )
class WorkflowApproverGetResponse:
34019class WorkflowApproverGetResponse:
34020    '''
34021         WorkflowApproverGetResponse returns a requested WorkflowApprover.
34022    '''
34023    __slots__ = [
34024        'meta',
34025        'rate_limit',
34026        'workflow_approver',
34027    ]
34028
34029    def __init__(
34030        self,
34031        meta=None,
34032        rate_limit=None,
34033        workflow_approver=None,
34034    ):
34035        self.meta = meta if meta is not None else None
34036        '''
34037         Reserved for future use.
34038        '''
34039        self.rate_limit = rate_limit if rate_limit is not None else None
34040        '''
34041         Rate limit information.
34042        '''
34043        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34044        '''
34045         The requested WorkflowApprover.
34046        '''
34047
34048    def __repr__(self):
34049        return '<sdm.WorkflowApproverGetResponse ' + \
34050            'meta: ' + repr(self.meta) + ' ' +\
34051            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34052            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34053            '>'
34054
34055    def to_dict(self):
34056        return {
34057            'meta': self.meta,
34058            'rate_limit': self.rate_limit,
34059            'workflow_approver': self.workflow_approver,
34060        }
34061
34062    @classmethod
34063    def from_dict(cls, d):
34064        return cls(
34065            meta=d.get('meta'),
34066            rate_limit=d.get('rate_limit'),
34067            workflow_approver=d.get('workflow_approver'),
34068        )

WorkflowApproverGetResponse returns a requested WorkflowApprover.

WorkflowApproverGetResponse(meta=None, rate_limit=None, workflow_approver=None)
34029    def __init__(
34030        self,
34031        meta=None,
34032        rate_limit=None,
34033        workflow_approver=None,
34034    ):
34035        self.meta = meta if meta is not None else None
34036        '''
34037         Reserved for future use.
34038        '''
34039        self.rate_limit = rate_limit if rate_limit is not None else None
34040        '''
34041         Rate limit information.
34042        '''
34043        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34044        '''
34045         The requested WorkflowApprover.
34046        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_approver

The requested WorkflowApprover.

def to_dict(self)
34055    def to_dict(self):
34056        return {
34057            'meta': self.meta,
34058            'rate_limit': self.rate_limit,
34059            'workflow_approver': self.workflow_approver,
34060        }
@classmethod
def from_dict(cls, d)
34062    @classmethod
34063    def from_dict(cls, d):
34064        return cls(
34065            meta=d.get('meta'),
34066            rate_limit=d.get('rate_limit'),
34067            workflow_approver=d.get('workflow_approver'),
34068        )
class WorkflowApproverHistory:
34071class WorkflowApproverHistory:
34072    '''
34073         WorkflowApproverHistory provides records of all changes to the state of a WorkflowApprover.
34074    '''
34075    __slots__ = [
34076        'activity_id',
34077        'deleted_at',
34078        'timestamp',
34079        'workflow_approver',
34080    ]
34081
34082    def __init__(
34083        self,
34084        activity_id=None,
34085        deleted_at=None,
34086        timestamp=None,
34087        workflow_approver=None,
34088    ):
34089        self.activity_id = activity_id if activity_id is not None else ''
34090        '''
34091         The unique identifier of the Activity that produced this change to the WorkflowApprover.
34092         May be empty for some system-initiated updates.
34093        '''
34094        self.deleted_at = deleted_at if deleted_at is not None else None
34095        '''
34096         If this WorkflowApprover was deleted, the time it was deleted.
34097        '''
34098        self.timestamp = timestamp if timestamp is not None else None
34099        '''
34100         The time at which the WorkflowApprover state was recorded.
34101        '''
34102        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34103        '''
34104         The complete WorkflowApprover state at this time.
34105        '''
34106
34107    def __repr__(self):
34108        return '<sdm.WorkflowApproverHistory ' + \
34109            'activity_id: ' + repr(self.activity_id) + ' ' +\
34110            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34111            'timestamp: ' + repr(self.timestamp) + ' ' +\
34112            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34113            '>'
34114
34115    def to_dict(self):
34116        return {
34117            'activity_id': self.activity_id,
34118            'deleted_at': self.deleted_at,
34119            'timestamp': self.timestamp,
34120            'workflow_approver': self.workflow_approver,
34121        }
34122
34123    @classmethod
34124    def from_dict(cls, d):
34125        return cls(
34126            activity_id=d.get('activity_id'),
34127            deleted_at=d.get('deleted_at'),
34128            timestamp=d.get('timestamp'),
34129            workflow_approver=d.get('workflow_approver'),
34130        )

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

WorkflowApproverHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_approver=None)
34082    def __init__(
34083        self,
34084        activity_id=None,
34085        deleted_at=None,
34086        timestamp=None,
34087        workflow_approver=None,
34088    ):
34089        self.activity_id = activity_id if activity_id is not None else ''
34090        '''
34091         The unique identifier of the Activity that produced this change to the WorkflowApprover.
34092         May be empty for some system-initiated updates.
34093        '''
34094        self.deleted_at = deleted_at if deleted_at is not None else None
34095        '''
34096         If this WorkflowApprover was deleted, the time it was deleted.
34097        '''
34098        self.timestamp = timestamp if timestamp is not None else None
34099        '''
34100         The time at which the WorkflowApprover state was recorded.
34101        '''
34102        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34103        '''
34104         The complete WorkflowApprover state at this time.
34105        '''
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)
34115    def to_dict(self):
34116        return {
34117            'activity_id': self.activity_id,
34118            'deleted_at': self.deleted_at,
34119            'timestamp': self.timestamp,
34120            'workflow_approver': self.workflow_approver,
34121        }
@classmethod
def from_dict(cls, d)
34123    @classmethod
34124    def from_dict(cls, d):
34125        return cls(
34126            activity_id=d.get('activity_id'),
34127            deleted_at=d.get('deleted_at'),
34128            timestamp=d.get('timestamp'),
34129            workflow_approver=d.get('workflow_approver'),
34130        )
class WorkflowApproversCreateRequest:
34133class WorkflowApproversCreateRequest:
34134    '''
34135         WorkflowApproversCreateRequest specifies the workflowID and approverID of a new
34136     workflow approver to be created.
34137    '''
34138    __slots__ = [
34139        'workflow_approver',
34140    ]
34141
34142    def __init__(
34143        self,
34144        workflow_approver=None,
34145    ):
34146        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34147        '''
34148         Parameters to define the new WorkflowApprover.
34149        '''
34150
34151    def __repr__(self):
34152        return '<sdm.WorkflowApproversCreateRequest ' + \
34153            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34154            '>'
34155
34156    def to_dict(self):
34157        return {
34158            'workflow_approver': self.workflow_approver,
34159        }
34160
34161    @classmethod
34162    def from_dict(cls, d):
34163        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)
34142    def __init__(
34143        self,
34144        workflow_approver=None,
34145    ):
34146        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34147        '''
34148         Parameters to define the new WorkflowApprover.
34149        '''
workflow_approver

Parameters to define the new WorkflowApprover.

def to_dict(self)
34156    def to_dict(self):
34157        return {
34158            'workflow_approver': self.workflow_approver,
34159        }
@classmethod
def from_dict(cls, d)
34161    @classmethod
34162    def from_dict(cls, d):
34163        return cls(workflow_approver=d.get('workflow_approver'), )
class WorkflowApproversCreateResponse:
34166class WorkflowApproversCreateResponse:
34167    '''
34168         WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.
34169    '''
34170    __slots__ = [
34171        'rate_limit',
34172        'workflow_approver',
34173    ]
34174
34175    def __init__(
34176        self,
34177        rate_limit=None,
34178        workflow_approver=None,
34179    ):
34180        self.rate_limit = rate_limit if rate_limit is not None else None
34181        '''
34182         Rate limit information.
34183        '''
34184        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34185        '''
34186         The created workflow approver.
34187        '''
34188
34189    def __repr__(self):
34190        return '<sdm.WorkflowApproversCreateResponse ' + \
34191            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34192            'workflow_approver: ' + repr(self.workflow_approver) + ' ' +\
34193            '>'
34194
34195    def to_dict(self):
34196        return {
34197            'rate_limit': self.rate_limit,
34198            'workflow_approver': self.workflow_approver,
34199        }
34200
34201    @classmethod
34202    def from_dict(cls, d):
34203        return cls(
34204            rate_limit=d.get('rate_limit'),
34205            workflow_approver=d.get('workflow_approver'),
34206        )

WorkflowApproversCreateResponse reports how the WorkflowApprover was created in the system.

WorkflowApproversCreateResponse(rate_limit=None, workflow_approver=None)
34175    def __init__(
34176        self,
34177        rate_limit=None,
34178        workflow_approver=None,
34179    ):
34180        self.rate_limit = rate_limit if rate_limit is not None else None
34181        '''
34182         Rate limit information.
34183        '''
34184        self.workflow_approver = workflow_approver if workflow_approver is not None else None
34185        '''
34186         The created workflow approver.
34187        '''
rate_limit

Rate limit information.

workflow_approver

The created workflow approver.

def to_dict(self)
34195    def to_dict(self):
34196        return {
34197            'rate_limit': self.rate_limit,
34198            'workflow_approver': self.workflow_approver,
34199        }
@classmethod
def from_dict(cls, d)
34201    @classmethod
34202    def from_dict(cls, d):
34203        return cls(
34204            rate_limit=d.get('rate_limit'),
34205            workflow_approver=d.get('workflow_approver'),
34206        )
class WorkflowApproversDeleteRequest:
34209class WorkflowApproversDeleteRequest:
34210    '''
34211         WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.
34212    '''
34213    __slots__ = [
34214        'id',
34215    ]
34216
34217    def __init__(
34218        self,
34219        id=None,
34220    ):
34221        self.id = id if id is not None else ''
34222        '''
34223         The unique identifier of the WorkflowApprover to delete.
34224        '''
34225
34226    def __repr__(self):
34227        return '<sdm.WorkflowApproversDeleteRequest ' + \
34228            'id: ' + repr(self.id) + ' ' +\
34229            '>'
34230
34231    def to_dict(self):
34232        return {
34233            'id': self.id,
34234        }
34235
34236    @classmethod
34237    def from_dict(cls, d):
34238        return cls(id=d.get('id'), )

WorkflowApproversDeleteRequest specifies the ID of a WorkflowApprover to be deleted.

WorkflowApproversDeleteRequest(id=None)
34217    def __init__(
34218        self,
34219        id=None,
34220    ):
34221        self.id = id if id is not None else ''
34222        '''
34223         The unique identifier of the WorkflowApprover to delete.
34224        '''
id

The unique identifier of the WorkflowApprover to delete.

def to_dict(self)
34231    def to_dict(self):
34232        return {
34233            'id': self.id,
34234        }
@classmethod
def from_dict(cls, d)
34236    @classmethod
34237    def from_dict(cls, d):
34238        return cls(id=d.get('id'), )
class WorkflowApproversDeleteResponse:
34241class WorkflowApproversDeleteResponse:
34242    '''
34243         WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.
34244    '''
34245    __slots__ = [
34246        'rate_limit',
34247    ]
34248
34249    def __init__(
34250        self,
34251        rate_limit=None,
34252    ):
34253        self.rate_limit = rate_limit if rate_limit is not None else None
34254        '''
34255         Rate limit information.
34256        '''
34257
34258    def __repr__(self):
34259        return '<sdm.WorkflowApproversDeleteResponse ' + \
34260            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34261            '>'
34262
34263    def to_dict(self):
34264        return {
34265            'rate_limit': self.rate_limit,
34266        }
34267
34268    @classmethod
34269    def from_dict(cls, d):
34270        return cls(rate_limit=d.get('rate_limit'), )

WorkflowApproversDeleteResponse reports how the WorkflowApprover was deleted in the system.

WorkflowApproversDeleteResponse(rate_limit=None)
34249    def __init__(
34250        self,
34251        rate_limit=None,
34252    ):
34253        self.rate_limit = rate_limit if rate_limit is not None else None
34254        '''
34255         Rate limit information.
34256        '''
rate_limit

Rate limit information.

def to_dict(self)
34263    def to_dict(self):
34264        return {
34265            'rate_limit': self.rate_limit,
34266        }
@classmethod
def from_dict(cls, d)
34268    @classmethod
34269    def from_dict(cls, d):
34270        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowApproversListRequest:
34273class WorkflowApproversListRequest:
34274    '''
34275         WorkflowApproversListRequest specifies criteria for retrieving a list of
34276     WorkflowApprover records
34277    '''
34278    __slots__ = [
34279        'filter',
34280    ]
34281
34282    def __init__(
34283        self,
34284        filter=None,
34285    ):
34286        self.filter = filter if filter is not None else ''
34287        '''
34288         A human-readable filter query string.
34289        '''
34290
34291    def __repr__(self):
34292        return '<sdm.WorkflowApproversListRequest ' + \
34293            'filter: ' + repr(self.filter) + ' ' +\
34294            '>'
34295
34296    def to_dict(self):
34297        return {
34298            'filter': self.filter,
34299        }
34300
34301    @classmethod
34302    def from_dict(cls, d):
34303        return cls(filter=d.get('filter'), )

WorkflowApproversListRequest specifies criteria for retrieving a list of WorkflowApprover records

WorkflowApproversListRequest(filter=None)
34282    def __init__(
34283        self,
34284        filter=None,
34285    ):
34286        self.filter = filter if filter is not None else ''
34287        '''
34288         A human-readable filter query string.
34289        '''
filter

A human-readable filter query string.

def to_dict(self)
34296    def to_dict(self):
34297        return {
34298            'filter': self.filter,
34299        }
@classmethod
def from_dict(cls, d)
34301    @classmethod
34302    def from_dict(cls, d):
34303        return cls(filter=d.get('filter'), )
class WorkflowApproversListResponse:
34306class WorkflowApproversListResponse:
34307    '''
34308         WorkflowApproversListResponse returns a list of WorkflowApprover records that meet
34309     the criteria of a WorkflowApproversListRequest.
34310    '''
34311    __slots__ = [
34312        'rate_limit',
34313    ]
34314
34315    def __init__(
34316        self,
34317        rate_limit=None,
34318    ):
34319        self.rate_limit = rate_limit if rate_limit is not None else None
34320        '''
34321         Rate limit information.
34322        '''
34323
34324    def __repr__(self):
34325        return '<sdm.WorkflowApproversListResponse ' + \
34326            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34327            '>'
34328
34329    def to_dict(self):
34330        return {
34331            'rate_limit': self.rate_limit,
34332        }
34333
34334    @classmethod
34335    def from_dict(cls, d):
34336        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)
34315    def __init__(
34316        self,
34317        rate_limit=None,
34318    ):
34319        self.rate_limit = rate_limit if rate_limit is not None else None
34320        '''
34321         Rate limit information.
34322        '''
rate_limit

Rate limit information.

def to_dict(self)
34329    def to_dict(self):
34330        return {
34331            'rate_limit': self.rate_limit,
34332        }
@classmethod
def from_dict(cls, d)
34334    @classmethod
34335    def from_dict(cls, d):
34336        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowCreateResponse:
34339class WorkflowCreateResponse:
34340    '''
34341         WorkflowCreateResponse reports how the Workflow was created in the system.
34342    '''
34343    __slots__ = [
34344        'rate_limit',
34345        'workflow',
34346    ]
34347
34348    def __init__(
34349        self,
34350        rate_limit=None,
34351        workflow=None,
34352    ):
34353        self.rate_limit = rate_limit if rate_limit is not None else None
34354        '''
34355         Rate limit information.
34356        '''
34357        self.workflow = workflow if workflow is not None else None
34358        '''
34359         The created workflow.
34360        '''
34361
34362    def __repr__(self):
34363        return '<sdm.WorkflowCreateResponse ' + \
34364            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34365            'workflow: ' + repr(self.workflow) + ' ' +\
34366            '>'
34367
34368    def to_dict(self):
34369        return {
34370            'rate_limit': self.rate_limit,
34371            'workflow': self.workflow,
34372        }
34373
34374    @classmethod
34375    def from_dict(cls, d):
34376        return cls(
34377            rate_limit=d.get('rate_limit'),
34378            workflow=d.get('workflow'),
34379        )

WorkflowCreateResponse reports how the Workflow was created in the system.

WorkflowCreateResponse(rate_limit=None, workflow=None)
34348    def __init__(
34349        self,
34350        rate_limit=None,
34351        workflow=None,
34352    ):
34353        self.rate_limit = rate_limit if rate_limit is not None else None
34354        '''
34355         Rate limit information.
34356        '''
34357        self.workflow = workflow if workflow is not None else None
34358        '''
34359         The created workflow.
34360        '''
rate_limit

Rate limit information.

workflow

The created workflow.

def to_dict(self)
34368    def to_dict(self):
34369        return {
34370            'rate_limit': self.rate_limit,
34371            'workflow': self.workflow,
34372        }
@classmethod
def from_dict(cls, d)
34374    @classmethod
34375    def from_dict(cls, d):
34376        return cls(
34377            rate_limit=d.get('rate_limit'),
34378            workflow=d.get('workflow'),
34379        )
class WorkflowDeleteResponse:
34382class WorkflowDeleteResponse:
34383    '''
34384         WorkflowDeleteResponse returns information about a Workflow that was deleted.
34385    '''
34386    __slots__ = [
34387        'id',
34388        'rate_limit',
34389    ]
34390
34391    def __init__(
34392        self,
34393        id=None,
34394        rate_limit=None,
34395    ):
34396        self.id = id if id is not None else ''
34397        '''
34398         The deleted workflow id.
34399        '''
34400        self.rate_limit = rate_limit if rate_limit is not None else None
34401        '''
34402         Rate limit information.
34403        '''
34404
34405    def __repr__(self):
34406        return '<sdm.WorkflowDeleteResponse ' + \
34407            'id: ' + repr(self.id) + ' ' +\
34408            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34409            '>'
34410
34411    def to_dict(self):
34412        return {
34413            'id': self.id,
34414            'rate_limit': self.rate_limit,
34415        }
34416
34417    @classmethod
34418    def from_dict(cls, d):
34419        return cls(
34420            id=d.get('id'),
34421            rate_limit=d.get('rate_limit'),
34422        )

WorkflowDeleteResponse returns information about a Workflow that was deleted.

WorkflowDeleteResponse(id=None, rate_limit=None)
34391    def __init__(
34392        self,
34393        id=None,
34394        rate_limit=None,
34395    ):
34396        self.id = id if id is not None else ''
34397        '''
34398         The deleted workflow id.
34399        '''
34400        self.rate_limit = rate_limit if rate_limit is not None else None
34401        '''
34402         Rate limit information.
34403        '''
id

The deleted workflow id.

rate_limit

Rate limit information.

def to_dict(self)
34411    def to_dict(self):
34412        return {
34413            'id': self.id,
34414            'rate_limit': self.rate_limit,
34415        }
@classmethod
def from_dict(cls, d)
34417    @classmethod
34418    def from_dict(cls, d):
34419        return cls(
34420            id=d.get('id'),
34421            rate_limit=d.get('rate_limit'),
34422        )
class WorkflowGetResponse:
34425class WorkflowGetResponse:
34426    '''
34427         WorkflowGetResponse returns a requested Workflow.
34428    '''
34429    __slots__ = [
34430        'meta',
34431        'rate_limit',
34432        'workflow',
34433    ]
34434
34435    def __init__(
34436        self,
34437        meta=None,
34438        rate_limit=None,
34439        workflow=None,
34440    ):
34441        self.meta = meta if meta is not None else None
34442        '''
34443         Reserved for future use.
34444        '''
34445        self.rate_limit = rate_limit if rate_limit is not None else None
34446        '''
34447         Rate limit information.
34448        '''
34449        self.workflow = workflow if workflow is not None else None
34450        '''
34451         The requested Workflow.
34452        '''
34453
34454    def __repr__(self):
34455        return '<sdm.WorkflowGetResponse ' + \
34456            'meta: ' + repr(self.meta) + ' ' +\
34457            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34458            'workflow: ' + repr(self.workflow) + ' ' +\
34459            '>'
34460
34461    def to_dict(self):
34462        return {
34463            'meta': self.meta,
34464            'rate_limit': self.rate_limit,
34465            'workflow': self.workflow,
34466        }
34467
34468    @classmethod
34469    def from_dict(cls, d):
34470        return cls(
34471            meta=d.get('meta'),
34472            rate_limit=d.get('rate_limit'),
34473            workflow=d.get('workflow'),
34474        )

WorkflowGetResponse returns a requested Workflow.

WorkflowGetResponse(meta=None, rate_limit=None, workflow=None)
34435    def __init__(
34436        self,
34437        meta=None,
34438        rate_limit=None,
34439        workflow=None,
34440    ):
34441        self.meta = meta if meta is not None else None
34442        '''
34443         Reserved for future use.
34444        '''
34445        self.rate_limit = rate_limit if rate_limit is not None else None
34446        '''
34447         Rate limit information.
34448        '''
34449        self.workflow = workflow if workflow is not None else None
34450        '''
34451         The requested Workflow.
34452        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow

The requested Workflow.

def to_dict(self)
34461    def to_dict(self):
34462        return {
34463            'meta': self.meta,
34464            'rate_limit': self.rate_limit,
34465            'workflow': self.workflow,
34466        }
@classmethod
def from_dict(cls, d)
34468    @classmethod
34469    def from_dict(cls, d):
34470        return cls(
34471            meta=d.get('meta'),
34472            rate_limit=d.get('rate_limit'),
34473            workflow=d.get('workflow'),
34474        )
class WorkflowHistory:
34477class WorkflowHistory:
34478    '''
34479         WorkflowsHistory provides records of all changes to the state of a Workflow.
34480    '''
34481    __slots__ = [
34482        'activity_id',
34483        'deleted_at',
34484        'timestamp',
34485        'workflow',
34486    ]
34487
34488    def __init__(
34489        self,
34490        activity_id=None,
34491        deleted_at=None,
34492        timestamp=None,
34493        workflow=None,
34494    ):
34495        self.activity_id = activity_id if activity_id is not None else ''
34496        '''
34497         The unique identifier of the Activity that produced this change to the Workflow.
34498         May be empty for some system-initiated updates.
34499        '''
34500        self.deleted_at = deleted_at if deleted_at is not None else None
34501        '''
34502         If this Workflow was deleted, the time it was deleted.
34503        '''
34504        self.timestamp = timestamp if timestamp is not None else None
34505        '''
34506         The time at which the Workflow state was recorded.
34507        '''
34508        self.workflow = workflow if workflow is not None else None
34509        '''
34510         The complete Workflow state at this time.
34511        '''
34512
34513    def __repr__(self):
34514        return '<sdm.WorkflowHistory ' + \
34515            'activity_id: ' + repr(self.activity_id) + ' ' +\
34516            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34517            'timestamp: ' + repr(self.timestamp) + ' ' +\
34518            'workflow: ' + repr(self.workflow) + ' ' +\
34519            '>'
34520
34521    def to_dict(self):
34522        return {
34523            'activity_id': self.activity_id,
34524            'deleted_at': self.deleted_at,
34525            'timestamp': self.timestamp,
34526            'workflow': self.workflow,
34527        }
34528
34529    @classmethod
34530    def from_dict(cls, d):
34531        return cls(
34532            activity_id=d.get('activity_id'),
34533            deleted_at=d.get('deleted_at'),
34534            timestamp=d.get('timestamp'),
34535            workflow=d.get('workflow'),
34536        )

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

WorkflowHistory(activity_id=None, deleted_at=None, timestamp=None, workflow=None)
34488    def __init__(
34489        self,
34490        activity_id=None,
34491        deleted_at=None,
34492        timestamp=None,
34493        workflow=None,
34494    ):
34495        self.activity_id = activity_id if activity_id is not None else ''
34496        '''
34497         The unique identifier of the Activity that produced this change to the Workflow.
34498         May be empty for some system-initiated updates.
34499        '''
34500        self.deleted_at = deleted_at if deleted_at is not None else None
34501        '''
34502         If this Workflow was deleted, the time it was deleted.
34503        '''
34504        self.timestamp = timestamp if timestamp is not None else None
34505        '''
34506         The time at which the Workflow state was recorded.
34507        '''
34508        self.workflow = workflow if workflow is not None else None
34509        '''
34510         The complete Workflow state at this time.
34511        '''
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)
34521    def to_dict(self):
34522        return {
34523            'activity_id': self.activity_id,
34524            'deleted_at': self.deleted_at,
34525            'timestamp': self.timestamp,
34526            'workflow': self.workflow,
34527        }
@classmethod
def from_dict(cls, d)
34529    @classmethod
34530    def from_dict(cls, d):
34531        return cls(
34532            activity_id=d.get('activity_id'),
34533            deleted_at=d.get('deleted_at'),
34534            timestamp=d.get('timestamp'),
34535            workflow=d.get('workflow'),
34536        )
class WorkflowListResponse:
34539class WorkflowListResponse:
34540    '''
34541         WorkflowListResponse returns a list of Workflow records that meet
34542     the criteria of a WorkflowListRequest.
34543    '''
34544    __slots__ = [
34545        'rate_limit',
34546    ]
34547
34548    def __init__(
34549        self,
34550        rate_limit=None,
34551    ):
34552        self.rate_limit = rate_limit if rate_limit is not None else None
34553        '''
34554         Rate limit information.
34555        '''
34556
34557    def __repr__(self):
34558        return '<sdm.WorkflowListResponse ' + \
34559            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34560            '>'
34561
34562    def to_dict(self):
34563        return {
34564            'rate_limit': self.rate_limit,
34565        }
34566
34567    @classmethod
34568    def from_dict(cls, d):
34569        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)
34548    def __init__(
34549        self,
34550        rate_limit=None,
34551    ):
34552        self.rate_limit = rate_limit if rate_limit is not None else None
34553        '''
34554         Rate limit information.
34555        '''
rate_limit

Rate limit information.

def to_dict(self)
34562    def to_dict(self):
34563        return {
34564            'rate_limit': self.rate_limit,
34565        }
@classmethod
def from_dict(cls, d)
34567    @classmethod
34568    def from_dict(cls, d):
34569        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRole:
34572class WorkflowRole:
34573    '''
34574         WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of
34575     to request access to a resource via the workflow.
34576    '''
34577    __slots__ = [
34578        'id',
34579        'role_id',
34580        'workflow_id',
34581    ]
34582
34583    def __init__(
34584        self,
34585        id=None,
34586        role_id=None,
34587        workflow_id=None,
34588    ):
34589        self.id = id if id is not None else ''
34590        '''
34591         Unique identifier of the WorkflowRole.
34592        '''
34593        self.role_id = role_id if role_id is not None else ''
34594        '''
34595         The role id.
34596        '''
34597        self.workflow_id = workflow_id if workflow_id is not None else ''
34598        '''
34599         The workflow id.
34600        '''
34601
34602    def __repr__(self):
34603        return '<sdm.WorkflowRole ' + \
34604            'id: ' + repr(self.id) + ' ' +\
34605            'role_id: ' + repr(self.role_id) + ' ' +\
34606            'workflow_id: ' + repr(self.workflow_id) + ' ' +\
34607            '>'
34608
34609    def to_dict(self):
34610        return {
34611            'id': self.id,
34612            'role_id': self.role_id,
34613            'workflow_id': self.workflow_id,
34614        }
34615
34616    @classmethod
34617    def from_dict(cls, d):
34618        return cls(
34619            id=d.get('id'),
34620            role_id=d.get('role_id'),
34621            workflow_id=d.get('workflow_id'),
34622        )

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)
34583    def __init__(
34584        self,
34585        id=None,
34586        role_id=None,
34587        workflow_id=None,
34588    ):
34589        self.id = id if id is not None else ''
34590        '''
34591         Unique identifier of the WorkflowRole.
34592        '''
34593        self.role_id = role_id if role_id is not None else ''
34594        '''
34595         The role id.
34596        '''
34597        self.workflow_id = workflow_id if workflow_id is not None else ''
34598        '''
34599         The workflow id.
34600        '''
id

Unique identifier of the WorkflowRole.

role_id

The role id.

workflow_id

The workflow id.

def to_dict(self)
34609    def to_dict(self):
34610        return {
34611            'id': self.id,
34612            'role_id': self.role_id,
34613            'workflow_id': self.workflow_id,
34614        }
@classmethod
def from_dict(cls, d)
34616    @classmethod
34617    def from_dict(cls, d):
34618        return cls(
34619            id=d.get('id'),
34620            role_id=d.get('role_id'),
34621            workflow_id=d.get('workflow_id'),
34622        )
class WorkflowRoleGetResponse:
34625class WorkflowRoleGetResponse:
34626    '''
34627         WorkflowRoleGetResponse returns a requested WorkflowRole.
34628    '''
34629    __slots__ = [
34630        'meta',
34631        'rate_limit',
34632        'workflow_role',
34633    ]
34634
34635    def __init__(
34636        self,
34637        meta=None,
34638        rate_limit=None,
34639        workflow_role=None,
34640    ):
34641        self.meta = meta if meta is not None else None
34642        '''
34643         Reserved for future use.
34644        '''
34645        self.rate_limit = rate_limit if rate_limit is not None else None
34646        '''
34647         Rate limit information.
34648        '''
34649        self.workflow_role = workflow_role if workflow_role is not None else None
34650        '''
34651         The requested WorkflowRole.
34652        '''
34653
34654    def __repr__(self):
34655        return '<sdm.WorkflowRoleGetResponse ' + \
34656            'meta: ' + repr(self.meta) + ' ' +\
34657            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34658            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34659            '>'
34660
34661    def to_dict(self):
34662        return {
34663            'meta': self.meta,
34664            'rate_limit': self.rate_limit,
34665            'workflow_role': self.workflow_role,
34666        }
34667
34668    @classmethod
34669    def from_dict(cls, d):
34670        return cls(
34671            meta=d.get('meta'),
34672            rate_limit=d.get('rate_limit'),
34673            workflow_role=d.get('workflow_role'),
34674        )

WorkflowRoleGetResponse returns a requested WorkflowRole.

WorkflowRoleGetResponse(meta=None, rate_limit=None, workflow_role=None)
34635    def __init__(
34636        self,
34637        meta=None,
34638        rate_limit=None,
34639        workflow_role=None,
34640    ):
34641        self.meta = meta if meta is not None else None
34642        '''
34643         Reserved for future use.
34644        '''
34645        self.rate_limit = rate_limit if rate_limit is not None else None
34646        '''
34647         Rate limit information.
34648        '''
34649        self.workflow_role = workflow_role if workflow_role is not None else None
34650        '''
34651         The requested WorkflowRole.
34652        '''
meta

Reserved for future use.

rate_limit

Rate limit information.

workflow_role

The requested WorkflowRole.

def to_dict(self)
34661    def to_dict(self):
34662        return {
34663            'meta': self.meta,
34664            'rate_limit': self.rate_limit,
34665            'workflow_role': self.workflow_role,
34666        }
@classmethod
def from_dict(cls, d)
34668    @classmethod
34669    def from_dict(cls, d):
34670        return cls(
34671            meta=d.get('meta'),
34672            rate_limit=d.get('rate_limit'),
34673            workflow_role=d.get('workflow_role'),
34674        )
class WorkflowRoleHistory:
34677class WorkflowRoleHistory:
34678    '''
34679         WorkflowRolesHistory provides records of all changes to the state of a WorkflowRole
34680    '''
34681    __slots__ = [
34682        'activity_id',
34683        'deleted_at',
34684        'timestamp',
34685        'workflow_role',
34686    ]
34687
34688    def __init__(
34689        self,
34690        activity_id=None,
34691        deleted_at=None,
34692        timestamp=None,
34693        workflow_role=None,
34694    ):
34695        self.activity_id = activity_id if activity_id is not None else ''
34696        '''
34697         The unique identifier of the Activity that produced this change to the WorkflowRole.
34698         May be empty for some system-initiated updates.
34699        '''
34700        self.deleted_at = deleted_at if deleted_at is not None else None
34701        '''
34702         If this WorkflowRole was deleted, the time it was deleted.
34703        '''
34704        self.timestamp = timestamp if timestamp is not None else None
34705        '''
34706         The time at which the WorkflowRole state was recorded.
34707        '''
34708        self.workflow_role = workflow_role if workflow_role is not None else None
34709        '''
34710         The complete WorkflowRole state at this time.
34711        '''
34712
34713    def __repr__(self):
34714        return '<sdm.WorkflowRoleHistory ' + \
34715            'activity_id: ' + repr(self.activity_id) + ' ' +\
34716            'deleted_at: ' + repr(self.deleted_at) + ' ' +\
34717            'timestamp: ' + repr(self.timestamp) + ' ' +\
34718            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34719            '>'
34720
34721    def to_dict(self):
34722        return {
34723            'activity_id': self.activity_id,
34724            'deleted_at': self.deleted_at,
34725            'timestamp': self.timestamp,
34726            'workflow_role': self.workflow_role,
34727        }
34728
34729    @classmethod
34730    def from_dict(cls, d):
34731        return cls(
34732            activity_id=d.get('activity_id'),
34733            deleted_at=d.get('deleted_at'),
34734            timestamp=d.get('timestamp'),
34735            workflow_role=d.get('workflow_role'),
34736        )

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

WorkflowRoleHistory( activity_id=None, deleted_at=None, timestamp=None, workflow_role=None)
34688    def __init__(
34689        self,
34690        activity_id=None,
34691        deleted_at=None,
34692        timestamp=None,
34693        workflow_role=None,
34694    ):
34695        self.activity_id = activity_id if activity_id is not None else ''
34696        '''
34697         The unique identifier of the Activity that produced this change to the WorkflowRole.
34698         May be empty for some system-initiated updates.
34699        '''
34700        self.deleted_at = deleted_at if deleted_at is not None else None
34701        '''
34702         If this WorkflowRole was deleted, the time it was deleted.
34703        '''
34704        self.timestamp = timestamp if timestamp is not None else None
34705        '''
34706         The time at which the WorkflowRole state was recorded.
34707        '''
34708        self.workflow_role = workflow_role if workflow_role is not None else None
34709        '''
34710         The complete WorkflowRole state at this time.
34711        '''
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)
34721    def to_dict(self):
34722        return {
34723            'activity_id': self.activity_id,
34724            'deleted_at': self.deleted_at,
34725            'timestamp': self.timestamp,
34726            'workflow_role': self.workflow_role,
34727        }
@classmethod
def from_dict(cls, d)
34729    @classmethod
34730    def from_dict(cls, d):
34731        return cls(
34732            activity_id=d.get('activity_id'),
34733            deleted_at=d.get('deleted_at'),
34734            timestamp=d.get('timestamp'),
34735            workflow_role=d.get('workflow_role'),
34736        )
class WorkflowRolesCreateRequest:
34739class WorkflowRolesCreateRequest:
34740    '''
34741         WorkflowRolesCreateRequest specifies the workflowID and roleID of a new
34742     workflow role to be created.
34743    '''
34744    __slots__ = [
34745        'workflow_role',
34746    ]
34747
34748    def __init__(
34749        self,
34750        workflow_role=None,
34751    ):
34752        self.workflow_role = workflow_role if workflow_role is not None else None
34753        '''
34754         Parameters to define the new WorkflowRole.
34755        '''
34756
34757    def __repr__(self):
34758        return '<sdm.WorkflowRolesCreateRequest ' + \
34759            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34760            '>'
34761
34762    def to_dict(self):
34763        return {
34764            'workflow_role': self.workflow_role,
34765        }
34766
34767    @classmethod
34768    def from_dict(cls, d):
34769        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)
34748    def __init__(
34749        self,
34750        workflow_role=None,
34751    ):
34752        self.workflow_role = workflow_role if workflow_role is not None else None
34753        '''
34754         Parameters to define the new WorkflowRole.
34755        '''
workflow_role

Parameters to define the new WorkflowRole.

def to_dict(self)
34762    def to_dict(self):
34763        return {
34764            'workflow_role': self.workflow_role,
34765        }
@classmethod
def from_dict(cls, d)
34767    @classmethod
34768    def from_dict(cls, d):
34769        return cls(workflow_role=d.get('workflow_role'), )
class WorkflowRolesCreateResponse:
34772class WorkflowRolesCreateResponse:
34773    '''
34774         WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.
34775    '''
34776    __slots__ = [
34777        'rate_limit',
34778        'workflow_role',
34779    ]
34780
34781    def __init__(
34782        self,
34783        rate_limit=None,
34784        workflow_role=None,
34785    ):
34786        self.rate_limit = rate_limit if rate_limit is not None else None
34787        '''
34788         Rate limit information.
34789        '''
34790        self.workflow_role = workflow_role if workflow_role is not None else None
34791        '''
34792         The created workflow role.
34793        '''
34794
34795    def __repr__(self):
34796        return '<sdm.WorkflowRolesCreateResponse ' + \
34797            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34798            'workflow_role: ' + repr(self.workflow_role) + ' ' +\
34799            '>'
34800
34801    def to_dict(self):
34802        return {
34803            'rate_limit': self.rate_limit,
34804            'workflow_role': self.workflow_role,
34805        }
34806
34807    @classmethod
34808    def from_dict(cls, d):
34809        return cls(
34810            rate_limit=d.get('rate_limit'),
34811            workflow_role=d.get('workflow_role'),
34812        )

WorkflowRolesCreateResponse reports how the WorkflowRole was created in the system.

WorkflowRolesCreateResponse(rate_limit=None, workflow_role=None)
34781    def __init__(
34782        self,
34783        rate_limit=None,
34784        workflow_role=None,
34785    ):
34786        self.rate_limit = rate_limit if rate_limit is not None else None
34787        '''
34788         Rate limit information.
34789        '''
34790        self.workflow_role = workflow_role if workflow_role is not None else None
34791        '''
34792         The created workflow role.
34793        '''
rate_limit

Rate limit information.

workflow_role

The created workflow role.

def to_dict(self)
34801    def to_dict(self):
34802        return {
34803            'rate_limit': self.rate_limit,
34804            'workflow_role': self.workflow_role,
34805        }
@classmethod
def from_dict(cls, d)
34807    @classmethod
34808    def from_dict(cls, d):
34809        return cls(
34810            rate_limit=d.get('rate_limit'),
34811            workflow_role=d.get('workflow_role'),
34812        )
class WorkflowRolesDeleteRequest:
34815class WorkflowRolesDeleteRequest:
34816    '''
34817         WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.
34818    '''
34819    __slots__ = [
34820        'id',
34821    ]
34822
34823    def __init__(
34824        self,
34825        id=None,
34826    ):
34827        self.id = id if id is not None else ''
34828        '''
34829         The unique identifier of the WorkflowRole to delete.
34830        '''
34831
34832    def __repr__(self):
34833        return '<sdm.WorkflowRolesDeleteRequest ' + \
34834            'id: ' + repr(self.id) + ' ' +\
34835            '>'
34836
34837    def to_dict(self):
34838        return {
34839            'id': self.id,
34840        }
34841
34842    @classmethod
34843    def from_dict(cls, d):
34844        return cls(id=d.get('id'), )

WorkflowRolesDeleteRequest specifies the ID of a WorkflowRole to be deleted.

WorkflowRolesDeleteRequest(id=None)
34823    def __init__(
34824        self,
34825        id=None,
34826    ):
34827        self.id = id if id is not None else ''
34828        '''
34829         The unique identifier of the WorkflowRole to delete.
34830        '''
id

The unique identifier of the WorkflowRole to delete.

def to_dict(self)
34837    def to_dict(self):
34838        return {
34839            'id': self.id,
34840        }
@classmethod
def from_dict(cls, d)
34842    @classmethod
34843    def from_dict(cls, d):
34844        return cls(id=d.get('id'), )
class WorkflowRolesDeleteResponse:
34847class WorkflowRolesDeleteResponse:
34848    '''
34849         WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.
34850    '''
34851    __slots__ = [
34852        'rate_limit',
34853    ]
34854
34855    def __init__(
34856        self,
34857        rate_limit=None,
34858    ):
34859        self.rate_limit = rate_limit if rate_limit is not None else None
34860        '''
34861         Rate limit information.
34862        '''
34863
34864    def __repr__(self):
34865        return '<sdm.WorkflowRolesDeleteResponse ' + \
34866            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34867            '>'
34868
34869    def to_dict(self):
34870        return {
34871            'rate_limit': self.rate_limit,
34872        }
34873
34874    @classmethod
34875    def from_dict(cls, d):
34876        return cls(rate_limit=d.get('rate_limit'), )

WorkflowRolesDeleteResponse reports how the WorkflowRole was deleted in the system.

WorkflowRolesDeleteResponse(rate_limit=None)
34855    def __init__(
34856        self,
34857        rate_limit=None,
34858    ):
34859        self.rate_limit = rate_limit if rate_limit is not None else None
34860        '''
34861         Rate limit information.
34862        '''
rate_limit

Rate limit information.

def to_dict(self)
34869    def to_dict(self):
34870        return {
34871            'rate_limit': self.rate_limit,
34872        }
@classmethod
def from_dict(cls, d)
34874    @classmethod
34875    def from_dict(cls, d):
34876        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowRolesListRequest:
34879class WorkflowRolesListRequest:
34880    '''
34881         WorkflowRolesListRequest specifies criteria for retrieving a list of
34882     WorkflowRole records
34883    '''
34884    __slots__ = [
34885        'filter',
34886    ]
34887
34888    def __init__(
34889        self,
34890        filter=None,
34891    ):
34892        self.filter = filter if filter is not None else ''
34893        '''
34894         A human-readable filter query string.
34895        '''
34896
34897    def __repr__(self):
34898        return '<sdm.WorkflowRolesListRequest ' + \
34899            'filter: ' + repr(self.filter) + ' ' +\
34900            '>'
34901
34902    def to_dict(self):
34903        return {
34904            'filter': self.filter,
34905        }
34906
34907    @classmethod
34908    def from_dict(cls, d):
34909        return cls(filter=d.get('filter'), )

WorkflowRolesListRequest specifies criteria for retrieving a list of WorkflowRole records

WorkflowRolesListRequest(filter=None)
34888    def __init__(
34889        self,
34890        filter=None,
34891    ):
34892        self.filter = filter if filter is not None else ''
34893        '''
34894         A human-readable filter query string.
34895        '''
filter

A human-readable filter query string.

def to_dict(self)
34902    def to_dict(self):
34903        return {
34904            'filter': self.filter,
34905        }
@classmethod
def from_dict(cls, d)
34907    @classmethod
34908    def from_dict(cls, d):
34909        return cls(filter=d.get('filter'), )
class WorkflowRolesListResponse:
34912class WorkflowRolesListResponse:
34913    '''
34914         WorkflowRolesListResponse returns a list of WorkflowRole records that meet
34915     the criteria of a WorkflowRolesListRequest.
34916    '''
34917    __slots__ = [
34918        'rate_limit',
34919    ]
34920
34921    def __init__(
34922        self,
34923        rate_limit=None,
34924    ):
34925        self.rate_limit = rate_limit if rate_limit is not None else None
34926        '''
34927         Rate limit information.
34928        '''
34929
34930    def __repr__(self):
34931        return '<sdm.WorkflowRolesListResponse ' + \
34932            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34933            '>'
34934
34935    def to_dict(self):
34936        return {
34937            'rate_limit': self.rate_limit,
34938        }
34939
34940    @classmethod
34941    def from_dict(cls, d):
34942        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)
34921    def __init__(
34922        self,
34923        rate_limit=None,
34924    ):
34925        self.rate_limit = rate_limit if rate_limit is not None else None
34926        '''
34927         Rate limit information.
34928        '''
rate_limit

Rate limit information.

def to_dict(self)
34935    def to_dict(self):
34936        return {
34937            'rate_limit': self.rate_limit,
34938        }
@classmethod
def from_dict(cls, d)
34940    @classmethod
34941    def from_dict(cls, d):
34942        return cls(rate_limit=d.get('rate_limit'), )
class WorkflowUpdateResponse:
34945class WorkflowUpdateResponse:
34946    '''
34947         WorkflowUpdateResponse returns the fields of a Workflow after it has been updated by
34948     a WorkflowUpdateRequest.
34949    '''
34950    __slots__ = [
34951        'rate_limit',
34952        'workflow',
34953    ]
34954
34955    def __init__(
34956        self,
34957        rate_limit=None,
34958        workflow=None,
34959    ):
34960        self.rate_limit = rate_limit if rate_limit is not None else None
34961        '''
34962         Rate limit information.
34963        '''
34964        self.workflow = workflow if workflow is not None else None
34965        '''
34966         The updated workflow.
34967        '''
34968
34969    def __repr__(self):
34970        return '<sdm.WorkflowUpdateResponse ' + \
34971            'rate_limit: ' + repr(self.rate_limit) + ' ' +\
34972            'workflow: ' + repr(self.workflow) + ' ' +\
34973            '>'
34974
34975    def to_dict(self):
34976        return {
34977            'rate_limit': self.rate_limit,
34978            'workflow': self.workflow,
34979        }
34980
34981    @classmethod
34982    def from_dict(cls, d):
34983        return cls(
34984            rate_limit=d.get('rate_limit'),
34985            workflow=d.get('workflow'),
34986        )

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

WorkflowUpdateResponse(rate_limit=None, workflow=None)
34955    def __init__(
34956        self,
34957        rate_limit=None,
34958        workflow=None,
34959    ):
34960        self.rate_limit = rate_limit if rate_limit is not None else None
34961        '''
34962         Rate limit information.
34963        '''
34964        self.workflow = workflow if workflow is not None else None
34965        '''
34966         The updated workflow.
34967        '''
rate_limit

Rate limit information.

workflow

The updated workflow.

def to_dict(self)
34975    def to_dict(self):
34976        return {
34977            'rate_limit': self.rate_limit,
34978            'workflow': self.workflow,
34979        }
@classmethod
def from_dict(cls, d)
34981    @classmethod
34982    def from_dict(cls, d):
34983        return cls(
34984            rate_limit=d.get('rate_limit'),
34985            workflow=d.get('workflow'),
34986        )