/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator. */ package com.microsoft.azure.batch.protocol.models; import org.joda.time.DateTime; import com.fasterxml.jackson.annotation.JsonProperty; /** * Usage metrics for a pool across an aggregation interval. */ public class PoolUsageMetrics { /** * The id of the pool whose metrics are being aggregated. */ @JsonProperty(required = true) private String poolId; /** * The start time of the aggregation interval. */ @JsonProperty(required = true) private DateTime startTime; /** * The end time of the aggregation interval. */ @JsonProperty(required = true) private DateTime endTime; /** * The size of virtual machines in the pool. All VMs in a pool are the * same size. */ @JsonProperty(required = true) private String vmSize; /** * The total core hours used in the pool during this aggregation interval. */ @JsonProperty(required = true) private double totalCoreHours; /** * The cross data center network ingress in GiB to the pool during this * interval. */ @JsonProperty(required = true) private double dataIngressGiB; /** * The cross data center network egress in GiB from the pool during this * interval. */ @JsonProperty(required = true) private double dataEgressGiB; /** * Get the poolId value. * * @return the poolId value */ public String poolId() { return this.poolId; } /** * Set the poolId value. * * @param poolId the poolId value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withPoolId(String poolId) { this.poolId = poolId; return this; } /** * Get the startTime value. * * @return the startTime value */ public DateTime startTime() { return this.startTime; } /** * Set the startTime value. * * @param startTime the startTime value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withStartTime(DateTime startTime) { this.startTime = startTime; return this; } /** * Get the endTime value. * * @return the endTime value */ public DateTime endTime() { return this.endTime; } /** * Set the endTime value. * * @param endTime the endTime value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withEndTime(DateTime endTime) { this.endTime = endTime; return this; } /** * Get the vmSize value. * * @return the vmSize value */ public String vmSize() { return this.vmSize; } /** * Set the vmSize value. * * @param vmSize the vmSize value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withVmSize(String vmSize) { this.vmSize = vmSize; return this; } /** * Get the totalCoreHours value. * * @return the totalCoreHours value */ public double totalCoreHours() { return this.totalCoreHours; } /** * Set the totalCoreHours value. * * @param totalCoreHours the totalCoreHours value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withTotalCoreHours(double totalCoreHours) { this.totalCoreHours = totalCoreHours; return this; } /** * Get the dataIngressGiB value. * * @return the dataIngressGiB value */ public double dataIngressGiB() { return this.dataIngressGiB; } /** * Set the dataIngressGiB value. * * @param dataIngressGiB the dataIngressGiB value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withDataIngressGiB(double dataIngressGiB) { this.dataIngressGiB = dataIngressGiB; return this; } /** * Get the dataEgressGiB value. * * @return the dataEgressGiB value */ public double dataEgressGiB() { return this.dataEgressGiB; } /** * Set the dataEgressGiB value. * * @param dataEgressGiB the dataEgressGiB value to set * @return the PoolUsageMetrics object itself. */ public PoolUsageMetrics withDataEgressGiB(double dataEgressGiB) { this.dataEgressGiB = dataEgressGiB; return this; } }