# Class OpportunisticMaintenanceStrategy (2.65.0)

2.65.0 (latest) 2.62.0 2.61.0 2.60.0 2.59.0 2.58.0 2.57.0 2.56.1 2.55.1 2.54.0 2.53.0 2.52.0 2.50.0 2.49.0 2.48.0 2.47.1 2.46.0 2.45.0 2.44.0 2.43.0 2.42.0 2.41.0 2.40.0 2.39.0 2.38.0 2.37.0 2.36.0 2.35.0 2.34.0 2.33.0 2.32.0 2.31.0 2.30.0 2.29.0 2.28.0 2.27.0 2.26.0 2.25.0 2.24.0 2.23.0 2.22.0 2.21.0 2.20.0 2.19.0 2.18.0 2.17.4 2.16.0 2.15.0 2.14.0 2.13.0 2.12.2 2.11.2 2.10.8 2.9.0 2.8.1 2.7.1 2.6.1 2.5.0 2.4.1 2.3.1 2.2.0 2.1.0 2.0.1 1.0.3 0.5.0 0.4.0 0.3.0

    OpportunisticMaintenanceStrategy(
        mapping=None, *, ignore_unknown_fields=False, **kwargs
    )

Strategy that will trigger maintenance on behalf of the
customer.

.. _oneof: <https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields>

| ## Attributes ||
|---|---|
| **Name** | **Description** |
| `node_idle_time_window` | `google.protobuf.duration_pb2.Duration` The amount of time that a node can remain idle (no customer owned workloads running), before triggering maintenance. This field is a member of `oneof`_ `_node_idle_time_window`. |
| `maintenance_availability_window` | `google.protobuf.duration_pb2.Duration` The window of time that opportunistic maintenance can run. Example: A setting of 14 days implies that opportunistic maintenance can only be ran in the 2 weeks leading up to the scheduled maintenance date. Setting 28 days allows opportunistic maintenance to run at any time in the scheduled maintenance window (all `PERIODIC` maintenance is set 28 days in advance). This field is a member of `oneof`_ `_maintenance_availability_window`. |
| `min_nodes_per_pool` | `int` The minimum nodes required to be available in a pool. Blocks maintenance if it would cause the number of running nodes to dip below this value. This field is a member of `oneof`_ `_min_nodes_per_pool`. |