Skip to content

Commit f3b6d02

Browse files
authored
mgmt monitor , fix live test failures (#47427)
* test(monitor): update test configurations and add VM size specifications - Updated region from US_WEST to US_WEST2 in multiple test files - Added disableSharedKeyAccess() to various resource creations - Specified VirtualMachineSizeTypes.STANDARD_A1_V2 for VM instances - Imported VirtualMachineSizeTypes in relevant test classes * test(monitor): update autoscale tests to reflect email notification changes - Removed admin and co-admin email notifications from autoscale settings - Updated assertions to check for disabled email notifications - Adjusted test cases to align with new autoscale profile configurations - Verified autoscale enabled/disabled states in multiple scenarios - Ensured custom email notifications remain functional after updates - Cleaned up redundant autoscale profile removal logic * test(monitor): update tests for Azure Monitor management changes - Add ZoneOffset import for UTC time handling in AlertsTests - Remove deprecated admin/co-admin email notification assertions in AutoscaleTests - Comment out unsupported EventHub namespace creation in DiagnosticSettingsTests - Update subscription ID format with leading slash in DiagnosticSettingsTests - Set retention days to 0 for diagnostic settings due to policy changes - Disable test requiring Microsoft Entra-only authentication for Azure SQL Server * fix(monitor): update diagnostic settings test with correct retention days - Change retention days from 7 to 0 in logs and metrics configuration - Comment out invalid update operation that removes all data sinks - Remove assertion for storage account ID null check - Update test logic to align with diagnostic settings requirements * test(monitor): disable flaky test due to Azure SQL Server authentication requirement - Added @disabled annotation to canListEventsAndMetricsWithWhiteSpaceInResourceId test - Included explanatory message about Microsoft Entra-only authentication requirement - Preserved existing @DoNotRecord annotation behavior - Test will be re-enabled once Azure SQL Server supports proper authentication during creation * fix(monitor): prevent deletion error when resource group not found - Add check to verify resource group existence before deletion - Prevent IllegalArgumentException when resource group does not exist - Improve cleanup method reliability in ActionGroupsTests * chore(assets): update tag reference for azure-resourcemanager-monitor - Updated tag from fb1a47b010 to 28c5828c2d - Maintains consistency with latest asset changes * fix(tests): improve resource cleanup and add documentation link - Update resource group deletion logic to check existence before attempting removal - Add Microsoft documentation link for diagnostic settings storage lifecycle policy - Prevent potential errors during test cleanup phase - Clarify comments for better maintainability * test(monitor): remove unused event hubs imports in diagnostic settings tests - Removed unused EventHubNamespace import - Removed unused EventHubNamespaceAuthorizationRule import - Clean up import statements for better code readability * test(monitor): update autoscale tests to remove co-admin email notification assertions - Removed assertions for co-admin email notification being disabled - Commented out failing assertion lines in autoscale test cases - Maintained existing test structure and other assertion logic * fix(tests): update diagnostic settings test to assert storage account ID - Uncomment and update assertion to verify storage account ID matches expected value - Ensure storage account ID is correctly set in diagnostic settings configuration - Maintain existing assertions for other diagnostic settings properties * test(monitor): update region to US_WEST3 in diagnostic settings tests - Changed region from US_WEST2 to US_WEST3 in DiagnosticSettingsTests - Updated region configuration in MonitorActivityAndMetricsTests - Ensured consistency across monitor-related test cases
1 parent 10051b5 commit f3b6d02

File tree

7 files changed

+66
-38
lines changed

7 files changed

+66
-38
lines changed

sdk/monitor/azure-resourcemanager-monitor/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "java",
44
"TagPrefix": "java/monitor/azure-resourcemanager-monitor",
5-
"Tag": "java/monitor/azure-resourcemanager-monitor_fb1a47b010"
5+
"Tag": "java/monitor/azure-resourcemanager-monitor_28c5828c2d"
66
}

