# IIS Plugin Manual

## Preface

This document describes the functionality provided by the Internet Information Services (IIS) plugin.

Refer to XL Deploy Reference Manual for background information on XL Deploy and deployment concepts.

## Overview

The IIS plugin is a XL Deploy plugin that adds the capability to perform IIS deployments and configuration tasks.

### Features

- Supports Internet Information Services version 6.0 or higher:
  - IIS 6.0 (Windows Server 2003 R2)
  - IIS 7.0 (Windows Server 2008)
  - IIS 7.5 (Windows Server 2008 R2)
  - IIS 8.0 (Windows Server 2012)
  - IIS 8.5 (Windows Server 2012 R2).
- Deploys and undeploys IIS web content.
- Creates, modifies and destroys IIS configuration elements:
  - websites
  - application pools
  - applications
  - virtual directories
- Supports setting options on IIS configuration elements:
  - authentication modes
  - directory browsing
- Stops and starts websites and application pools as necessary.

### Upgrading from IIS plugin 3.8.1 or below

If you are upgrading from IIS plugin 3.8.1 or below to IIS plugin 3.9.0 or up, please note that the `port` property on the `iis.Website` and `iis.WebsiteSpec` CIs has been replaced by the `iis.WebsiteBinding` and `iis.WebsiteBindingSpec` embedded CI's that are stored underneath respectively the `iis.Website` and `iis.WebsiteBinding` CIs.

The XL Deploy repository is automatically upgraded the first time you start XL Deploy after installing IIS plugin 3.9.0. But you'll also need to make sure packages imported into XL Deploy include the necessary `iis.WebsiteBindingSpec` CIs. See the section on usage in deployment packages below for an example.

### Requirements

- XL Deploy requirements:
  - XL Deploy version 4.5.0+
- Infrastructural requirements:
  - Administrative access to the target Windows machine is required.
  - PowerShell 2.0 must be installed on the target machine.
  - For IIS 7.0 support, the Windows PowerShell snap-in for IIS 7.0 must be installed on the target machine.

## Release Notes

### 4.5.1

- Bug fixes
  - [DEPL-7796] - Setting ASP.NET impersonation or forms authentication adds invalid entries to applicationHost.config

### 4.5.0

- New features

  - [DEPL-7661] - Support setting authentication options on sites and applications
  - [DEPL-7582] - Enable / disable directory browsing during website deployment

- Bug fixes

  - [DEPL-5773] - Starting or stopping an application/website that does not exist should raise an exception

### 4.0.0

- Added support for IIS 8.5 (Windows Server 2012 R2).
- Improvements made/bugs fixed:
  - [DEPL-5468] - Error when starting/stopping an IIS application pool/website that has already been started/stopped.
  - [DEPL-5229] - Added support for secure (HTTPS) bindings.
  - [DEPL-5453] - Added support for enable32bitOnWin64 to be set on an IIS application pool(s).
  - [DEPL-5446] - Added support to sleep after creating an IIS application pool as configurable property on `iis.Server`.

### 3.9.0

- Added support for IIS 6.0 (Windows Server 2003 R2).
- Improvements made/bugs fixed:
  - Changed default of `stopStartOnNoop` on `iis.Website` and `iis.ApplicationPool` to `true`.
  - DEPLOYITPB-4237 - Changed `iis.Website` and `iis6.website` to have multiple bindings instead of just one IP/port/hostHeader combination. This change requires you to update your repository and your packages. See the section on upgrading from IIS plugin 3.8.1 or below for details.
  - DEPLOYITPB-4367 - Added stop and start steps for application pools.
  - DEPLOYITPB-4392 - Create/modify, destroy, stop and start scripts are now idempotent, i.e. they work correctly even if the state of the middleware is not exactly how they expecty it to be. Modifying a connfiguration item now only triggers the create/modify script not the destroy script so that configuration item is modified in place instead of being destroyed first.

### 3.8.1

- Added support for IIS 7.0 (Windows Server 2008).
- Added support for IIS 8.0 (Windows Server 2012).
- Improvements made/bugs fixed:
  - DEPLOYITPB-3947 - Added manual for IIS plugin.
  - DEPLOYITPB-4234 - Added workaround for bug in PowerShell that causes it to throw a `New-Item : Index was outside the bounds of the array.` error when no websites are available yet.

### 3.8.0

- First public release to coincide with the release of Deployit 3.8.0.
- Improvements made:
  - Added properties to allow the technical name of a configuration item to be different from the name in Deployit, e.g. `websiteName` on `iis.Website`.

### 3.7.1

- Fixed bug that caused IIS deployeds to be created underneath all PowerShell containers.

### 3.7.0

- Initial release of IIS plugin for IIS 7.5 (Windows 2008 R2).

## Usage in deployment packages

The plugin works with the standard deployment package DAR format. Please see the Packaging Manual for more details about the DAR format and the ways to compose one. The following is a sample `deployit-manifest.xml` file that includes a few of the deployables provided by the IIS plugin:

    <?xml version="1.0" encoding="UTF-8"?>
    <udm.DeploymentPackage application="NerdDinner" version="2.0">
      <deployables>
        <iis.WebContent name="NerdDinner-files" file="NerdDinner-files/NerdDinner-Files">
          <targetPath>C:\inetpub\nerddinner</targetPath>
        </iis.WebContent>
        <iis.ApplicationPoolSpec name="NerdDinner-applicationPool">
          <managedRuntimeVersion>v4.0</managedRuntimeVersion>
        </iis.ApplicationPoolSpec>
        <iis.WebsiteSpec name="NerdDinner-website">
          <websiteName>NerdDinner</websiteName>
          <physicalPath>C:\inetpub\nerddinner</physicalPath>
          <applicationPoolName>NerdDinner-applicationPool</applicationPoolName>
          <bindings>
            <iis.WebsiteBindingSpec name="NerdDinner-website/88">
              <port>88</port>
            </iis.WebsiteBindingSpec>
          </bindings>
        </iis.WebsiteSpec>
      </deployables>
    </udm.DeploymentPackage>

## Using the deployables and deployeds

### Deployable vs. Container table

The following table describes which deployable/container combinations are possible:

