blob: e84b557d7e21b7cff0f9280467413bdf1b649345 [file] [log] [blame]
yoshi-code-bot1a4514d2021-07-13 00:20:24 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="sqladmin_v1.html">Cloud SQL Admin API</a> . <a href="sqladmin_v1.projects.html">projects</a> . <a href="sqladmin_v1.projects.instances.html">instances</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
yoshi-code-bot1a4514d2021-07-13 00:20:24 -070078 <code><a href="#close">close()</a></code></p>
79<p class="firstline">Close httplib2 connections.</p>
80<p class="toc_element">
yoshi-code-bota36e3b12021-07-27 00:20:26 -070081 <code><a href="#rescheduleMaintenance">rescheduleMaintenance(project, instance, body=None, x__xgafv=None)</a></code></p>
82<p class="firstline">Reschedules the maintenance on the given instance.</p>
yoshi-code-bot1a4514d2021-07-13 00:20:24 -070083<p class="toc_element">
yoshi-code-bota36e3b12021-07-27 00:20:26 -070084 <code><a href="#startExternalSync">startExternalSync(project, instance, skipVerification=None, syncMode=None, x__xgafv=None)</a></code></p>
85<p class="firstline">Start External primary instance migration.</p>
yoshi-code-bot1a4514d2021-07-13 00:20:24 -070086<p class="toc_element">
yoshi-code-bota36e3b12021-07-27 00:20:26 -070087 <code><a href="#verifyExternalSyncSettings">verifyExternalSyncSettings(project, instance, syncMode=None, verifyConnectionOnly=None, x__xgafv=None)</a></code></p>
88<p class="firstline">Verify External primary instance external sync settings.</p>
yoshi-code-bot1a4514d2021-07-13 00:20:24 -070089<h3>Method Details</h3>
90<div class="method">
91 <code class="details" id="close">close()</code>
92 <pre>Close httplib2 connections.</pre>
93</div>
94
95<div class="method">
yoshi-code-bota36e3b12021-07-27 00:20:26 -070096 <code class="details" id="rescheduleMaintenance">rescheduleMaintenance(project, instance, body=None, x__xgafv=None)</code>
97 <pre>Reschedules the maintenance on the given instance.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -070098
99Args:
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700100 project: string, ID of the project that contains the instance. (required)
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700101 instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
102 body: object, The request body.
103 The object takes the form of:
104
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700105{ # Reschedule options for maintenance windows.
106 &quot;reschedule&quot;: { # Required. The type of the reschedule the user wants.
107 &quot;rescheduleType&quot;: &quot;A String&quot;, # Required. The type of the reschedule.
108 &quot;scheduleTime&quot;: &quot;A String&quot;, # Optional. Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example *2012-11-15T16:19:00.094Z*.
109 },
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700110}
111
112 x__xgafv: string, V1 error format.
113 Allowed values
114 1 - v1 error format
115 2 - v2 error format
116
117Returns:
118 An object of the form:
119
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700120 { # An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.
121 &quot;backupContext&quot;: { # Backup context. # The context for backup operation, if applicable.
122 &quot;backupId&quot;: &quot;A String&quot;, # The identifier of the backup.
123 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#backupContext**.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700124 },
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700125 &quot;endTime&quot;: &quot;A String&quot;, # The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
126 &quot;error&quot;: { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
127 &quot;errors&quot;: [ # The list of errors encountered while processing this operation.
128 { # Database instance operation error.
129 &quot;code&quot;: &quot;A String&quot;, # Identifies the specific error that occurred.
130 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#operationError**.
131 &quot;message&quot;: &quot;A String&quot;, # Additional information about the error encountered.
132 },
133 ],
134 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#operationErrors**.
135 },
136 &quot;exportContext&quot;: { # Database instance export context. # The context for export operation, if applicable.
137 &quot;csvExportOptions&quot;: { # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
138 &quot;selectQuery&quot;: &quot;A String&quot;, # The select query used to extract the data.
139 },
140 &quot;databases&quot;: [ # Databases to be exported. **MySQL instances:** If **fileType** is **SQL** and no database is specified, all databases are exported, except for the **mysql** system database. If **fileType** is **CSV**, you can specify one database, either by using this property or by using the **csvExportOptions.selectQuery** property, which takes precedence over this property. **PostgreSQL instances:** You must specify one database to be exported. If **fileType** is **CSV**, this database must match the one specified in the **csvExportOptions.selectQuery** property. **SQL Server instances:** You must specify one database to be exported, and the **fileType** must be **BAK**.
141 &quot;A String&quot;,
142 ],
143 &quot;fileType&quot;: &quot;A String&quot;, # The file type for the specified uri. **SQL**: The file contains SQL statements. **CSV**: The file contains CSV data. **BAK**: The file contains backup data for a SQL Server instance.
144 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#exportContext**.
145 &quot;offload&quot;: True or False, # Option for export offload.
146 &quot;sqlExportOptions&quot;: { # Options for exporting data as SQL statements.
147 &quot;mysqlExportOptions&quot;: { # Options for exporting from MySQL.
148 &quot;masterData&quot;: 42, # Option to include SQL statement required to set up replication. If set to **1**, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to **2**, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than **1**, --set-gtid-purged is set to OFF.
149 },
150 &quot;schemaOnly&quot;: True or False, # Export only schemas.
151 &quot;tables&quot;: [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database. For PostgreSQL instances, you can specify only one table.
152 &quot;A String&quot;,
153 ],
154 },
155 &quot;uri&quot;: &quot;A String&quot;, # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form **gs://bucketName/fileName**. If the file already exists, the request succeeds, but the operation fails. If **fileType** is **SQL** and the filename ends with .gz, the contents are compressed.
156 },
157 &quot;importContext&quot;: { # Database instance import context. # The context for import operation, if applicable.
158 &quot;bakImportOptions&quot;: { # Import parameters specific to SQL Server .BAK files
159 &quot;encryptionOptions&quot;: {
160 &quot;certPath&quot;: &quot;A String&quot;, # Path to the Certificate (.cer) in Cloud Storage, in the form **gs://bucketName/fileName**. The instance must have write permissions to the bucket and read access to the file.
161 &quot;pvkPassword&quot;: &quot;A String&quot;, # Password that encrypts the private key
162 &quot;pvkPath&quot;: &quot;A String&quot;, # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form **gs://bucketName/fileName**. The instance must have write permissions to the bucket and read access to the file.
163 },
164 },
165 &quot;csvImportOptions&quot;: { # Options for importing data as CSV.
166 &quot;columns&quot;: [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
167 &quot;A String&quot;,
168 ],
169 &quot;table&quot;: &quot;A String&quot;, # The table to which CSV data is imported.
170 },
171 &quot;database&quot;: &quot;A String&quot;, # The target database for the import. If **fileType** is **SQL**, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. If **fileType** is **CSV**, one database must be specified.
172 &quot;fileType&quot;: &quot;A String&quot;, # The file type for the specified uri. **SQL**: The file contains SQL statements. **CSV**: The file contains CSV data.
173 &quot;importUser&quot;: &quot;A String&quot;, # The PostgreSQL user for this import operation. PostgreSQL instances only.
174 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#importContext**.
175 &quot;uri&quot;: &quot;A String&quot;, # Path to the import file in Cloud Storage, in the form **gs://bucketName/fileName**. Compressed gzip files (.gz) are supported when **fileType** is **SQL**. The instance must have write permissions to the bucket and read access to the file.
176 },
177 &quot;insertTime&quot;: &quot;A String&quot;, # The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
178 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#operation**.
179 &quot;name&quot;: &quot;A String&quot;, # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
180 &quot;operationType&quot;: &quot;A String&quot;, # The type of the operation. Valid values are: **CREATE** **DELETE** **UPDATE** **RESTART** **IMPORT** **EXPORT** **BACKUP_VOLUME** **RESTORE_VOLUME** **CREATE_USER** **DELETE_USER** **CREATE_DATABASE** **DELETE_DATABASE**
181 &quot;selfLink&quot;: &quot;A String&quot;, # The URI of this resource.
182 &quot;startTime&quot;: &quot;A String&quot;, # The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
183 &quot;status&quot;: &quot;A String&quot;, # The status of an operation. Valid values are: **PENDING** **RUNNING** **DONE** **SQL_OPERATION_STATUS_UNSPECIFIED**
184 &quot;targetId&quot;: &quot;A String&quot;, # Name of the database instance related to this operation.
185 &quot;targetLink&quot;: &quot;A String&quot;,
186 &quot;targetProject&quot;: &quot;A String&quot;, # The project ID of the target instance related to this operation.
187 &quot;user&quot;: &quot;A String&quot;, # The email address of the user who initiated this operation.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700188}</pre>
189</div>
190
191<div class="method">
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700192 <code class="details" id="startExternalSync">startExternalSync(project, instance, skipVerification=None, syncMode=None, x__xgafv=None)</code>
193 <pre>Start External primary instance migration.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700194
195Args:
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700196 project: string, ID of the project that contains the instance. (required)
197 instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
198 skipVerification: boolean, Whether to skip the verification step (VESS).
199 syncMode: string, External sync mode.
200 Allowed values
201 EXTERNAL_SYNC_MODE_UNSPECIFIED - Unknown external sync mode, will be defaulted to ONLINE mode
202 ONLINE - Online external sync will set up replication after initial data external sync
203 OFFLINE - Offline external sync only dumps and loads a one-time snapshot of the primary instance&#x27;s data
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700204 x__xgafv: string, V1 error format.
205 Allowed values
206 1 - v1 error format
207 2 - v2 error format
208
209Returns:
210 An object of the form:
211
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700212 { # An Operation resource. For successful operations that return an Operation resource, only the fields relevant to the operation are populated in the resource.
213 &quot;backupContext&quot;: { # Backup context. # The context for backup operation, if applicable.
214 &quot;backupId&quot;: &quot;A String&quot;, # The identifier of the backup.
215 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#backupContext**.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700216 },
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700217 &quot;endTime&quot;: &quot;A String&quot;, # The time this operation finished in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
218 &quot;error&quot;: { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated.
219 &quot;errors&quot;: [ # The list of errors encountered while processing this operation.
220 { # Database instance operation error.
221 &quot;code&quot;: &quot;A String&quot;, # Identifies the specific error that occurred.
222 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#operationError**.
223 &quot;message&quot;: &quot;A String&quot;, # Additional information about the error encountered.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700224 },
225 ],
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700226 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#operationErrors**.
227 },
228 &quot;exportContext&quot;: { # Database instance export context. # The context for export operation, if applicable.
229 &quot;csvExportOptions&quot;: { # Options for exporting data as CSV. **MySQL** and **PostgreSQL** instances only.
230 &quot;selectQuery&quot;: &quot;A String&quot;, # The select query used to extract the data.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700231 },
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700232 &quot;databases&quot;: [ # Databases to be exported. **MySQL instances:** If **fileType** is **SQL** and no database is specified, all databases are exported, except for the **mysql** system database. If **fileType** is **CSV**, you can specify one database, either by using this property or by using the **csvExportOptions.selectQuery** property, which takes precedence over this property. **PostgreSQL instances:** You must specify one database to be exported. If **fileType** is **CSV**, this database must match the one specified in the **csvExportOptions.selectQuery** property. **SQL Server instances:** You must specify one database to be exported, and the **fileType** must be **BAK**.
233 &quot;A String&quot;,
234 ],
235 &quot;fileType&quot;: &quot;A String&quot;, # The file type for the specified uri. **SQL**: The file contains SQL statements. **CSV**: The file contains CSV data. **BAK**: The file contains backup data for a SQL Server instance.
236 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#exportContext**.
237 &quot;offload&quot;: True or False, # Option for export offload.
238 &quot;sqlExportOptions&quot;: { # Options for exporting data as SQL statements.
239 &quot;mysqlExportOptions&quot;: { # Options for exporting from MySQL.
240 &quot;masterData&quot;: 42, # Option to include SQL statement required to set up replication. If set to **1**, the dump file includes a CHANGE MASTER TO statement with the binary log coordinates, and --set-gtid-purged is set to ON. If set to **2**, the CHANGE MASTER TO statement is written as a SQL comment and has no effect. If set to any value other than **1**, --set-gtid-purged is set to OFF.
241 },
242 &quot;schemaOnly&quot;: True or False, # Export only schemas.
243 &quot;tables&quot;: [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database. For PostgreSQL instances, you can specify only one table.
244 &quot;A String&quot;,
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700245 ],
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700246 },
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700247 &quot;uri&quot;: &quot;A String&quot;, # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form **gs://bucketName/fileName**. If the file already exists, the request succeeds, but the operation fails. If **fileType** is **SQL** and the filename ends with .gz, the contents are compressed.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700248 },
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700249 &quot;importContext&quot;: { # Database instance import context. # The context for import operation, if applicable.
250 &quot;bakImportOptions&quot;: { # Import parameters specific to SQL Server .BAK files
251 &quot;encryptionOptions&quot;: {
252 &quot;certPath&quot;: &quot;A String&quot;, # Path to the Certificate (.cer) in Cloud Storage, in the form **gs://bucketName/fileName**. The instance must have write permissions to the bucket and read access to the file.
253 &quot;pvkPassword&quot;: &quot;A String&quot;, # Password that encrypts the private key
254 &quot;pvkPath&quot;: &quot;A String&quot;, # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form **gs://bucketName/fileName**. The instance must have write permissions to the bucket and read access to the file.
255 },
256 },
257 &quot;csvImportOptions&quot;: { # Options for importing data as CSV.
258 &quot;columns&quot;: [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data.
259 &quot;A String&quot;,
260 ],
261 &quot;table&quot;: &quot;A String&quot;, # The table to which CSV data is imported.
262 },
263 &quot;database&quot;: &quot;A String&quot;, # The target database for the import. If **fileType** is **SQL**, this field is required only if the import file does not specify a database, and is overridden by any database specification in the import file. If **fileType** is **CSV**, one database must be specified.
264 &quot;fileType&quot;: &quot;A String&quot;, # The file type for the specified uri. **SQL**: The file contains SQL statements. **CSV**: The file contains CSV data.
265 &quot;importUser&quot;: &quot;A String&quot;, # The PostgreSQL user for this import operation. PostgreSQL instances only.
266 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#importContext**.
267 &quot;uri&quot;: &quot;A String&quot;, # Path to the import file in Cloud Storage, in the form **gs://bucketName/fileName**. Compressed gzip files (.gz) are supported when **fileType** is **SQL**. The instance must have write permissions to the bucket and read access to the file.
268 },
269 &quot;insertTime&quot;: &quot;A String&quot;, # The time this operation was enqueued in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
270 &quot;kind&quot;: &quot;A String&quot;, # This is always **sql#operation**.
271 &quot;name&quot;: &quot;A String&quot;, # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation.
272 &quot;operationType&quot;: &quot;A String&quot;, # The type of the operation. Valid values are: **CREATE** **DELETE** **UPDATE** **RESTART** **IMPORT** **EXPORT** **BACKUP_VOLUME** **RESTORE_VOLUME** **CREATE_USER** **DELETE_USER** **CREATE_DATABASE** **DELETE_DATABASE**
273 &quot;selfLink&quot;: &quot;A String&quot;, # The URI of this resource.
274 &quot;startTime&quot;: &quot;A String&quot;, # The time this operation actually started in UTC timezone in [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
275 &quot;status&quot;: &quot;A String&quot;, # The status of an operation. Valid values are: **PENDING** **RUNNING** **DONE** **SQL_OPERATION_STATUS_UNSPECIFIED**
276 &quot;targetId&quot;: &quot;A String&quot;, # Name of the database instance related to this operation.
277 &quot;targetLink&quot;: &quot;A String&quot;,
278 &quot;targetProject&quot;: &quot;A String&quot;, # The project ID of the target instance related to this operation.
279 &quot;user&quot;: &quot;A String&quot;, # The email address of the user who initiated this operation.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700280}</pre>
281</div>
282
283<div class="method">
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700284 <code class="details" id="verifyExternalSyncSettings">verifyExternalSyncSettings(project, instance, syncMode=None, verifyConnectionOnly=None, x__xgafv=None)</code>
285 <pre>Verify External primary instance external sync settings.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700286
287Args:
288 project: string, Project ID of the project that contains the instance. (required)
289 instance: string, Cloud SQL instance ID. This does not include the project ID. (required)
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700290 syncMode: string, External sync mode
291 Allowed values
292 EXTERNAL_SYNC_MODE_UNSPECIFIED - Unknown external sync mode, will be defaulted to ONLINE mode
293 ONLINE - Online external sync will set up replication after initial data external sync
294 OFFLINE - Offline external sync only dumps and loads a one-time snapshot of the primary instance&#x27;s data
295 verifyConnectionOnly: boolean, Flag to enable verifying connection only
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700296 x__xgafv: string, V1 error format.
297 Allowed values
298 1 - v1 error format
299 2 - v2 error format
300
301Returns:
302 An object of the form:
303
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700304 { # Instance verify external sync settings response.
305 &quot;errors&quot;: [ # List of migration violations.
306 { # External primary instance migration setting error.
307 &quot;detail&quot;: &quot;A String&quot;, # Additional information about the error encountered.
308 &quot;kind&quot;: &quot;A String&quot;, # Can be *sql#externalSyncSettingError* or *sql#externalSyncSettingWarning*.
309 &quot;type&quot;: &quot;A String&quot;, # Identifies the specific error that occurred.
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700310 },
311 ],
yoshi-code-bota36e3b12021-07-27 00:20:26 -0700312 &quot;kind&quot;: &quot;A String&quot;, # This is always *sql#migrationSettingErrorList*.
313 &quot;warnings&quot;: [ # List of migration warnings.
314 { # External primary instance migration setting error.
315 &quot;detail&quot;: &quot;A String&quot;, # Additional information about the error encountered.
316 &quot;kind&quot;: &quot;A String&quot;, # Can be *sql#externalSyncSettingError* or *sql#externalSyncSettingWarning*.
317 &quot;type&quot;: &quot;A String&quot;, # Identifies the specific error that occurred.
318 },
319 ],
yoshi-code-bot1a4514d2021-07-13 00:20:24 -0700320}</pre>
321</div>
322
323</body></html>