- Update documentation links for CRAN
- Fix broken
list_azure_loginsfunction. Thanks to Pedro Z (@pedrobtz). - Add a
get_tagsmethod for subscription objects. Thanks to Bert Neef (@bertneef).
- Some tweaks to the logic for retrieving ARM login objects. Like with
AzureGraph::get_graph_login,get_azure_loginnow hasapp,scopesandauth_typearguments to let you specify a particular login to retrieve.
- Replace the old "Service principal" vignette with an "Authentication basics" vignette, which provides more information on common authentication flows.
- Update Resource Manager API version to "2021-04-01".
- Also update
az_subscription$list_locationsto handle the new response format.
- Also update
- Fix the
set_tagsmethod to work when called inside a function (#18). get_resource(*, api_version=NULL)when there are no stable API versions will now warn and use the latest preview version, rather than throw an error (#19).
- Some utility functions moved to AzureGraph package. These are imported and then reexported by AzureRMR so that existing code should work unchanged.
- Add methods to get, create and delete sub-resources of a resource, eg
res$get_subresource(type="subrestype", name="subresname"). Seeaz_resourcefor more information. - Fix a bug in obtaining the Microsoft Graph login when using AAD v2.0.
- Switch to AAD v2.0 as the default for authenticating.
- Add ability to specify user-defined functions in
build_template_definition. Also allow changing the schema, content version and api profile. - Change maintainer email address.
- Fix a bug in printing the error message when a template deployment fails.
- Use HTTPS for the template schema URL, if not otherwise provided by the user.
- Add filtering arguments (
filter,expandandtop) for thelist_resource_groups,list_templatesandlist_resourcesmethods, to trim the results. See the Azure docs for more details. - Add
createdBy:AzureR/AzureRMRtag to Azure objects (resource groups, resources and templates) created by this package. - Add a
get_tags()method for templates.
- Allow for extra resource type-specific fields beyond those mentioned in the Resource Manager documentation. In particular, virtual machines and managed disks may have a
zonesfield containing the availability zones.
- Add
do_operationmethod for the Resource Manager login client, allowing arbitrary operations at the top-level scope.
- Update Resource Manager API version to "2019-10-01".
- Export
get_paged_listutility function.
- New in this version is a facility for parallelising connections to Azure, using a pool of background processes. Some operations, such as downloading many small files or interacting with a cluster of VMs, can be sped up significantly by carrying them out in parallel rather than sequentially. The code for this is currently duplicated in multiple packages including AzureStor and AzureVM; putting it in AzureRMR removes the duplication and also makes it available to other packages that may benefit. See
?poolfor more details. - Expose
do_operationmethods for subscription and resource group objects, similar to that for resources. This allows arbitrary operations on a sub or RG. - AzureRMR now directly imports AzureGraph.
- Update default Resource Manager API version to "2019-08-01".
- Provide more informative error messages, especially when a template deployment fails.
- If the AzureGraph package is installed,
create_azure_logincan now create a login client for Microsoft Graph with the same credentials as the ARM client. This is to facilitate working with registered apps and service principals, eg when managing roles and permissions. Some Azure services also require creating service principals as part of creating a resource (eg Azure Kubernetes Service), and keeping the Graph credentials consistent with ARM helps ensure nothing breaks. - Fix a bug where
create_azure_loginstill required thetenantargument when a token was supplied. - Fixes to allow use of Azure Active Directory v2.0 tokens for authenticating. Note that AAD v1.0 is still the default and recommended version.
- Use
utils::askYesNofor confirmation prompts on R >= 3.5, eg when deleting resources; this fixes a bug in reading the input. As a side-effect, Windows users who are using RGUI.exe will see a popup dialog box instead of a message in the terminal.
- Fix a bug where failure to create a resource would not be detected.
- Make setting tags more robust (some resources return a null tags field when no tags are present, rather than an empty object).
- Better handling of null fields for all REST calls.
- Fix a bug in template deployment where null fields were not handled correctly.
- New
build_template_definitionandbuild_parameters_parametersgenerics to help in template deployment. These can take as inputs R lists, JSON text strings, or file connections, and can also be extended by other packages.
- Some refactoring of login code to better handle AzureAuth options. As part of this, the
config_fileargument foraz_rm$newhas been removed; to use a configuration file, call the (recommended)create_azure_loginfunction. az_subscription$get_provider_api_versionnow returns only stable APIs by default. Set the argumentstable_only=FALSEto allow returning preview APIs.
- This version adds basic support for role-based access control (RBAC) at subscription, resource group and resource level. Add and remove role assignments, and retrieve role definitions. See
?rbacfor more information. - Fix a bug where if the user decides not to create a caching dir when prompted by AzureAuth, AzureRMR would pop up a second prompt.
- Internal refactoring to remove duplicated code.
- New
create_azure_login,get_azure_loginanddelete_azure_loginfunctions to handle ARM authentication. By default, these will authenticate using your AAD user credentials without requiring you to create a service principal. Directly callingaz_rm$new()will still work, but it's recommended to usecreate_azure_loginandget_azure_logingoing forward. Login credentials will be saved and reused for subsequent sessions (see below). - Token acquisition logic substantially enhanced and moved to a new package, AzureAuth.
get_azure_tokennow supports four authentication methods for obtaining tokens (client_credentials,authorization_code,device_codeandresource_owner). Tokens are also automatically cached and retrieved for use in subsequent sessions, without needing the user to reauthenticate. See the AzureAuth documentation for more details.
- Don't print empty fields for ARM objects.
- Add optional
etagfield to resource object definition. - Add
locationargument toaz_resource_group$create_resourcemethod, rather than hardcoding it to the resgroup location. - Add
waitargument when creating a new resource, similar to deploying a template, since some resources will return before provisioning is complete. Defaults toFALSEfor backward compatibility. - Export
is_azure_token. - Allow
az_resource_group$deploy_template()to work withoutparametersarg (parameters folded into template itself). - Fix a bug that kept
az_resource_group$delete_resourcefrom deleting the resource. - New resource method
az_resource$get_api_versionto matchset_api_version. - By default, use the latest stable API version when interacting with resources.
az_resource$set_api_versiongains a new argumentstable_onlywhich defaults toTRUE; set this toFALSEif you want the latest preview version. az_resource$sync_fields()will respect a non-default API version.- Add management lock functionality for subscriptions, resource groups and resources. Call
create_lockto create a lock,get_lockto retrieve an existing lock object, anddelete_lockto delete a lock. Calllist_locksto list all the locks that apply to an object. - Add tagging functionality for resource groups, similar to that for resources. Call
set_tagsto set tags, andget_tagsto retrieve them. - Allow
named_listto accept empty inputs. The output will be a list of length 0 with anamesattribute. - Fix template deployment not to drop empty fields (related to #13).
- Submitted to CRAN
- Moved to cloudyr organisation