com.azure.resourcemanager.costmanagement.fluent.models.ExportExecutionProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-costmanagement Show documentation
Show all versions of azure-resourcemanager-costmanagement Show documentation
This package contains Microsoft Azure SDK for CostManagement Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. CostManagement management client provides access to CostManagement resources for Azure Enterprise Subscriptions. Package tag package-2022-10.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.costmanagement.fluent.models;
import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.costmanagement.models.CommonExportProperties;
import com.azure.resourcemanager.costmanagement.models.ExecutionStatus;
import com.azure.resourcemanager.costmanagement.models.ExecutionType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
/** The properties of the export execution. */
@Fluent
public final class ExportExecutionProperties {
@JsonIgnore private final ClientLogger logger = new ClientLogger(ExportExecutionProperties.class);
/*
* The type of the export execution.
*/
@JsonProperty(value = "executionType")
private ExecutionType executionType;
/*
* The status of the export execution.
*/
@JsonProperty(value = "status")
private ExecutionStatus status;
/*
* The identifier for the entity that executed the export. For OnDemand
* executions, it is the email id. For Scheduled executions, it is the
* constant value - System.
*/
@JsonProperty(value = "submittedBy")
private String submittedBy;
/*
* The time when export was queued to be executed.
*/
@JsonProperty(value = "submittedTime")
private OffsetDateTime submittedTime;
/*
* The time when export was picked up to be executed.
*/
@JsonProperty(value = "processingStartTime")
private OffsetDateTime processingStartTime;
/*
* The time when export execution finished.
*/
@JsonProperty(value = "processingEndTime")
private OffsetDateTime processingEndTime;
/*
* The name of the file export got written to.
*/
@JsonProperty(value = "fileName")
private String fileName;
/*
* The common properties of the export.
*/
@JsonProperty(value = "runSettings")
private CommonExportProperties runSettings;
/**
* Get the executionType property: The type of the export execution.
*
* @return the executionType value.
*/
public ExecutionType executionType() {
return this.executionType;
}
/**
* Set the executionType property: The type of the export execution.
*
* @param executionType the executionType value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withExecutionType(ExecutionType executionType) {
this.executionType = executionType;
return this;
}
/**
* Get the status property: The status of the export execution.
*
* @return the status value.
*/
public ExecutionStatus status() {
return this.status;
}
/**
* Set the status property: The status of the export execution.
*
* @param status the status value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withStatus(ExecutionStatus status) {
this.status = status;
return this;
}
/**
* Get the submittedBy property: The identifier for the entity that executed the export. For OnDemand executions, it
* is the email id. For Scheduled executions, it is the constant value - System.
*
* @return the submittedBy value.
*/
public String submittedBy() {
return this.submittedBy;
}
/**
* Set the submittedBy property: The identifier for the entity that executed the export. For OnDemand executions, it
* is the email id. For Scheduled executions, it is the constant value - System.
*
* @param submittedBy the submittedBy value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withSubmittedBy(String submittedBy) {
this.submittedBy = submittedBy;
return this;
}
/**
* Get the submittedTime property: The time when export was queued to be executed.
*
* @return the submittedTime value.
*/
public OffsetDateTime submittedTime() {
return this.submittedTime;
}
/**
* Set the submittedTime property: The time when export was queued to be executed.
*
* @param submittedTime the submittedTime value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withSubmittedTime(OffsetDateTime submittedTime) {
this.submittedTime = submittedTime;
return this;
}
/**
* Get the processingStartTime property: The time when export was picked up to be executed.
*
* @return the processingStartTime value.
*/
public OffsetDateTime processingStartTime() {
return this.processingStartTime;
}
/**
* Set the processingStartTime property: The time when export was picked up to be executed.
*
* @param processingStartTime the processingStartTime value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withProcessingStartTime(OffsetDateTime processingStartTime) {
this.processingStartTime = processingStartTime;
return this;
}
/**
* Get the processingEndTime property: The time when export execution finished.
*
* @return the processingEndTime value.
*/
public OffsetDateTime processingEndTime() {
return this.processingEndTime;
}
/**
* Set the processingEndTime property: The time when export execution finished.
*
* @param processingEndTime the processingEndTime value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withProcessingEndTime(OffsetDateTime processingEndTime) {
this.processingEndTime = processingEndTime;
return this;
}
/**
* Get the fileName property: The name of the file export got written to.
*
* @return the fileName value.
*/
public String fileName() {
return this.fileName;
}
/**
* Set the fileName property: The name of the file export got written to.
*
* @param fileName the fileName value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withFileName(String fileName) {
this.fileName = fileName;
return this;
}
/**
* Get the runSettings property: The common properties of the export.
*
* @return the runSettings value.
*/
public CommonExportProperties runSettings() {
return this.runSettings;
}
/**
* Set the runSettings property: The common properties of the export.
*
* @param runSettings the runSettings value to set.
* @return the ExportExecutionProperties object itself.
*/
public ExportExecutionProperties withRunSettings(CommonExportProperties runSettings) {
this.runSettings = runSettings;
return this;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
if (runSettings() != null) {
runSettings().validate();
}
}
}