We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Configurable timeouts for InferenceGraph
/kind feature

**Describe the solution you'd like**

InferenceServices in a Serverless deployment of KServe allow you to configure the Knative `timeoutSeconds` field by way of the `timeout` field in ComponentExtensionSpec. We'd like the same feature for an InferenceGraph.

**Anything else you would like to add:**

If we cannot update the InfereceGraph spec at this time, I would request the InferenceGraph controller at the very least be able to check the existing InferenceServices for Knative-backed components and match the highest `timeoutSeconds`.

Thanks for your consideration!

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `python/kserve/kserve/models/v1alpha1_inference_graph_spec.py`
Content:
```
1 # Copyright 2023 The KServe Authors.
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 # coding: utf-8
16 
17 """
18     KServe
19 
20     Python SDK for KServe  # noqa: E501
21 
22     The version of the OpenAPI document: v0.1
23     Generated by: https://openapi-generator.tech
24 """
25 
26 
27 import pprint
28 import re  # noqa: F401
29 
30 import six
31 
32 from kserve.configuration import Configuration
33 
34 
35 class V1alpha1InferenceGraphSpec(object):
36     """NOTE: This class is auto generated by OpenAPI Generator.
37     Ref: https://openapi-generator.tech
38 
39     Do not edit the class manually.
40     """
41 
42     """
43     Attributes:
44       openapi_types (dict): The key is attribute name
45                             and the value is attribute type.
46       attribute_map (dict): The key is attribute name
47                             and the value is json key in definition.
48     """
49     openapi_types = {
50         'affinity': 'V1Affinity',
51         'nodes': 'dict(str, V1alpha1InferenceRouter)',
52         'resources': 'V1ResourceRequirements'
53     }
54 
55     attribute_map = {
56         'affinity': 'affinity',
57         'nodes': 'nodes',
58         'resources': 'resources'
59     }
60 
61     def __init__(self, affinity=None, nodes=None, resources=None, local_vars_configuration=None):  # noqa: E501
62         """V1alpha1InferenceGraphSpec - a model defined in OpenAPI"""  # noqa: E501
63         if local_vars_configuration is None:
64             local_vars_configuration = Configuration()
65         self.local_vars_configuration = local_vars_configuration
66 
67         self._affinity = None
68         self._nodes = None
69         self._resources = None
70         self.discriminator = None
71 
72         if affinity is not None:
73             self.affinity = affinity
74         self.nodes = nodes
75         if resources is not None:
76             self.resources = resources
77 
78     @property
79     def affinity(self):
80         """Gets the affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501
81 
82 
83         :return: The affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501
84         :rtype: V1Affinity
85         """
86         return self._affinity
87 
88     @affinity.setter
89     def affinity(self, affinity):
90         """Sets the affinity of this V1alpha1InferenceGraphSpec.
91 
92 
93         :param affinity: The affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501
94         :type: V1Affinity
95         """
96 
97         self._affinity = affinity
98 
99     @property
100     def nodes(self):
101         """Gets the nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501
102 
103         Map of InferenceGraph router nodes Each node defines the router which can be different routing types  # noqa: E501
104 
105         :return: The nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501
106         :rtype: dict(str, V1alpha1InferenceRouter)
107         """
108         return self._nodes
109 
110     @nodes.setter
111     def nodes(self, nodes):
112         """Sets the nodes of this V1alpha1InferenceGraphSpec.
113 
114         Map of InferenceGraph router nodes Each node defines the router which can be different routing types  # noqa: E501
115 
116         :param nodes: The nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501
117         :type: dict(str, V1alpha1InferenceRouter)
118         """
119         if self.local_vars_configuration.client_side_validation and nodes is None:  # noqa: E501
120             raise ValueError("Invalid value for `nodes`, must not be `None`")  # noqa: E501
121 
122         self._nodes = nodes
123 
124     @property
125     def resources(self):
126         """Gets the resources of this V1alpha1InferenceGraphSpec.  # noqa: E501
127 
128 
129         :return: The resources of this V1alpha1InferenceGraphSpec.  # noqa: E501
130         :rtype: V1ResourceRequirements
131         """
132         return self._resources
133 
134     @resources.setter
135     def resources(self, resources):
136         """Sets the resources of this V1alpha1InferenceGraphSpec.
137 
138 
139         :param resources: The resources of this V1alpha1InferenceGraphSpec.  # noqa: E501
140         :type: V1ResourceRequirements
141         """
142 
143         self._resources = resources
144 
145     def to_dict(self):
146         """Returns the model properties as a dict"""
147         result = {}
148 
149         for attr, _ in six.iteritems(self.openapi_types):
150             value = getattr(self, attr)
151             if isinstance(value, list):
152                 result[attr] = list(map(
153                     lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
154                     value
155                 ))
156             elif hasattr(value, "to_dict"):
157                 result[attr] = value.to_dict()
158             elif isinstance(value, dict):
159                 result[attr] = dict(map(
160                     lambda item: (item[0], item[1].to_dict())
161                     if hasattr(item[1], "to_dict") else item,
162                     value.items()
163                 ))
164             else:
165                 result[attr] = value
166 
167         return result
168 
169     def to_str(self):
170         """Returns the string representation of the model"""
171         return pprint.pformat(self.to_dict())
172 
173     def __repr__(self):
174         """For `print` and `pprint`"""
175         return self.to_str()
176 
177     def __eq__(self, other):
178         """Returns true if both objects are equal"""
179         if not isinstance(other, V1alpha1InferenceGraphSpec):
180             return False
181 
182         return self.to_dict() == other.to_dict()
183 
184     def __ne__(self, other):
185         """Returns true if both objects are not equal"""
186         if not isinstance(other, V1alpha1InferenceGraphSpec):
187             return True
188 
189         return self.to_dict() != other.to_dict()
190
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py b/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py
--- a/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py
+++ b/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py
@@ -49,16 +49,18 @@
     openapi_types = {
         'affinity': 'V1Affinity',
         'nodes': 'dict(str, V1alpha1InferenceRouter)',
-        'resources': 'V1ResourceRequirements'
+        'resources': 'V1ResourceRequirements',
+        'timeout': 'int'
     }
 
     attribute_map = {
         'affinity': 'affinity',
         'nodes': 'nodes',
-        'resources': 'resources'
+        'resources': 'resources',
+        'timeout': 'timeout'
     }
 
-    def __init__(self, affinity=None, nodes=None, resources=None, local_vars_configuration=None):  # noqa: E501
+    def __init__(self, affinity=None, nodes=None, resources=None, timeout=None, local_vars_configuration=None):  # noqa: E501
         """V1alpha1InferenceGraphSpec - a model defined in OpenAPI"""  # noqa: E501
         if local_vars_configuration is None:
             local_vars_configuration = Configuration()
@@ -67,6 +69,7 @@
         self._affinity = None
         self._nodes = None
         self._resources = None
+        self._timeout = None
         self.discriminator = None
 
         if affinity is not None:
@@ -74,6 +77,8 @@
         self.nodes = nodes
         if resources is not None:
             self.resources = resources
+        if timeout is not None:
+            self.timeout = timeout
 
     @property
     def affinity(self):
@@ -142,6 +147,29 @@
 
         self._resources = resources
 
+    @property
+    def timeout(self):
+        """Gets the timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501
+
+        TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component.  # noqa: E501
+
+        :return: The timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501
+        :rtype: int
+        """
+        return self._timeout
+
+    @timeout.setter
+    def timeout(self, timeout):
+        """Sets the timeout of this V1alpha1InferenceGraphSpec.
+
+        TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component.  # noqa: E501
+
+        :param timeout: The timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501
+        :type: int
+        """
+
+        self._timeout = timeout
+
     def to_dict(self):
         """Returns the model properties as a dict"""
         result = {}

{"golden_diff": "diff --git a/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py b/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py\n--- a/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py\n+++ b/python/kserve/kserve/models/v1alpha1_inference_graph_spec.py\n@@ -49,16 +49,18 @@\n     openapi_types = {\n         'affinity': 'V1Affinity',\n         'nodes': 'dict(str, V1alpha1InferenceRouter)',\n-        'resources': 'V1ResourceRequirements'\n+        'resources': 'V1ResourceRequirements',\n+        'timeout': 'int'\n     }\n \n     attribute_map = {\n         'affinity': 'affinity',\n         'nodes': 'nodes',\n-        'resources': 'resources'\n+        'resources': 'resources',\n+        'timeout': 'timeout'\n     }\n \n-    def __init__(self, affinity=None, nodes=None, resources=None, local_vars_configuration=None):  # noqa: E501\n+    def __init__(self, affinity=None, nodes=None, resources=None, timeout=None, local_vars_configuration=None):  # noqa: E501\n         \"\"\"V1alpha1InferenceGraphSpec - a model defined in OpenAPI\"\"\"  # noqa: E501\n         if local_vars_configuration is None:\n             local_vars_configuration = Configuration()\n@@ -67,6 +69,7 @@\n         self._affinity = None\n         self._nodes = None\n         self._resources = None\n+        self._timeout = None\n         self.discriminator = None\n \n         if affinity is not None:\n@@ -74,6 +77,8 @@\n         self.nodes = nodes\n         if resources is not None:\n             self.resources = resources\n+        if timeout is not None:\n+            self.timeout = timeout\n \n     @property\n     def affinity(self):\n@@ -142,6 +147,29 @@\n \n         self._resources = resources\n \n+    @property\n+    def timeout(self):\n+        \"\"\"Gets the timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501\n+\n+        TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component.  # noqa: E501\n+\n+        :return: The timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501\n+        :rtype: int\n+        \"\"\"\n+        return self._timeout\n+\n+    @timeout.setter\n+    def timeout(self, timeout):\n+        \"\"\"Sets the timeout of this V1alpha1InferenceGraphSpec.\n+\n+        TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component.  # noqa: E501\n+\n+        :param timeout: The timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501\n+        :type: int\n+        \"\"\"\n+\n+        self._timeout = timeout\n+\n     def to_dict(self):\n         \"\"\"Returns the model properties as a dict\"\"\"\n         result = {}\n", "issue": "Configurable timeouts for InferenceGraph\n/kind feature\r\n\r\n**Describe the solution you'd like**\r\n\r\nInferenceServices in a Serverless deployment of KServe allow you to configure the Knative `timeoutSeconds` field by way of the `timeout` field in ComponentExtensionSpec. We'd like the same feature for an InferenceGraph.\r\n\r\n**Anything else you would like to add:**\r\n\r\nIf we cannot update the InfereceGraph spec at this time, I would request the InferenceGraph controller at the very least be able to check the existing InferenceServices for Knative-backed components and match the highest `timeoutSeconds`.\r\n\r\nThanks for your consideration!\n", "before_files": [{"content": "# Copyright 2023 The KServe Authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# coding: utf-8\n\n\"\"\"\n    KServe\n\n    Python SDK for KServe  # noqa: E501\n\n    The version of the OpenAPI document: v0.1\n    Generated by: https://openapi-generator.tech\n\"\"\"\n\n\nimport pprint\nimport re  # noqa: F401\n\nimport six\n\nfrom kserve.configuration import Configuration\n\n\nclass V1alpha1InferenceGraphSpec(object):\n    \"\"\"NOTE: This class is auto generated by OpenAPI Generator.\n    Ref: https://openapi-generator.tech\n\n    Do not edit the class manually.\n    \"\"\"\n\n    \"\"\"\n    Attributes:\n      openapi_types (dict): The key is attribute name\n                            and the value is attribute type.\n      attribute_map (dict): The key is attribute name\n                            and the value is json key in definition.\n    \"\"\"\n    openapi_types = {\n        'affinity': 'V1Affinity',\n        'nodes': 'dict(str, V1alpha1InferenceRouter)',\n        'resources': 'V1ResourceRequirements'\n    }\n\n    attribute_map = {\n        'affinity': 'affinity',\n        'nodes': 'nodes',\n        'resources': 'resources'\n    }\n\n    def __init__(self, affinity=None, nodes=None, resources=None, local_vars_configuration=None):  # noqa: E501\n        \"\"\"V1alpha1InferenceGraphSpec - a model defined in OpenAPI\"\"\"  # noqa: E501\n        if local_vars_configuration is None:\n            local_vars_configuration = Configuration()\n        self.local_vars_configuration = local_vars_configuration\n\n        self._affinity = None\n        self._nodes = None\n        self._resources = None\n        self.discriminator = None\n\n        if affinity is not None:\n            self.affinity = affinity\n        self.nodes = nodes\n        if resources is not None:\n            self.resources = resources\n\n    @property\n    def affinity(self):\n        \"\"\"Gets the affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n\n        :return: The affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: V1Affinity\n        \"\"\"\n        return self._affinity\n\n    @affinity.setter\n    def affinity(self, affinity):\n        \"\"\"Sets the affinity of this V1alpha1InferenceGraphSpec.\n\n\n        :param affinity: The affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: V1Affinity\n        \"\"\"\n\n        self._affinity = affinity\n\n    @property\n    def nodes(self):\n        \"\"\"Gets the nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n        Map of InferenceGraph router nodes Each node defines the router which can be different routing types  # noqa: E501\n\n        :return: The nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: dict(str, V1alpha1InferenceRouter)\n        \"\"\"\n        return self._nodes\n\n    @nodes.setter\n    def nodes(self, nodes):\n        \"\"\"Sets the nodes of this V1alpha1InferenceGraphSpec.\n\n        Map of InferenceGraph router nodes Each node defines the router which can be different routing types  # noqa: E501\n\n        :param nodes: The nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: dict(str, V1alpha1InferenceRouter)\n        \"\"\"\n        if self.local_vars_configuration.client_side_validation and nodes is None:  # noqa: E501\n            raise ValueError(\"Invalid value for `nodes`, must not be `None`\")  # noqa: E501\n\n        self._nodes = nodes\n\n    @property\n    def resources(self):\n        \"\"\"Gets the resources of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n\n        :return: The resources of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: V1ResourceRequirements\n        \"\"\"\n        return self._resources\n\n    @resources.setter\n    def resources(self, resources):\n        \"\"\"Sets the resources of this V1alpha1InferenceGraphSpec.\n\n\n        :param resources: The resources of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: V1ResourceRequirements\n        \"\"\"\n\n        self._resources = resources\n\n    def to_dict(self):\n        \"\"\"Returns the model properties as a dict\"\"\"\n        result = {}\n\n        for attr, _ in six.iteritems(self.openapi_types):\n            value = getattr(self, attr)\n            if isinstance(value, list):\n                result[attr] = list(map(\n                    lambda x: x.to_dict() if hasattr(x, \"to_dict\") else x,\n                    value\n                ))\n            elif hasattr(value, \"to_dict\"):\n                result[attr] = value.to_dict()\n            elif isinstance(value, dict):\n                result[attr] = dict(map(\n                    lambda item: (item[0], item[1].to_dict())\n                    if hasattr(item[1], \"to_dict\") else item,\n                    value.items()\n                ))\n            else:\n                result[attr] = value\n\n        return result\n\n    def to_str(self):\n        \"\"\"Returns the string representation of the model\"\"\"\n        return pprint.pformat(self.to_dict())\n\n    def __repr__(self):\n        \"\"\"For `print` and `pprint`\"\"\"\n        return self.to_str()\n\n    def __eq__(self, other):\n        \"\"\"Returns true if both objects are equal\"\"\"\n        if not isinstance(other, V1alpha1InferenceGraphSpec):\n            return False\n\n        return self.to_dict() == other.to_dict()\n\n    def __ne__(self, other):\n        \"\"\"Returns true if both objects are not equal\"\"\"\n        if not isinstance(other, V1alpha1InferenceGraphSpec):\n            return True\n\n        return self.to_dict() != other.to_dict()\n", "path": "python/kserve/kserve/models/v1alpha1_inference_graph_spec.py"}], "after_files": [{"content": "# Copyright 2023 The KServe Authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#    http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# coding: utf-8\n\n\"\"\"\n    KServe\n\n    Python SDK for KServe  # noqa: E501\n\n    The version of the OpenAPI document: v0.1\n    Generated by: https://openapi-generator.tech\n\"\"\"\n\n\nimport pprint\nimport re  # noqa: F401\n\nimport six\n\nfrom kserve.configuration import Configuration\n\n\nclass V1alpha1InferenceGraphSpec(object):\n    \"\"\"NOTE: This class is auto generated by OpenAPI Generator.\n    Ref: https://openapi-generator.tech\n\n    Do not edit the class manually.\n    \"\"\"\n\n    \"\"\"\n    Attributes:\n      openapi_types (dict): The key is attribute name\n                            and the value is attribute type.\n      attribute_map (dict): The key is attribute name\n                            and the value is json key in definition.\n    \"\"\"\n    openapi_types = {\n        'affinity': 'V1Affinity',\n        'nodes': 'dict(str, V1alpha1InferenceRouter)',\n        'resources': 'V1ResourceRequirements',\n        'timeout': 'int'\n    }\n\n    attribute_map = {\n        'affinity': 'affinity',\n        'nodes': 'nodes',\n        'resources': 'resources',\n        'timeout': 'timeout'\n    }\n\n    def __init__(self, affinity=None, nodes=None, resources=None, timeout=None, local_vars_configuration=None):  # noqa: E501\n        \"\"\"V1alpha1InferenceGraphSpec - a model defined in OpenAPI\"\"\"  # noqa: E501\n        if local_vars_configuration is None:\n            local_vars_configuration = Configuration()\n        self.local_vars_configuration = local_vars_configuration\n\n        self._affinity = None\n        self._nodes = None\n        self._resources = None\n        self._timeout = None\n        self.discriminator = None\n\n        if affinity is not None:\n            self.affinity = affinity\n        self.nodes = nodes\n        if resources is not None:\n            self.resources = resources\n        if timeout is not None:\n            self.timeout = timeout\n\n    @property\n    def affinity(self):\n        \"\"\"Gets the affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n\n        :return: The affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: V1Affinity\n        \"\"\"\n        return self._affinity\n\n    @affinity.setter\n    def affinity(self, affinity):\n        \"\"\"Sets the affinity of this V1alpha1InferenceGraphSpec.\n\n\n        :param affinity: The affinity of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: V1Affinity\n        \"\"\"\n\n        self._affinity = affinity\n\n    @property\n    def nodes(self):\n        \"\"\"Gets the nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n        Map of InferenceGraph router nodes Each node defines the router which can be different routing types  # noqa: E501\n\n        :return: The nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: dict(str, V1alpha1InferenceRouter)\n        \"\"\"\n        return self._nodes\n\n    @nodes.setter\n    def nodes(self, nodes):\n        \"\"\"Sets the nodes of this V1alpha1InferenceGraphSpec.\n\n        Map of InferenceGraph router nodes Each node defines the router which can be different routing types  # noqa: E501\n\n        :param nodes: The nodes of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: dict(str, V1alpha1InferenceRouter)\n        \"\"\"\n        if self.local_vars_configuration.client_side_validation and nodes is None:  # noqa: E501\n            raise ValueError(\"Invalid value for `nodes`, must not be `None`\")  # noqa: E501\n\n        self._nodes = nodes\n\n    @property\n    def resources(self):\n        \"\"\"Gets the resources of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n\n        :return: The resources of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: V1ResourceRequirements\n        \"\"\"\n        return self._resources\n\n    @resources.setter\n    def resources(self, resources):\n        \"\"\"Sets the resources of this V1alpha1InferenceGraphSpec.\n\n\n        :param resources: The resources of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: V1ResourceRequirements\n        \"\"\"\n\n        self._resources = resources\n\n    @property\n    def timeout(self):\n        \"\"\"Gets the timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501\n\n        TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component.  # noqa: E501\n\n        :return: The timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :rtype: int\n        \"\"\"\n        return self._timeout\n\n    @timeout.setter\n    def timeout(self, timeout):\n        \"\"\"Sets the timeout of this V1alpha1InferenceGraphSpec.\n\n        TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component.  # noqa: E501\n\n        :param timeout: The timeout of this V1alpha1InferenceGraphSpec.  # noqa: E501\n        :type: int\n        \"\"\"\n\n        self._timeout = timeout\n\n    def to_dict(self):\n        \"\"\"Returns the model properties as a dict\"\"\"\n        result = {}\n\n        for attr, _ in six.iteritems(self.openapi_types):\n            value = getattr(self, attr)\n            if isinstance(value, list):\n                result[attr] = list(map(\n                    lambda x: x.to_dict() if hasattr(x, \"to_dict\") else x,\n                    value\n                ))\n            elif hasattr(value, \"to_dict\"):\n                result[attr] = value.to_dict()\n            elif isinstance(value, dict):\n                result[attr] = dict(map(\n                    lambda item: (item[0], item[1].to_dict())\n                    if hasattr(item[1], \"to_dict\") else item,\n                    value.items()\n                ))\n            else:\n                result[attr] = value\n\n        return result\n\n    def to_str(self):\n        \"\"\"Returns the string representation of the model\"\"\"\n        return pprint.pformat(self.to_dict())\n\n    def __repr__(self):\n        \"\"\"For `print` and `pprint`\"\"\"\n        return self.to_str()\n\n    def __eq__(self, other):\n        \"\"\"Returns true if both objects are equal\"\"\"\n        if not isinstance(other, V1alpha1InferenceGraphSpec):\n            return False\n\n        return self.to_dict() == other.to_dict()\n\n    def __ne__(self, other):\n        \"\"\"Returns true if both objects are not equal\"\"\"\n        if not isinstance(other, V1alpha1InferenceGraphSpec):\n            return True\n\n        return self.to_dict() != other.to_dict()\n", "path": "python/kserve/kserve/models/v1alpha1_inference_graph_spec.py"}]}