Deployable | Container | Generated deployed
--- | --- | ---
iis.WebContent | iis.Server | iis.PublishedWebContent
iis.ApplicationSpec | iis.Server | iis.Application
iis.ApplicationPoolSpec | iis.Server | iis.ApplicationPool
iis.VirtualDirectorySpec | iis.Server | iis.VirtualDirectory
iis.WebsiteSpec | iis.Server | iis.Website
iis6.ApplicationSpec | iis6.Server | iis6.Application
iis6.ApplicationPoolSpec | iis6.Server | iis6.ApplicationPool
iis6.VirtualDirectorySpec | iis6.Server | iis6.VirtualDirectory
iis6.WebsiteSpec | iis6.Server | iis6.Website

### Deployed Actions Table

The following table describes the effect a deployed has on its container:

Deployed | Actions performed for operations
--- | ---
| Create | Destroy | Modify | Noop
iis.PublishedWebContent | Copy web content to IIS server | Remove web content from IIS server | Remove old web content from and copy new web content to IIS server |
iis.Application or iis6.Application | Create application | Destroy application | Modify application |
iis.ApplicationPool or iis6.ApplicationPool | Create application pool Start application pool | Stop application pool Destroy application pool | Stop application pool Modify application pool Start application pool | Stop application pool (iff `stopStartOnNoop` equals `true`) Start application pool (iff `stopStartOnNoop` equals `true`)
iis.VirtualDirectory or iis6.VirtualDirectory | Create virtual directory | Destroy virtual directory | Modify virtual directory |
iis.Website or iis6.Website | Create website Start website | Stop website Destroy website | Stop website Modify website Start website | Stop website (iff `stopStartOnNoop` equals `true`) Start website (iff `stopStartOnNoop` equals `true`)

## Extending the IIS plugin

The IIS plugin has been written upon the foundations provided by the PowerShell plugin, which is a standard part of the XL Deploy server distribution. Please refer to the documentation of the PowerShell plugin for details on how to extend PowerShell-based plugins.

## CI Reference

### Configuration Item Overview

#### Deployables

#### Deployeds

#### Containers

#### Other Configuration Items

### Configuration Item Details

#### iis.Application

Type Hierarchy | iis.Resource >> powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

IIS application

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Children
--- | --- | ---
|  | authentication : SET_OF_CI<iis.Authentication >
|  | Authentication settings for this website

|  | Public Properties
--- | --- | ---
|  | applicationPoolName : STRING = DefaultAppPool
|  | Name of the application pool for this website.
|  | directoryBrowse_showFlags : STRING = Date,Time,Size,Extension
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing.
|  | physicalPath : STRING
|  | Physical path of this application
|  | protocols : STRING = http
|  | Protocols supported by this application
|  | websiteName : STRING
|  | Name of the website under which to create this application
|  | applicationPath : STRING
|  | Path of this application within the website. Defaults to the name of the deployed if not specified
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | directoryBrowse_enabled : BOOLEAN = false
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server.
|  | startOnCreate : BOOLEAN = true
|  | If set to true, the start script will be executed if this deployed is being created.
|  | stopOnDestroy : BOOLEAN = true
|  | If set to true, the stop script will be executed if this deployed is being destroyed.
|  | stopStartOnModify : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified.
|  | stopStartOnNoop : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified.

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | createOrder : INTEGER = 60
|  | Order at which the create step will be executed.
|  | createScript : STRING = iis/create-or-modify-application.ps1
|  | PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
|  | createVerb : STRING = Create
|  | Verb that is used to prefix the description for the create step.
|  | destroyOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | destroyOrder : INTEGER = 40
|  | Order at which the destroy step will be executed.
|  | destroyScript : STRING = iis/destroy-application.ps1
|  | PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
|  | destroyVerb : STRING = Destroy
|  | Verb that is used to prefix the description for the destroy step.
|  | discoverOrder : INTEGER = 50
|  | Order at which the discover step will be executed.
|  | discoverScript : STRING = iis/inspect-applications.ps1
|  | Script invoked to discover and inspect deployeds of this type.
|  | libraryScripts : LIST_OF_STRING = [iis/library/resource.ps1]
|  | List of scripts to append to the the step script.
|  | maxBatchSize : INTEGER = 100
|  | Maximum number of steps in a batch.
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, exposePreviousDeployed]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | modifyOrder : INTEGER = 60
|  | Order at which the modify step will be executed.
|  | modifyScript : STRING = iis/create-or-modify-application.ps1
|  | PowerShell script invoked to modify a resource (or an artifact) on Windows.
|  | modifyVerb : STRING = Modify
|  | Verb that is used to prefix the description for the modify step.
|  | noopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | noopOrder : INTEGER = 50
|  | Order at which the noop step will be executed.
|  | noopVerb : STRING = Noop
|  | Verb that is used to prefix the description for the noop step.
|  | startOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | startOrder : INTEGER = 90
|  | Order at which the start step will be executed.
|  | startVerb : STRING = Start
|  | Verb that is used to prefix the description for the start step.
|  | stopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | stopOrder : INTEGER = 10
|  | Order at which the stop script will be executed.
|  | stopVerb : STRING = Stop
|  | Verb that is used to prefix the description for the stop step.
|  | batchSteps : BOOLEAN = false
|  | If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
|  | classpathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the script.
|  | noopScript : STRING
|  | PowerShell script invoked to noop a resource or an artifact on Windows.
|  | startScript : STRING
|  | PowerShell script invoked to start a resource of an artifact on Windows.
|  | stopScript : STRING
|  | PowerShell script invoked to stop a resource or an artifact on Windows.

#### iis.ApplicationPool

Type Hierarchy | powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

