import * as pulumi from "@pulumi/pulumi"; /** * Manages a Storage Sync Server Endpoint. * * > **Note:** The parent `azure.storage.SyncGroup` must have an `azure.storage.SyncCloudEndpoint` available before an `azure.storage.SyncServerEndpoint` resource can be created. * * ## 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 exampleSync = new azure.storage.Sync("example", { * name: "example-storage-sync", * resourceGroupName: example.name, * location: example.location, * }); * const exampleSyncGroup = new azure.storage.SyncGroup("example", { * name: "example-storage-sync-group", * storageSyncId: exampleSync.id, * }); * const exampleAccount = new azure.storage.Account("example", { * name: "example-storage-account", * resourceGroupName: example.name, * location: example.location, * accountTier: "Standard", * accountReplicationType: "LRS", * }); * const exampleShare = new azure.storage.Share("example", { * name: "example-storage-share", * storageAccountName: exampleAccount.name, * quota: 1, * acls: [{ * id: "GhostedRecall", * accessPolicies: [{ * permissions: "r", * }], * }], * }); * const exampleSyncCloudEndpoint = new azure.storage.SyncCloudEndpoint("example", { * name: "example-ss-ce", * storageSyncGroupId: exampleSyncGroup.id, * fileShareName: exampleShare.name, * storageAccountId: exampleAccount.id, * }); * const exampleSyncServerEndpoint = new azure.storage.SyncServerEndpoint("example", { * name: "example-storage-sync-server-endpoint", * storageSyncGroupId: exampleSyncGroup.id, * registeredServerId: exampleSync.registeredServers[0], * }, { * dependsOn: [exampleSyncCloudEndpoint], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.StorageSync` - 2020-03-01 * * ## Import * * Storage Sync Server Endpoints can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:storage/syncServerEndpoint:SyncServerEndpoint example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StorageSync/storageSyncServices/sync1/syncGroups/syncGroup1/serverEndpoints/endpoint1 * ``` */ export declare class SyncServerEndpoint extends pulumi.CustomResource { /** * Get an existing SyncServerEndpoint 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, state?: SyncServerEndpointState, opts?: pulumi.CustomResourceOptions): SyncServerEndpoint; /** * Returns true if the given object is an instance of SyncServerEndpoint. 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 SyncServerEndpoint; /** * Is Cloud Tiering Enabled? Defaults to `false`. */ readonly cloudTieringEnabled: pulumi.Output; /** * Specifies how the server initially downloads the Azure file share data. Valid Values includes `NamespaceThenModifiedFiles`, `NamespaceOnly`, and `AvoidTieredFiles`. Defaults to `NamespaceThenModifiedFiles`. Changing this forces a new resource to be created. */ readonly initialDownloadPolicy: pulumi.Output; /** * Specifies how to handle the local cache. Valid Values include `UpdateLocallyCachedFiles` and `DownloadNewAndModifiedFiles`. Defaults to `UpdateLocallyCachedFiles`. */ readonly localCacheMode: pulumi.Output; /** * The name which should be used for this Storage Sync. Changing this forces a new Storage Sync Server Endpoint to be created. */ readonly name: pulumi.Output; /** * The ID of the Registered Server that will be associate with the Storage Sync Server Endpoint. Changing this forces a new Storage Sync Server Endpoint to be created. * * > **Note:** The target server must already be registered with the parent `azure.storage.Sync` prior to creating this endpoint. For more information on registering a server see the [Microsoft documentation](https://learn.microsoft.com/azure/storage/file-sync/file-sync-server-registration) */ readonly registeredServerId: pulumi.Output; /** * The path on the Windows Server to be synced to the Azure file share. Changing this forces a new Storage Sync Server Endpoint to be created. */ readonly serverLocalPath: pulumi.Output; /** * The ID of the Storage Sync Group where the Storage Sync Server Endpoint should exist. Changing this forces a new Storage Sync Server Endpoint to be created. */ readonly storageSyncGroupId: pulumi.Output; /** * Files older than the specified age will be tiered to the cloud. */ readonly tierFilesOlderThanDays: pulumi.Output; /** * What percentage of free space on the volume should be preserved? Defaults to `20`. */ readonly volumeFreeSpacePercent: pulumi.Output; /** * Create a SyncServerEndpoint 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: SyncServerEndpointArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SyncServerEndpoint resources. */ export interface SyncServerEndpointState { /** * Is Cloud Tiering Enabled? Defaults to `false`. */ cloudTieringEnabled?: pulumi.Input; /** * Specifies how the server initially downloads the Azure file share data. Valid Values includes `NamespaceThenModifiedFiles`, `NamespaceOnly`, and `AvoidTieredFiles`. Defaults to `NamespaceThenModifiedFiles`. Changing this forces a new resource to be created. */ initialDownloadPolicy?: pulumi.Input; /** * Specifies how to handle the local cache. Valid Values include `UpdateLocallyCachedFiles` and `DownloadNewAndModifiedFiles`. Defaults to `UpdateLocallyCachedFiles`. */ localCacheMode?: pulumi.Input; /** * The name which should be used for this Storage Sync. Changing this forces a new Storage Sync Server Endpoint to be created. */ name?: pulumi.Input; /** * The ID of the Registered Server that will be associate with the Storage Sync Server Endpoint. Changing this forces a new Storage Sync Server Endpoint to be created. * * > **Note:** The target server must already be registered with the parent `azure.storage.Sync` prior to creating this endpoint. For more information on registering a server see the [Microsoft documentation](https://learn.microsoft.com/azure/storage/file-sync/file-sync-server-registration) */ registeredServerId?: pulumi.Input; /** * The path on the Windows Server to be synced to the Azure file share. Changing this forces a new Storage Sync Server Endpoint to be created. */ serverLocalPath?: pulumi.Input; /** * The ID of the Storage Sync Group where the Storage Sync Server Endpoint should exist. Changing this forces a new Storage Sync Server Endpoint to be created. */ storageSyncGroupId?: pulumi.Input; /** * Files older than the specified age will be tiered to the cloud. */ tierFilesOlderThanDays?: pulumi.Input; /** * What percentage of free space on the volume should be preserved? Defaults to `20`. */ volumeFreeSpacePercent?: pulumi.Input; } /** * The set of arguments for constructing a SyncServerEndpoint resource. */ export interface SyncServerEndpointArgs { /** * Is Cloud Tiering Enabled? Defaults to `false`. */ cloudTieringEnabled?: pulumi.Input; /** * Specifies how the server initially downloads the Azure file share data. Valid Values includes `NamespaceThenModifiedFiles`, `NamespaceOnly`, and `AvoidTieredFiles`. Defaults to `NamespaceThenModifiedFiles`. Changing this forces a new resource to be created. */ initialDownloadPolicy?: pulumi.Input; /** * Specifies how to handle the local cache. Valid Values include `UpdateLocallyCachedFiles` and `DownloadNewAndModifiedFiles`. Defaults to `UpdateLocallyCachedFiles`. */ localCacheMode?: pulumi.Input; /** * The name which should be used for this Storage Sync. Changing this forces a new Storage Sync Server Endpoint to be created. */ name?: pulumi.Input; /** * The ID of the Registered Server that will be associate with the Storage Sync Server Endpoint. Changing this forces a new Storage Sync Server Endpoint to be created. * * > **Note:** The target server must already be registered with the parent `azure.storage.Sync` prior to creating this endpoint. For more information on registering a server see the [Microsoft documentation](https://learn.microsoft.com/azure/storage/file-sync/file-sync-server-registration) */ registeredServerId: pulumi.Input; /** * The path on the Windows Server to be synced to the Azure file share. Changing this forces a new Storage Sync Server Endpoint to be created. */ serverLocalPath: pulumi.Input; /** * The ID of the Storage Sync Group where the Storage Sync Server Endpoint should exist. Changing this forces a new Storage Sync Server Endpoint to be created. */ storageSyncGroupId: pulumi.Input; /** * Files older than the specified age will be tiered to the cloud. */ tierFilesOlderThanDays?: pulumi.Input; /** * What percentage of free space on the volume should be preserved? Defaults to `20`. */ volumeFreeSpacePercent?: pulumi.Input; }