// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.resourcemanager.storagemover.implementation;

import com.azure.core.management.SystemData;
import com.azure.resourcemanager.storagemover.fluent.models.JobRunInner;
import com.azure.resourcemanager.storagemover.models.JobRun;
import com.azure.resourcemanager.storagemover.models.JobRunError;
import com.azure.resourcemanager.storagemover.models.JobRunScanStatus;
import com.azure.resourcemanager.storagemover.models.JobRunStatus;
import com.azure.resourcemanager.storagemover.models.ProvisioningState;
import java.time.OffsetDateTime;

public final class JobRunImpl implements JobRun {
    private JobRunInner innerObject;

    private final com.azure.resourcemanager.storagemover.StorageMoverManager serviceManager;

    JobRunImpl(JobRunInner innerObject, com.azure.resourcemanager.storagemover.StorageMoverManager serviceManager) {
        this.innerObject = innerObject;
        this.serviceManager = serviceManager;
    }

    public String id() {
        return this.innerModel().id();
    }

    public String name() {
        return this.innerModel().name();
    }

    public String type() {
        return this.innerModel().type();
    }

    public SystemData systemData() {
        return this.innerModel().systemData();
    }

    public JobRunStatus status() {
        return this.innerModel().status();
    }

    public JobRunScanStatus scanStatus() {
        return this.innerModel().scanStatus();
    }

    public String agentName() {
        return this.innerModel().agentName();
    }

    public String agentResourceId() {
        return this.innerModel().agentResourceId();
    }

    public OffsetDateTime executionStartTime() {
        return this.innerModel().executionStartTime();
    }

    public OffsetDateTime executionEndTime() {
        return this.innerModel().executionEndTime();
    }

    public OffsetDateTime lastStatusUpdate() {
        return this.innerModel().lastStatusUpdate();
    }

    public Long itemsScanned() {
        return this.innerModel().itemsScanned();
    }

    public Long itemsExcluded() {
        return this.innerModel().itemsExcluded();
    }

    public Long itemsUnsupported() {
        return this.innerModel().itemsUnsupported();
    }

    public Long itemsNoTransferNeeded() {
        return this.innerModel().itemsNoTransferNeeded();
    }

    public Long itemsFailed() {
        return this.innerModel().itemsFailed();
    }

    public Long itemsTransferred() {
        return this.innerModel().itemsTransferred();
    }

    public Long bytesScanned() {
        return this.innerModel().bytesScanned();
    }

    public Long bytesExcluded() {
        return this.innerModel().bytesExcluded();
    }

    public Long bytesUnsupported() {
        return this.innerModel().bytesUnsupported();
    }

    public Long bytesNoTransferNeeded() {
        return this.innerModel().bytesNoTransferNeeded();
    }

    public Long bytesFailed() {
        return this.innerModel().bytesFailed();
    }

    public Long bytesTransferred() {
        return this.innerModel().bytesTransferred();
    }

    public String sourceName() {
        return this.innerModel().sourceName();
    }

    public String sourceResourceId() {
        return this.innerModel().sourceResourceId();
    }

    public Object sourceProperties() {
        return this.innerModel().sourceProperties();
    }

    public String targetName() {
        return this.innerModel().targetName();
    }

    public String targetResourceId() {
        return this.innerModel().targetResourceId();
    }

    public Object targetProperties() {
        return this.innerModel().targetProperties();
    }

    public Object jobDefinitionProperties() {
        return this.innerModel().jobDefinitionProperties();
    }

    public JobRunError error() {
        return this.innerModel().error();
    }

    public ProvisioningState provisioningState() {
        return this.innerModel().provisioningState();
    }

    public JobRunInner innerModel() {
        return this.innerObject;
    }

    private com.azure.resourcemanager.storagemover.StorageMoverManager manager() {
        return this.serviceManager;
    }
}
