# 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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: 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_on": "2014-01-01T05:20:00.12345Z", "modified_on": "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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: 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_on": "2014-01-01T05:20:00.12345Z", "modified_on": "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. - `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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: 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", 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_on": "2014-01-01T05:20:00.12345Z", "modified_on": "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` - `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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: 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", 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_on": "2014-01-01T05:20:00.12345Z", "modified_on": "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` - `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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: 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", 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_on": "2014-01-01T05:20:00.12345Z", "modified_on": "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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: 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_on": "2014-01-01T05:20:00.12345Z", "modified_on": "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_on: Optional[datetime]` The timestamp of when the monitor group was created - `modified_on: Optional[datetime]` The timestamp of when the monitor group was last updated # References ## List Monitor Group References `load_balancers.monitor_groups.references.get(strmonitor_group_id, ReferenceGetParams**kwargs) -> SyncSinglePage[ReferenceGetResponse]` **get** `/accounts/{account_id}/load_balancers/monitor_groups/{monitor_group_id}/references` Get the list of resources that reference the provided monitor group. ### Parameters - `account_id: str` Identifier. - `monitor_group_id: str` ### Returns - `class ReferenceGetResponse: …` - `reference_type: Optional[Literal["*", "referral", "referrer"]]` - `"*"` - `"referral"` - `"referrer"` - `resource_id: Optional[str]` - `resource_name: Optional[str]` - `resource_type: Optional[str]` ### 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.references.get( monitor_group_id="f1aba936b94213e5b8dca0c0dbf1f9cc", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.resource_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": [ { "reference_type": "referrer", "resource_id": "17b5962d775c646f3f9725cbc7a53df4", "resource_name": "primary-dc-1", "resource_type": "pool" } ], "success": true } ``` ## Domain Types ### Reference Get Response - `class ReferenceGetResponse: …` - `reference_type: Optional[Literal["*", "referral", "referrer"]]` - `"*"` - `"referral"` - `"referrer"` - `resource_id: Optional[str]` - `resource_name: Optional[str]` - `resource_type: Optional[str]`