az_subscription {AzureRMR} | R Documentation |
Azure subscription class
Description
Class representing an Azure subscription.
Format
An R6 object of class az_subscription
.
Methods
-
new(token, id, ...)
: Initialize a subscription object. -
list_resource_groups(filter, top)
: Return a list of resource group objects for this subscription.filter
andtop
are optional arguments to filter the results; see the Azure documentation for more details. Iftop
is specified, the returned list will have a maximum of this many items. -
get_resource_group(name)
: Return an object representing an existing resource group. -
create_resource_group(name, location)
: Create a new resource group in the specified region/location, and return an object representing it. By default, AzureRMR will set thecreatedBy
tag on a newly-created resource group to the valueAzureR/AzureRMR
. -
delete_resource_group(name, confirm=TRUE)
: Delete a resource group, after asking for confirmation. -
resource_group_exists(name)
: Check if a resource group exists. -
list_resources(filter, expand, top)
: List all resources deployed under this subscription.filter
,expand
andtop
are optional arguments to filter the results; see the Azure documentation for more details. Iftop
is specified, the returned list will have a maximum of this many items. -
list_locations(info=c("partial", "all"))
: List locations available. The defaultinfo="partial"
returns a subset of the information about each location; setinfo="all"
to return everything. -
get_provider_api_version(provider, type, which=1, stable_only=TRUE)
: Get the current API version for the given resource provider and type. If no resource type is supplied, returns a vector of API versions, one for each resource type for the given provider. If neither provider nor type is supplied, returns the API versions for all resources and providers. Setstable_only=FALSE
to allow preview APIs to be returned. Setwhich
to a number > 1 to return an API other than the most recent. -
do_operation(...)
: Carry out an operation. See 'Operations' for more details. -
create_lock(name, level)
: Create a management lock on this subscription (which will propagate to all resources within it). -
get_lock(name)
: Returns a management lock object. -
delete_lock(name)
: Deletes a management lock object. -
list_locks()
: List all locks that exist in this subscription. -
add_role_assignment(name, ...)
: Adds a new role assignment. See 'Role-based access control' below. -
get_role_assignment(id)
: Retrieves an existing role assignment. -
remove_role_assignment(id)
: Removes an existing role assignment. -
list_role_assignments()
: Lists role assignments. -
get_role_definition(id)
: Retrieves an existing role definition. -
list_role_definitions()
Lists role definitions. -
get_tags()
Get the tags on this subscription.
Details
Generally, the easiest way to create a subscription object is via the get_subscription
or list_subscriptions
methods of the az_rm class. To create a subscription object in isolation, call the new()
method and supply an Oauth 2.0 token of class AzureToken, along with the ID of the subscription.
Operations
The do_operation()
method allows you to carry out arbitrary operations on the subscription. It takes the following arguments:
-
op
: The operation in question, which will be appended to the URL path of the request. -
options
: A named list giving the URL query parameters. -
...
: Other named arguments passed to call_azure_rm, and then to the appropriate call in httr. In particular, usebody
to supply the body of a PUT, POST or PATCH request, andapi_version
to set the API version. -
http_verb
: The HTTP verb as a string, one ofGET
,PUT
,POST
,DELETE
,HEAD
orPATCH
.
Consult the Azure documentation for what operations are supported.
Role-based access control
AzureRMR implements a subset of the full RBAC functionality within Azure Active Directory. You can retrieve role definitions and add and remove role assignments, at the subscription, resource group and resource levels. See rbac for more information.
See Also
Azure Resource Manager overview
For role-based access control methods, see rbac
For management locks, see lock
Examples
## Not run:
# recommended way to retrieve a subscription object
sub <- get_azure_login("myaadtenant")$
get_subscription("subscription_id")
# retrieve list of resource group objects under this subscription
sub$list_resource_groups()
# get a resource group
sub$get_resource_group("rgname")
# check if a resource group exists, and if not, create it
rg_exists <- sub$resource_group_exists("rgname")
if(!rg_exists)
sub$create_resource_group("rgname", location="australiaeast")
# delete a resource group
sub$delete_resource_group("rgname")
# get provider API versions for some resource types
sub$get_provider_api_version("Microsoft.Compute", "virtualMachines")
sub$get_provider_api_version("Microsoft.Storage", "storageAccounts")
## End(Not run)