import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * Manages an Azure Spring Cloud Service.
 *
 * !> **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the `azure.appplatform.SpringCloudService` resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = new azure.core.ResourceGroup("example", {
 *     name: "example-resources",
 *     location: "West Europe",
 * });
 * const exampleInsights = new azure.appinsights.Insights("example", {
 *     name: "tf-test-appinsights",
 *     location: example.location,
 *     resourceGroupName: example.name,
 *     applicationType: "web",
 * });
 * const exampleSpringCloudService = new azure.appplatform.SpringCloudService("example", {
 *     name: "example-springcloud",
 *     resourceGroupName: example.name,
 *     location: example.location,
 *     skuName: "S0",
 *     configServerGitSetting: {
 *         uri: "https://github.com/Azure-Samples/piggymetrics",
 *         label: "config",
 *         searchPaths: [
 *             "dir1",
 *             "dir2",
 *         ],
 *     },
 *     trace: {
 *         connectionString: exampleInsights.connectionString,
 *         sampleRate: 10,
 *     },
 *     tags: {
 *         Env: "staging",
 *     },
 * });
 * ```
 *
 * ## Import
 *
 * Spring Cloud services can be imported using the `resource id`, e.g.
 *
 * ```sh
 * $ pulumi import azure:appplatform/springCloudService:SpringCloudService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.AppPlatform/spring/spring1
 * ```
 */
export declare class SpringCloudService extends pulumi.CustomResource {
    /**
     * Get an existing SpringCloudService resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SpringCloudServiceState, opts?: pulumi.CustomResourceOptions): SpringCloudService;
    /**
     * Returns true if the given object is an instance of SpringCloudService.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is SpringCloudService;
    /**
     * Specifies the size for this Spring Cloud Service's default build agent pool. Possible values are `S1`, `S2`, `S3`, `S4` and `S5`. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    readonly buildAgentPoolSize: pulumi.Output<string | undefined>;
    /**
     * A `configServerGitSetting` block as defined below. This field is applicable only for Spring Cloud Service with basic and standard tier.
     */
    readonly configServerGitSetting: pulumi.Output<outputs.appplatform.SpringCloudServiceConfigServerGitSetting | undefined>;
    /**
     * One or more `containerRegistry` block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    readonly containerRegistries: pulumi.Output<outputs.appplatform.SpringCloudServiceContainerRegistry[] | undefined>;
    /**
     * A `defaultBuildService` block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    readonly defaultBuildService: pulumi.Output<outputs.appplatform.SpringCloudServiceDefaultBuildService | undefined>;
    /**
     * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
     */
    readonly location: pulumi.Output<string>;
    /**
     * Should the log stream in vnet injection instance could be accessed from Internet?
     */
    readonly logStreamPublicEndpointEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The resource Id of the Managed Environment that the Spring Apps instance builds on. Can only be specified when `skuTier` is set to `StandardGen2`.
     */
    readonly managedEnvironmentId: pulumi.Output<string | undefined>;
    /**
     * A `marketplace` block as defined below. Can only be specified when `sku` is set to `E0`.
     */
    readonly marketplace: pulumi.Output<outputs.appplatform.SpringCloudServiceMarketplace>;
    /**
     * Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.
     */
    readonly name: pulumi.Output<string>;
    /**
     * A `network` block as defined below. Changing this forces a new resource to be created.
     */
    readonly network: pulumi.Output<outputs.appplatform.SpringCloudServiceNetwork | undefined>;
    /**
     * A list of the outbound Public IP Addresses used by this Spring Cloud Service.
     */
    readonly outboundPublicIpAddresses: pulumi.Output<string[]>;
    /**
     * A list of `requiredNetworkTrafficRules` blocks as defined below.
     */
    readonly requiredNetworkTrafficRules: pulumi.Output<outputs.appplatform.SpringCloudServiceRequiredNetworkTrafficRule[]>;
    /**
     * Specifies The name of the resource group in which to create the Spring Cloud Service. Changing this forces a new resource to be created.
     */
    readonly resourceGroupName: pulumi.Output<string>;
    /**
     * Whether enable the default Service Registry. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    readonly serviceRegistryEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The ID of the Spring Cloud Service Registry.
     */
    readonly serviceRegistryId: pulumi.Output<string>;
    /**
     * Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0`, `S0` and `E0`. Defaults to `S0`. Changing this forces a new resource to be created.
     */
    readonly skuName: pulumi.Output<string | undefined>;
    /**
     * Specifies the SKU Tier for this Spring Cloud Service. Possible values are `Basic`, `Enterprise`, `Standard` and `StandardGen2`. The attribute is automatically computed from API response except when `managedEnvironmentId` is defined. Changing this forces a new resource to be created.
     */
    readonly skuTier: pulumi.Output<string>;
    /**
     * A mapping of tags to assign to the resource.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * A `trace` block as defined below.
     */
    readonly trace: pulumi.Output<outputs.appplatform.SpringCloudServiceTrace | undefined>;
    /**
     * Whether zone redundancy is enabled for this Spring Cloud Service. Defaults to `false`.
     */
    readonly zoneRedundant: pulumi.Output<boolean | undefined>;
    /**
     * Create a SpringCloudService resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: SpringCloudServiceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SpringCloudService resources.
 */