IIS application pool

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | managedRuntimeVersion : STRING = v4.0
|  | The managed .NET runtime version to use. Default is 'v4.0'. Valid values are v1.0, v1.1, v2.0, or v4.0.
|  | serviceAccount : STRING = ApplicationPoolIdentity
|  | Application pool can run as several built-in service accounts. Valid values are NetworkService, LocalService, LocalSystem, ApplicationPoolIdentity, SpecificUser.
|  | applicationPoolName : STRING
|  | Name of this application pool. Defaults to the name of the deployed if not specified
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | enable32BitAppOnWin64 : BOOLEAN = false
|  | When the Enable32BitAppOnWin64 property is set to true, a 32-bit application is allowed to run on a computer than has a 64-bit processor.
|  | password : STRING
|  | Password for application pool specific user account
|  | sleepAfterCreate : INTEGER = 2
|  | Specifies the number of seconds to pause for a new application pool to become responsive after creation.
|  | startOnCreate : BOOLEAN = true
|  | If set to true, the start script will be executed if this deployed is being created.
|  | stopOnDestroy : BOOLEAN = true
|  | If set to true, the stop script will be executed if this deployed is being destroyed.
|  | stopStartOnModify : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified.
|  | stopStartOnNoop : BOOLEAN = true
|  | If set to true, this application pool is stopped and started when another component in the same package is deployed
|  | useClassicManagedPipeline : BOOLEAN
|  | Configures ASP.NET to run in Classic Mode as an ISAPI extention. When not selected, Integrated Mode is used.
|  | username : STRING
|  | When service account is 'SpecificUser', application pool will run as a specific user

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | createOrder : INTEGER = 56
|  | Order at which the create step will be executed.
|  | createScript : STRING = iis/create-or-modify-application-pool.ps1
|  | PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
|  | createVerb : STRING = Create
|  | Verb that is used to prefix the description for the create step.
|  | destroyOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | destroyOrder : INTEGER = 44
|  | Order at which the destroy step will be executed.
|  | destroyScript : STRING = iis/destroy-application-pool.ps1
|  | PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
|  | destroyVerb : STRING = Destroy
|  | Verb that is used to prefix the description for the destroy step.
|  | discoverOrder : INTEGER = 50
|  | Order at which the discover step will be executed.
|  | discoverScript : STRING = iis/inspect-application-pools.ps1
|  | Script invoked to discover and inspect deployeds of this type.
|  | maxBatchSize : INTEGER = 100
|  | Maximum number of steps in a batch.
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, exposePreviousDeployed]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | modifyOrder : INTEGER = 56
|  | Order at which the modify step will be executed.
|  | modifyScript : STRING = iis/create-or-modify-application-pool.ps1
|  | PowerShell script invoked to modify a resource (or an artifact) on Windows.
|  | modifyVerb : STRING = Modify
|  | Verb that is used to prefix the description for the modify step.
|  | noopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | noopOrder : INTEGER = 50
|  | Order at which the noop step will be executed.
|  | noopVerb : STRING = Noop
|  | Verb that is used to prefix the description for the noop step.
|  | startOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | startOrder : INTEGER = 86
|  | Order at which the start step will be executed.
|  | startScript : STRING = iis/start-application-pool.ps1
|  | PowerShell script invoked to start a resource of an artifact on Windows.
|  | startVerb : STRING = Start
|  | Verb that is used to prefix the description for the start step.
|  | stopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | stopOrder : INTEGER = 14
|  | Order at which the stop script will be executed.
|  | stopScript : STRING = iis/stop-application-pool.ps1
|  | PowerShell script invoked to stop a resource or an artifact on Windows.
|  | stopVerb : STRING = Stop
|  | Verb that is used to prefix the description for the stop step.
|  | batchSteps : BOOLEAN = false
|  | If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
|  | classpathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the script.
|  | libraryScripts : LIST_OF_STRING
|  | List of scripts to append to the the step script.
|  | noopScript : STRING
|  | PowerShell script invoked to noop a resource or an artifact on Windows.

#### iis.ApplicationPoolSpec

Type Hierarchy | powershell.BasePowerShellDeployable >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Specification of an IIS application pool

|  | Public Properties
--- | --- | ---
|  | applicationPoolName : STRING
|  | Name of this application pool. Defaults to the name of the deployed if not specified (string)
|  | enable32BitAppOnWin64 : STRING
|  | When the Enable32BitAppOnWin64 property is set to true, a 32-bit application is allowed to run on a computer than has a 64-bit processor. (boolean) default(false)
|  | managedRuntimeVersion : STRING
|  | The managed .NET runtime version to use. Default is 'v4.0'. Valid values are v1.0, v1.1, v2.0, or v4.0. (string) default(v4.0)
|  | password : STRING
|  | Password for application pool specific user account (string)
|  | serviceAccount : STRING
|  | Application pool can run as several built-in service accounts. Valid values are NetworkService, LocalService, LocalSystem, ApplicationPoolIdentity, SpecificUser. (string) default(ApplicationPoolIdentity)
|  | sleepAfterCreate : STRING
|  | Specifies the number of seconds to pause for a new application pool to become responsive after creation. (integer) default(2)
|  | startOnCreate : STRING
|  | If set to true, the start script will be executed if this deployed is being created. (boolean) default(true)
|  | stopOnDestroy : STRING
|  | If set to true, the stop script will be executed if this deployed is being destroyed. (boolean) default(true)
|  | stopStartOnModify : STRING
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified. (boolean) default(true)
|  | stopStartOnNoop : STRING
|  | If set to true, this application pool is stopped and started when another component in the same package is deployed (boolean) default(true)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.
|  | useClassicManagedPipeline : STRING
|  | Configures ASP.NET to run in Classic Mode as an ISAPI extention. When not selected, Integrated Mode is used. (boolean)
|  | username : STRING
|  | When service account is 'SpecificUser', application pool will run as a specific user (string)

#### iis.ApplicationSpec

Type Hierarchy | powershell.BasePowerShellDeployable >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Specification of an IIS application

|  | Children
--- | --- | ---
|  | authentication : SET_OF_CI<iis.AuthenticationSpec >
|  | Authentication settings for this website

|  | Public Properties
--- | --- | ---
|  | applicationPath : STRING
|  | Path of this application within the website. Defaults to the name of the deployed if not specified (string)
|  | applicationPoolName : STRING
|  | Name of the application pool for this website. (string) default(DefaultAppPool)
|  | directoryBrowse_enabled : STRING
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server. (boolean) default(false)
|  | directoryBrowse_showFlags : STRING
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing. (string) default(Date,Time,Size,Extension)
|  | physicalPath : STRING
|  | Physical path of this application (string)
|  | protocols : STRING
|  | Protocols supported by this application (string) default(http)
|  | startOnCreate : STRING
|  | If set to true, the start script will be executed if this deployed is being created. (boolean) default(true)
|  | stopOnDestroy : STRING
|  | If set to true, the stop script will be executed if this deployed is being destroyed. (boolean) default(true)
|  | stopStartOnModify : STRING
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified. (boolean) default(true)
|  | stopStartOnNoop : STRING
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified. (boolean) default(true)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.
|  | websiteName : STRING
|  | Name of the website under which to create this application (string)

#### iis.Authentication

Type Hierarchy | udm.BaseEmbeddedDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.ConfigurationItem, udm.EmbeddedDeployed

Configure authentication settings for sites and applications

