Skip to content

Commit a6c4c9b

Browse files
authored
mgmt, support timecreated for vm (Azure#34567)
* regen * support timeCreated * supported timecreated for VM
1 parent 524c832 commit a6c4c9b

File tree

12 files changed

+766
-716
lines changed

12 files changed

+766
-716
lines changed

sdk/resourcemanager/azure-resourcemanager-compute/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## 2.26.0-beta.1 (Unreleased)
44

5+
### Features Added
6+
7+
- Supported `timeCreated()` in `VirtualMachineScaleSetVM` and `VirtualMachine`.
8+
59
### Breaking Changes
610

711
- Changed type from `ApiEntityReference` to `DiskRestorePointAttributes` of `diskRestorePoint` property in `RestorePointSourceVMDataDisk` and `RestorePointSourceVmosDisk` class.

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/fluent/models/VirtualMachineScaleSetVMInner.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.azure.resourcemanager.compute.models.VirtualMachineScaleSetVMNetworkProfileConfiguration;
2121
import com.azure.resourcemanager.compute.models.VirtualMachineScaleSetVMProtectionPolicy;
2222
import com.fasterxml.jackson.annotation.JsonProperty;
23+
import java.time.OffsetDateTime;
2324
import java.util.List;
2425
import java.util.Map;
2526

@@ -542,6 +543,15 @@ public VirtualMachineScaleSetVMInner withUserData(String userData) {
542543
return this;
543544
}
544545

546+
/**
547+
* Get the timeCreated property: Specifies the time at which the Virtual Machine resource was created.
548+
*
549+
* @return the timeCreated value.
550+
*/
551+
public OffsetDateTime timeCreated() {
552+
return this.innerProperties() == null ? null : this.innerProperties().timeCreated();
553+
}
554+
545555
/**
546556
* Validates the instance.
547557
*

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/fluent/models/VirtualMachineScaleSetVMPropertiesInner.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.azure.resourcemanager.compute.models.VirtualMachineScaleSetVMNetworkProfileConfiguration;
1717
import com.azure.resourcemanager.compute.models.VirtualMachineScaleSetVMProtectionPolicy;
1818
import com.fasterxml.jackson.annotation.JsonProperty;
19+
import java.time.OffsetDateTime;
1920

2021
/** Describes the properties of a virtual machine scale set virtual machine. */
2122
@Fluent
@@ -139,6 +140,12 @@ public final class VirtualMachineScaleSetVMPropertiesInner {
139140
@JsonProperty(value = "userData")
140141
private String userData;
141142

143+
/*
144+
* Specifies the time at which the Virtual Machine resource was created.
145+
*/
146+
@JsonProperty(value = "timeCreated", access = JsonProperty.Access.WRITE_ONLY)
147+
private OffsetDateTime timeCreated;
148+
142149
/** Creates an instance of VirtualMachineScaleSetVMPropertiesInner class. */
143150
public VirtualMachineScaleSetVMPropertiesInner() {
144151
}
@@ -468,6 +475,15 @@ public VirtualMachineScaleSetVMPropertiesInner withUserData(String userData) {
468475
return this;
469476
}
470477

478+
/**
479+
* Get the timeCreated property: Specifies the time at which the Virtual Machine resource was created.
480+
*
481+
* @return the timeCreated value.
482+
*/
483+
public OffsetDateTime timeCreated() {
484+
return this.timeCreated;
485+
}
486+
471487
/**
472488
* Validates the instance.
473489
*

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/implementation/VirtualMachineImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@
108108
import java.io.IOException;
109109
import java.net.MalformedURLException;
110110
import java.net.URL;
111+
import java.time.OffsetDateTime;
111112
import java.util.ArrayList;
112113
import java.util.Collections;
113114
import java.util.HashMap;
@@ -1992,6 +1993,11 @@ public boolean isVTpmEnabled() {
19921993
&& ResourceManagerUtils.toPrimitiveBoolean(this.innerModel().securityProfile().uefiSettings().vTpmEnabled());
19931994
}
19941995

1996+
@Override
1997+
public OffsetDateTime timeCreated() {
1998+
return innerModel().timeCreated();
1999+
}
2000+
19952001
@Override
19962002
public VirtualMachinePriorityTypes priority() {
19972003
return this.innerModel().priority();

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/implementation/VirtualMachineScaleSetVMImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import com.azure.resourcemanager.resources.fluentcore.utils.ResourceManagerUtils;
4848
import reactor.core.publisher.Mono;
4949

50+
import java.time.OffsetDateTime;
5051
import java.util.ArrayList;
5152
import java.util.Collections;
5253
import java.util.HashMap;
@@ -591,6 +592,11 @@ public VirtualMachineScaleSetVMNetworkProfileConfiguration networkProfileConfigu
591592
return this.innerModel().networkProfileConfiguration();
592593
}
593594

595+
@Override
596+
public OffsetDateTime timeCreated() {
597+
return this.innerModel().timeCreated();
598+
}
599+
594600
private void clearCachedRelatedResources() {
595601
this.virtualMachineInstanceView = null;
596602
}

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/models/VirtualMachine.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.azure.resourcemanager.storage.models.StorageAccount;
2626
import reactor.core.publisher.Mono;
2727

28+
import java.time.OffsetDateTime;
2829
import java.util.List;
2930
import java.util.Map;
3031
import java.util.Set;
@@ -422,6 +423,9 @@ Mono<RunCommandResult> runShellScriptAsync(
422423
/** @return whether vTPM is enabled on the virtual machine */
423424
boolean isVTpmEnabled();
424425

426+
/** @return the time at which the Virtual Machine resource was created */
427+
OffsetDateTime timeCreated();
428+
425429
// Setters
426430
//
427431

sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/models/VirtualMachineScaleSetVM.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import com.azure.resourcemanager.resources.fluentcore.model.HasInnerModel;
1515
import com.azure.resourcemanager.resources.fluentcore.model.Refreshable;
1616
import com.azure.resourcemanager.resources.fluentcore.model.Updatable;
17+
18+
import java.time.OffsetDateTime;
1719
import java.util.List;
1820
import java.util.Map;
1921
import reactor.core.publisher.Mono;
@@ -291,6 +293,9 @@ public interface VirtualMachineScaleSetVM
291293
/** @return The network profile config for the vm. */
292294
VirtualMachineScaleSetVMNetworkProfileConfiguration networkProfileConfiguration();
293295

296+
/** @return the time at which the Virtual Machine resource was created */
297+
OffsetDateTime timeCreated();
298+
294299
/** The template for an update operation, containing all the settings that can be modified. */
295300
interface Update extends Appliable<VirtualMachineScaleSetVM> {
296301
/**

sdk/resourcemanager/azure-resourcemanager-compute/src/test/java/com/azure/resourcemanager/compute/VirtualMachineOperationsTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ public void canCreateVirtualMachine() throws Exception {
205205
Assertions.assertNotNull(foundVM);
206206
Assertions.assertEquals(region, foundVM.region());
207207
Assertions.assertEquals("Windows_Server", foundVM.licenseType());
208+
Assertions.assertNotNull(foundVM.timeCreated());
208209

209210
// Fetch instance view
210211
PowerState powerState = foundVM.powerState();

sdk/resourcemanager/azure-resourcemanager-compute/src/test/java/com/azure/resourcemanager/compute/VirtualMachineScaleSetOperationsTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1269,6 +1269,7 @@ public void canListInstancesIncludingInstanceView() {
12691269
VirtualMachineScaleSet vmss = computeManager.virtualMachineScaleSets().getByResourceGroup(rgName, vmssName);
12701270
List<VirtualMachineScaleSetVM> vmInstances = vmss.virtualMachines().list(null, VirtualMachineScaleSetVMExpandType.INSTANCE_VIEW).stream().collect(Collectors.toList());
12711271
Assertions.assertEquals(3, vmInstances.size());
1272+
Assertions.assertTrue(vmInstances.stream().allMatch(vm -> vm.timeCreated() != null));
12721273
List<PowerState> powerStates = vmInstances.stream().map(VirtualMachineScaleSetVM::powerState).collect(Collectors.toList());
12731274
Assertions.assertEquals(Arrays.asList(PowerState.RUNNING, PowerState.RUNNING, PowerState.RUNNING), powerStates);
12741275

@@ -1282,6 +1283,7 @@ public void canListInstancesIncludingInstanceView() {
12821283
// check single VM
12831284
VirtualMachineScaleSetVM vmInstance0 = vmss.virtualMachines().getInstance(firstInstanceId);
12841285
Assertions.assertEquals(PowerState.DEALLOCATED, vmInstance0.powerState());
1286+
Assertions.assertNotNull(vmInstance0.timeCreated());
12851287
}
12861288

12871289
@Test

0 commit comments

Comments
 (0)