All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.migrate.outputs.VirtualMachineResourceSettingsResponse Maven / Gradle / Ivy

There is a newer version: 2.89.2
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.migrate.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class VirtualMachineResourceSettingsResponse {
    /**
     * @return The resource type. For example, the value can be Microsoft.Compute/virtualMachines.
     * Expected value is 'Microsoft.Compute/virtualMachines'.
     * 
     */
    private String resourceType;
    /**
     * @return Gets or sets the Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return Gets or sets the target availability set id for virtual machines not in an availability set at source.
     * 
     */
    private @Nullable String targetAvailabilitySetId;
    /**
     * @return Gets or sets the target availability zone.
     * 
     */
    private @Nullable String targetAvailabilityZone;
    /**
     * @return Gets or sets the target resource group name.
     * 
     */
    private @Nullable String targetResourceGroupName;
    /**
     * @return Gets or sets the target Resource name.
     * 
     */
    private String targetResourceName;
    /**
     * @return Gets or sets the target virtual machine size.
     * 
     */
    private @Nullable String targetVmSize;
    /**
     * @return Gets or sets user-managed identities
     * 
     */
    private @Nullable List userManagedIdentities;

    private VirtualMachineResourceSettingsResponse() {}
    /**
     * @return The resource type. For example, the value can be Microsoft.Compute/virtualMachines.
     * Expected value is 'Microsoft.Compute/virtualMachines'.
     * 
     */
    public String resourceType() {
        return this.resourceType;
    }
    /**
     * @return Gets or sets the Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return Gets or sets the target availability set id for virtual machines not in an availability set at source.
     * 
     */
    public Optional targetAvailabilitySetId() {
        return Optional.ofNullable(this.targetAvailabilitySetId);
    }
    /**
     * @return Gets or sets the target availability zone.
     * 
     */
    public Optional targetAvailabilityZone() {
        return Optional.ofNullable(this.targetAvailabilityZone);
    }
    /**
     * @return Gets or sets the target resource group name.
     * 
     */
    public Optional targetResourceGroupName() {
        return Optional.ofNullable(this.targetResourceGroupName);
    }
    /**
     * @return Gets or sets the target Resource name.
     * 
     */
    public String targetResourceName() {
        return this.targetResourceName;
    }
    /**
     * @return Gets or sets the target virtual machine size.
     * 
     */
    public Optional targetVmSize() {
        return Optional.ofNullable(this.targetVmSize);
    }
    /**
     * @return Gets or sets user-managed identities
     * 
     */
    public List userManagedIdentities() {
        return this.userManagedIdentities == null ? List.of() : this.userManagedIdentities;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(VirtualMachineResourceSettingsResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String resourceType;
        private @Nullable Map tags;
        private @Nullable String targetAvailabilitySetId;
        private @Nullable String targetAvailabilityZone;
        private @Nullable String targetResourceGroupName;
        private String targetResourceName;
        private @Nullable String targetVmSize;
        private @Nullable List userManagedIdentities;
        public Builder() {}
        public Builder(VirtualMachineResourceSettingsResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.resourceType = defaults.resourceType;
    	      this.tags = defaults.tags;
    	      this.targetAvailabilitySetId = defaults.targetAvailabilitySetId;
    	      this.targetAvailabilityZone = defaults.targetAvailabilityZone;
    	      this.targetResourceGroupName = defaults.targetResourceGroupName;
    	      this.targetResourceName = defaults.targetResourceName;
    	      this.targetVmSize = defaults.targetVmSize;
    	      this.userManagedIdentities = defaults.userManagedIdentities;
        }

        @CustomType.Setter
        public Builder resourceType(String resourceType) {
            if (resourceType == null) {
              throw new MissingRequiredPropertyException("VirtualMachineResourceSettingsResponse", "resourceType");
            }
            this.resourceType = resourceType;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder targetAvailabilitySetId(@Nullable String targetAvailabilitySetId) {

            this.targetAvailabilitySetId = targetAvailabilitySetId;
            return this;
        }
        @CustomType.Setter
        public Builder targetAvailabilityZone(@Nullable String targetAvailabilityZone) {

            this.targetAvailabilityZone = targetAvailabilityZone;
            return this;
        }
        @CustomType.Setter
        public Builder targetResourceGroupName(@Nullable String targetResourceGroupName) {

            this.targetResourceGroupName = targetResourceGroupName;
            return this;
        }
        @CustomType.Setter
        public Builder targetResourceName(String targetResourceName) {
            if (targetResourceName == null) {
              throw new MissingRequiredPropertyException("VirtualMachineResourceSettingsResponse", "targetResourceName");
            }
            this.targetResourceName = targetResourceName;
            return this;
        }
        @CustomType.Setter
        public Builder targetVmSize(@Nullable String targetVmSize) {

            this.targetVmSize = targetVmSize;
            return this;
        }
        @CustomType.Setter
        public Builder userManagedIdentities(@Nullable List userManagedIdentities) {

            this.userManagedIdentities = userManagedIdentities;
            return this;
        }
        public Builder userManagedIdentities(String... userManagedIdentities) {
            return userManagedIdentities(List.of(userManagedIdentities));
        }
        public VirtualMachineResourceSettingsResponse build() {
            final var _resultValue = new VirtualMachineResourceSettingsResponse();
            _resultValue.resourceType = resourceType;
            _resultValue.tags = tags;
            _resultValue.targetAvailabilitySetId = targetAvailabilitySetId;
            _resultValue.targetAvailabilityZone = targetAvailabilityZone;
            _resultValue.targetResourceGroupName = targetResourceGroupName;
            _resultValue.targetResourceName = targetResourceName;
            _resultValue.targetVmSize = targetVmSize;
            _resultValue.userManagedIdentities = userManagedIdentities;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy