{
    "interfaces": {
        "google.firestore.admin.v1.FirestoreAdmin": {
            "retry_codes": {
                "non_idempotent": [],
                "idempotent": [
                    "DEADLINE_EXCEEDED",
                    "UNAVAILABLE"
                ],
                "deadline_exceeded_internal_unavailable": [
                    "DEADLINE_EXCEEDED",
                    "INTERNAL",
                    "UNAVAILABLE"
                ]
            },
            "retry_params": {
                "default": {
                    "initial_retry_delay_millis": 100,
                    "retry_delay_multiplier": 1.3,
                    "max_retry_delay_millis": 60000,
                    "initial_rpc_timeout_millis": 60000,
                    "rpc_timeout_multiplier": 1,
                    "max_rpc_timeout_millis": 60000,
                    "total_timeout_millis": 600000
                }
            },
            "methods": {
                "CreateIndex": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListIndexes": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "GetIndex": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "DeleteIndex": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "GetField": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "UpdateField": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListFields": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "deadline_exceeded_internal_unavailable",
                    "retry_params_name": "default"
                },
                "ExportDocuments": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ImportDocuments": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "BulkDeleteDocuments": {
                    "timeout_millis": 60000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CreateDatabase": {
                    "timeout_millis": 120000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetDatabase": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListDatabases": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateDatabase": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteDatabase": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CreateUserCreds": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetUserCreds": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListUserCreds": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "EnableUserCreds": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DisableUserCreds": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ResetUserPassword": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteUserCreds": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetBackup": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListBackups": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteBackup": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "RestoreDatabase": {
                    "timeout_millis": 120000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CreateBackupSchedule": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "GetBackupSchedule": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "ListBackupSchedules": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "UpdateBackupSchedule": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "DeleteBackupSchedule": {
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                },
                "CloneDatabase": {
                    "timeout_millis": 120000,
                    "retry_codes_name": "non_idempotent",
                    "retry_params_name": "default"
                }
            }
        }
    }
}