export interface SpringCloudServiceState {
    /**
     * Specifies the size for this Spring Cloud Service's default build agent pool. Possible values are `S1`, `S2`, `S3`, `S4` and `S5`. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    buildAgentPoolSize?: pulumi.Input<string | undefined>;
    /**
     * A `configServerGitSetting` block as defined below. This field is applicable only for Spring Cloud Service with basic and standard tier.
     */
    configServerGitSetting?: pulumi.Input<inputs.appplatform.SpringCloudServiceConfigServerGitSetting | undefined>;
    /**
     * One or more `containerRegistry` block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    containerRegistries?: pulumi.Input<pulumi.Input<inputs.appplatform.SpringCloudServiceContainerRegistry>[] | undefined>;
    /**
     * A `defaultBuildService` block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    defaultBuildService?: pulumi.Input<inputs.appplatform.SpringCloudServiceDefaultBuildService | undefined>;
    /**
     * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * Should the log stream in vnet injection instance could be accessed from Internet?
     */
    logStreamPublicEndpointEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The resource Id of the Managed Environment that the Spring Apps instance builds on. Can only be specified when `skuTier` is set to `StandardGen2`.
     */
    managedEnvironmentId?: pulumi.Input<string | undefined>;
    /**
     * A `marketplace` block as defined below. Can only be specified when `sku` is set to `E0`.
     */
    marketplace?: pulumi.Input<inputs.appplatform.SpringCloudServiceMarketplace | undefined>;
    /**
     * Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * A `network` block as defined below. Changing this forces a new resource to be created.
     */
    network?: pulumi.Input<inputs.appplatform.SpringCloudServiceNetwork | undefined>;
    /**
     * A list of the outbound Public IP Addresses used by this Spring Cloud Service.
     */
    outboundPublicIpAddresses?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A list of `requiredNetworkTrafficRules` blocks as defined below.
     */
    requiredNetworkTrafficRules?: pulumi.Input<pulumi.Input<inputs.appplatform.SpringCloudServiceRequiredNetworkTrafficRule>[] | undefined>;
    /**
     * Specifies The name of the resource group in which to create the Spring Cloud Service. Changing this forces a new resource to be created.
     */
    resourceGroupName?: pulumi.Input<string | undefined>;
    /**
     * Whether enable the default Service Registry. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    serviceRegistryEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The ID of the Spring Cloud Service Registry.
     */
    serviceRegistryId?: pulumi.Input<string | undefined>;
    /**
     * Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0`, `S0` and `E0`. Defaults to `S0`. Changing this forces a new resource to be created.
     */
    skuName?: pulumi.Input<string | undefined>;
    /**
     * Specifies the SKU Tier for this Spring Cloud Service. Possible values are `Basic`, `Enterprise`, `Standard` and `StandardGen2`. The attribute is automatically computed from API response except when `managedEnvironmentId` is defined. Changing this forces a new resource to be created.
     */
    skuTier?: pulumi.Input<string | undefined>;
    /**
     * A mapping of tags to assign to the resource.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * A `trace` block as defined below.
     */
    trace?: pulumi.Input<inputs.appplatform.SpringCloudServiceTrace | undefined>;
    /**
     * Whether zone redundancy is enabled for this Spring Cloud Service. Defaults to `false`.
     */
    zoneRedundant?: pulumi.Input<boolean | undefined>;
}
/**
 * The set of arguments for constructing a SpringCloudService resource.
 */
