Source code for idem_azure.exec.azure.resource_management.resource_groups
"""Exec module for managing resource groups."""fromcollectionsimportOrderedDictfromtypingimportAnyfromtypingimportDict__func_alias__={"list_":"list"}
[docs]asyncdefget(hub,ctx,resource_id:str,name:str=None,raw:bool=False)->Dict[str,Any]:"""Get resource group from resource_id. Args: resource_id(str): The resource_id of resource group name(str, Optional): The name of the resource raw(bool, Optional): Returns raw response if True. Defaults to False Returns: Dict[str, Any] Examples: Calling this exec module function from the cli with resource_id: .. code-block:: bash idem exec azure.resource_management.resource_groups.get resource_id="value" Using in a state: .. code-block:: yaml my_unmanaged_resource: exec.run: - path: azure.resource_management.resource_groups.get - kwargs: resource_id: "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}" """result=dict(comment=[],result=True,ret=None)api_version=hub.tool.azure.api_versions.get_api_version("azure.resource_management.resource_groups")response_get=awaithub.exec.request.json.get(ctx,url=f"{ctx.acct.endpoint_url}{resource_id}?api-version={api_version}",success_codes=[200],)ifnotresponse_get["result"]:ifresponse_get["status"]!=404:result["result"]=Falseresult["comment"].extend(hub.tool.azure.result_utils.extract_error_comments(response_get))returnresultifraw:result["ret"]=response_get["ret"]else:uri_parameters=OrderedDict({"resourceGroups":"resource_group_name","subscriptions":"subscription_id",})uri_parameter_values=hub.tool.azure.uri.get_parameter_value_in_dict(resource_id,uri_parameters)result["ret"]=hub.tool.azure.resource_management.resource_groups.convert_raw_resource_group_to_present(resource=response_get["ret"],idem_resource_name=resource_id,resource_id=resource_id,**uri_parameter_values,)returnresult
[docs]asyncdeflist_(hub,ctx)->Dict:"""List of resource groups Returns: Dict[str, Any] Examples: Calling this exec module function from the cli with resource_id: .. code-block:: bash idem exec azure.resource_management.resource_groups.list Using in a state: .. code-block:: yaml my_unmanaged_resource: exec.run: - path: azure.resource_management.resource_groups.list """result=dict(comment=[],result=True,ret=[])subscription_id=ctx.acct.subscription_iduri_parameters=OrderedDict({"resourceGroups":"resource_group_name","subscriptions":"subscription_id"})api_version=hub.tool.azure.api_versions.get_api_version("azure.resource_management.resource_groups")asyncforpage_resultinhub.tool.azure.request.paginate(ctx,url=f"{ctx.acct.endpoint_url}/subscriptions/{subscription_id}/resourcegroups?api-version={api_version}",success_codes=[200],):resource_list=page_result.get("value")ifresource_list:forresourceinresource_list:resource_id=resource["id"]uri_parameter_values=hub.tool.azure.uri.get_parameter_value_in_dict(resource_id,uri_parameters)result["ret"].append(hub.tool.azure.resource_management.resource_groups.convert_raw_resource_group_to_present(resource=resource,idem_resource_name=resource_id,resource_id=resource_id,**uri_parameter_values,))returnresult