|  | Parent
--- | --- | ---
|  | container : CI<udm.EmbeddedDeployedContainer>
|  | The (embedded) deployed which contains this embedded deployed.

|  | Public Properties
--- | --- | ---
|  | anonymousAuthentication_logonMethod : ENUM [Batch, ClearText, Interactive, Network] = ClearText
|  | The logonMethod attribute can be one of the following possible values: Interactive - 0, Batch - 1, Network - 2, ClearText - 3.
|  | anonymousAuthentication_userIdentity : ENUM [SpecificUser, ApplicationPool] = SpecificUser
|  | Specifies the user identity type to authenticate anonymous users.
|  | basicAuthentication_logonMethod : ENUM [Batch, ClearText, Interactive, Network] = ClearText
|  | The logonMethod attribute can be one of the following possible values: Interactive - 0, Batch - 1, Network - 2, ClearText - 3.
|  | formsAuthentication_cookieless : ENUM [UseCookies, UseUri, AutoDetect, UseDeviceProfile] = UseDeviceProfile
|  | Defines whether cookies are used and their behavior.
|  | formsAuthentication_defaultUrl : STRING = default.aspx
|  | Defines the default URL that is used for redirection after authentication.
|  | formsAuthentication_loginUrl : STRING = login.aspx
|  | Specifies the URL to which the request is redirected for logon, if no valid authentication cookie is found.
|  | formsAuthentication_name : STRING = .ASPXAUTH
|  | Specifies the HTTP cookie to use for authentication. If multiple applications are running on a single server and each application requires a unique cookie, you must configure the cookie name in each Web.config file for each application.
|  | formsAuthentication_path : STRING = /
|  | Specifies the path for cookies that are issued by the application.
|  | formsAuthentication_protection : ENUM [All, Encryption, None, Validation] = All
|  | Specifies the type of encryption, if any, to use for cookies.
|  | formsAuthentication_timeout : STRING = 00:30:00
|  | Specifies the time after which the cookie expires. The time format is 'HH:MM:SS'. Default value is '00:30:00' (30 minutes).
|  | anonymousAuthentication_enabled : BOOLEAN = true
|  | Allows any user to access any public content without providing a user name and password challenge to the client browser. By default, Anonymous authentication is enabled
|  | anonymousAuthentication_password : STRING
|  | Specifies the password for Anonymous authentication.
|  | anonymousAuthentication_userName : STRING = IUSR
|  | Specifies the username for Anonymous authentication.
|  | aspnetImpersonation_impersonate : BOOLEAN = false
|  | Use ASP.NET impersonation when you want to run your ASP.NET application under a security context different from the default security context for ASP.NET application.
|  | aspnetImpersonation_password : STRING
|  | Specifies the password for account.
|  | aspnetImpersonation_userName : STRING
|  | Specifies the account IIS uses to impersonate. If you leave this value blank (that is, username=''), IIS is set to impersonate the authenticated user.
|  | basicAuthentication_defaultLogonDomain : STRING
|  | Specifies the default logon domain for Basic authentication.
|  | basicAuthentication_enabled : BOOLEAN = false
|  | Specifies whether Basic authentication is enabled.
|  | basicAuthentication_realm : STRING
|  | Specifies the realm for Basic authentication.
|  | clientCertificateMappingAuthentication_enabled : BOOLEAN = false
|  | Specifies whether Client Certificate Mapping authentication using Active Directory is enabled. For this setting to take effect, you must set this attribute with IIS Manager. If you use any other method to set this attribute, you must restart the Web server for the setting to take effect.
|  | deployable : CI<udm.EmbeddedDeployable>
|  | The embedded deployable that this embedded deployed is derived from.
|  | digestAuthentication_enabled : BOOLEAN = false
|  | Specifies whether Digest authentication is enabled.
|  | digestAuthentication_realm : STRING
|  | Specifies the realm for Digest authentication.
|  | formsAuthentication_domain : STRING
|  | Specifies an optional domain to set on outgoing forms-authentication cookies. This setting takes precedence over the domain that is used in the httpCookies element.
|  | formsAuthentication_enableCrossAppRedirects : BOOLEAN = false
|  | Indicates whether authenticated users are redirected to URLs in other Web applications.
|  | formsAuthentication_enabled : BOOLEAN = false
|  | Specifies whether ASP.NET forms–based authentication is enabled.
|  | formsAuthentication_requireSSL : BOOLEAN = false
|  | Specifies whether an SSL connection is required to transmit the authentication cookie.
|  | formsAuthentication_slidingExpiration : BOOLEAN = true
|  | Specifies whether sliding expiration is enabled. Sliding expiration resets the active authentication time for a cookie to expire upon each request during a single session.
|  | windowsAuthentication_authPersistNonNTLM : BOOLEAN = true
|  | Specifies whether IIS automatically reauthenticates every non-NTLM (for example, Kerberos) request, even those on the same connection. False enables multiple authentications for the same connections.
|  | windowsAuthentication_authPersistSingleRequest : BOOLEAN = false
|  | Setting this flag to true specifies that authentication persists only for a single request on a connection. IIS resets the authentication at the end of each request, and forces reauthentication on the next request of the session.
|  | windowsAuthentication_enabled : BOOLEAN = false
|  | Specifies whether Windows authentication is enabled.
|  | windowsAuthentication_providers : LIST_OF_STRING
|  | Specifies security support providers used for Windows authentication.
|  | windowsAuthentication_useKernelMode : BOOLEAN = true
|  | Specifies whether Windows authentication is done in kernel mode. Kernel-mode authentication may improve authentication performance and prevent authentication problems with application pools that are configured to use a custom identity.

#### iis.AuthenticationSpec

Type Hierarchy | udm.BaseEmbeddedDeployable >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployable, udm.ConfigurationItem

Configure authentication settings for sites and applications