sdk/monitor/azure-resourcemanager-monitor/src/test/java/com/azure/resourcemanager/monitor/ActionGroupsTests.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ protected void initializeClients(HttpPipeline httpPipeline, AzureProfile profile
2525

2626
@Override
2727
protected void cleanUpResources() {
28-
resourceManager.resourceGroups().beginDeleteByName(rgName);
28+
// Check if resource group exists before deletion to avoid errors.
29+
if (resourceManager.resourceGroups().contain(rgName)) {
30+
resourceManager.resourceGroups().beginDeleteByName(rgName);
31+
}
2932
}
3033

3134
@Test

sdk/monitor/azure-resourcemanager-monitor/src/test/java/com/azure/resourcemanager/monitor/AlertsTests.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.azure.core.management.profile.AzureProfile;
1010
import com.azure.resourcemanager.compute.models.KnownLinuxVirtualMachineImage;
1111
import com.azure.resourcemanager.compute.models.VirtualMachine;
12+
import com.azure.resourcemanager.compute.models.VirtualMachineSizeTypes;
1213
import com.azure.resourcemanager.monitor.models.ActionGroup;
1314
import com.azure.resourcemanager.monitor.models.ActivityLogAlert;
1415
import com.azure.resourcemanager.monitor.models.DynamicThresholdFailingPeriods;
@@ -27,6 +28,7 @@
2728

2829
import java.time.Duration;
2930
import java.time.OffsetDateTime;
31+
import java.time.ZoneOffset;
3032
import java.util.Arrays;
3133
import java.util.Iterator;
3234

@@ -56,6 +58,7 @@ public void canCRUDMetricAlerts() throws Exception {
5658
.withRegion(Region.US_EAST2)
5759
.withNewResourceGroup(rgName)
5860
.withOnlyHttpsTraffic()
61+
.disableSharedKeyAccess()
5962
.create();
6063

6164
ActionGroup ag = monitorManager.actionGroups()
@@ -338,6 +341,7 @@ public void canCRUDMultipleResourceMetricAlerts() throws Exception {
338341
.withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_16_04_LTS)
339342
.withRootUsername(userName)
340343
.withSsh(sshPublicKey())
344+
.withSize(VirtualMachineSizeTypes.STANDARD_A1_V2)
341345
.create();
342346

343347
VirtualMachine vm2 = computeManager.virtualMachines()
@@ -350,6 +354,7 @@ public void canCRUDMultipleResourceMetricAlerts() throws Exception {
350354
.withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_16_04_LTS)
351355
.withRootUsername(userName)
352356
.withSsh(sshPublicKey())
357+
.withSize(VirtualMachineSizeTypes.STANDARD_A1_V2)
353358
.create();
354359

355360
MetricAlert ma = monitorManager.alertRules()
@@ -378,7 +383,9 @@ public void canCRUDMultipleResourceMetricAlerts() throws Exception {
378383
Assertions.assertEquals(0, ma.dynamicAlertCriterias().size());
379384
Assertions.assertEquals("Percentage CPU", ma.alertCriterias().get("Metric1").metricName());
380385

381-
OffsetDateTime time30MinBefore = OffsetDateTime.now().minusMinutes(30);
386+
// The date and time format should be: yyyy-dd-MMTHH:mm:ss.ffZ. For example: 2021-31-12T11:00:00.00Z.
387+
OffsetDateTime time30MinBefore = OffsetDateTime.now(ZoneOffset.UTC).minusMinutes(30).withNano(0);
388+
382389
ma.update()
383390
.withDescription("This alert rule is for U3 - Multiple resource, dynamic criteria")
384391
.withoutAlertCriteria("Metric1")

sdk/monitor/azure-resourcemanager-monitor/src/test/java/com/azure/resourcemanager/monitor/AutoscaleTests.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,18 @@ public void canCRUDAutoscale() throws Exception {
9595
.attach()
9696
.withRecurrentSchedule("UTC", "12:13", DayOfWeek.FRIDAY)
9797
.attach()
98-
.withAdminEmailNotification()
99-
.withCoAdminEmailNotification()
98+
// Sending email notifications to subscription administrator and coadministrators is not supported after April 3, 2024 due to Azure classic administrator retirement.
99+
//.withAdminEmailNotification()
100+
//.withCoAdminEmailNotification()
100101
.withCustomEmailsNotification("[email protected]", "[email protected]", "[email protected]")
101102
.withAutoscaleDisabled()
102103
.create();
103104

104105
Assertions.assertNotNull(setting);
105106
Assertions.assertEquals("somesettingZ", setting.name());
106107
assertResourceIdEquals(servicePlan.id(), setting.targetResourceId());
107-
Assertions.assertTrue(setting.adminEmailNotificationEnabled());
108-
Assertions.assertTrue(setting.coAdminEmailNotificationEnabled());
108+
//Assertions.assertTrue(setting.adminEmailNotificationEnabled());
109+
//Assertions.assertTrue(setting.coAdminEmailNotificationEnabled());
109110
Assertions.assertFalse(setting.autoscaleEnabled());
110111
Assertions.assertEquals(3, setting.customEmailsNotification().size());
111112
Assertions.assertEquals("[email protected]", setting.customEmailsNotification().get(0));
@@ -206,8 +207,8 @@ public void canCRUDAutoscale() throws Exception {
206207
Assertions.assertNotNull(settingFromGet);
207208
Assertions.assertEquals("somesettingZ", settingFromGet.name());
208209
assertResourceIdEquals(servicePlan.id(), settingFromGet.targetResourceId());
209-
Assertions.assertTrue(settingFromGet.adminEmailNotificationEnabled());
210-
Assertions.assertTrue(settingFromGet.coAdminEmailNotificationEnabled());
210+
//Assertions.assertTrue(settingFromGet.adminEmailNotificationEnabled());
211+
//Assertions.assertTrue(settingFromGet.coAdminEmailNotificationEnabled());
211212
Assertions.assertFalse(settingFromGet.autoscaleEnabled());
212213
Assertions.assertEquals(3, settingFromGet.customEmailsNotification().size());
213214
Assertions.assertEquals("[email protected]", settingFromGet.customEmailsNotification().get(0));
@@ -337,14 +338,15 @@ public void canCRUDAutoscale() throws Exception {
337338
.parent()
338339
.withoutAutoscaleProfile("AutoScaleProfile1")
339340
.withAutoscaleEnabled()
340-
.withoutCoAdminEmailNotification()
341+
// Sending email notifications to subscription administrator and coadministrators is not supported after April 3, 2024 due to Azure classic administrator retirement.
342+
//.withoutCoAdminEmailNotification()
341343
.apply();
342344

343345
Assertions.assertNotNull(setting);
344346
Assertions.assertEquals("somesettingZ", setting.name());
345347
assertResourceIdEquals(servicePlan.id(), setting.targetResourceId());
346-
Assertions.assertTrue(setting.adminEmailNotificationEnabled());
347-
Assertions.assertFalse(setting.coAdminEmailNotificationEnabled());
348+
//Assertions.assertTrue(setting.adminEmailNotificationEnabled());
349+
//Assertions.assertFalse(setting.coAdminEmailNotificationEnabled());
348350
Assertions.assertTrue(setting.autoscaleEnabled());
349351
Assertions.assertEquals(3, setting.customEmailsNotification().size());
350352
Assertions.assertEquals("[email protected]", setting.customEmailsNotification().get(0));
@@ -454,8 +456,8 @@ public void canCRUDAutoscale() throws Exception {
454456
Assertions.assertNotNull(settingFromGet);
455457
Assertions.assertEquals("somesettingZ", settingFromGet.name());
456458
assertResourceIdEquals(servicePlan.id(), settingFromGet.targetResourceId());
457-
Assertions.assertTrue(settingFromGet.adminEmailNotificationEnabled());
458-
Assertions.assertFalse(settingFromGet.coAdminEmailNotificationEnabled());
459+
//Assertions.assertTrue(settingFromGet.adminEmailNotificationEnabled());
460+
//Assertions.assertFalse(settingFromGet.coAdminEmailNotificationEnabled());
459461
Assertions.assertTrue(settingFromGet.autoscaleEnabled());
460462
Assertions.assertEquals(3, settingFromGet.customEmailsNotification().size());
461463
Assertions.assertEquals("[email protected]", settingFromGet.customEmailsNotification().get(0));

sdk/monitor/azure-resourcemanager-monitor/src/test/java/com/azure/resourcemanager/monitor/DiagnosticSettingsTests.java

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import com.azure.core.management.exception.ManagementException;
99
import com.azure.core.management.profile.AzureProfile;
1010
import com.azure.resourcemanager.compute.models.VirtualMachine;
11-
import com.azure.resourcemanager.eventhubs.models.EventHubNamespace;
12-
import com.azure.resourcemanager.eventhubs.models.EventHubNamespaceAuthorizationRule;
1311
import com.azure.resourcemanager.keyvault.models.Vault;
1412
import com.azure.resourcemanager.monitor.fluent.models.DiagnosticSettingsResourceInner;
1513
import com.azure.resourcemanager.monitor.models.DiagnosticSetting;
@@ -23,6 +21,7 @@
2321
import com.azure.resourcemanager.sql.models.SqlElasticPool;
2422
import com.azure.resourcemanager.storage.models.StorageAccount;
2523
import org.junit.jupiter.api.Assertions;
24+
import org.junit.jupiter.api.Disabled;
2625
import org.junit.jupiter.api.Test;
2726

2827
import java.time.Duration;
@@ -55,7 +54,7 @@ protected void cleanUpResources() {
5554
public void canCRUDDiagnosticSettings() {
5655

5756
// make sure there exists a VM
58-
Region region = Region.US_WEST;
57+
Region region = Region.US_WEST3;
5958
ResourceGroup resourceGroup = resourceManager.resourceGroups().define(rgName).withRegion(region).create();
6059
String vmName = generateRandomResourceName("jMonitorVm_", 18);
6160
VirtualMachine vm = ensureVM(region, resourceGroup, vmName, "10.0.0.0/28");
@@ -73,18 +72,21 @@ public void canCRUDDiagnosticSettings() {
7372
.withRegion(vm.region())
7473
.withNewResourceGroup(rgName)
7574
.withTag("tag1", "value1")
75+
.disableSharedKeyAccess()
7676
.create();
7777

78-
EventHubNamespace namespace = eventHubManager.namespaces()
79-
.define(ehName)
80-
// EventHub should be in the same region as resource
81-
.withRegion(vm.region())
82-
.withNewResourceGroup(rgName)
83-
.withNewManageRule("mngRule1")
84-
.withNewSendRule("sndRule1")
85-
.create();
78+
// TODO(v-huizhu2): This request was denied due to internal policy. Local authentication methods are not allowed
79+
// Will add back when local authentication is supported.
80+
// EventHubNamespace namespace = eventHubManager.namespaces()
81+
// .define(ehName)
82+
// // EventHub should be in the same region as resource
83+
// .withRegion(vm.region())
84+
// .withNewResourceGroup(rgName)
85+
// .withNewManageRule("mngRule1")
86+
// .withNewSendRule("sndRule1")
87+
// .create();
8688

87-
EventHubNamespaceAuthorizationRule evenHubNsRule = namespace.listAuthorizationRules().iterator().next();
89+
// EventHubNamespaceAuthorizationRule evenHubNsRule = namespace.listAuthorizationRules().iterator().next();
8890

8991
List<DiagnosticSettingsCategory> categories
9092
= monitorManager.diagnosticSettings().listCategoriesByResource(vm.id());
@@ -96,23 +98,25 @@ public void canCRUDDiagnosticSettings() {
9698
.define(dsName)
9799
.withResource(vm.id())
98100
.withStorageAccount(sa.id())
99-
.withEventHub(evenHubNsRule.id())
100-
.withLogsAndMetrics(categories, Duration.ofMinutes(5), 7)
101+
// .withEventHub(evenHubNsRule.id())
102+
.withLogsAndMetrics(categories, Duration.ofMinutes(5), 0)
101103
.create();
102104

103105
assertResourceIdEquals(vm.id(), setting.resourceId());
104106
assertResourceIdEquals(sa.id(), setting.storageAccountId());
105-
assertResourceIdEquals(evenHubNsRule.id(), setting.eventHubAuthorizationRuleId());
107+
// assertResourceIdEquals(evenHubNsRule.id(), setting.eventHubAuthorizationRuleId());
106108
Assertions.assertNull(setting.eventHubName());
107109
Assertions.assertNull(setting.workspaceId());
108110
Assertions.assertTrue(setting.logs().isEmpty());
109111
Assertions.assertFalse(setting.metrics().isEmpty());
110112

111-
setting.update().withoutStorageAccount().withoutLogs().apply();
113+
// At least one data sink needs to be specified.
114+
// setting.update().withoutStorageAccount().withoutLogs().apply();
115+
setting.update().withoutLogs().apply();
112116

113117
assertResourceIdEquals(vm.id(), setting.resourceId());
114-
assertResourceIdEquals(evenHubNsRule.id(), setting.eventHubAuthorizationRuleId());
115-
Assertions.assertNull(setting.storageAccountId());
118+
// assertResourceIdEquals(evenHubNsRule.id(), setting.eventHubAuthorizationRuleId());
119+
assertResourceIdEquals(sa.id(), setting.storageAccountId());
116120
Assertions.assertNull(setting.eventHubName());
117121
Assertions.assertNull(setting.workspaceId());
118122
Assertions.assertTrue(setting.logs().isEmpty());
@@ -145,9 +149,10 @@ public void canCRUDDiagnosticSettingsForSubscription() {
145149
.withRegion(region)
146150
.withNewResourceGroup(rgName)
147151
.withTag("tag1", "value1")
152+
.disableSharedKeyAccess()
148153
.create();
149154

150-
String resourceId = "subscriptions/" + monitorManager.subscriptionId();
155+
String resourceId = "/subscriptions/" + monitorManager.subscriptionId();
151156

152157
DiagnosticSetting setting = monitorManager.diagnosticSettings()
153158
.define(dsName)
@@ -205,6 +210,7 @@ public void canCRUDDiagnosticSettingsForVault() {
205210
.withRegion(region)
206211
.withNewResourceGroup(rgName)
207212
.withTag("tag1", "value1")
213+
.disableSharedKeyAccess()
208214
.create();
209215

210216
Vault vault = ensureVault(region, rgName);
@@ -226,7 +232,9 @@ public void canCRUDDiagnosticSettingsForVault() {
226232
.define(dsName)
227233
.withResource(vault.id())
228234
.withStorageAccount(sa.id())
229-
.withLogsAndMetrics(categories, Duration.ofMinutes(5), 7)
235+
// Diagnostic settings does not support retention for new diagnostic settings.
236+
// https://learn.microsoft.com/azure/azure-monitor/platform/migrate-to-azure-storage-lifecycle-policy?tabs=cli
237+
.withLogsAndMetrics(categories, Duration.ofMinutes(5), 0)
230238
.create();
231239

232240
Assertions.assertTrue(vault.id().equalsIgnoreCase(setting.resourceId()));
@@ -273,7 +281,7 @@ public void canCRUDDiagnosticSettingsForVault() {
273281
// verify category logs and category group logs can both be present during update
274282
// issue: https://github.com/Azure/azure-sdk-for-java/issues/35425
275283
// mixture of category group and category logs aren't supported
276-
Assertions.assertThrows(ManagementException.class, () -> setting.update().withLog("AuditEvent", 7).apply());
284+
Assertions.assertThrows(ManagementException.class, () -> setting.update().withLog("AuditEvent", 0).apply());
277285

278286
setting.refresh();
279287

@@ -316,14 +324,16 @@ public void canCRUDDiagnosticSettingsLogsCategoryGroup() {
316324
.withRegion(region)
317325
.withExistingResourceGroup(rgName)
318326
.withTag("tag1", "value1")
327+
.disableSharedKeyAccess()
319328
.create();
320329

321330
// diagnostic setting
322331
DiagnosticSetting setting = monitorManager.diagnosticSettings()
323332
.define(dsName)
324333
.withResource(wpsResource.id())
325334
.withStorageAccount(sa.id())
326-
.withLog("MessagingLogs", 7)
335+
// Diagnostic settings does not support retention for new diagnostic settings.
336+
.withLog("MessagingLogs", 0)
327337
.create();
328338

329339
// add category group "audit" to log settings
@@ -342,7 +352,7 @@ public void canCRUDDiagnosticSettingsLogsCategoryGroup() {
342352
Assertions.assertTrue(setting.logs().stream().anyMatch(ls -> "audit".equals(ls.categoryGroup())));
343353

344354
// update to add metric
345-
setting.update().withMetric("AllMetrics", Duration.ofMinutes(5), 7).apply();
355+
setting.update().withMetric("AllMetrics", Duration.ofMinutes(5), 0).apply();
346356

347357
// verify category group "audit"
348358
setting = monitorManager.diagnosticSettings().listByResource(wpsResource.id()).iterator().next();
@@ -352,6 +362,7 @@ public void canCRUDDiagnosticSettingsLogsCategoryGroup() {
352362
}
353363

354364
@Test
365+
@Disabled("Azure SQL Server should have Microsoft Entra-only authentication enabled during creation.")
355366
public void canCRUDDiagnosticSettingsWithResourceIdWhiteSpace() {
356367
Region region = Region.US_EAST;
357368

@@ -360,6 +371,7 @@ public void canCRUDDiagnosticSettingsWithResourceIdWhiteSpace() {
360371
.withRegion(region)
361372
.withNewResourceGroup(rgName)
362373
.withTag("tag1", "value1")
374+
.disableSharedKeyAccess()
363375
.create();
364376

365377
SqlElasticPool sqlElasticPool = ensureElasticPoolWithWhiteSpace(region, rgName);

sdk/monitor/azure-resourcemanager-monitor/src/test/java/com/azure/resourcemanager/monitor/MonitorActivityAndMetricsTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.azure.resourcemanager.sql.models.SqlElasticPool;
2222
import com.azure.resourcemanager.test.utils.TestUtilities;
2323
import org.junit.jupiter.api.Assertions;
24+
import org.junit.jupiter.api.Disabled;
2425
import org.junit.jupiter.api.Test;
2526

2627
import java.time.OffsetDateTime;
@@ -46,7 +47,7 @@ protected void cleanUpResources() {
4647
@DoNotRecord(skipInPlayback = true)
4748
public void canListEventsAndMetrics() {
4849
// make sure there exists a VM
49-
Region region = Region.US_WEST;
50+
Region region = Region.US_WEST3;
5051
String vmName = generateRandomResourceName("jMonitorVm_", 18);
5152
VirtualMachine vm = ensureVM(region,
5253
resourceManager.resourceGroups().define(rgName).withRegion(region).create(), vmName, "10.0.0.0/28");
@@ -130,6 +131,7 @@ public void canListEventsAndMetrics() {
130131

131132
@Test
132133
@DoNotRecord(skipInPlayback = true)
134+
@Disabled("Azure SQL Server should have Microsoft Entra-only authentication enabled during creation.")
133135
public void canListEventsAndMetricsWithWhiteSpaceInResourceId() {
134136
Region region = Region.US_EAST;
135137
SqlElasticPool pool = ensureElasticPoolWithWhiteSpace(region, rgName);

sdk/monitor/azure-resourcemanager-monitor/src/test/java/com/azure/resourcemanager/monitor/MonitorManagementTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.azure.resourcemanager.compute.ComputeManager;
1616
import com.azure.resourcemanager.compute.models.KnownLinuxVirtualMachineImage;
1717
import com.azure.resourcemanager.compute.models.VirtualMachine;
18+
import com.azure.resourcemanager.compute.models.VirtualMachineSizeTypes;
1819
import com.azure.resourcemanager.eventhubs.EventHubsManager;
1920
import com.azure.resourcemanager.keyvault.KeyVaultManager;
2021
import com.azure.resourcemanager.keyvault.models.Vault;
@@ -82,6 +83,7 @@ protected VirtualMachine ensureVM(Region region, ResourceGroup resourceGroup, St
8283
.withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_16_04_LTS)
8384
.withRootUsername("Foo12")
8485
.withSsh(sshPublicKey())
86+
.withSize(VirtualMachineSizeTypes.STANDARD_A1_V2)
8587
.create();
8688
}
8789

0 commit comments

Comments
 (0)