export interface SpringCloudServiceArgs {
    /**
     * Specifies the size for this Spring Cloud Service's default build agent pool. Possible values are `S1`, `S2`, `S3`, `S4` and `S5`. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    buildAgentPoolSize?: pulumi.Input<string | undefined>;
    /**
     * A `configServerGitSetting` block as defined below. This field is applicable only for Spring Cloud Service with basic and standard tier.
     */
    configServerGitSetting?: pulumi.Input<inputs.appplatform.SpringCloudServiceConfigServerGitSetting | undefined>;
    /**
     * One or more `containerRegistry` block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    containerRegistries?: pulumi.Input<pulumi.Input<inputs.appplatform.SpringCloudServiceContainerRegistry>[] | undefined>;
    /**
     * A `defaultBuildService` block as defined below. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    defaultBuildService?: pulumi.Input<inputs.appplatform.SpringCloudServiceDefaultBuildService | undefined>;
    /**
     * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * Should the log stream in vnet injection instance could be accessed from Internet?
     */
    logStreamPublicEndpointEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The resource Id of the Managed Environment that the Spring Apps instance builds on. Can only be specified when `skuTier` is set to `StandardGen2`.
     */
    managedEnvironmentId?: pulumi.Input<string | undefined>;
    /**
     * A `marketplace` block as defined below. Can only be specified when `sku` is set to `E0`.
     */
    marketplace?: pulumi.Input<inputs.appplatform.SpringCloudServiceMarketplace | undefined>;
    /**
     * Specifies the name of the Spring Cloud Service resource. Changing this forces a new resource to be created.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * A `network` block as defined below. Changing this forces a new resource to be created.
     */
    network?: pulumi.Input<inputs.appplatform.SpringCloudServiceNetwork | undefined>;
    /**
     * Specifies The name of the resource group in which to create the Spring Cloud Service. Changing this forces a new resource to be created.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Whether enable the default Service Registry. This field is applicable only for Spring Cloud Service with enterprise tier.
     */
    serviceRegistryEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Specifies the SKU Name for this Spring Cloud Service. Possible values are `B0`, `S0` and `E0`. Defaults to `S0`. Changing this forces a new resource to be created.
     */
    skuName?: pulumi.Input<string | undefined>;
    /**
     * Specifies the SKU Tier for this Spring Cloud Service. Possible values are `Basic`, `Enterprise`, `Standard` and `StandardGen2`. The attribute is automatically computed from API response except when `managedEnvironmentId` is defined. Changing this forces a new resource to be created.
     */
    skuTier?: pulumi.Input<string | undefined>;
    /**
     * A mapping of tags to assign to the resource.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * A `trace` block as defined below.
     */
    trace?: pulumi.Input<inputs.appplatform.SpringCloudServiceTrace | undefined>;
    /**
     * Whether zone redundancy is enabled for this Spring Cloud Service. Defaults to `false`.
     */
    zoneRedundant?: pulumi.Input<boolean | undefined>;
}
//# sourceMappingURL=springCloudService.d.ts.map