|  | Public Properties
--- | --- | ---
|  | anonymousAuthentication_enabled : STRING
|  | Allows any user to access any public content without providing a user name and password challenge to the client browser. By default, Anonymous authentication is enabled (boolean) default(true)
|  | anonymousAuthentication_logonMethod : STRING
|  | The logonMethod attribute can be one of the following possible values: Interactive - 0, Batch - 1, Network - 2, ClearText - 3. (enum) values(Batch, ClearText, Interactive, Network) default(ClearText)
|  | anonymousAuthentication_password : STRING
|  | Specifies the password for Anonymous authentication. (string)
|  | anonymousAuthentication_userIdentity : STRING
|  | Specifies the user identity type to authenticate anonymous users. (enum) values(SpecificUser, ApplicationPool) default(SpecificUser)
|  | anonymousAuthentication_userName : STRING
|  | Specifies the username for Anonymous authentication. (string) default(IUSR)
|  | aspnetImpersonation_impersonate : STRING
|  | Use ASP.NET impersonation when you want to run your ASP.NET application under a security context different from the default security context for ASP.NET application. (boolean) default(false)
|  | aspnetImpersonation_password : STRING
|  | Specifies the password for account. (string)
|  | aspnetImpersonation_userName : STRING
|  | Specifies the account IIS uses to impersonate. If you leave this value blank (that is, username=''), IIS is set to impersonate the authenticated user. (string)
|  | basicAuthentication_defaultLogonDomain : STRING
|  | Specifies the default logon domain for Basic authentication. (string)
|  | basicAuthentication_enabled : STRING
|  | Specifies whether Basic authentication is enabled. (boolean) default(false)
|  | basicAuthentication_logonMethod : STRING
|  | The logonMethod attribute can be one of the following possible values: Interactive - 0, Batch - 1, Network - 2, ClearText - 3. (enum) values(Batch, ClearText, Interactive, Network) default(ClearText)
|  | basicAuthentication_realm : STRING
|  | Specifies the realm for Basic authentication. (string)
|  | clientCertificateMappingAuthentication_enabled : STRING
|  | Specifies whether Client Certificate Mapping authentication using Active Directory is enabled. For this setting to take effect, you must set this attribute with IIS Manager. If you use any other method to set this attribute, you must restart the Web server for the setting to take effect. (boolean) default(false)
|  | digestAuthentication_enabled : STRING
|  | Specifies whether Digest authentication is enabled. (boolean) default(false)
|  | digestAuthentication_realm : STRING
|  | Specifies the realm for Digest authentication. (string)
|  | formsAuthentication_cookieless : STRING
|  | Defines whether cookies are used and their behavior. (enum) values(UseCookies, UseUri, AutoDetect, UseDeviceProfile) default(UseDeviceProfile)
|  | formsAuthentication_defaultUrl : STRING
|  | Defines the default URL that is used for redirection after authentication. (string) default(default.aspx)
|  | formsAuthentication_domain : STRING
|  | Specifies an optional domain to set on outgoing forms-authentication cookies. This setting takes precedence over the domain that is used in the httpCookies element. (string)
|  | formsAuthentication_enableCrossAppRedirects : STRING
|  | Indicates whether authenticated users are redirected to URLs in other Web applications. (boolean) default(false)
|  | formsAuthentication_enabled : STRING
|  | Specifies whether ASP.NET forms–based authentication is enabled. (boolean) default(false)
|  | formsAuthentication_loginUrl : STRING
|  | Specifies the URL to which the request is redirected for logon, if no valid authentication cookie is found. (string) default(login.aspx)
|  | formsAuthentication_name : STRING
|  | Specifies the HTTP cookie to use for authentication. If multiple applications are running on a single server and each application requires a unique cookie, you must configure the cookie name in each Web.config file for each application. (string) default(.ASPXAUTH)
|  | formsAuthentication_path : STRING
|  | Specifies the path for cookies that are issued by the application. (string) default(/)
|  | formsAuthentication_protection : STRING
|  | Specifies the type of encryption, if any, to use for cookies. (enum) values(All, Encryption, None, Validation) default(All)
|  | formsAuthentication_requireSSL : STRING
|  | Specifies whether an SSL connection is required to transmit the authentication cookie. (boolean) default(false)
|  | formsAuthentication_slidingExpiration : STRING
|  | Specifies whether sliding expiration is enabled. Sliding expiration resets the active authentication time for a cookie to expire upon each request during a single session. (boolean) default(true)
|  | formsAuthentication_timeout : STRING
|  | Specifies the time after which the cookie expires. The time format is 'HH:MM:SS'. Default value is '00:30:00' (30 minutes). (string) default(00:30:00)
|  | windowsAuthentication_authPersistNonNTLM : STRING
|  | Specifies whether IIS automatically reauthenticates every non-NTLM (for example, Kerberos) request, even those on the same connection. False enables multiple authentications for the same connections. (boolean) default(true)
|  | windowsAuthentication_authPersistSingleRequest : STRING
|  | Setting this flag to true specifies that authentication persists only for a single request on a connection. IIS resets the authentication at the end of each request, and forces reauthentication on the next request of the session. (boolean) default(false)
|  | windowsAuthentication_enabled : STRING
|  | Specifies whether Windows authentication is enabled. (boolean) default(false)
|  | windowsAuthentication_providers : LIST_OF_STRING
|  | Specifies security support providers used for Windows authentication. (list_of_string)
|  | windowsAuthentication_useKernelMode : STRING
|  | Specifies whether Windows authentication is done in kernel mode. Kernel-mode authentication may improve authentication performance and prevent authentication problems with application pools that are configured to use a custom identity. (boolean) default(true)

#### iis.PublishedWebContent

Type Hierarchy | powershell.ExtensiblePowerShellDeployedArtifact >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

