# Monitor Groups ## List Monitor Groups `load_balancers.monitor_groups.list(MonitorGroupListParams**kwargs) -> SyncSinglePage[MonitorGroup]` **get** `/accounts/{account_id}/load_balancers/monitor_groups` List configured monitor groups. ### Parameters - `account_id: str` Identifier. ### Returns - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.load_balancers.monitor_groups.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": [ { "id": "id", "description": "Primary datacenter monitors", "members": [ { "enabled": true, "monitor_id": "monitor_id", "monitoring_only": false, "must_be_healthy": true, "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "success": true, "result_info": { "count": 20, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Monitor Group Details `load_balancers.monitor_groups.get(strmonitor_group_id, MonitorGroupGetParams**kwargs) -> MonitorGroup` **get** `/accounts/{account_id}/load_balancers/monitor_groups/{monitor_group_id}` Fetch a single configured monitor group. ### Parameters - `account_id: str` Identifier. - `monitor_group_id: str` ### Returns - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) monitor_group = client.load_balancers.monitor_groups.get( monitor_group_id="17b5962d775c646f3f9725cbc7a53df4", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(monitor_group.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "id", "description": "Primary datacenter monitors", "members": [ { "enabled": true, "monitor_id": "monitor_id", "monitoring_only": false, "must_be_healthy": true, "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" }, "success": true } ``` ## Create Monitor Group `load_balancers.monitor_groups.create(MonitorGroupCreateParams**kwargs) -> MonitorGroup` **post** `/accounts/{account_id}/load_balancers/monitor_groups` Create a new monitor group. ### Parameters - `account_id: str` Identifier. - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: Iterable[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[Union[str, datetime]]` The timestamp of when the monitor was added to the group - `updated_at: Optional[Union[str, datetime]]` The timestamp of when the monitor group member was last updated ### Returns - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) monitor_group = client.load_balancers.monitor_groups.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", id="id", description="Primary datacenter monitors", members=[{ "enabled": True, "monitor_id": "monitor_id", "monitoring_only": False, "must_be_healthy": True, }], ) print(monitor_group.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "id", "description": "Primary datacenter monitors", "members": [ { "enabled": true, "monitor_id": "monitor_id", "monitoring_only": false, "must_be_healthy": true, "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" }, "success": true } ``` ## Update Monitor Group `load_balancers.monitor_groups.update(strmonitor_group_id, MonitorGroupUpdateParams**kwargs) -> MonitorGroup` **put** `/accounts/{account_id}/load_balancers/monitor_groups/{monitor_group_id}` Modify a configured monitor group. ### Parameters - `account_id: str` Identifier. - `monitor_group_id: str` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: Iterable[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[Union[str, datetime]]` The timestamp of when the monitor was added to the group - `updated_at: Optional[Union[str, datetime]]` The timestamp of when the monitor group member was last updated ### Returns - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) monitor_group = client.load_balancers.monitor_groups.update( monitor_group_id="17b5962d775c646f3f9725cbc7a53df4", account_id="023e105f4ecef8ad9ca31a8372d0c353", id="id", description="Primary datacenter monitors", members=[{ "enabled": True, "monitor_id": "monitor_id", "monitoring_only": False, "must_be_healthy": True, }], ) print(monitor_group.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "id", "description": "Primary datacenter monitors", "members": [ { "enabled": true, "monitor_id": "monitor_id", "monitoring_only": false, "must_be_healthy": true, "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" }, "success": true } ``` ## Patch Monitor Group `load_balancers.monitor_groups.edit(strmonitor_group_id, MonitorGroupEditParams**kwargs) -> MonitorGroup` **patch** `/accounts/{account_id}/load_balancers/monitor_groups/{monitor_group_id}` Apply changes to an existing monitor group, overwriting the supplied properties. ### Parameters - `account_id: str` Identifier. - `monitor_group_id: str` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: Iterable[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[Union[str, datetime]]` The timestamp of when the monitor was added to the group - `updated_at: Optional[Union[str, datetime]]` The timestamp of when the monitor group member was last updated ### Returns - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) monitor_group = client.load_balancers.monitor_groups.edit( monitor_group_id="17b5962d775c646f3f9725cbc7a53df4", account_id="023e105f4ecef8ad9ca31a8372d0c353", id="id", description="Primary datacenter monitors", members=[{ "enabled": True, "monitor_id": "monitor_id", "monitoring_only": False, "must_be_healthy": True, }], ) print(monitor_group.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "id", "description": "Primary datacenter monitors", "members": [ { "enabled": true, "monitor_id": "monitor_id", "monitoring_only": false, "must_be_healthy": true, "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" }, "success": true } ``` ## Delete Monitor Group `load_balancers.monitor_groups.delete(strmonitor_group_id, MonitorGroupDeleteParams**kwargs) -> MonitorGroup` **delete** `/accounts/{account_id}/load_balancers/monitor_groups/{monitor_group_id}` Delete a configured monitor group. ### Parameters - `account_id: str` Identifier. - `monitor_group_id: str` ### Returns - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) monitor_group = client.load_balancers.monitor_groups.delete( monitor_group_id="17b5962d775c646f3f9725cbc7a53df4", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(monitor_group.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "id", "description": "Primary datacenter monitors", "members": [ { "enabled": true, "monitor_id": "monitor_id", "monitoring_only": false, "must_be_healthy": true, "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" } ], "created_at": "2014-01-01T05:20:00.12345Z", "updated_at": "2014-01-01T05:20:00.12345Z" }, "success": true } ``` ## Domain Types ### Monitor Group - `class MonitorGroup: …` - `id: str` The ID of the Monitor Group to use for checking the health of origins within this pool. - `description: str` A short description of the monitor group - `members: List[Member]` List of monitors in this group - `enabled: bool` Whether this monitor is enabled in the group - `monitor_id: str` The ID of the Monitor to use for checking the health of origins within this pool. - `monitoring_only: bool` Whether this monitor is used for monitoring only (does not affect pool health) - `must_be_healthy: bool` Whether this monitor must be healthy for the pool to be considered healthy - `created_at: Optional[datetime]` The timestamp of when the monitor was added to the group - `updated_at: Optional[datetime]` The timestamp of when the monitor group member was last updated - `created_at: Optional[datetime]` The timestamp of when the monitor group was created - `updated_at: Optional[datetime]` The timestamp of when the monitor group was last updated