com.azure.resourcemanager.costmanagement.models.ExportExecution 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.models;
import com.azure.core.annotation.Fluent;
import com.azure.core.management.ProxyResource;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.costmanagement.fluent.models.ExportExecutionProperties;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.Map;
/** A export execution. */
@Fluent
public final class ExportExecution extends ProxyResource {
@JsonIgnore private final ClientLogger logger = new ClientLogger(ExportExecution.class);
/*
* The properties of the export execution.
*/
@JsonProperty(value = "properties")
private ExportExecutionProperties innerProperties;
/*
* Resource tags.
*/
@JsonProperty(value = "tags", access = JsonProperty.Access.WRITE_ONLY)
@JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map tags;
/**
* Get the innerProperties property: The properties of the export execution.
*
* @return the innerProperties value.
*/
private ExportExecutionProperties innerProperties() {
return this.innerProperties;
}
/**
* Get the tags property: Resource tags.
*
* @return the tags value.
*/
public Map tags() {
return this.tags;
}
/**
* Get the executionType property: The type of the export execution.
*
* @return the executionType value.
*/
public ExecutionType executionType() {
return this.innerProperties() == null ? null : this.innerProperties().executionType();
}
/**
* Set the executionType property: The type of the export execution.
*
* @param executionType the executionType value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withExecutionType(ExecutionType executionType) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withExecutionType(executionType);
return this;
}
/**
* Get the status property: The status of the export execution.
*
* @return the status value.
*/
public ExecutionStatus status() {
return this.innerProperties() == null ? null : this.innerProperties().status();
}
/**
* Set the status property: The status of the export execution.
*
* @param status the status value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withStatus(ExecutionStatus status) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withStatus(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.innerProperties() == null ? null : this.innerProperties().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 ExportExecution object itself.
*/
public ExportExecution withSubmittedBy(String submittedBy) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withSubmittedBy(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.innerProperties() == null ? null : this.innerProperties().submittedTime();
}
/**
* Set the submittedTime property: The time when export was queued to be executed.
*
* @param submittedTime the submittedTime value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withSubmittedTime(OffsetDateTime submittedTime) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withSubmittedTime(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.innerProperties() == null ? null : this.innerProperties().processingStartTime();
}
/**
* Set the processingStartTime property: The time when export was picked up to be executed.
*
* @param processingStartTime the processingStartTime value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withProcessingStartTime(OffsetDateTime processingStartTime) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withProcessingStartTime(processingStartTime);
return this;
}
/**
* Get the processingEndTime property: The time when export execution finished.
*
* @return the processingEndTime value.
*/
public OffsetDateTime processingEndTime() {
return this.innerProperties() == null ? null : this.innerProperties().processingEndTime();
}
/**
* Set the processingEndTime property: The time when export execution finished.
*
* @param processingEndTime the processingEndTime value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withProcessingEndTime(OffsetDateTime processingEndTime) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withProcessingEndTime(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.innerProperties() == null ? null : this.innerProperties().fileName();
}
/**
* Set the fileName property: The name of the file export got written to.
*
* @param fileName the fileName value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withFileName(String fileName) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withFileName(fileName);
return this;
}
/**
* Get the runSettings property: The common properties of the export.
*
* @return the runSettings value.
*/
public CommonExportProperties runSettings() {
return this.innerProperties() == null ? null : this.innerProperties().runSettings();
}
/**
* Set the runSettings property: The common properties of the export.
*
* @param runSettings the runSettings value to set.
* @return the ExportExecution object itself.
*/
public ExportExecution withRunSettings(CommonExportProperties runSettings) {
if (this.innerProperties() == null) {
this.innerProperties = new ExportExecutionProperties();
}
this.innerProperties().withRunSettings(runSettings);
return this;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
public void validate() {
if (innerProperties() != null) {
innerProperties().validate();
}
}
}