Published IIS web content

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | targetPath : STRING
|  | Path to the application directory where this web content should be copied; for example, C:\inetpub\wwwroot\application
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | placeholders : MAP_STRING_STRING
|  | A Map containing all the placeholders mapped to their values. Special values are or
|  | startOnCreate : BOOLEAN = true
|  | If set to true, the start script will be executed if this deployed is being created.
|  | stopOnDestroy : BOOLEAN = true
|  | If set to true, the stop script will be executed if this deployed is being destroyed.
|  | stopStartOnModify : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified.
|  | stopStartOnNoop : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified.

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | createOrder : INTEGER = 54
|  | Order at which the create step will be executed.
|  | createScript : STRING = iis/deploy-webcontent.ps1
|  | PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
|  | createVerb : STRING = Copy
|  | Verb that is used to prefix the description for the create step.
|  | destroyOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | destroyOrder : INTEGER = 46
|  | Order at which the destroy step will be executed.
|  | destroyScript : STRING = iis/undeploy-webcontent.ps1
|  | PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
|  | destroyVerb : STRING = Remove
|  | Verb that is used to prefix the description for the destroy step.
|  | discoverOrder : INTEGER = 50
|  | Order at which the discover step will be executed.
|  | maxBatchSize : INTEGER = 100
|  | Maximum number of steps in a batch.
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | modifyOrder : INTEGER = 54
|  | Order at which the modify step will be executed.
|  | modifyScript : STRING = iis/deploy-webcontent.ps1
|  | PowerShell script invoked to modify a resource (or an artifact) on Windows.
|  | modifyVerb : STRING = Copy
|  | Verb that is used to prefix the description for the modify step.
|  | noopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | noopOrder : INTEGER = 50
|  | Order at which the noop step will be executed.
|  | noopVerb : STRING = Noop
|  | Verb that is used to prefix the description for the noop step.
|  | startOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | startOrder : INTEGER = 90
|  | Order at which the start step will be executed.
|  | startVerb : STRING = Start
|  | Verb that is used to prefix the description for the start step.
|  | stopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | stopOrder : INTEGER = 10
|  | Order at which the stop script will be executed.
|  | stopVerb : STRING = Stop
|  | Verb that is used to prefix the description for the stop step.
|  | batchSteps : BOOLEAN = false
|  | If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
|  | classpathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the script.
|  | discoverScript : STRING
|  | Script invoked to discover and inspect deployeds of this type.
|  | libraryScripts : LIST_OF_STRING
|  | List of scripts to append to the the step script.
|  | noopScript : STRING
|  | PowerShell script invoked to noop a resource or an artifact on Windows.
|  | startScript : STRING
|  | PowerShell script invoked to start a resource of an artifact on Windows.
|  | stopScript : STRING
|  | PowerShell script invoked to stop a resource or an artifact on Windows.

#### iis.Resource

Virtual Type
Type Hierarchy | powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Description unavailable

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Public Properties
--- | --- | ---
|  | directoryBrowse_showFlags : STRING = Date,Time,Size,Extension
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing.
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | directoryBrowse_enabled : BOOLEAN = false
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server.
|  | startOnCreate : BOOLEAN = true
|  | If set to true, the start script will be executed if this deployed is being created.
|  | stopOnDestroy : BOOLEAN = true
|  | If set to true, the stop script will be executed if this deployed is being destroyed.
|  | stopStartOnModify : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified.
|  | stopStartOnNoop : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified.

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | createOrder : INTEGER = 60
|  | Order at which the create step will be executed.
|  | createVerb : STRING = Create
|  | Verb that is used to prefix the description for the create step.
|  | destroyOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | destroyOrder : INTEGER = 40
|  | Order at which the destroy step will be executed.
|  | destroyVerb : STRING = Destroy
|  | Verb that is used to prefix the description for the destroy step.
|  | discoverOrder : INTEGER = 50
|  | Order at which the discover step will be executed.
|  | libraryScripts : LIST_OF_STRING = [iis/library/resource.ps1]
|  | List of scripts to append to the the step script.
|  | maxBatchSize : INTEGER = 100
|  | Maximum number of steps in a batch.
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | modifyOrder : INTEGER = 60
|  | Order at which the modify step will be executed.
|  | modifyVerb : STRING = Modify
|  | Verb that is used to prefix the description for the modify step.
|  | noopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | noopOrder : INTEGER = 50
|  | Order at which the noop step will be executed.
|  | noopVerb : STRING = Noop
|  | Verb that is used to prefix the description for the noop step.
|  | startOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | startOrder : INTEGER = 90
|  | Order at which the start step will be executed.
|  | startVerb : STRING = Start
|  | Verb that is used to prefix the description for the start step.
|  | stopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | stopOrder : INTEGER = 10
|  | Order at which the stop script will be executed.
|  | stopVerb : STRING = Stop
|  | Verb that is used to prefix the description for the stop step.
|  | batchSteps : BOOLEAN = false
|  | If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
|  | classpathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the script.
|  | createScript : STRING
|  | PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
|  | destroyScript : STRING
|  | PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
|  | discoverScript : STRING
|  | Script invoked to discover and inspect deployeds of this type.
|  | modifyScript : STRING
|  | PowerShell script invoked to modify a resource (or an artifact) on Windows.
|  | noopScript : STRING
|  | PowerShell script invoked to noop a resource or an artifact on Windows.
|  | startScript : STRING
|  | PowerShell script invoked to start a resource of an artifact on Windows.
|  | stopScript : STRING
|  | PowerShell script invoked to stop a resource or an artifact on Windows.

#### iis.Server

Type Hierarchy | powershell.BasePowerShellContainer >> udm.BaseContainer >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, powershell.PowerShellContainer, udm.ConfigurationItem, udm.Container, overthere.HostContainer

Internet Information Services

|  | Parent
--- | --- | ---
|  | host : CI<overthere.Host>
|  | Host upon which the container resides

|  | Public Properties
--- | --- | ---
|  | tags : SET_OF_STRING
|  | If set, only deployables with the same tag will be automatically mapped to this container.

|  | Hidden Properties
--- | --- | ---
|  | discoverOrder : INTEGER = 0
|  | Order at which the discover step will be executed.
|  | libraryScripts : LIST_OF_STRING = [iis/runtime/assert.ps1, iis/runtime/load-webadministration.ps1]
|  | List of scripts to append to the the step script.
|  | deployedsToDiscover : SET_OF_STRING
|  | Deployeds To Discover
|  | discoverScript : STRING
|  | Script invoked to inspect this container and discover deployeds on it.
|  | powerShellPath : STRING = powershell
|  | Power Shell Path

#### iis.VirtualDirectory

Type Hierarchy | iis.Resource >> powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

IIS virtual directory

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Children
--- | --- | ---
|  | authentication : SET_OF_CI<iis.Authentication >
|  | Authentication settings for this website

