/// <summary>
 /// Initializes a new instance of the Certificate class.
 /// </summary>
 /// <param name="location">Resource Location.</param>
 /// <param name="password">Certificate password.</param>
 /// <param name="id">Resource Id.</param>
 /// <param name="name">Resource Name.</param>
 /// <param name="kind">Kind of resource.</param>
 /// <param name="type">Resource type.</param>
 /// <param name="tags">Resource tags.</param>
 /// <param name="friendlyName">Friendly name of the
 /// certificate.</param>
 /// <param name="subjectName">Subject name of the certificate.</param>
 /// <param name="hostNames">Host names the certificate applies
 /// to.</param>
 /// <param name="pfxBlob">Pfx blob.</param>
 /// <param name="siteName">App name.</param>
 /// <param name="selfLink">Self link.</param>
 /// <param name="issuer">Certificate issuer.</param>
 /// <param name="issueDate">Certificate issue Date.</param>
 /// <param name="expirationDate">Certificate expriration date.</param>
 /// <param name="thumbprint">Certificate thumbprint.</param>
 /// <param name="valid">Is the certificate valid?.</param>
 /// <param name="cerBlob">Raw bytes of .cer file</param>
 /// <param name="publicKeyHash">Public key hash.</param>
 /// <param name="hostingEnvironmentProfile">Specification for the App
 /// Service Environment to use for the certificate.</param>
 /// <param name="keyVaultId">Key Vault Csm resource Id.</param>
 /// <param name="keyVaultSecretName">Key Vault secret name.</param>
 /// <param name="keyVaultSecretStatus">Status of the Key Vault secret.
 /// Possible values include: 'Initialized',
 /// 'WaitingOnCertificateOrder', 'Succeeded', 'CertificateOrderFailed',
 /// 'OperationNotPermittedOnKeyVault',
 /// 'AzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultDoesNotExist',
 /// 'KeyVaultSecretDoesNotExist', 'UnknownError', 'ExternalPrivateKey',
 /// 'Unknown'</param>
 /// <param name="geoRegion">Region of the certificate.</param>
 /// <param name="serverFarmId">Resource ID of the associated App
 /// Service plan, formatted as:
 /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}".</param>
 public Certificate(string location, string password, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string friendlyName = default(string), string subjectName = default(string), IList <string> hostNames = default(IList <string>), byte[] pfxBlob = default(byte[]), string siteName = default(string), string selfLink = default(string), string issuer = default(string), System.DateTime?issueDate = default(System.DateTime?), System.DateTime?expirationDate = default(System.DateTime?), string thumbprint = default(string), bool?valid = default(bool?), byte[] cerBlob = default(byte[]), string publicKeyHash = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), string keyVaultId = default(string), string keyVaultSecretName = default(string), KeyVaultSecretStatus?keyVaultSecretStatus = default(KeyVaultSecretStatus?), string geoRegion = default(string), string serverFarmId = default(string))
     : base(location, id, name, kind, type, tags)
 {
     FriendlyName              = friendlyName;
     SubjectName               = subjectName;
     HostNames                 = hostNames;
     PfxBlob                   = pfxBlob;
     SiteName                  = siteName;
     SelfLink                  = selfLink;
     Issuer                    = issuer;
     IssueDate                 = issueDate;
     ExpirationDate            = expirationDate;
     Password                  = password;
     Thumbprint                = thumbprint;
     Valid                     = valid;
     CerBlob                   = cerBlob;
     PublicKeyHash             = publicKeyHash;
     HostingEnvironmentProfile = hostingEnvironmentProfile;
     KeyVaultId                = keyVaultId;
     KeyVaultSecretName        = keyVaultSecretName;
     KeyVaultSecretStatus      = keyVaultSecretStatus;
     GeoRegion                 = geoRegion;
     ServerFarmId              = serverFarmId;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the AppServicePlanPatchResource
 /// class.
 /// </summary>
 /// <param name="appServicePlanPatchResourceName">Name for the App
 /// Service plan.</param>
 /// <param name="id">Resource Id.</param>
 /// <param name="name">Resource Name.</param>
 /// <param name="kind">Kind of resource.</param>
 /// <param name="type">Resource type.</param>
 /// <param name="workerTierName">Target worker tier assigned to the App
 /// Service plan.</param>
 /// <param name="status">App Service plan status. Possible values
 /// include: 'Ready', 'Pending', 'Creating'</param>
 /// <param name="subscription">App Service plan subscription.</param>
 /// <param name="adminSiteName">App Service plan administration
 /// site.</param>
 /// <param name="hostingEnvironmentProfile">Specification for the App
 /// Service Environment to use for the App Service plan.</param>
 /// <param name="maximumNumberOfWorkers">Maximum number of instances
 /// that can be assigned to this App Service plan.</param>
 /// <param name="geoRegion">Geographical location for the App Service
 /// plan.</param>
 /// <param name="perSiteScaling">If &lt;code&gt;true&lt;/code&gt;, apps
 /// assigned to this App Service plan can be scaled independently.
 /// If &lt;code&gt;false&lt;/code&gt;, apps assigned to this App
 /// Service plan will scale to all instances of the plan.</param>
 /// <param name="numberOfSites">Number of apps assigned to this App
 /// Service plan.</param>
 /// <param name="isSpot">If &lt;code&gt;true&lt;/code&gt;, this App
 /// Service Plan owns spot instances.</param>
 /// <param name="spotExpirationTime">The time when the server farm
 /// expires. Valid only if it is a spot server farm.</param>
 /// <param name="resourceGroup">Resource group of the App Service
 /// plan.</param>
 /// <param name="reserved">If Linux app service plan
 /// &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;false&lt;/code&gt;
 /// otherwise.</param>
 /// <param name="targetWorkerCount">Scaling worker count.</param>
 /// <param name="targetWorkerSizeId">Scaling worker size ID.</param>
 /// <param name="provisioningState">Provisioning state of the App
 /// Service Environment. Possible values include: 'Succeeded',
 /// 'Failed', 'Canceled', 'InProgress', 'Deleting'</param>
 public AppServicePlanPatchResource(string appServicePlanPatchResourceName, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), string workerTierName = default(string), StatusOptions?status = default(StatusOptions?), string subscription = default(string), string adminSiteName = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), int?maximumNumberOfWorkers = default(int?), string geoRegion = default(string), bool?perSiteScaling = default(bool?), int?numberOfSites = default(int?), bool?isSpot = default(bool?), System.DateTime?spotExpirationTime = default(System.DateTime?), string resourceGroup = default(string), bool?reserved = default(bool?), int?targetWorkerCount = default(int?), int?targetWorkerSizeId = default(int?), ProvisioningState?provisioningState = default(ProvisioningState?))
     : base(id, name, kind, type)
 {
     AppServicePlanPatchResourceName = appServicePlanPatchResourceName;
     WorkerTierName            = workerTierName;
     Status                    = status;
     Subscription              = subscription;
     AdminSiteName             = adminSiteName;
     HostingEnvironmentProfile = hostingEnvironmentProfile;
     MaximumNumberOfWorkers    = maximumNumberOfWorkers;
     GeoRegion                 = geoRegion;
     PerSiteScaling            = perSiteScaling;
     NumberOfSites             = numberOfSites;
     IsSpot                    = isSpot;
     SpotExpirationTime        = spotExpirationTime;
     ResourceGroup             = resourceGroup;
     Reserved                  = reserved;
     TargetWorkerCount         = targetWorkerCount;
     TargetWorkerSizeId        = targetWorkerSizeId;
     ProvisioningState         = provisioningState;
     CustomInit();
 }
 /// <summary>
 /// Initializes a new instance of the Site class.
 /// </summary>
 /// <param name="location">Resource Location.</param>
 /// <param name="id">Resource Id.</param>
 /// <param name="name">Resource Name.</param>
 /// <param name="kind">Kind of resource.</param>
 /// <param name="type">Resource type.</param>
 /// <param name="tags">Resource tags.</param>
 /// <param name="state">Current state of the app.</param>
 /// <param name="hostNames">Hostnames associated with the app.</param>
 /// <param name="repositorySiteName">Name of the repository
 /// site.</param>
 /// <param name="usageState">State indicating whether the app has
 /// exceeded its quota usage. Read-only. Possible values include:
 /// 'Normal', 'Exceeded'</param>
 /// <param name="enabled">&lt;code&gt;true&lt;/code&gt; if the app is
 /// enabled; otherwise, &lt;code&gt;false&lt;/code&gt;. Setting this
 /// value to false disables the app (takes the app offline).</param>
 /// <param name="enabledHostNames">Enabled hostnames for the
 /// app.Hostnames need to be assigned (see HostNames) AND enabled.
 /// Otherwise,
 /// the app is not served on those hostnames.</param>
 /// <param name="availabilityState">Management information availability
 /// state for the app. Possible values include: 'Normal', 'Limited',
 /// 'DisasterRecoveryMode'</param>
 /// <param name="hostNameSslStates">Hostname SSL states are used to
 /// manage the SSL bindings for app's hostnames.</param>
 /// <param name="serverFarmId">Resource ID of the associated App
 /// Service plan, formatted as:
 /// "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}".</param>
 /// <param name="reserved">&lt;code&gt;true&lt;/code&gt; if reserved;
 /// otherwise, &lt;code&gt;false&lt;/code&gt;.</param>
 /// <param name="lastModifiedTimeUtc">Last time the app was modified,
 /// in UTC. Read-only.</param>
 /// <param name="siteConfig">Configuration of the app.</param>
 /// <param name="trafficManagerHostNames">Azure Traffic Manager
 /// hostnames associated with the app. Read-only.</param>
 /// <param name="scmSiteAlsoStopped">&lt;code&gt;true&lt;/code&gt; to
 /// stop SCM (KUDU) site when the app is stopped; otherwise,
 /// &lt;code&gt;false&lt;/code&gt;. The default is
 /// &lt;code&gt;false&lt;/code&gt;.</param>
 /// <param name="targetSwapSlot">Specifies which deployment slot this
 /// app will swap into. Read-only.</param>
 /// <param name="hostingEnvironmentProfile">App Service Environment to
 /// use for the app.</param>
 /// <param name="clientAffinityEnabled">&lt;code&gt;true&lt;/code&gt;
 /// to enable client affinity; &lt;code&gt;false&lt;/code&gt; to stop
 /// sending session affinity cookies, which route client requests in
 /// the same session to the same instance. Default is
 /// &lt;code&gt;true&lt;/code&gt;.</param>
 /// <param name="clientCertEnabled">&lt;code&gt;true&lt;/code&gt; to
 /// enable client certificate authentication (TLS mutual
 /// authentication); otherwise, &lt;code&gt;false&lt;/code&gt;. Default
 /// is &lt;code&gt;false&lt;/code&gt;.</param>
 /// <param name="hostNamesDisabled">&lt;code&gt;true&lt;/code&gt; to
 /// disable the public hostnames of the app; otherwise,
 /// &lt;code&gt;false&lt;/code&gt;.
 /// If &lt;code&gt;true&lt;/code&gt;, the app is only accessible via
 /// API management process.</param>
 /// <param name="outboundIpAddresses">List of IP addresses that the app
 /// uses for outbound connections (e.g. database access). Includes VIPs
 /// from tenants that site can be hosted with current settings.
 /// Read-only.</param>
 /// <param name="possibleOutboundIpAddresses">List of IP addresses that
 /// the app uses for outbound connections (e.g. database access).
 /// Includes VIPs from all tenants. Read-only.</param>
 /// <param name="containerSize">Size of the function container.</param>
 /// <param name="dailyMemoryTimeQuota">Maximum allowed daily
 /// memory-time quota (applicable on dynamic apps only).</param>
 /// <param name="suspendedTill">App suspended till in case memory-time
 /// quota is exceeded.</param>
 /// <param name="maxNumberOfWorkers">Maximum number of workers.
 /// This only applies to Functions container.</param>
 /// <param name="cloningInfo">If specified during app creation, the app
 /// is cloned from a source app.</param>
 /// <param name="snapshotInfo">If specified during app creation, the
 /// app is created from a previous snapshot.</param>
 /// <param name="resourceGroup">Name of the resource group the app
 /// belongs to. Read-only.</param>
 /// <param name="isDefaultContainer">&lt;code&gt;true&lt;/code&gt; if
 /// the app is a default container; otherwise,
 /// &lt;code&gt;false&lt;/code&gt;.</param>
 /// <param name="defaultHostName">Default hostname of the app.
 /// Read-only.</param>
 /// <param name="slotSwapStatus">Status of the last deployment slot
 /// swap operation.</param>
 /// <param name="httpsOnly">HttpsOnly: configures a web site to accept
 /// only https requests. Issues redirect for
 /// http requests</param>
 public Site(string location, string id = default(string), string name = default(string), string kind = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string state = default(string), IList <string> hostNames = default(IList <string>), string repositorySiteName = default(string), UsageState?usageState = default(UsageState?), bool?enabled = default(bool?), IList <string> enabledHostNames = default(IList <string>), SiteAvailabilityState?availabilityState = default(SiteAvailabilityState?), IList <HostNameSslState> hostNameSslStates = default(IList <HostNameSslState>), string serverFarmId = default(string), bool?reserved = default(bool?), System.DateTime?lastModifiedTimeUtc = default(System.DateTime?), SiteConfig siteConfig = default(SiteConfig), IList <string> trafficManagerHostNames = default(IList <string>), bool?scmSiteAlsoStopped = default(bool?), string targetSwapSlot = default(string), HostingEnvironmentProfile hostingEnvironmentProfile = default(HostingEnvironmentProfile), bool?clientAffinityEnabled = default(bool?), bool?clientCertEnabled = default(bool?), bool?hostNamesDisabled = default(bool?), string outboundIpAddresses = default(string), string possibleOutboundIpAddresses = default(string), int?containerSize = default(int?), int?dailyMemoryTimeQuota = default(int?), System.DateTime?suspendedTill = default(System.DateTime?), int?maxNumberOfWorkers = default(int?), CloningInfo cloningInfo = default(CloningInfo), SnapshotRecoveryRequest snapshotInfo = default(SnapshotRecoveryRequest), string resourceGroup = default(string), bool?isDefaultContainer = default(bool?), string defaultHostName = default(string), SlotSwapStatus slotSwapStatus = default(SlotSwapStatus), bool?httpsOnly = default(bool?), ManagedServiceIdentity identity = default(ManagedServiceIdentity))
     : base(location, id, name, kind, type, tags)
 {
     State                       = state;
     HostNames                   = hostNames;
     RepositorySiteName          = repositorySiteName;
     UsageState                  = usageState;
     Enabled                     = enabled;
     EnabledHostNames            = enabledHostNames;
     AvailabilityState           = availabilityState;
     HostNameSslStates           = hostNameSslStates;
     ServerFarmId                = serverFarmId;
     Reserved                    = reserved;
     LastModifiedTimeUtc         = lastModifiedTimeUtc;
     SiteConfig                  = siteConfig;
     TrafficManagerHostNames     = trafficManagerHostNames;
     ScmSiteAlsoStopped          = scmSiteAlsoStopped;
     TargetSwapSlot              = targetSwapSlot;
     HostingEnvironmentProfile   = hostingEnvironmentProfile;
     ClientAffinityEnabled       = clientAffinityEnabled;
     ClientCertEnabled           = clientCertEnabled;
     HostNamesDisabled           = hostNamesDisabled;
     OutboundIpAddresses         = outboundIpAddresses;
     PossibleOutboundIpAddresses = possibleOutboundIpAddresses;
     ContainerSize               = containerSize;
     DailyMemoryTimeQuota        = dailyMemoryTimeQuota;
     SuspendedTill               = suspendedTill;
     MaxNumberOfWorkers          = maxNumberOfWorkers;
     CloningInfo                 = cloningInfo;
     SnapshotInfo                = snapshotInfo;
     ResourceGroup               = resourceGroup;
     IsDefaultContainer          = isDefaultContainer;
     DefaultHostName             = defaultHostName;
     SlotSwapStatus              = slotSwapStatus;
     HttpsOnly                   = httpsOnly;
     Identity                    = identity;
     CustomInit();
 }