// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DimensionProtocol is dimension of a resource metric. For e.g. instance specific HTTP requests for a web app,
// where instance name is dimension of the metric HTTP request
public protocol DimensionProtocol : Codable {
     var name: String? { get set }
     var displayName: String? { get set }
     var internalName: String? { get set }
     var toBeExportedForShoebox: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainAvailablilityCheckResultProtocol is domain availablility check result.
public protocol DomainAvailablilityCheckResultProtocol : Codable {
     var name: String? { get set }
     var available: Bool? { get set }
     var domainType: DomainTypeEnum? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainCollectionProtocol is collection of domains.
public protocol DomainCollectionProtocol : Codable {
     var value: [DomainProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainControlCenterSsoRequestProtocol is single sign-on request information for domain management.
public protocol DomainControlCenterSsoRequestProtocol : Codable {
     var url: String? { get set }
     var postParameterKey: String? { get set }
     var postParameterValue: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainOwnershipIdentifierCollectionProtocol is collection of domain ownership identifiers.
public protocol DomainOwnershipIdentifierCollectionProtocol : Codable {
     var value: [DomainOwnershipIdentifierProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainOwnershipIdentifierPropertiesProtocol is domainOwnershipIdentifier resource specific properties
public protocol DomainOwnershipIdentifierPropertiesProtocol : Codable {
     var ownershipId: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainOwnershipIdentifierProtocol is domain ownership Identifier.
public protocol DomainOwnershipIdentifierProtocol : ProxyOnlyResourceProtocol {
     var properties: DomainOwnershipIdentifierPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainPatchResourcePropertiesProtocol is domainPatchResource resource specific properties
public protocol DomainPatchResourcePropertiesProtocol : Codable {
     var contactAdmin: ContactProtocol? { get set }
     var contactBilling: ContactProtocol? { get set }
     var contactRegistrant: ContactProtocol? { get set }
     var contactTech: ContactProtocol? { get set }
     var registrationStatus: DomainStatusEnum? { get set }
     var provisioningState: ProvisioningStateEnum? { get set }
     var nameServers: [String]? { get set }
     var privacy: Bool? { get set }
     var createdTime: Date? { get set }
     var expirationTime: Date? { get set }
     var lastRenewedTime: Date? { get set }
     var autoRenew: Bool? { get set }
     var readyForDnsRecordManagement: Bool? { get set }
     var managedHostNames: [HostNameProtocol?]? { get set }
     var consent: DomainPurchaseConsentProtocol? { get set }
     var domainNotRenewableReasons: [String?]? { get set }
     var dnsType: DnsTypeEnum? { get set }
     var dnsZoneId: String? { get set }
     var targetDnsType: DnsTypeEnum? { get set }
     var authCode: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainPatchResourceProtocol is ARM resource for a domain.
public protocol DomainPatchResourceProtocol : ProxyOnlyResourceProtocol {
     var properties: DomainPatchResourcePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainPropertiesProtocol is domain resource specific properties
public protocol DomainPropertiesProtocol : Codable {
     var contactAdmin: ContactProtocol? { get set }
     var contactBilling: ContactProtocol? { get set }
     var contactRegistrant: ContactProtocol? { get set }
     var contactTech: ContactProtocol? { get set }
     var registrationStatus: DomainStatusEnum? { get set }
     var provisioningState: ProvisioningStateEnum? { get set }
     var nameServers: [String]? { get set }
     var privacy: Bool? { get set }
     var createdTime: Date? { get set }
     var expirationTime: Date? { get set }
     var lastRenewedTime: Date? { get set }
     var autoRenew: Bool? { get set }
     var readyForDnsRecordManagement: Bool? { get set }
     var managedHostNames: [HostNameProtocol?]? { get set }
     var consent: DomainPurchaseConsentProtocol? { get set }
     var domainNotRenewableReasons: [String?]? { get set }
     var dnsType: DnsTypeEnum? { get set }
     var dnsZoneId: String? { get set }
     var targetDnsType: DnsTypeEnum? { get set }
     var authCode: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainProtocol is information about a domain.
public protocol DomainProtocol : ResourceProtocol {
     var properties: DomainPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainPurchaseConsentProtocol is domain purchase consent object, representing acceptance of applicable legal
// agreements.
public protocol DomainPurchaseConsentProtocol : Codable {
     var agreementKeys: [String]? { get set }
     var agreedBy: String? { get set }
     var agreedAt: Date? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// DomainRecommendationSearchParametersProtocol is domain recommendation search parameters.
public protocol DomainRecommendationSearchParametersProtocol : Codable {
     var keywords: String? { get set }
     var maxDomainRecommendations: Int32? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// EnabledConfigProtocol is enabled configuration.
public protocol EnabledConfigProtocol : Codable {
     var enabled: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ErrorEntityProtocol is body of the error response returned from the API.
public protocol ErrorEntityProtocol : Codable {
     var extendedCode: String? { get set }
     var messageTemplate: String? { get set }
     var parameters: [String]? { get set }
     var innerErrors: [ErrorEntityProtocol?]? { get set }
     var code: String? { get set }
     var message: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ErrorResponseProtocol is error Response.
public protocol ErrorResponseProtocol : Codable {
     var code: String? { get set }
     var message: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ExperimentsProtocol is routing rules in production experiments.
public protocol ExperimentsProtocol : Codable {
     var rampUpRules: [RampUpRuleProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FileSystemApplicationLogsConfigProtocol is application logs to file system configuration.
public protocol FileSystemApplicationLogsConfigProtocol : Codable {
     var level: LogLevelEnum? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FileSystemHttpLogsConfigProtocol is http logs to file system configuration.
public protocol FileSystemHttpLogsConfigProtocol : Codable {
     var retentionInMb: Int32? { get set }
     var retentionInDays: Int32? { get set }
     var enabled: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FunctionEnvelopeCollectionProtocol is collection of Kudu function information elements.
public protocol FunctionEnvelopeCollectionProtocol : Codable {
     var value: [FunctionEnvelopeProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FunctionEnvelopePropertiesProtocol is functionEnvelope resource specific properties
public protocol FunctionEnvelopePropertiesProtocol : Codable {
     var name: String? { get set }
     var functionAppId: String? { get set }
     var scriptRootPathHref: String? { get set }
     var scriptHref: String? { get set }
     var configHref: String? { get set }
     var secretsFileHref: String? { get set }
     var href: String? { get set }
     var config: [String: String?]? { get set }
     var files: [String:String]? { get set }
     var testData: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FunctionEnvelopeProtocol is web Job Information.
public protocol FunctionEnvelopeProtocol : ProxyOnlyResourceProtocol {
     var properties: FunctionEnvelopePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FunctionSecretsPropertiesProtocol is functionSecrets resource specific properties
public protocol FunctionSecretsPropertiesProtocol : Codable {
     var key: String? { get set }
     var triggerUrl: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// FunctionSecretsProtocol is function secrets.
public protocol FunctionSecretsProtocol : ProxyOnlyResourceProtocol {
     var properties: FunctionSecretsPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// GeoRegionCollectionProtocol is collection of geographical regions.
public protocol GeoRegionCollectionProtocol : Codable {
     var value: [GeoRegionProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// GeoRegionPropertiesProtocol is geoRegion resource specific properties
public protocol GeoRegionPropertiesProtocol : Codable {
     var name: String? { get set }
     var description: String? { get set }
     var displayName: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// GeoRegionProtocol is geographical region.
public protocol GeoRegionProtocol : ProxyOnlyResourceProtocol {
     var properties: GeoRegionPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// GlobalCsmSkuDescriptionProtocol is a Global SKU Description.
public protocol GlobalCsmSkuDescriptionProtocol : Codable {
     var name: String? { get set }
     var tier: String? { get set }
     var size: String? { get set }
     var family: String? { get set }
     var capacity: SkuCapacityProtocol? { get set }
     var locations: [String]? { get set }
     var capabilities: [CapabilityProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HandlerMappingProtocol is the IIS handler mappings used to define which handler processes HTTP requests with certain
// extension.
// For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.
public protocol HandlerMappingProtocol : Codable {
     var _extension: String? { get set }
     var scriptProcessor: String? { get set }
     var arguments: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostingEnvironmentDeploymentInfoProtocol is information needed to create resources on an App Service Environment.
public protocol HostingEnvironmentDeploymentInfoProtocol : Codable {
     var name: String? { get set }
     var location: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostingEnvironmentDiagnosticsProtocol is diagnostics for an App Service Environment.
public protocol HostingEnvironmentDiagnosticsProtocol : Codable {
     var name: String? { get set }
     var diagnosicsOutput: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostingEnvironmentProfileProtocol is specification for an App Service Environment to use for this resource.
public protocol HostingEnvironmentProfileProtocol : Codable {
     var id: String? { get set }
     var name: String? { get set }
     var type: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostNameBindingCollectionProtocol is collection of hostname bindings.
public protocol HostNameBindingCollectionProtocol : Codable {
     var value: [HostNameBindingProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostNameBindingPropertiesProtocol is hostNameBinding resource specific properties
public protocol HostNameBindingPropertiesProtocol : Codable {
     var siteName: String? { get set }
     var domainId: String? { get set }
     var azureResourceName: String? { get set }
     var azureResourceType: AzureResourceTypeEnum? { get set }
     var customHostNameDnsRecordType: CustomHostNameDnsRecordTypeEnum? { get set }
     var hostNameType: HostNameTypeEnum? { get set }
     var sslState: SslStateEnum? { get set }
     var thumbprint: String? { get set }
     var virtualIP: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostNameBindingProtocol is a hostname binding object.
public protocol HostNameBindingProtocol : ProxyOnlyResourceProtocol {
     var properties: HostNameBindingPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostNameProtocol is details of a hostname derived from a domain.
public protocol HostNameProtocol : Codable {
     var name: String? { get set }
     var siteNames: [String]? { get set }
     var azureResourceName: String? { get set }
     var azureResourceType: AzureResourceTypeEnum? { get set }
     var customHostNameDnsRecordType: CustomHostNameDnsRecordTypeEnum? { get set }
     var hostNameType: HostNameTypeEnum? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HostNameSslStateProtocol is SSL-enabled hostname.
public protocol HostNameSslStateProtocol : Codable {
     var name: String? { get set }
     var sslState: SslStateEnum? { get set }
     var virtualIP: String? { get set }
     var thumbprint: String? { get set }
     var toUpdate: Bool? { get set }
     var hostType: HostTypeEnum? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HttpLogsConfigProtocol is http logs configuration.
public protocol HttpLogsConfigProtocol : Codable {
     var fileSystem: FileSystemHttpLogsConfigProtocol? { get set }
     var azureBlobStorage: AzureBlobStorageHttpLogsConfigProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionCollectionProtocol is collection of hostname bindings.
public protocol HybridConnectionCollectionProtocol : Codable {
     var value: [HybridConnectionProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionKeyPropertiesProtocol is hybridConnectionKey resource specific properties
public protocol HybridConnectionKeyPropertiesProtocol : Codable {
     var sendKeyName: String? { get set }
     var sendKeyValue: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionKeyProtocol is hybrid Connection key contract. This has the send key name and value for a Hybrid
// Connection.
public protocol HybridConnectionKeyProtocol : ProxyOnlyResourceProtocol {
     var properties: HybridConnectionKeyPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionLimitsPropertiesProtocol is hybridConnectionLimits resource specific properties
public protocol HybridConnectionLimitsPropertiesProtocol : Codable {
     var current: Int32? { get set }
     var maximum: Int32? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionLimitsProtocol is hybrid Connection limits contract. This is used to return the plan limits of
// Hybrid Connections.
public protocol HybridConnectionLimitsProtocol : ProxyOnlyResourceProtocol {
     var properties: HybridConnectionLimitsPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionPropertiesProtocol is hybridConnection resource specific properties
public protocol HybridConnectionPropertiesProtocol : Codable {
     var serviceBusNamespace: String? { get set }
     var relayName: String? { get set }
     var relayArmUri: String? { get set }
     var hostname: String? { get set }
     var port: Int32? { get set }
     var sendKeyName: String? { get set }
     var sendKeyValue: String? { get set }
     var serviceBusSuffix: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// HybridConnectionProtocol is hybrid Connection contract. This is used to configure a Hybrid Connection.
public protocol HybridConnectionProtocol : ProxyOnlyResourceProtocol {
     var properties: HybridConnectionPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// IdentifierCollectionProtocol is collection of identifiers.
public protocol IdentifierCollectionProtocol : Codable {
     var value: [IdentifierProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// IdentifierPropertiesProtocol is identifier resource specific properties
public protocol IdentifierPropertiesProtocol : Codable {
     var id: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// IdentifierProtocol is a domain specific resource identifier.
public protocol IdentifierProtocol : ProxyOnlyResourceProtocol {
     var properties: IdentifierPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// IpSecurityRestrictionProtocol is IP security restriction on an app.
public protocol IpSecurityRestrictionProtocol : Codable {
     var ipAddress: String { get set }
     var subnetMask: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// LocalizableStringProtocol is localizable string object containing the name and a localized value.
public protocol LocalizableStringProtocol : Codable {
     var value: String? { get set }
     var localizedValue: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ManagedServiceIdentityProtocol is managed service identity.
public protocol ManagedServiceIdentityProtocol : Codable {
     var type: ManagedServiceIdentityTypeEnum? { get set }
     var tenantId: String? { get set }
     var principalId: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MetricAvailabililyProtocol is metric availability and retention.
public protocol MetricAvailabililyProtocol : Codable {
     var timeGrain: String? { get set }
     var retention: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MetricAvailabilityProtocol is retention policy of a resource metric.
public protocol MetricAvailabilityProtocol : Codable {
     var timeGrain: String? { get set }
     var blobDuration: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MetricDefinitionPropertiesProtocol is metricDefinition resource specific properties
public protocol MetricDefinitionPropertiesProtocol : Codable {
     var name: String? { get set }
     var unit: String? { get set }
     var primaryAggregationType: String? { get set }
     var metricAvailabilities: [MetricAvailabililyProtocol?]? { get set }
     var displayName: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MetricDefinitionProtocol is metadata for a metric.
public protocol MetricDefinitionProtocol : ProxyOnlyResourceProtocol {
     var properties: MetricDefinitionPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MetricSpecificationProtocol is definition of a single resource metric.
public protocol MetricSpecificationProtocol : Codable {
     var name: String? { get set }
     var displayName: String? { get set }
     var displayDescription: String? { get set }
     var unit: String? { get set }
     var aggregationType: String? { get set }
     var supportsInstanceLevelAggregation: Bool? { get set }
     var enableRegionalMdmAccount: Bool? { get set }
     var sourceMdmAccount: String? { get set }
     var sourceMdmNamespace: String? { get set }
     var metricFilterPattern: String? { get set }
     var fillGapWithZero: Bool? { get set }
     var isInternal: Bool? { get set }
     var dimensions: [DimensionProtocol?]? { get set }
     var category: String? { get set }
     var availabilities: [MetricAvailabilityProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MigrateMySqlRequestPropertiesProtocol is migrateMySqlRequest resource specific properties
public protocol MigrateMySqlRequestPropertiesProtocol : Codable {
     var connectionString: String? { get set }
     var migrationType: MySqlMigrationTypeEnum? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MigrateMySqlRequestProtocol is mySQL migration request.
public protocol MigrateMySqlRequestProtocol : ProxyOnlyResourceProtocol {
     var properties: MigrateMySqlRequestPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MigrateMySqlStatusPropertiesProtocol is migrateMySqlStatus resource specific properties
public protocol MigrateMySqlStatusPropertiesProtocol : Codable {
     var migrationOperationStatus: OperationStatusEnum? { get set }
     var operationId: String? { get set }
     var localMySqlEnabled: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MigrateMySqlStatusProtocol is mySQL migration status.
public protocol MigrateMySqlStatusProtocol : ProxyOnlyResourceProtocol {
     var properties: MigrateMySqlStatusPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployCoreProtocol is mSDeploy ARM PUT core information
public protocol MSDeployCoreProtocol : Codable {
     var packageUri: String? { get set }
     var connectionString: String? { get set }
     var dbType: String? { get set }
     var setParametersXmlFileUri: String? { get set }
     var setParameters: [String:String]? { get set }
     var skipAppData: Bool? { get set }
     var appOffline: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployLogEntryProtocol is mSDeploy log entry
public protocol MSDeployLogEntryProtocol : Codable {
     var time: Date? { get set }
     var type: MSDeployLogEntryTypeEnum? { get set }
     var message: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployLogPropertiesProtocol is mSDeployLog resource specific properties
public protocol MSDeployLogPropertiesProtocol : Codable {
     var entries: [MSDeployLogEntryProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployLogProtocol is mSDeploy log
public protocol MSDeployLogProtocol : ProxyOnlyResourceProtocol {
     var properties: MSDeployLogPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployProtocol is mSDeploy ARM PUT information
public protocol MSDeployProtocol : ProxyOnlyResourceProtocol {
     var properties: MSDeployCoreProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployStatusPropertiesProtocol is mSDeployStatus resource specific properties
public protocol MSDeployStatusPropertiesProtocol : Codable {
     var deployer: String? { get set }
     var provisioningState: MSDeployProvisioningStateEnum? { get set }
     var startTime: Date? { get set }
     var endTime: Date? { get set }
     var complete: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// MSDeployStatusProtocol is mSDeploy ARM response
public protocol MSDeployStatusProtocol : ProxyOnlyResourceProtocol {
     var properties: MSDeployStatusPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// NameIdentifierCollectionProtocol is collection of domain name identifiers.
public protocol NameIdentifierCollectionProtocol : Codable {
     var value: [NameIdentifierProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// NameIdentifierProtocol is identifies an object.
public protocol NameIdentifierProtocol : Codable {
     var name: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// NameValuePairProtocol is name value pair.
public protocol NameValuePairProtocol : Codable {
     var name: String? { get set }
     var value: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// NetworkAccessControlEntryProtocol is network access control entry.
public protocol NetworkAccessControlEntryProtocol : Codable {
     var action: AccessControlEntryActionEnum? { get set }
     var description: String? { get set }
     var order: Int32? { get set }
     var remoteSubnet: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// NetworkFeaturesPropertiesProtocol is networkFeatures resource specific properties
public protocol NetworkFeaturesPropertiesProtocol : Codable {
     var virtualNetworkName: String? { get set }
     var virtualNetworkConnection: VnetInfoProtocol? { get set }
     var hybridConnections: [RelayServiceConnectionEntityProtocol?]? { get set }
     var hybridConnectionsV2: [HybridConnectionProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// NetworkFeaturesProtocol is full view of network features for an app (presently VNET integration and Hybrid
// Connections).
public protocol NetworkFeaturesProtocol : ProxyOnlyResourceProtocol {
     var properties: NetworkFeaturesPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// OperationProtocol is an operation on a resource.
public protocol OperationProtocol : Codable {
     var id: String? { get set }
     var name: String? { get set }
     var status: OperationStatusEnum? { get set }
     var errors: [ErrorEntityProtocol?]? { get set }
     var createdTime: Date? { get set }
     var modifiedTime: Date? { get set }
     var expirationTime: Date? { get set }
     var geoMasterOperationId: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PerfMonCounterCollectionProtocol is collection of performance monitor counters.
public protocol PerfMonCounterCollectionProtocol : Codable {
     var value: [PerfMonResponseProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PerfMonResponseProtocol is performance monitor API response.
public protocol PerfMonResponseProtocol : Codable {
     var code: String? { get set }
     var message: String? { get set }
     var data: PerfMonSetProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PerfMonSampleProtocol is performance monitor sample in a set.
public protocol PerfMonSampleProtocol : Codable {
     var time: Date? { get set }
     var instanceName: String? { get set }
     var value: Double? { get set }
     var coreCount: Int32? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PerfMonSetProtocol is metric information.
public protocol PerfMonSetProtocol : Codable {
     var name: String? { get set }
     var startTime: Date? { get set }
     var endTime: Date? { get set }
     var timeGrain: String? { get set }
     var values: [PerfMonSampleProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PremierAddOnOfferCollectionProtocol is collection of premier add-on offers.
public protocol PremierAddOnOfferCollectionProtocol : Codable {
     var value: [PremierAddOnOfferProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PremierAddOnOfferPropertiesProtocol is premierAddOnOffer resource specific properties
public protocol PremierAddOnOfferPropertiesProtocol : Codable {
     var sku: String? { get set }
     var product: String? { get set }
     var vendor: String? { get set }
     var name: String? { get set }
     var promoCodeRequired: Bool? { get set }
     var quota: Int32? { get set }
     var webHostingPlanRestrictions: AppServicePlanRestrictionsEnum? { get set }
     var privacyPolicyUrl: String? { get set }
     var legalTermsUrl: String? { get set }
     var marketplacePublisher: String? { get set }
     var marketplaceOffer: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PremierAddOnOfferProtocol is premier add-on offer.
public protocol PremierAddOnOfferProtocol : ProxyOnlyResourceProtocol {
     var properties: PremierAddOnOfferPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PremierAddOnPropertiesProtocol is premierAddOn resource specific properties
public protocol PremierAddOnPropertiesProtocol : Codable {
     var sku: String? { get set }
     var product: String? { get set }
     var vendor: String? { get set }
     var premierAddOnName: String? { get set }
     var location: String? { get set }
     var tags: [String:String]? { get set }
     var marketplacePublisher: String? { get set }
     var marketplaceOffer: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PremierAddOnProtocol is premier add-on.
public protocol PremierAddOnProtocol : ResourceProtocol {
     var properties: PremierAddOnPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessInfoCollectionProtocol is collection of Kudu process information elements.
public protocol ProcessInfoCollectionProtocol : Codable {
     var value: [ProcessInfoProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessInfoPropertiesProtocol is processInfo resource specific properties
public protocol ProcessInfoPropertiesProtocol : Codable {
     var id: Int32? { get set }
     var name: String? { get set }
     var href: String? { get set }
     var miniDump: String? { get set }
     var isProfileRunning: Bool? { get set }
     var isIisProfileRunning: Bool? { get set }
     var iisProfileTimeoutInSeconds: Double? { get set }
     var parent: String? { get set }
     var children: [String]? { get set }
     var threads: [ProcessThreadInfoProtocol?]? { get set }
     var openFileHandles: [String]? { get set }
     var modules: [ProcessModuleInfoProtocol?]? { get set }
     var fileName: String? { get set }
     var commandLine: String? { get set }
     var userName: String? { get set }
     var handleCount: Int32? { get set }
     var moduleCount: Int32? { get set }
     var threadCount: Int32? { get set }
     var startTime: Date? { get set }
     var totalProcessorTime: String? { get set }
     var userProcessorTime: String? { get set }
     var privilegedProcessorTime: String? { get set }
     var workingSet64: Int64? { get set }
     var peakWorkingSet64: Int64? { get set }
     var privateMemorySize64: Int64? { get set }
     var virtualMemorySize64: Int64? { get set }
     var peakVirtualMemorySize64: Int64? { get set }
     var pagedSystemMemorySize64: Int64? { get set }
     var nonpagedSystemMemorySize64: Int64? { get set }
     var pagedMemorySize64: Int64? { get set }
     var peakPagedMemorySize64: Int64? { get set }
     var timeStamp: Date? { get set }
     var environmentVariables: [String:String]? { get set }
     var isScmSite: Bool? { get set }
     var isWebJob: Bool? { get set }
     var description: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessInfoProtocol is process Information.
public protocol ProcessInfoProtocol : ProxyOnlyResourceProtocol {
     var properties: ProcessInfoPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessModuleInfoCollectionProtocol is collection of Kudu thread information elements.
public protocol ProcessModuleInfoCollectionProtocol : Codable {
     var value: [ProcessModuleInfoProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessModuleInfoPropertiesProtocol is processModuleInfo resource specific properties
public protocol ProcessModuleInfoPropertiesProtocol : Codable {
     var baseAddress: String? { get set }
     var fileName: String? { get set }
     var href: String? { get set }
     var filePath: String? { get set }
     var moduleMemorySize: Int32? { get set }
     var fileVersion: String? { get set }
     var fileDescription: String? { get set }
     var product: String? { get set }
     var productVersion: String? { get set }
     var isDebug: Bool? { get set }
     var language: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessModuleInfoProtocol is process Module Information.
public protocol ProcessModuleInfoProtocol : ProxyOnlyResourceProtocol {
     var properties: ProcessModuleInfoPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessThreadInfoCollectionProtocol is collection of Kudu thread information elements.
public protocol ProcessThreadInfoCollectionProtocol : Codable {
     var value: [ProcessThreadInfoProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessThreadInfoPropertiesProtocol is processThreadInfo resource specific properties
public protocol ProcessThreadInfoPropertiesProtocol : Codable {
     var id: Int32? { get set }
     var href: String? { get set }
     var process: String? { get set }
     var startAddress: String? { get set }
     var currentPriority: Int32? { get set }
     var priorityLevel: String? { get set }
     var basePriority: Int32? { get set }
     var startTime: Date? { get set }
     var totalProcessorTime: String? { get set }
     var userProcessorTime: String? { get set }
     var priviledgedProcessorTime: String? { get set }
     var state: String? { get set }
     var waitReason: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProcessThreadInfoProtocol is process Thread Information.
public protocol ProcessThreadInfoProtocol : ProxyOnlyResourceProtocol {
     var properties: ProcessThreadInfoPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ProxyOnlyResourceProtocol is azure proxy only resource. This resource is not tracked by Azure Resource Manager.
public protocol ProxyOnlyResourceProtocol : Codable {
     var id: String? { get set }
     var name: String? { get set }
     var kind: String? { get set }
     var type: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PublicCertificateCollectionProtocol is collection of public certificates
public protocol PublicCertificateCollectionProtocol : Codable {
     var value: [PublicCertificateProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PublicCertificatePropertiesProtocol is publicCertificate resource specific properties
public protocol PublicCertificatePropertiesProtocol : Codable {
     var blob: [UInt8]? { get set }
     var publicCertificateLocation: PublicCertificateLocationEnum? { get set }
     var thumbprint: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PublicCertificateProtocol is public certificate object
public protocol PublicCertificateProtocol : ProxyOnlyResourceProtocol {
     var properties: PublicCertificatePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PushSettingsPropertiesProtocol is pushSettings resource specific properties
public protocol PushSettingsPropertiesProtocol : Codable {
     var isPushEnabled: Bool? { get set }
     var tagWhitelistJson: String? { get set }
     var tagsRequiringAuth: String? { get set }
     var dynamicTagsJson: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// PushSettingsProtocol is push settings for the App.
public protocol PushSettingsProtocol : ProxyOnlyResourceProtocol {
     var properties: PushSettingsPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RampUpRuleProtocol is routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or
// to gradually change routing % based on performance.
public protocol RampUpRuleProtocol : Codable {
     var actionHostName: String? { get set }
     var reroutePercentage: Double? { get set }
     var changeStep: Double? { get set }
     var changeIntervalInMinutes: Int32? { get set }
     var minReroutePercentage: Double? { get set }
     var maxReroutePercentage: Double? { get set }
     var changeDecisionCallbackUrl: String? { get set }
     var name: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RecommendationCollectionProtocol is collection of recommendations.
public protocol RecommendationCollectionProtocol : Codable {
     var value: [RecommendationProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RecommendationPropertiesProtocol is recommendation resource specific properties
public protocol RecommendationPropertiesProtocol : Codable {
     var creationTime: Date? { get set }
     var recommendationId: String? { get set }
     var resourceId: String? { get set }
     var resourceScope: ResourceScopeTypeEnum? { get set }
     var ruleName: String? { get set }
     var displayName: String? { get set }
     var message: String? { get set }
     var level: NotificationLevelEnum? { get set }
     var channels: ChannelsEnum? { get set }
     var tags: [String]? { get set }
     var actionName: String? { get set }
     var startTime: Date? { get set }
     var endTime: Date? { get set }
     var nextNotificationTime: Date? { get set }
     var notificationExpirationTime: Date? { get set }
     var notifiedTime: Date? { get set }
     var score: Double? { get set }
     var isDynamic: Bool? { get set }
     var extensionName: String? { get set }
     var bladeName: String? { get set }
     var forwardLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RecommendationProtocol is represents a recommendation result generated by the recommendation engine.
public protocol RecommendationProtocol : ProxyOnlyResourceProtocol {
     var properties: RecommendationPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RecommendationRulePropertiesProtocol is recommendationRule resource specific properties
public protocol RecommendationRulePropertiesProtocol : Codable {
     var name: String? { get set }
     var displayName: String? { get set }
     var message: String? { get set }
     var recommendationId: String? { get set }
     var description: String? { get set }
     var actionName: String? { get set }
     var level: NotificationLevelEnum? { get set }
     var channels: ChannelsEnum? { get set }
     var tags: [String]? { get set }
     var isDynamic: Bool? { get set }
     var extensionName: String? { get set }
     var bladeName: String? { get set }
     var forwardLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RecommendationRuleProtocol is represents a recommendation rule that the recommendation engine can perform.
public protocol RecommendationRuleProtocol : ProxyOnlyResourceProtocol {
     var properties: RecommendationRulePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ReissueCertificateOrderRequestPropertiesProtocol is reissueCertificateOrderRequest resource specific properties
public protocol ReissueCertificateOrderRequestPropertiesProtocol : Codable {
     var keySize: Int32? { get set }
     var delayExistingRevokeInHours: Int32? { get set }
     var csr: String? { get set }
     var isPrivateKeyExternal: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ReissueCertificateOrderRequestProtocol is class representing certificate reissue request.
public protocol ReissueCertificateOrderRequestProtocol : ProxyOnlyResourceProtocol {
     var properties: ReissueCertificateOrderRequestPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RelayServiceConnectionEntityPropertiesProtocol is relayServiceConnectionEntity resource specific properties
public protocol RelayServiceConnectionEntityPropertiesProtocol : Codable {
     var entityName: String? { get set }
     var entityConnectionString: String? { get set }
     var resourceType: String? { get set }
     var resourceConnectionString: String? { get set }
     var hostname: String? { get set }
     var port: Int32? { get set }
     var biztalkUri: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RelayServiceConnectionEntityProtocol is hybrid Connection for an App Service app.
public protocol RelayServiceConnectionEntityProtocol : ProxyOnlyResourceProtocol {
     var properties: RelayServiceConnectionEntityPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RenewCertificateOrderRequestPropertiesProtocol is renewCertificateOrderRequest resource specific properties
public protocol RenewCertificateOrderRequestPropertiesProtocol : Codable {
     var keySize: Int32? { get set }
     var csr: String? { get set }
     var isPrivateKeyExternal: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RenewCertificateOrderRequestProtocol is class representing certificate renew request.
public protocol RenewCertificateOrderRequestProtocol : ProxyOnlyResourceProtocol {
     var properties: RenewCertificateOrderRequestPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RequestsBasedTriggerProtocol is trigger based on total requests.
public protocol RequestsBasedTriggerProtocol : Codable {
     var count: Int32? { get set }
     var timeInterval: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceCollectionProtocol is collection of resources.
public protocol ResourceCollectionProtocol : Codable {
     var value: [String] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricAvailabilityProtocol is metrics availability and retention.
public protocol ResourceMetricAvailabilityProtocol : Codable {
     var timeGrain: String? { get set }
     var retention: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricCollectionProtocol is collection of metric responses.
public protocol ResourceMetricCollectionProtocol : Codable {
     var value: [ResourceMetricProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricDefinitionCollectionProtocol is collection of metric definitions.
public protocol ResourceMetricDefinitionCollectionProtocol : Codable {
     var value: [ResourceMetricDefinitionProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricDefinitionPropertiesProtocol is resourceMetricDefinition resource specific properties
public protocol ResourceMetricDefinitionPropertiesProtocol : Codable {
     var name: ResourceMetricNameProtocol? { get set }
     var unit: String? { get set }
     var primaryAggregationType: String? { get set }
     var metricAvailabilities: [ResourceMetricAvailabilityProtocol?]? { get set }
     var resourceUri: String? { get set }
     var id: String? { get set }
     var properties: [String:String]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricDefinitionProtocol is metadata for the metrics.
public protocol ResourceMetricDefinitionProtocol : ProxyOnlyResourceProtocol {
     var properties: ResourceMetricDefinitionPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricNameProtocol is name of a metric for any resource .
public protocol ResourceMetricNameProtocol : Codable {
     var value: String? { get set }
     var localizedValue: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricPropertyProtocol is resource metric property.
public protocol ResourceMetricPropertyProtocol : Codable {
     var key: String? { get set }
     var value: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricProtocol is object representing a metric for any resource .
public protocol ResourceMetricProtocol : Codable {
     var name: ResourceMetricNameProtocol? { get set }
     var unit: String? { get set }
     var timeGrain: String? { get set }
     var startTime: Date? { get set }
     var endTime: Date? { get set }
     var resourceId: String? { get set }
     var id: String? { get set }
     var metricValues: [ResourceMetricValueProtocol?]? { get set }
     var properties: [ResourceMetricPropertyProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceMetricValueProtocol is value of resource metric.
public protocol ResourceMetricValueProtocol : Codable {
     var timestamp: String? { get set }
     var average: Double? { get set }
     var minimum: Double? { get set }
     var maximum: Double? { get set }
     var total: Double? { get set }
     var count: Double? { get set }
     var properties: [ResourceMetricPropertyProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceNameAvailabilityProtocol is information regarding availbility of a resource name.
public protocol ResourceNameAvailabilityProtocol : Codable {
     var nameAvailable: Bool? { get set }
     var reason: InAvailabilityReasonTypeEnum? { get set }
     var message: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceNameAvailabilityRequestProtocol is resource name availability request content.
public protocol ResourceNameAvailabilityRequestProtocol : Codable {
     var name: String { get set }
     var type: CheckNameResourceTypesEnum { get set }
     var isFqdn: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResourceProtocol is azure resource. This resource is tracked in Azure Resource Manager
public protocol ResourceProtocol : Codable {
     var id: String? { get set }
     var name: String? { get set }
     var kind: String? { get set }
     var location: String { get set }
     var type: String? { get set }
     var tags: [String:String]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ResponseMetaDataProtocol is
public protocol ResponseMetaDataProtocol : Codable {
     var dataSource: DataSourceProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RestoreRequestPropertiesProtocol is restoreRequest resource specific properties
public protocol RestoreRequestPropertiesProtocol : Codable {
     var storageAccountUrl: String? { get set }
     var blobName: String? { get set }
     var overwrite: Bool? { get set }
     var siteName: String? { get set }
     var databases: [DatabaseBackupSettingProtocol?]? { get set }
     var ignoreConflictingHostNames: Bool? { get set }
     var ignoreDatabases: Bool? { get set }
     var appServicePlan: String? { get set }
     var operationType: BackupRestoreOperationTypeEnum? { get set }
     var adjustConnectionStrings: Bool? { get set }
     var hostingEnvironment: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RestoreRequestProtocol is description of a restore request.
public protocol RestoreRequestProtocol : ProxyOnlyResourceProtocol {
     var properties: RestoreRequestPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RestoreResponsePropertiesProtocol is restoreResponse resource specific properties
public protocol RestoreResponsePropertiesProtocol : Codable {
     var operationId: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// RestoreResponseProtocol is response for an app restore request.
public protocol RestoreResponseProtocol : ProxyOnlyResourceProtocol {
     var properties: RestoreResponsePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// ServiceSpecificationProtocol is resource metrics service provided by Microsoft.Insights resource provider.
public protocol ServiceSpecificationProtocol : Codable {
     var metricSpecifications: [MetricSpecificationProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteAuthSettingsPropertiesProtocol is siteAuthSettings resource specific properties
public protocol SiteAuthSettingsPropertiesProtocol : Codable {
     var enabled: Bool? { get set }
     var runtimeVersion: String? { get set }
     var unauthenticatedClientAction: UnauthenticatedClientActionEnum? { get set }
     var tokenStoreEnabled: Bool? { get set }
     var allowedExternalRedirectUrls: [String]? { get set }
     var defaultProvider: BuiltInAuthenticationProviderEnum? { get set }
     var tokenRefreshExtensionHours: Double? { get set }
     var clientId: String? { get set }
     var clientSecret: String? { get set }
     var issuer: String? { get set }
     var allowedAudiences: [String]? { get set }
     var additionalLoginParams: [String]? { get set }
     var googleClientId: String? { get set }
     var googleClientSecret: String? { get set }
     var googleOAuthScopes: [String]? { get set }
     var facebookAppId: String? { get set }
     var facebookAppSecret: String? { get set }
     var facebookOAuthScopes: [String]? { get set }
     var twitterConsumerKey: String? { get set }
     var twitterConsumerSecret: String? { get set }
     var microsoftAccountClientId: String? { get set }
     var microsoftAccountClientSecret: String? { get set }
     var microsoftAccountOAuthScopes: [String]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteAuthSettingsProtocol is configuration settings for the Azure App Service Authentication / Authorization feature.
public protocol SiteAuthSettingsProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteAuthSettingsPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteCloneabilityCriterionProtocol is an app cloneability criterion.
public protocol SiteCloneabilityCriterionProtocol : Codable {
     var name: String? { get set }
     var description: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteCloneabilityProtocol is represents whether or not an app is cloneable.
public protocol SiteCloneabilityProtocol : Codable {
     var result: CloneAbilityResultEnum? { get set }
     var blockingFeatures: [SiteCloneabilityCriterionProtocol?]? { get set }
     var unsupportedFeatures: [SiteCloneabilityCriterionProtocol?]? { get set }
     var blockingCharacteristics: [SiteCloneabilityCriterionProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteConfigProtocol is configuration of an App Service app.
public protocol SiteConfigProtocol : Codable {
     var numberOfWorkers: Int32? { get set }
     var defaultDocuments: [String]? { get set }
     var netFrameworkVersion: String? { get set }
     var phpVersion: String? { get set }
     var pythonVersion: String? { get set }
     var nodeVersion: String? { get set }
     var linuxFxVersion: String? { get set }
     var requestTracingEnabled: Bool? { get set }
     var requestTracingExpirationTime: Date? { get set }
     var remoteDebuggingEnabled: Bool? { get set }
     var remoteDebuggingVersion: String? { get set }
     var httpLoggingEnabled: Bool? { get set }
     var logsDirectorySizeLimit: Int32? { get set }
     var detailedErrorLoggingEnabled: Bool? { get set }
     var publishingUsername: String? { get set }
     var appSettings: [NameValuePairProtocol?]? { get set }
     var connectionStrings: [ConnStringInfoProtocol?]? { get set }
     var machineKey: SiteMachineKeyProtocol? { get set }
     var handlerMappings: [HandlerMappingProtocol?]? { get set }
     var documentRoot: String? { get set }
     var scmType: ScmTypeEnum? { get set }
     var use32BitWorkerProcess: Bool? { get set }
     var webSocketsEnabled: Bool? { get set }
     var alwaysOn: Bool? { get set }
     var javaVersion: String? { get set }
     var javaContainer: String? { get set }
     var javaContainerVersion: String? { get set }
     var appCommandLine: String? { get set }
     var managedPipelineMode: ManagedPipelineModeEnum? { get set }
     var virtualApplications: [VirtualApplicationProtocol?]? { get set }
     var loadBalancing: SiteLoadBalancingEnum? { get set }
     var experiments: ExperimentsProtocol? { get set }
     var limits: SiteLimitsProtocol? { get set }
     var autoHealEnabled: Bool? { get set }
     var autoHealRules: AutoHealRulesProtocol? { get set }
     var tracingOptions: String? { get set }
     var vnetName: String? { get set }
     var cors: CorsSettingsProtocol? { get set }
     var push: PushSettingsProtocol? { get set }
     var apiDefinition: ApiDefinitionInfoProtocol? { get set }
     var autoSwapSlotName: String? { get set }
     var localMySqlEnabled: Bool? { get set }
     var ipSecurityRestrictions: [IpSecurityRestrictionProtocol?]? { get set }
     var http20Enabled: Bool? { get set }
     var minTlsVersion: SupportedTlsVersionsEnum? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteConfigResourceCollectionProtocol is collection of site configurations.
public protocol SiteConfigResourceCollectionProtocol : Codable {
     var value: [SiteConfigResourceProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteConfigResourceProtocol is web app configuration ARM resource.
public protocol SiteConfigResourceProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteConfigProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteConfigurationSnapshotInfoCollectionProtocol is collection of metadata for the app configuration snapshots that
// can be restored.
public protocol SiteConfigurationSnapshotInfoCollectionProtocol : Codable {
     var value: [SiteConfigurationSnapshotInfoProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteConfigurationSnapshotInfoPropertiesProtocol is siteConfigurationSnapshotInfo resource specific properties
public protocol SiteConfigurationSnapshotInfoPropertiesProtocol : Codable {
     var time: Date? { get set }
     var id: Int32? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteConfigurationSnapshotInfoProtocol is a snapshot of a web app configuration.
public protocol SiteConfigurationSnapshotInfoProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteConfigurationSnapshotInfoPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteExtensionInfoCollectionProtocol is collection of Kudu site extension information elements.
public protocol SiteExtensionInfoCollectionProtocol : Codable {
     var value: [SiteExtensionInfoProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteExtensionInfoPropertiesProtocol is siteExtensionInfo resource specific properties
public protocol SiteExtensionInfoPropertiesProtocol : Codable {
     var id: String? { get set }
     var title: String? { get set }
     var type: SiteExtensionTypeEnum? { get set }
     var summary: String? { get set }
     var description: String? { get set }
     var version: String? { get set }
     var extensionUrl: String? { get set }
     var projectUrl: String? { get set }
     var iconUrl: String? { get set }
     var licenseUrl: String? { get set }
     var feedUrl: String? { get set }
     var authors: [String]? { get set }
     var installationArgs: String? { get set }
     var publishedDateTime: Date? { get set }
     var downloadCount: Int32? { get set }
     var localIsLatestVersion: Bool? { get set }
     var localPath: String? { get set }
     var installedDateTime: Date? { get set }
     var provisioningState: String? { get set }
     var comment: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteExtensionInfoProtocol is site Extension Information.
public protocol SiteExtensionInfoProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteExtensionInfoPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteInstancePropertiesProtocol is siteInstance resource specific properties
public protocol SiteInstancePropertiesProtocol : Codable {
     var name: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteInstanceProtocol is instance of an app.
public protocol SiteInstanceProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteInstancePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteLimitsProtocol is metric limits set on an app.
public protocol SiteLimitsProtocol : Codable {
     var maxPercentageCpu: Double? { get set }
     var maxMemoryInMb: Int64? { get set }
     var maxDiskSizeInMb: Int64? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteLogsConfigPropertiesProtocol is siteLogsConfig resource specific properties
public protocol SiteLogsConfigPropertiesProtocol : Codable {
     var applicationLogs: ApplicationLogsConfigProtocol? { get set }
     var httpLogs: HttpLogsConfigProtocol? { get set }
     var failedRequestsTracing: EnabledConfigProtocol? { get set }
     var detailedErrorMessages: EnabledConfigProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteLogsConfigProtocol is configuration of App Service site logs.
public protocol SiteLogsConfigProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteLogsConfigPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteMachineKeyProtocol is machineKey of an app.
public protocol SiteMachineKeyProtocol : Codable {
     var validation: String? { get set }
     var validationKey: String? { get set }
     var decryption: String? { get set }
     var decryptionKey: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SitePatchResourcePropertiesProtocol is sitePatchResource resource specific properties
public protocol SitePatchResourcePropertiesProtocol : Codable {
     var state: String? { get set }
     var hostNames: [String]? { get set }
     var repositorySiteName: String? { get set }
     var usageState: UsageStateEnum? { get set }
     var enabled: Bool? { get set }
     var enabledHostNames: [String]? { get set }
     var availabilityState: SiteAvailabilityStateEnum? { get set }
     var hostNameSslStates: [HostNameSslStateProtocol?]? { get set }
     var serverFarmId: String? { get set }
     var reserved: Bool? { get set }
     var lastModifiedTimeUtc: Date? { get set }
     var siteConfig: SiteConfigProtocol? { get set }
     var trafficManagerHostNames: [String]? { get set }
     var scmSiteAlsoStopped: Bool? { get set }
     var targetSwapSlot: String? { get set }
     var hostingEnvironmentProfile: HostingEnvironmentProfileProtocol? { get set }
     var clientAffinityEnabled: Bool? { get set }
     var clientCertEnabled: Bool? { get set }
     var hostNamesDisabled: Bool? { get set }
     var outboundIpAddresses: String? { get set }
     var possibleOutboundIpAddresses: String? { get set }
     var containerSize: Int32? { get set }
     var dailyMemoryTimeQuota: Int32? { get set }
     var suspendedTill: Date? { get set }
     var maxNumberOfWorkers: Int32? { get set }
     var cloningInfo: CloningInfoProtocol? { get set }
     var snapshotInfo: SnapshotRecoveryRequestProtocol? { get set }
     var resourceGroup: String? { get set }
     var isDefaultContainer: Bool? { get set }
     var defaultHostName: String? { get set }
     var slotSwapStatus: SlotSwapStatusProtocol? { get set }
     var httpsOnly: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SitePatchResourceProtocol is ARM resource for a site.
public protocol SitePatchResourceProtocol : ProxyOnlyResourceProtocol {
     var properties: SitePatchResourcePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SitePhpErrorLogFlagPropertiesProtocol is sitePhpErrorLogFlag resource specific properties
public protocol SitePhpErrorLogFlagPropertiesProtocol : Codable {
     var localLogErrors: String? { get set }
     var masterLogErrors: String? { get set }
     var localLogErrorsMaxLength: String? { get set }
     var masterLogErrorsMaxLength: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SitePhpErrorLogFlagProtocol is used for getting PHP error logging flag.
public protocol SitePhpErrorLogFlagProtocol : ProxyOnlyResourceProtocol {
     var properties: SitePhpErrorLogFlagPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SitePropertiesProtocol is site resource specific properties
public protocol SitePropertiesProtocol : Codable {
     var state: String? { get set }
     var hostNames: [String]? { get set }
     var repositorySiteName: String? { get set }
     var usageState: UsageStateEnum? { get set }
     var enabled: Bool? { get set }
     var enabledHostNames: [String]? { get set }
     var availabilityState: SiteAvailabilityStateEnum? { get set }
     var hostNameSslStates: [HostNameSslStateProtocol?]? { get set }
     var serverFarmId: String? { get set }
     var reserved: Bool? { get set }
     var lastModifiedTimeUtc: Date? { get set }
     var siteConfig: SiteConfigProtocol? { get set }
     var trafficManagerHostNames: [String]? { get set }
     var scmSiteAlsoStopped: Bool? { get set }
     var targetSwapSlot: String? { get set }
     var hostingEnvironmentProfile: HostingEnvironmentProfileProtocol? { get set }
     var clientAffinityEnabled: Bool? { get set }
     var clientCertEnabled: Bool? { get set }
     var hostNamesDisabled: Bool? { get set }
     var outboundIpAddresses: String? { get set }
     var possibleOutboundIpAddresses: String? { get set }
     var containerSize: Int32? { get set }
     var dailyMemoryTimeQuota: Int32? { get set }
     var suspendedTill: Date? { get set }
     var maxNumberOfWorkers: Int32? { get set }
     var cloningInfo: CloningInfoProtocol? { get set }
     var snapshotInfo: SnapshotRecoveryRequestProtocol? { get set }
     var resourceGroup: String? { get set }
     var isDefaultContainer: Bool? { get set }
     var defaultHostName: String? { get set }
     var slotSwapStatus: SlotSwapStatusProtocol? { get set }
     var httpsOnly: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteProtocol is a web app, a mobile app backend, or an API app.
public protocol SiteProtocol : ResourceProtocol {
     var properties: SitePropertiesProtocol? { get set }
     var identity: ManagedServiceIdentityProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteSealProtocol is site seal
public protocol SiteSealProtocol : Codable {
     var html: String { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteSealRequestProtocol is site seal request.
public protocol SiteSealRequestProtocol : Codable {
     var lightTheme: Bool? { get set }
     var locale: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteSourceControlPropertiesProtocol is siteSourceControl resource specific properties
public protocol SiteSourceControlPropertiesProtocol : Codable {
     var repoUrl: String? { get set }
     var branch: String? { get set }
     var isManualIntegration: Bool? { get set }
     var deploymentRollbackEnabled: Bool? { get set }
     var isMercurial: Bool? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SiteSourceControlProtocol is source control configuration for an app.
public protocol SiteSourceControlProtocol : ProxyOnlyResourceProtocol {
     var properties: SiteSourceControlPropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SkuCapacityProtocol is description of the App Service plan scale options.
public protocol SkuCapacityProtocol : Codable {
     var minimum: Int32? { get set }
     var maximum: Int32? { get set }
     var _default: Int32? { get set }
     var scaleType: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SkuDescriptionProtocol is description of a SKU for a scalable resource.
public protocol SkuDescriptionProtocol : Codable {
     var name: String? { get set }
     var tier: String? { get set }
     var size: String? { get set }
     var family: String? { get set }
     var capacity: Int32? { get set }
     var skuCapacity: SkuCapacityProtocol? { get set }
     var locations: [String]? { get set }
     var capabilities: [CapabilityProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SkuInfoCollectionProtocol is collection of SKU information.
public protocol SkuInfoCollectionProtocol : Codable {
     var value: [SkuInfoProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SkuInfoProtocol is SKU discovery information.
public protocol SkuInfoProtocol : Codable {
     var resourceType: String? { get set }
     var sku: SkuDescriptionProtocol? { get set }
     var capacity: SkuCapacityProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SkuInfosProtocol is collection of SKU information.
public protocol SkuInfosProtocol : Codable {
     var resourceType: String? { get set }
     var skus: [GlobalCsmSkuDescriptionProtocol?]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SlotConfigNamesProtocol is names for connection strings and application settings to be marked as sticky to the
// deployment slot and not moved during a swap operation.
// This is valid for all deployment slots in an app.
public protocol SlotConfigNamesProtocol : Codable {
     var connectionStringNames: [String]? { get set }
     var appSettingNames: [String]? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SlotConfigNamesResourceProtocol is slot Config names azure resource.
public protocol SlotConfigNamesResourceProtocol : ProxyOnlyResourceProtocol {
     var properties: SlotConfigNamesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SlotDifferenceCollectionProtocol is collection of slot differences.
public protocol SlotDifferenceCollectionProtocol : Codable {
     var value: [SlotDifferenceProtocol] { get set }
     var _nextLink: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SlotDifferencePropertiesProtocol is slotDifference resource specific properties
public protocol SlotDifferencePropertiesProtocol : Codable {
     var type: String? { get set }
     var settingType: String? { get set }
     var diffRule: String? { get set }
     var settingName: String? { get set }
     var valueInCurrentSlot: String? { get set }
     var valueInTargetSlot: String? { get set }
     var description: String? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SlotDifferenceProtocol is a setting difference between two deployment slots of an app.
public protocol SlotDifferenceProtocol : ProxyOnlyResourceProtocol {
     var properties: SlotDifferencePropertiesProtocol? { get set }
}


// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
import Foundation
// SlotSwapStatusProtocol is the status of the last successfull slot swap operation.
public protocol SlotSwapStatusProtocol : Codable {
     var timestampUtc: Date? { get set }
     var sourceSlotName: String? { get set }
     var destinationSlotName: String? { get set }
}