|  | Public Properties
--- | --- | ---
|  | directoryBrowse_showFlags : STRING = Date,Time,Size,Extension
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing.
|  | physicalPath : STRING
|  | Physical path of this virtual directory
|  | websiteName : STRING
|  | Name of the website under which to create this virtual directory
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | directoryBrowse_enabled : BOOLEAN = false
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server.
|  | startOnCreate : BOOLEAN = true
|  | If set to true, the start script will be executed if this deployed is being created.
|  | stopOnDestroy : BOOLEAN = true
|  | If set to true, the stop script will be executed if this deployed is being destroyed.
|  | stopStartOnModify : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified.
|  | stopStartOnNoop : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified.
|  | virtualDirectoryPath : STRING
|  | Path of this virtual directory within the website. Defaults to the name of the deployed if not specified

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | createOrder : INTEGER = 60
|  | Order at which the create step will be executed.
|  | createScript : STRING = iis/create-or-modify-virtual-directory.ps1
|  | PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
|  | createVerb : STRING = Create
|  | Verb that is used to prefix the description for the create step.
|  | destroyOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | destroyOrder : INTEGER = 40
|  | Order at which the destroy step will be executed.
|  | destroyScript : STRING = iis/destroy-virtual-directory.ps1
|  | PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
|  | destroyVerb : STRING = Destroy
|  | Verb that is used to prefix the description for the destroy step.
|  | discoverOrder : INTEGER = 50
|  | Order at which the discover step will be executed.
|  | discoverScript : STRING = iis/inspect-virtual-directories.ps1
|  | Script invoked to discover and inspect deployeds of this type.
|  | libraryScripts : LIST_OF_STRING = [iis/library/resource.ps1]
|  | List of scripts to append to the the step script.
|  | maxBatchSize : INTEGER = 100
|  | Maximum number of steps in a batch.
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, exposePreviousDeployed]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | modifyOrder : INTEGER = 60
|  | Order at which the modify step will be executed.
|  | modifyScript : STRING = iis/create-or-modify-virtual-directory.ps1
|  | PowerShell script invoked to modify a resource (or an artifact) on Windows.
|  | modifyVerb : STRING = Modify
|  | Verb that is used to prefix the description for the modify step.
|  | noopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | noopOrder : INTEGER = 50
|  | Order at which the noop step will be executed.
|  | noopVerb : STRING = Noop
|  | Verb that is used to prefix the description for the noop step.
|  | startOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | startOrder : INTEGER = 90
|  | Order at which the start step will be executed.
|  | startVerb : STRING = Start
|  | Verb that is used to prefix the description for the start step.
|  | stopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | stopOrder : INTEGER = 10
|  | Order at which the stop script will be executed.
|  | stopVerb : STRING = Stop
|  | Verb that is used to prefix the description for the stop step.
|  | batchSteps : BOOLEAN = false
|  | If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
|  | classpathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the script.
|  | noopScript : STRING
|  | PowerShell script invoked to noop a resource or an artifact on Windows.
|  | startScript : STRING
|  | PowerShell script invoked to start a resource of an artifact on Windows.
|  | stopScript : STRING
|  | PowerShell script invoked to stop a resource or an artifact on Windows.

#### iis.VirtualDirectorySpec

Type Hierarchy | powershell.BasePowerShellDeployable >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Specification of an IIS virtual directory

|  | Children
--- | --- | ---
|  | authentication : SET_OF_CI<iis.AuthenticationSpec >
|  | Authentication settings for this website

|  | Public Properties
--- | --- | ---
|  | directoryBrowse_enabled : STRING
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server. (boolean) default(false)
|  | directoryBrowse_showFlags : STRING
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing. (string) default(Date,Time,Size,Extension)
|  | physicalPath : STRING
|  | Physical path of this virtual directory (string)
|  | startOnCreate : STRING
|  | If set to true, the start script will be executed if this deployed is being created. (boolean) default(true)
|  | stopOnDestroy : STRING
|  | If set to true, the stop script will be executed if this deployed is being destroyed. (boolean) default(true)
|  | stopStartOnModify : STRING
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified. (boolean) default(true)
|  | stopStartOnNoop : STRING
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified. (boolean) default(true)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.
|  | virtualDirectoryPath : STRING
|  | Path of this virtual directory within the website. Defaults to the name of the deployed if not specified (string)
|  | websiteName : STRING
|  | Name of the website under which to create this virtual directory (string)

#### iis.WebContent

Type Hierarchy | powershell.BasePowerShellDeployableFolderArtifact >> udm.BaseDeployableFolderArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FolderArtifact

Folder containing IIS web content (ASP pages, HTML pages, images, stylesheets, and so on). Important: When packaging web content as a ZIP file, do so at the level of the content, not at the level of the folder that contains it.

|  | Public Properties
--- | --- | ---
|  | checksum : STRING
|  | The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
|  | excludeFileNamesRegex : STRING
|  | Regular expression that matches file names that must be excluded from scanning
|  | placeholders : SET_OF_STRING
|  | Placeholders detected in this artifact
|  | scanPlaceholders : BOOLEAN = true
|  | Whether to scan this artifact for placeholders when it is imported
|  | startOnCreate : STRING
|  | If set to true, the start script will be executed if this deployed is being created. (boolean) default(true)
|  | stopOnDestroy : STRING
|  | If set to true, the stop script will be executed if this deployed is being destroyed. (boolean) default(true)
|  | stopStartOnModify : STRING
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified. (boolean) default(true)
|  | stopStartOnNoop : STRING
|  | If set to true, the stop and start scripts will be executed if this deployable is not being modified. (boolean) default(true)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.
|  | targetPath : STRING
|  | Path to the application directory where this web content should be copied; for example, C:\inetpub\wwwroot\application (string)

|  | Hidden Properties
--- | --- | ---
|  | textFileNamesRegex : STRING = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
|  | Regular expression that matches file names of text files
|  | delimiters : STRING = {{ }}
|  | The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
|  | fileEncodings : MAP_STRING_STRING = {.+\.properties=ISO-8859-1}
|  | A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

#### iis.Website

Type Hierarchy | iis.Resource >> powershell.ExtensiblePowerShellDeployed >> powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

IIS website

|  | Parent
--- | --- | ---
|  | container : CI<udm.Container>
|  | The container on which this deployed runs.

|  | Children
--- | --- | ---
|  | authentication : SET_OF_CI<iis.Authentication >
|  | Authentication settings for this website
|  | bindings : SET_OF_CI<iis.WebsiteBinding >
|  | Bindings of this website

|  | Public Properties
--- | --- | ---
|  | applicationPoolName : STRING = DefaultAppPool
|  | Name of the application pool for this website.
|  | directoryBrowse_showFlags : STRING = Date,Time,Size,Extension
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing.
|  | physicalPath : STRING
|  | Physical path of this website
|  | deployable : CI<udm.Deployable>
|  | The deployable that this deployed is derived from.
|  | directoryBrowse_enabled : BOOLEAN = false
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server.
|  | startOnCreate : BOOLEAN = true
|  | If set to true, the start script will be executed if this deployed is being created.
|  | stopOnDestroy : BOOLEAN = true
|  | If set to true, the stop script will be executed if this deployed is being destroyed.
|  | stopStartOnModify : BOOLEAN = true
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified.
|  | stopStartOnNoop : BOOLEAN = true
|  | If set to true, this website is stopped and started when another component in the same package is deployed
|  | websiteName : STRING
|  | Name of this website. Defaults to the name of the deployed if not specified

