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

com.pulumi.azurenative.compute.inputs.CloudServicePropertiesArgs 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.compute.inputs;

import com.pulumi.azurenative.compute.enums.CloudServiceUpgradeMode;
import com.pulumi.azurenative.compute.inputs.CloudServiceExtensionProfileArgs;
import com.pulumi.azurenative.compute.inputs.CloudServiceNetworkProfileArgs;
import com.pulumi.azurenative.compute.inputs.CloudServiceOsProfileArgs;
import com.pulumi.azurenative.compute.inputs.CloudServiceRoleProfileArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Cloud service properties
 * 
 */
public final class CloudServicePropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final CloudServicePropertiesArgs Empty = new CloudServicePropertiesArgs();

    /**
     * (Optional) Indicates whether the role sku properties (roleProfile.roles.sku) specified in the model/template should override the role instance count and vm size specified in the .cscfg and .csdef respectively.
     * The default value is `false`.
     * 
     */
    @Import(name="allowModelOverride")
    private @Nullable Output allowModelOverride;

    /**
     * @return (Optional) Indicates whether the role sku properties (roleProfile.roles.sku) specified in the model/template should override the role instance count and vm size specified in the .cscfg and .csdef respectively.
     * The default value is `false`.
     * 
     */
    public Optional> allowModelOverride() {
        return Optional.ofNullable(this.allowModelOverride);
    }

    /**
     * Specifies the XML service configuration (.cscfg) for the cloud service.
     * 
     */
    @Import(name="configuration")
    private @Nullable Output configuration;

    /**
     * @return Specifies the XML service configuration (.cscfg) for the cloud service.
     * 
     */
    public Optional> configuration() {
        return Optional.ofNullable(this.configuration);
    }

    /**
     * Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL  can be Shared Access Signature (SAS) URI from any storage account.
     * This is a write-only property and is not returned in GET calls.
     * 
     */
    @Import(name="configurationUrl")
    private @Nullable Output configurationUrl;

    /**
     * @return Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL  can be Shared Access Signature (SAS) URI from any storage account.
     * This is a write-only property and is not returned in GET calls.
     * 
     */
    public Optional> configurationUrl() {
        return Optional.ofNullable(this.configurationUrl);
    }

    /**
     * Describes a cloud service extension profile.
     * 
     */
    @Import(name="extensionProfile")
    private @Nullable Output extensionProfile;

    /**
     * @return Describes a cloud service extension profile.
     * 
     */
    public Optional> extensionProfile() {
        return Optional.ofNullable(this.extensionProfile);
    }

    /**
     * Network Profile for the cloud service.
     * 
     */
    @Import(name="networkProfile")
    private @Nullable Output networkProfile;

    /**
     * @return Network Profile for the cloud service.
     * 
     */
    public Optional> networkProfile() {
        return Optional.ofNullable(this.networkProfile);
    }

    /**
     * Describes the OS profile for the cloud service.
     * 
     */
    @Import(name="osProfile")
    private @Nullable Output osProfile;

    /**
     * @return Describes the OS profile for the cloud service.
     * 
     */
    public Optional> osProfile() {
        return Optional.ofNullable(this.osProfile);
    }

    /**
     * Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.
     * This is a write-only property and is not returned in GET calls.
     * 
     */
    @Import(name="packageUrl")
    private @Nullable Output packageUrl;

    /**
     * @return Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.
     * This is a write-only property and is not returned in GET calls.
     * 
     */
    public Optional> packageUrl() {
        return Optional.ofNullable(this.packageUrl);
    }

    /**
     * Describes the role profile for the cloud service.
     * 
     */
    @Import(name="roleProfile")
    private @Nullable Output roleProfile;

    /**
     * @return Describes the role profile for the cloud service.
     * 
     */
    public Optional> roleProfile() {
        return Optional.ofNullable(this.roleProfile);
    }

    /**
     * (Optional) Indicates whether to start the cloud service immediately after it is created. The default value is `true`.
     * If false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff.
     * 
     */
    @Import(name="startCloudService")
    private @Nullable Output startCloudService;

    /**
     * @return (Optional) Indicates whether to start the cloud service immediately after it is created. The default value is `true`.
     * If false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff.
     * 
     */
    public Optional> startCloudService() {
        return Optional.ofNullable(this.startCloudService);
    }

    /**
     * Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains.
     * Possible Values are <br /><br />**Auto**<br /><br />**Manual** <br /><br />**Simultaneous**<br /><br />
     * If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.
     * 
     */
    @Import(name="upgradeMode")
    private @Nullable Output> upgradeMode;

    /**
     * @return Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains.
     * Possible Values are <br /><br />**Auto**<br /><br />**Manual** <br /><br />**Simultaneous**<br /><br />
     * If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.
     * 
     */
    public Optional>> upgradeMode() {
        return Optional.ofNullable(this.upgradeMode);
    }

    private CloudServicePropertiesArgs() {}

    private CloudServicePropertiesArgs(CloudServicePropertiesArgs $) {
        this.allowModelOverride = $.allowModelOverride;
        this.configuration = $.configuration;
        this.configurationUrl = $.configurationUrl;
        this.extensionProfile = $.extensionProfile;
        this.networkProfile = $.networkProfile;
        this.osProfile = $.osProfile;
        this.packageUrl = $.packageUrl;
        this.roleProfile = $.roleProfile;
        this.startCloudService = $.startCloudService;
        this.upgradeMode = $.upgradeMode;
    }

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

    public static final class Builder {
        private CloudServicePropertiesArgs $;

        public Builder() {
            $ = new CloudServicePropertiesArgs();
        }

        public Builder(CloudServicePropertiesArgs defaults) {
            $ = new CloudServicePropertiesArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param allowModelOverride (Optional) Indicates whether the role sku properties (roleProfile.roles.sku) specified in the model/template should override the role instance count and vm size specified in the .cscfg and .csdef respectively.
         * The default value is `false`.
         * 
         * @return builder
         * 
         */
        public Builder allowModelOverride(@Nullable Output allowModelOverride) {
            $.allowModelOverride = allowModelOverride;
            return this;
        }

        /**
         * @param allowModelOverride (Optional) Indicates whether the role sku properties (roleProfile.roles.sku) specified in the model/template should override the role instance count and vm size specified in the .cscfg and .csdef respectively.
         * The default value is `false`.
         * 
         * @return builder
         * 
         */
        public Builder allowModelOverride(Boolean allowModelOverride) {
            return allowModelOverride(Output.of(allowModelOverride));
        }

        /**
         * @param configuration Specifies the XML service configuration (.cscfg) for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder configuration(@Nullable Output configuration) {
            $.configuration = configuration;
            return this;
        }

        /**
         * @param configuration Specifies the XML service configuration (.cscfg) for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder configuration(String configuration) {
            return configuration(Output.of(configuration));
        }

        /**
         * @param configurationUrl Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL  can be Shared Access Signature (SAS) URI from any storage account.
         * This is a write-only property and is not returned in GET calls.
         * 
         * @return builder
         * 
         */
        public Builder configurationUrl(@Nullable Output configurationUrl) {
            $.configurationUrl = configurationUrl;
            return this;
        }

        /**
         * @param configurationUrl Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL  can be Shared Access Signature (SAS) URI from any storage account.
         * This is a write-only property and is not returned in GET calls.
         * 
         * @return builder
         * 
         */
        public Builder configurationUrl(String configurationUrl) {
            return configurationUrl(Output.of(configurationUrl));
        }

        /**
         * @param extensionProfile Describes a cloud service extension profile.
         * 
         * @return builder
         * 
         */
        public Builder extensionProfile(@Nullable Output extensionProfile) {
            $.extensionProfile = extensionProfile;
            return this;
        }

        /**
         * @param extensionProfile Describes a cloud service extension profile.
         * 
         * @return builder
         * 
         */
        public Builder extensionProfile(CloudServiceExtensionProfileArgs extensionProfile) {
            return extensionProfile(Output.of(extensionProfile));
        }

        /**
         * @param networkProfile Network Profile for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder networkProfile(@Nullable Output networkProfile) {
            $.networkProfile = networkProfile;
            return this;
        }

        /**
         * @param networkProfile Network Profile for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder networkProfile(CloudServiceNetworkProfileArgs networkProfile) {
            return networkProfile(Output.of(networkProfile));
        }

        /**
         * @param osProfile Describes the OS profile for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder osProfile(@Nullable Output osProfile) {
            $.osProfile = osProfile;
            return this;
        }

        /**
         * @param osProfile Describes the OS profile for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder osProfile(CloudServiceOsProfileArgs osProfile) {
            return osProfile(Output.of(osProfile));
        }

        /**
         * @param packageUrl Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.
         * This is a write-only property and is not returned in GET calls.
         * 
         * @return builder
         * 
         */
        public Builder packageUrl(@Nullable Output packageUrl) {
            $.packageUrl = packageUrl;
            return this;
        }

        /**
         * @param packageUrl Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.
         * This is a write-only property and is not returned in GET calls.
         * 
         * @return builder
         * 
         */
        public Builder packageUrl(String packageUrl) {
            return packageUrl(Output.of(packageUrl));
        }

        /**
         * @param roleProfile Describes the role profile for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder roleProfile(@Nullable Output roleProfile) {
            $.roleProfile = roleProfile;
            return this;
        }

        /**
         * @param roleProfile Describes the role profile for the cloud service.
         * 
         * @return builder
         * 
         */
        public Builder roleProfile(CloudServiceRoleProfileArgs roleProfile) {
            return roleProfile(Output.of(roleProfile));
        }

        /**
         * @param startCloudService (Optional) Indicates whether to start the cloud service immediately after it is created. The default value is `true`.
         * If false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff.
         * 
         * @return builder
         * 
         */
        public Builder startCloudService(@Nullable Output startCloudService) {
            $.startCloudService = startCloudService;
            return this;
        }

        /**
         * @param startCloudService (Optional) Indicates whether to start the cloud service immediately after it is created. The default value is `true`.
         * If false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff.
         * 
         * @return builder
         * 
         */
        public Builder startCloudService(Boolean startCloudService) {
            return startCloudService(Output.of(startCloudService));
        }

        /**
         * @param upgradeMode Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains.
         * Possible Values are <br /><br />**Auto**<br /><br />**Manual** <br /><br />**Simultaneous**<br /><br />
         * If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.
         * 
         * @return builder
         * 
         */
        public Builder upgradeMode(@Nullable Output> upgradeMode) {
            $.upgradeMode = upgradeMode;
            return this;
        }

        /**
         * @param upgradeMode Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains.
         * Possible Values are <br /><br />**Auto**<br /><br />**Manual** <br /><br />**Simultaneous**<br /><br />
         * If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.
         * 
         * @return builder
         * 
         */
        public Builder upgradeMode(Either upgradeMode) {
            return upgradeMode(Output.of(upgradeMode));
        }

        /**
         * @param upgradeMode Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains.
         * Possible Values are <br /><br />**Auto**<br /><br />**Manual** <br /><br />**Simultaneous**<br /><br />
         * If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.
         * 
         * @return builder
         * 
         */
        public Builder upgradeMode(String upgradeMode) {
            return upgradeMode(Either.ofLeft(upgradeMode));
        }

        /**
         * @param upgradeMode Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains.
         * Possible Values are <br /><br />**Auto**<br /><br />**Manual** <br /><br />**Simultaneous**<br /><br />
         * If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.
         * 
         * @return builder
         * 
         */
        public Builder upgradeMode(CloudServiceUpgradeMode upgradeMode) {
            return upgradeMode(Either.ofRight(upgradeMode));
        }

        public CloudServicePropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy