Azure Resource Manager Automanage client library for Java - version 1.0.0-beta.1
Azure Resource Manager Automanage client library for Java.
This package contains Microsoft Azure SDK for Automanage Management SDK. Automanage Client. Package tag package-2022-05. For documentation on how to use this package, please see Azure Management Libraries for Java.
We'd love to hear your feedback
We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
If you haven't already, please take a few minutes to complete this short survey we have put together.
Thank you in advance for your collaboration. We really appreciate your time!
Documentation
Various documentation is available to help you get started
Getting started
Prerequisites
- Java Development Kit (JDK) with version 8 or above
- Azure Subscription
Adding the package to your product
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-automanage</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
Include the recommended packages
Azure Management Libraries require a TokenCredential
implementation for authentication and an HttpClient
implementation for HTTP client.
Azure Identity package and Azure Core Netty HTTP package provide the default implementation.
Authentication
By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
AZURE_CLIENT_ID
for Azure client ID.AZURE_TENANT_ID
for Azure tenant ID.AZURE_CLIENT_SECRET
orAZURE_CLIENT_CERTIFICATE_PATH
for client secret or client certificate.
In addition, Azure subscription ID can be configured via environment variable AZURE_SUBSCRIPTION_ID
.
With above configuration, azure
client can be authenticated by following code:
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
.build();
AutomanageManager manager = AutomanageManager
.authenticate(credential, profile);
The sample code assumes global Azure. Please change AzureEnvironment.AZURE
variable if otherwise.
See Authentication for more options.
Key concepts
See API design for general introduction on design and key concepts on Azure Management Libraries.
Examples
Create Custom Configuration Profile
Map<String, String> tags = Map.of("environment", "prod");
String configuration = "{" +
"\"Antimalware/Enable\":false," +
"\"AzureSecurityCenter/Enable\":true," +
"\"Backup/Enable\":false," +
"\"BootDiagnostics/Enable\":true," +
"\"ChangeTrackingAndInventory/Enable\":true," +
"\"GuestConfiguration/Enable\":true," +
"\"LogAnalytics/Enable\":true," +
"\"UpdateManagement/Enable\":true," +
"\"VMInsights/Enable\":true" +
"}";
client
.configurationProfiles()
.define("configurationProfileName")
.withRegion("East US")
.withExistingResourceGroup("resourceGroup")
.withTags(tags)
.withProperties(
new ConfigurationProfileProperties()
.withConfiguration(
SerializerFactory
.createDefaultManagementSerializerAdapter()
.deserialize(
configuration,
Object.class,
SerializerEncoding.JSON)))
.create();
Delete Custom Configuration Profile by Resource ID
client.configurationProfiles().deleteById("<resource ID>");
Delete Custom Configuration Profile by Resource Group
client.configurationProfiles().deleteByResourceGroup("resourceGroup", "configurationProfileName");
Get Custom Configuration Profile by Resource ID
ConfigurationProfile profile = client.configurationProfiles().getById("<resource ID>");
System.out.println(profile.innerModel().properties().configuration());
Create Best Practices Production Profile Assignment
String configProfile = "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction";
client
.configurationProfileAssignments()
.define("default") // name must be default
.withExistingVirtualMachine("resourceGroup", "vmName")
.withProperties(
new ConfigurationProfileAssignmentProperties()
.withConfigurationProfile("configurationProfileName"))
.create();
Create Custom Profile Assignment
String configProfile = "/subscriptions/<subscription ID>/resourceGroups/resourceGroup/providers/Microsoft.Automanage/configurationProfiles/configurationProfileName";
client
.configurationProfileAssignments()
.define("default") // name must be default
.withExistingVirtualMachine("resourceGroup", "vmName")
.withProperties(
new ConfigurationProfileAssignmentProperties()
.withConfigurationProfile("configurationProfileName"))
.create();
Get Profile Assignment
ConfigurationProfileAssignment assignment = client.configurationProfileAssignments().get("resourceGroup", "default", "vmName"); // name must be default
Troubleshooting
Next steps
Contributing
For details on contributing to this repository, see the contributing guide.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request