|  | Hidden Properties
--- | --- | ---
|  | createOptions : SET_OF_STRING = [uploadArtifactData, uploadClasspathResources]
|  | Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | createOrder : INTEGER = 58
|  | Order at which the create step will be executed.
|  | createScript : STRING = iis/create-or-modify-website.ps1
|  | PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
|  | createVerb : STRING = Create
|  | Verb that is used to prefix the description for the create step.
|  | destroyOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | destroyOrder : INTEGER = 42
|  | Order at which the destroy step will be executed.
|  | destroyScript : STRING = iis/destroy-website.ps1
|  | PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
|  | destroyVerb : STRING = Destroy
|  | Verb that is used to prefix the description for the destroy step.
|  | discoverOrder : INTEGER = 50
|  | Order at which the discover step will be executed.
|  | discoverScript : STRING = iis/inspect-websites.ps1
|  | Script invoked to discover and inspect deployeds of this type.
|  | libraryScripts : LIST_OF_STRING = [iis/library/resource.ps1]
|  | List of scripts to append to the the step script.
|  | maxBatchSize : INTEGER = 100
|  | Maximum number of steps in a batch.
|  | modifyOptions : SET_OF_STRING = [uploadArtifactData, exposePreviousDeployed]
|  | Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | modifyOrder : INTEGER = 58
|  | Order at which the modify step will be executed.
|  | modifyScript : STRING = iis/create-or-modify-website.ps1
|  | PowerShell script invoked to modify a resource (or an artifact) on Windows.
|  | modifyVerb : STRING = Modify
|  | Verb that is used to prefix the description for the modify step.
|  | noopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | noopOrder : INTEGER = 50
|  | Order at which the noop step will be executed.
|  | noopVerb : STRING = Noop
|  | Verb that is used to prefix the description for the noop step.
|  | startOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | startOrder : INTEGER = 90
|  | Order at which the start step will be executed.
|  | startScript : STRING = iis/start-website.ps1
|  | PowerShell script invoked to start a resource of an artifact on Windows.
|  | startVerb : STRING = Start
|  | Verb that is used to prefix the description for the start step.
|  | stopOptions : SET_OF_STRING = [uploadClasspathResources]
|  | Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
|  | stopOrder : INTEGER = 10
|  | Order at which the stop script will be executed.
|  | stopScript : STRING = iis/stop-website.ps1
|  | PowerShell script invoked to stop a resource or an artifact on Windows.
|  | stopVerb : STRING = Stop
|  | Verb that is used to prefix the description for the stop step.
|  | batchSteps : BOOLEAN = false
|  | If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
|  | classpathResources : SET_OF_STRING
|  | Additional classpath resources that should be uploaded to the working directory before executing the script.
|  | noopScript : STRING
|  | PowerShell script invoked to noop a resource or an artifact on Windows.

#### iis.WebsiteBinding

Type Hierarchy | udm.BaseEmbeddedDeployed >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployedContainer, udm.ConfigurationItem, udm.EmbeddedDeployed

IIS website binding

|  | Parent
--- | --- | ---
|  | container : CI<udm.EmbeddedDeployedContainer>
|  | The (embedded) deployed which contains this embedded deployed.

|  | Public Properties
--- | --- | ---
|  | ipAddress : STRING = *
|  | IP address
|  | port : INTEGER = 80
|  | Port
|  | protocol : STRING = http
|  | Protocol
|  | certificateName : STRING
|  | The hash of the certificatename that can be found under IIS:\SslBindings
|  | deployable : CI<udm.EmbeddedDeployable>
|  | The embedded deployable that this embedded deployed is derived from.
|  | hostHeader : STRING
|  | Host Header

#### iis.WebsiteBindingSpec

Type Hierarchy | udm.BaseEmbeddedDeployable >> udm.BaseConfigurationItem
Interfaces | udm.EmbeddedDeployable, udm.ConfigurationItem

Specification of an IIS website binding

|  | Public Properties
--- | --- | ---
|  | certificateName : STRING
|  | The hash of the certificatename that can be found under IIS:\SslBindings (string)
|  | hostHeader : STRING
|  | Host Header (string)
|  | ipAddress : STRING
|  | IP address (string) default(*)
|  | port : STRING
|  | Port (integer) default(80)
|  | protocol : STRING
|  | Protocol (string) default(http)

#### iis.WebsiteSpec

Type Hierarchy | powershell.BasePowerShellDeployable >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces | udm.Taggable, udm.Deployable, udm.ConfigurationItem

Specification of an IIS website

|  | Children
--- | --- | ---
|  | authentication : SET_OF_CI<iis.AuthenticationSpec >
|  | Authentication settings for this website
|  | bindings : SET_OF_CI<iis.WebsiteBindingSpec >
|  | Bindings of this website

|  | Public Properties
--- | --- | ---
|  | applicationPoolName : STRING
|  | Name of the application pool for this website. (string) default(DefaultAppPool)
|  | directoryBrowse_enabled : STRING
|  | Specifies whether directory browsing is enabled (true) or disabled (false) on the Web server. (boolean) default(false)
|  | directoryBrowse_showFlags : STRING
|  | The showFlags attribute can have one or more of the following possible values. If you specify more than one value, separate the values with a comma (,). The default values are Date, Time, Size, Extension. None specifies that only the file or directory names are returned in a directory listing. (string) default(Date,Time,Size,Extension)
|  | physicalPath : STRING
|  | Physical path of this website (string)
|  | startOnCreate : STRING
|  | If set to true, the start script will be executed if this deployed is being created. (boolean) default(true)
|  | stopOnDestroy : STRING
|  | If set to true, the stop script will be executed if this deployed is being destroyed. (boolean) default(true)
|  | stopStartOnModify : STRING
|  | If set to true, the stop and start scripts will be executed if this deployed is being modified. (boolean) default(true)
|  | stopStartOnNoop : STRING
|  | If set to true, this website is stopped and started when another component in the same package is deployed (boolean) default(true)
|  | tags : SET_OF_STRING
|  | If set, this deployable will only be mapped automatically to containers with the same tag.
|  | websiteName : STRING
|  | Name of this website. Defaults to the name of the deployed if not specified (string)