# pylint: disable=too-many-lines
# coding=utf-8
# --------------------------------------------------------------------------
# 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.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import datetime
from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union
from .. import _serialization
if TYPE_CHECKING:
from .. import models as _models
[docs]
class AnalysisCreate(_serialization.Model):
"""The request body for creating an analysis for an NGINX configuration.
All required parameters must be populated in order to send to server.
:ivar config: Required.
:vartype config: ~azure.mgmt.nginx.models.AnalysisCreateConfig
"""
_validation = {
"config": {"required": True},
}
_attribute_map = {
"config": {"key": "config", "type": "AnalysisCreateConfig"},
}
def __init__(self, *, config: "_models.AnalysisCreateConfig", **kwargs: Any) -> None:
"""
:keyword config: Required.
:paramtype config: ~azure.mgmt.nginx.models.AnalysisCreateConfig
"""
super().__init__(**kwargs)
self.config = config
[docs]
class AnalysisCreateConfig(_serialization.Model):
"""AnalysisCreateConfig.
:ivar root_file: The root file of the NGINX config file(s). It must match one of the files'
filepath.
:vartype root_file: str
:ivar files:
:vartype files: list[~azure.mgmt.nginx.models.NginxConfigurationFile]
:ivar protected_files:
:vartype protected_files: list[~azure.mgmt.nginx.models.NginxConfigurationProtectedFileRequest]
:ivar package:
:vartype package: ~azure.mgmt.nginx.models.NginxConfigurationPackage
"""
_attribute_map = {
"root_file": {"key": "rootFile", "type": "str"},
"files": {"key": "files", "type": "[NginxConfigurationFile]"},
"protected_files": {"key": "protectedFiles", "type": "[NginxConfigurationProtectedFileRequest]"},
"package": {"key": "package", "type": "NginxConfigurationPackage"},
}
def __init__(
self,
*,
root_file: Optional[str] = None,
files: Optional[List["_models.NginxConfigurationFile"]] = None,
protected_files: Optional[List["_models.NginxConfigurationProtectedFileRequest"]] = None,
package: Optional["_models.NginxConfigurationPackage"] = None,
**kwargs: Any
) -> None:
"""
:keyword root_file: The root file of the NGINX config file(s). It must match one of the files'
filepath.
:paramtype root_file: str
:keyword files:
:paramtype files: list[~azure.mgmt.nginx.models.NginxConfigurationFile]
:keyword protected_files:
:paramtype protected_files:
list[~azure.mgmt.nginx.models.NginxConfigurationProtectedFileRequest]
:keyword package:
:paramtype package: ~azure.mgmt.nginx.models.NginxConfigurationPackage
"""
super().__init__(**kwargs)
self.root_file = root_file
self.files = files
self.protected_files = protected_files
self.package = package
[docs]
class AnalysisDiagnostic(_serialization.Model):
"""An error object found during the analysis of an NGINX configuration.
All required parameters must be populated in order to send to server.
:ivar id: Unique identifier for the error.
:vartype id: str
:ivar directive: Required.
:vartype directive: str
:ivar description: Required.
:vartype description: str
:ivar file: the filepath of the most relevant config file. Required.
:vartype file: str
:ivar line: Required.
:vartype line: float
:ivar message: Required.
:vartype message: str
:ivar rule: Required.
:vartype rule: str
"""
_validation = {
"directive": {"required": True},
"description": {"required": True},
"file": {"required": True},
"line": {"required": True},
"message": {"required": True},
"rule": {"required": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"directive": {"key": "directive", "type": "str"},
"description": {"key": "description", "type": "str"},
"file": {"key": "file", "type": "str"},
"line": {"key": "line", "type": "float"},
"message": {"key": "message", "type": "str"},
"rule": {"key": "rule", "type": "str"},
}
def __init__(
self,
*,
directive: str,
description: str,
file: str,
line: float,
message: str,
rule: str,
id: Optional[str] = None, # pylint: disable=redefined-builtin
**kwargs: Any
) -> None:
"""
:keyword id: Unique identifier for the error.
:paramtype id: str
:keyword directive: Required.
:paramtype directive: str
:keyword description: Required.
:paramtype description: str
:keyword file: the filepath of the most relevant config file. Required.
:paramtype file: str
:keyword line: Required.
:paramtype line: float
:keyword message: Required.
:paramtype message: str
:keyword rule: Required.
:paramtype rule: str
"""
super().__init__(**kwargs)
self.id = id
self.directive = directive
self.description = description
self.file = file
self.line = line
self.message = message
self.rule = rule
[docs]
class AnalysisResult(_serialization.Model):
"""The response body for an analysis request. Contains the status of the analysis and any errors.
All required parameters must be populated in order to send to server.
:ivar status: The status of the analysis. Required.
:vartype status: str
:ivar data:
:vartype data: ~azure.mgmt.nginx.models.AnalysisResultData
"""
_validation = {
"status": {"required": True},
}
_attribute_map = {
"status": {"key": "status", "type": "str"},
"data": {"key": "data", "type": "AnalysisResultData"},
}
def __init__(self, *, status: str, data: Optional["_models.AnalysisResultData"] = None, **kwargs: Any) -> None:
"""
:keyword status: The status of the analysis. Required.
:paramtype status: str
:keyword data:
:paramtype data: ~azure.mgmt.nginx.models.AnalysisResultData
"""
super().__init__(**kwargs)
self.status = status
self.data = data
[docs]
class AnalysisResultData(_serialization.Model):
"""AnalysisResultData.
:ivar errors:
:vartype errors: list[~azure.mgmt.nginx.models.AnalysisDiagnostic]
:ivar diagnostics:
:vartype diagnostics: list[~azure.mgmt.nginx.models.DiagnosticItem]
"""
_attribute_map = {
"errors": {"key": "errors", "type": "[AnalysisDiagnostic]"},
"diagnostics": {"key": "diagnostics", "type": "[DiagnosticItem]"},
}
def __init__(
self,
*,
errors: Optional[List["_models.AnalysisDiagnostic"]] = None,
diagnostics: Optional[List["_models.DiagnosticItem"]] = None,
**kwargs: Any
) -> None:
"""
:keyword errors:
:paramtype errors: list[~azure.mgmt.nginx.models.AnalysisDiagnostic]
:keyword diagnostics:
:paramtype diagnostics: list[~azure.mgmt.nginx.models.DiagnosticItem]
"""
super().__init__(**kwargs)
self.errors = errors
self.diagnostics = diagnostics
[docs]
class AutoUpgradeProfile(_serialization.Model):
"""Autoupgrade settings of a deployment.
All required parameters must be populated in order to send to server.
:ivar upgrade_channel: Channel used for autoupgrade. Required.
:vartype upgrade_channel: str
"""
_validation = {
"upgrade_channel": {"required": True},
}
_attribute_map = {
"upgrade_channel": {"key": "upgradeChannel", "type": "str"},
}
def __init__(self, *, upgrade_channel: str, **kwargs: Any) -> None:
"""
:keyword upgrade_channel: Channel used for autoupgrade. Required.
:paramtype upgrade_channel: str
"""
super().__init__(**kwargs)
self.upgrade_channel = upgrade_channel
[docs]
class DiagnosticItem(_serialization.Model):
"""A diagnostic is a message associated with an NGINX config. The Analyzer returns diagnostics
with a level indicating the importance of the diagnostic with optional category.
All required parameters must be populated in order to send to server.
:ivar id: Unique identifier for the diagnostic.
:vartype id: str
:ivar directive: Required.
:vartype directive: str
:ivar description: Required.
:vartype description: str
:ivar file: The filepath of the most relevant config file. Required.
:vartype file: str
:ivar line: Required.
:vartype line: float
:ivar message: Required.
:vartype message: str
:ivar rule: Required.
:vartype rule: str
:ivar level: Warning or Info. Required. Known values are: "Info" and "Warning".
:vartype level: str or ~azure.mgmt.nginx.models.Level
:ivar category: Category of warning like Best-practices, Recommendation, Security etc.
:vartype category: str
"""
_validation = {
"directive": {"required": True},
"description": {"required": True},
"file": {"required": True},
"line": {"required": True},
"message": {"required": True},
"rule": {"required": True},
"level": {"required": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"directive": {"key": "directive", "type": "str"},
"description": {"key": "description", "type": "str"},
"file": {"key": "file", "type": "str"},
"line": {"key": "line", "type": "float"},
"message": {"key": "message", "type": "str"},
"rule": {"key": "rule", "type": "str"},
"level": {"key": "level", "type": "str"},
"category": {"key": "category", "type": "str"},
}
def __init__(
self,
*,
directive: str,
description: str,
file: str,
line: float,
message: str,
rule: str,
level: Union[str, "_models.Level"],
id: Optional[str] = None, # pylint: disable=redefined-builtin
category: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword id: Unique identifier for the diagnostic.
:paramtype id: str
:keyword directive: Required.
:paramtype directive: str
:keyword description: Required.
:paramtype description: str
:keyword file: The filepath of the most relevant config file. Required.
:paramtype file: str
:keyword line: Required.
:paramtype line: float
:keyword message: Required.
:paramtype message: str
:keyword rule: Required.
:paramtype rule: str
:keyword level: Warning or Info. Required. Known values are: "Info" and "Warning".
:paramtype level: str or ~azure.mgmt.nginx.models.Level
:keyword category: Category of warning like Best-practices, Recommendation, Security etc.
:paramtype category: str
"""
super().__init__(**kwargs)
self.id = id
self.directive = directive
self.description = description
self.file = file
self.line = line
self.message = message
self.rule = rule
self.level = level
self.category = category
[docs]
class ErrorAdditionalInfo(_serialization.Model):
"""The resource management error additional info.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar type: The additional info type.
:vartype type: str
:ivar info: The additional info.
:vartype info: JSON
"""
_validation = {
"type": {"readonly": True},
"info": {"readonly": True},
}
_attribute_map = {
"type": {"key": "type", "type": "str"},
"info": {"key": "info", "type": "object"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.type = None
self.info = None
[docs]
class ErrorDetail(_serialization.Model):
"""The error detail.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar code: The error code.
:vartype code: str
:ivar message: The error message.
:vartype message: str
:ivar target: The error target.
:vartype target: str
:ivar details: The error details.
:vartype details: list[~azure.mgmt.nginx.models.ErrorDetail]
:ivar additional_info: The error additional info.
:vartype additional_info: list[~azure.mgmt.nginx.models.ErrorAdditionalInfo]
"""
_validation = {
"code": {"readonly": True},
"message": {"readonly": True},
"target": {"readonly": True},
"details": {"readonly": True},
"additional_info": {"readonly": True},
}
_attribute_map = {
"code": {"key": "code", "type": "str"},
"message": {"key": "message", "type": "str"},
"target": {"key": "target", "type": "str"},
"details": {"key": "details", "type": "[ErrorDetail]"},
"additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.code = None
self.message = None
self.target = None
self.details = None
self.additional_info = None
[docs]
class ErrorResponse(_serialization.Model):
"""Common error response for all Azure Resource Manager APIs to return error details for failed
operations. (This also follows the OData error response format.).
:ivar error: The error object.
:vartype error: ~azure.mgmt.nginx.models.ErrorDetail
"""
_attribute_map = {
"error": {"key": "error", "type": "ErrorDetail"},
}
def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None:
"""
:keyword error: The error object.
:paramtype error: ~azure.mgmt.nginx.models.ErrorDetail
"""
super().__init__(**kwargs)
self.error = error
[docs]
class IdentityProperties(_serialization.Model):
"""IdentityProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar principal_id:
:vartype principal_id: str
:ivar tenant_id:
:vartype tenant_id: str
:ivar type: Known values are: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned",
and "None".
:vartype type: str or ~azure.mgmt.nginx.models.IdentityType
:ivar user_assigned_identities: Dictionary of :code:`<UserIdentityProperties>`.
:vartype user_assigned_identities: dict[str, ~azure.mgmt.nginx.models.UserIdentityProperties]
"""
_validation = {
"principal_id": {"readonly": True},
"tenant_id": {"readonly": True},
}
_attribute_map = {
"principal_id": {"key": "principalId", "type": "str"},
"tenant_id": {"key": "tenantId", "type": "str"},
"type": {"key": "type", "type": "str"},
"user_assigned_identities": {"key": "userAssignedIdentities", "type": "{UserIdentityProperties}"},
}
def __init__(
self,
*,
type: Optional[Union[str, "_models.IdentityType"]] = None,
user_assigned_identities: Optional[Dict[str, "_models.UserIdentityProperties"]] = None,
**kwargs: Any
) -> None:
"""
:keyword type: Known values are: "SystemAssigned", "UserAssigned", "SystemAssigned,
UserAssigned", and "None".
:paramtype type: str or ~azure.mgmt.nginx.models.IdentityType
:keyword user_assigned_identities: Dictionary of :code:`<UserIdentityProperties>`.
:paramtype user_assigned_identities: dict[str, ~azure.mgmt.nginx.models.UserIdentityProperties]
"""
super().__init__(**kwargs)
self.principal_id = None
self.tenant_id = None
self.type = type
self.user_assigned_identities = user_assigned_identities
[docs]
class NginxCertificate(_serialization.Model):
"""NginxCertificate.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id:
:vartype id: str
:ivar name:
:vartype name: str
:ivar type:
:vartype type: str
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxCertificateProperties
:ivar location:
:vartype location: str
:ivar system_data: Metadata pertaining to creation and last modification of the resource.
:vartype system_data: ~azure.mgmt.nginx.models.SystemData
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"properties": {"key": "properties", "type": "NginxCertificateProperties"},
"location": {"key": "location", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
}
def __init__(
self,
*,
properties: Optional["_models.NginxCertificateProperties"] = None,
location: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxCertificateProperties
:keyword location:
:paramtype location: str
"""
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.properties = properties
self.location = location
self.system_data = None
[docs]
class NginxCertificateErrorResponseBody(_serialization.Model):
"""NginxCertificateErrorResponseBody.
:ivar code:
:vartype code: str
:ivar message:
:vartype message: str
"""
_attribute_map = {
"code": {"key": "code", "type": "str"},
"message": {"key": "message", "type": "str"},
}
def __init__(self, *, code: Optional[str] = None, message: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword code:
:paramtype code: str
:keyword message:
:paramtype message: str
"""
super().__init__(**kwargs)
self.code = code
self.message = message
[docs]
class NginxCertificateListResponse(_serialization.Model):
"""NginxCertificateListResponse.
:ivar value:
:vartype value: list[~azure.mgmt.nginx.models.NginxCertificate]
:ivar next_link:
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[NginxCertificate]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self,
*,
value: Optional[List["_models.NginxCertificate"]] = None,
next_link: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword value:
:paramtype value: list[~azure.mgmt.nginx.models.NginxCertificate]
:keyword next_link:
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]
class NginxCertificateProperties(_serialization.Model):
"""NginxCertificateProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar provisioning_state: Known values are: "Accepted", "Creating", "Updating", "Deleting",
"Succeeded", "Failed", "Canceled", "Deleted", and "NotSpecified".
:vartype provisioning_state: str or ~azure.mgmt.nginx.models.ProvisioningState
:ivar key_virtual_path:
:vartype key_virtual_path: str
:ivar certificate_virtual_path:
:vartype certificate_virtual_path: str
:ivar key_vault_secret_id:
:vartype key_vault_secret_id: str
:ivar sha1_thumbprint:
:vartype sha1_thumbprint: str
:ivar key_vault_secret_version:
:vartype key_vault_secret_version: str
:ivar key_vault_secret_created:
:vartype key_vault_secret_created: ~datetime.datetime
:ivar certificate_error:
:vartype certificate_error: ~azure.mgmt.nginx.models.NginxCertificateErrorResponseBody
"""
_validation = {
"provisioning_state": {"readonly": True},
"sha1_thumbprint": {"readonly": True},
"key_vault_secret_version": {"readonly": True},
"key_vault_secret_created": {"readonly": True},
}
_attribute_map = {
"provisioning_state": {"key": "provisioningState", "type": "str"},
"key_virtual_path": {"key": "keyVirtualPath", "type": "str"},
"certificate_virtual_path": {"key": "certificateVirtualPath", "type": "str"},
"key_vault_secret_id": {"key": "keyVaultSecretId", "type": "str"},
"sha1_thumbprint": {"key": "sha1Thumbprint", "type": "str"},
"key_vault_secret_version": {"key": "keyVaultSecretVersion", "type": "str"},
"key_vault_secret_created": {"key": "keyVaultSecretCreated", "type": "iso-8601"},
"certificate_error": {"key": "certificateError", "type": "NginxCertificateErrorResponseBody"},
}
def __init__(
self,
*,
key_virtual_path: Optional[str] = None,
certificate_virtual_path: Optional[str] = None,
key_vault_secret_id: Optional[str] = None,
certificate_error: Optional["_models.NginxCertificateErrorResponseBody"] = None,
**kwargs: Any
) -> None:
"""
:keyword key_virtual_path:
:paramtype key_virtual_path: str
:keyword certificate_virtual_path:
:paramtype certificate_virtual_path: str
:keyword key_vault_secret_id:
:paramtype key_vault_secret_id: str
:keyword certificate_error:
:paramtype certificate_error: ~azure.mgmt.nginx.models.NginxCertificateErrorResponseBody
"""
super().__init__(**kwargs)
self.provisioning_state = None
self.key_virtual_path = key_virtual_path
self.certificate_virtual_path = certificate_virtual_path
self.key_vault_secret_id = key_vault_secret_id
self.sha1_thumbprint = None
self.key_vault_secret_version = None
self.key_vault_secret_created = None
self.certificate_error = certificate_error
[docs]
class NginxConfigurationFile(_serialization.Model):
"""NginxConfigurationFile.
:ivar content:
:vartype content: str
:ivar virtual_path:
:vartype virtual_path: str
"""
_attribute_map = {
"content": {"key": "content", "type": "str"},
"virtual_path": {"key": "virtualPath", "type": "str"},
}
def __init__(self, *, content: Optional[str] = None, virtual_path: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword content:
:paramtype content: str
:keyword virtual_path:
:paramtype virtual_path: str
"""
super().__init__(**kwargs)
self.content = content
self.virtual_path = virtual_path
[docs]
class NginxConfigurationListResponse(_serialization.Model):
"""Response of a list operation.
:ivar value: Results of a list operation.
:vartype value: list[~azure.mgmt.nginx.models.NginxConfigurationResponse]
:ivar next_link: Link to the next set of results, if any.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[NginxConfigurationResponse]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self,
*,
value: Optional[List["_models.NginxConfigurationResponse"]] = None,
next_link: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword value: Results of a list operation.
:paramtype value: list[~azure.mgmt.nginx.models.NginxConfigurationResponse]
:keyword next_link: Link to the next set of results, if any.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]
class NginxConfigurationPackage(_serialization.Model):
"""NginxConfigurationPackage.
:ivar data:
:vartype data: str
:ivar protected_files:
:vartype protected_files: list[str]
"""
_attribute_map = {
"data": {"key": "data", "type": "str"},
"protected_files": {"key": "protectedFiles", "type": "[str]"},
}
def __init__(
self, *, data: Optional[str] = None, protected_files: Optional[List[str]] = None, **kwargs: Any
) -> None:
"""
:keyword data:
:paramtype data: str
:keyword protected_files:
:paramtype protected_files: list[str]
"""
super().__init__(**kwargs)
self.data = data
self.protected_files = protected_files
[docs]
class NginxConfigurationProtectedFileRequest(_serialization.Model):
"""NginxConfigurationProtectedFileRequest.
:ivar content: The content of the protected file. This value is a PUT only value. If you
perform a GET request on this value, it will be empty because it is a protected file.
:vartype content: str
:ivar virtual_path: The virtual path of the protected file.
:vartype virtual_path: str
:ivar content_hash: The hash of the content of the file. This value is used to determine if the
file has changed.
:vartype content_hash: str
"""
_attribute_map = {
"content": {"key": "content", "type": "str"},
"virtual_path": {"key": "virtualPath", "type": "str"},
"content_hash": {"key": "contentHash", "type": "str"},
}
def __init__(
self,
*,
content: Optional[str] = None,
virtual_path: Optional[str] = None,
content_hash: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword content: The content of the protected file. This value is a PUT only value. If you
perform a GET request on this value, it will be empty because it is a protected file.
:paramtype content: str
:keyword virtual_path: The virtual path of the protected file.
:paramtype virtual_path: str
:keyword content_hash: The hash of the content of the file. This value is used to determine if
the file has changed.
:paramtype content_hash: str
"""
super().__init__(**kwargs)
self.content = content
self.virtual_path = virtual_path
self.content_hash = content_hash
[docs]
class NginxConfigurationProtectedFileResponse(_serialization.Model):
"""NginxConfigurationProtectedFileResponse.
:ivar virtual_path: The virtual path of the protected file.
:vartype virtual_path: str
:ivar content_hash: The hash of the content of the file. This value is used to determine if the
file has changed.
:vartype content_hash: str
"""
_attribute_map = {
"virtual_path": {"key": "virtualPath", "type": "str"},
"content_hash": {"key": "contentHash", "type": "str"},
}
def __init__(
self, *, virtual_path: Optional[str] = None, content_hash: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword virtual_path: The virtual path of the protected file.
:paramtype virtual_path: str
:keyword content_hash: The hash of the content of the file. This value is used to determine if
the file has changed.
:paramtype content_hash: str
"""
super().__init__(**kwargs)
self.virtual_path = virtual_path
self.content_hash = content_hash
[docs]
class NginxConfigurationRequest(_serialization.Model):
"""NginxConfigurationRequest.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id:
:vartype id: str
:ivar name:
:vartype name: str
:ivar type:
:vartype type: str
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxConfigurationRequestProperties
:ivar system_data: Metadata pertaining to creation and last modification of the resource.
:vartype system_data: ~azure.mgmt.nginx.models.SystemData
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"properties": {"key": "properties", "type": "NginxConfigurationRequestProperties"},
"system_data": {"key": "systemData", "type": "SystemData"},
}
def __init__(
self, *, properties: Optional["_models.NginxConfigurationRequestProperties"] = None, **kwargs: Any
) -> None:
"""
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxConfigurationRequestProperties
"""
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.properties = properties
self.system_data = None
[docs]
class NginxConfigurationRequestProperties(_serialization.Model):
"""NginxConfigurationRequestProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar provisioning_state: Known values are: "Accepted", "Creating", "Updating", "Deleting",
"Succeeded", "Failed", "Canceled", "Deleted", and "NotSpecified".
:vartype provisioning_state: str or ~azure.mgmt.nginx.models.ProvisioningState
:ivar files:
:vartype files: list[~azure.mgmt.nginx.models.NginxConfigurationFile]
:ivar protected_files:
:vartype protected_files: list[~azure.mgmt.nginx.models.NginxConfigurationProtectedFileRequest]
:ivar package:
:vartype package: ~azure.mgmt.nginx.models.NginxConfigurationPackage
:ivar root_file:
:vartype root_file: str
"""
_validation = {
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"provisioning_state": {"key": "provisioningState", "type": "str"},
"files": {"key": "files", "type": "[NginxConfigurationFile]"},
"protected_files": {"key": "protectedFiles", "type": "[NginxConfigurationProtectedFileRequest]"},
"package": {"key": "package", "type": "NginxConfigurationPackage"},
"root_file": {"key": "rootFile", "type": "str"},
}
def __init__(
self,
*,
files: Optional[List["_models.NginxConfigurationFile"]] = None,
protected_files: Optional[List["_models.NginxConfigurationProtectedFileRequest"]] = None,
package: Optional["_models.NginxConfigurationPackage"] = None,
root_file: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword files:
:paramtype files: list[~azure.mgmt.nginx.models.NginxConfigurationFile]
:keyword protected_files:
:paramtype protected_files:
list[~azure.mgmt.nginx.models.NginxConfigurationProtectedFileRequest]
:keyword package:
:paramtype package: ~azure.mgmt.nginx.models.NginxConfigurationPackage
:keyword root_file:
:paramtype root_file: str
"""
super().__init__(**kwargs)
self.provisioning_state = None
self.files = files
self.protected_files = protected_files
self.package = package
self.root_file = root_file
[docs]
class NginxConfigurationResponse(_serialization.Model):
"""NginxConfigurationResponse.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id:
:vartype id: str
:ivar name:
:vartype name: str
:ivar type:
:vartype type: str
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxConfigurationResponseProperties
:ivar system_data: Metadata pertaining to creation and last modification of the resource.
:vartype system_data: ~azure.mgmt.nginx.models.SystemData
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"properties": {"key": "properties", "type": "NginxConfigurationResponseProperties"},
"system_data": {"key": "systemData", "type": "SystemData"},
}
def __init__(
self, *, properties: Optional["_models.NginxConfigurationResponseProperties"] = None, **kwargs: Any
) -> None:
"""
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxConfigurationResponseProperties
"""
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.properties = properties
self.system_data = None
[docs]
class NginxConfigurationResponseProperties(_serialization.Model):
"""NginxConfigurationResponseProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar provisioning_state: Known values are: "Accepted", "Creating", "Updating", "Deleting",
"Succeeded", "Failed", "Canceled", "Deleted", and "NotSpecified".
:vartype provisioning_state: str or ~azure.mgmt.nginx.models.ProvisioningState
:ivar files:
:vartype files: list[~azure.mgmt.nginx.models.NginxConfigurationFile]
:ivar protected_files:
:vartype protected_files:
list[~azure.mgmt.nginx.models.NginxConfigurationProtectedFileResponse]
:ivar package:
:vartype package: ~azure.mgmt.nginx.models.NginxConfigurationPackage
:ivar root_file:
:vartype root_file: str
"""
_validation = {
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"provisioning_state": {"key": "provisioningState", "type": "str"},
"files": {"key": "files", "type": "[NginxConfigurationFile]"},
"protected_files": {"key": "protectedFiles", "type": "[NginxConfigurationProtectedFileResponse]"},
"package": {"key": "package", "type": "NginxConfigurationPackage"},
"root_file": {"key": "rootFile", "type": "str"},
}
def __init__(
self,
*,
files: Optional[List["_models.NginxConfigurationFile"]] = None,
protected_files: Optional[List["_models.NginxConfigurationProtectedFileResponse"]] = None,
package: Optional["_models.NginxConfigurationPackage"] = None,
root_file: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword files:
:paramtype files: list[~azure.mgmt.nginx.models.NginxConfigurationFile]
:keyword protected_files:
:paramtype protected_files:
list[~azure.mgmt.nginx.models.NginxConfigurationProtectedFileResponse]
:keyword package:
:paramtype package: ~azure.mgmt.nginx.models.NginxConfigurationPackage
:keyword root_file:
:paramtype root_file: str
"""
super().__init__(**kwargs)
self.provisioning_state = None
self.files = files
self.protected_files = protected_files
self.package = package
self.root_file = root_file
[docs]
class NginxDeployment(_serialization.Model):
"""NginxDeployment.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id:
:vartype id: str
:ivar name:
:vartype name: str
:ivar type:
:vartype type: str
:ivar identity:
:vartype identity: ~azure.mgmt.nginx.models.IdentityProperties
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxDeploymentProperties
:ivar tags: Dictionary of :code:`<string>`.
:vartype tags: dict[str, str]
:ivar sku:
:vartype sku: ~azure.mgmt.nginx.models.ResourceSku
:ivar location:
:vartype location: str
:ivar system_data: Metadata pertaining to creation and last modification of the resource.
:vartype system_data: ~azure.mgmt.nginx.models.SystemData
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"identity": {"key": "identity", "type": "IdentityProperties"},
"properties": {"key": "properties", "type": "NginxDeploymentProperties"},
"tags": {"key": "tags", "type": "{str}"},
"sku": {"key": "sku", "type": "ResourceSku"},
"location": {"key": "location", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
}
def __init__(
self,
*,
identity: Optional["_models.IdentityProperties"] = None,
properties: Optional["_models.NginxDeploymentProperties"] = None,
tags: Optional[Dict[str, str]] = None,
sku: Optional["_models.ResourceSku"] = None,
location: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword identity:
:paramtype identity: ~azure.mgmt.nginx.models.IdentityProperties
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxDeploymentProperties
:keyword tags: Dictionary of :code:`<string>`.
:paramtype tags: dict[str, str]
:keyword sku:
:paramtype sku: ~azure.mgmt.nginx.models.ResourceSku
:keyword location:
:paramtype location: str
"""
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.identity = identity
self.properties = properties
self.tags = tags
self.sku = sku
self.location = location
self.system_data = None
[docs]
class NginxDeploymentApiKeyListResponse(_serialization.Model):
"""NginxDeploymentApiKeyListResponse.
:ivar value:
:vartype value: list[~azure.mgmt.nginx.models.NginxDeploymentApiKeyResponse]
:ivar next_link:
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[NginxDeploymentApiKeyResponse]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self,
*,
value: Optional[List["_models.NginxDeploymentApiKeyResponse"]] = None,
next_link: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword value:
:paramtype value: list[~azure.mgmt.nginx.models.NginxDeploymentApiKeyResponse]
:keyword next_link:
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]
class NginxDeploymentApiKeyRequest(_serialization.Model):
"""NginxDeploymentApiKeyRequest.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id:
:vartype id: str
:ivar name:
:vartype name: str
:ivar type:
:vartype type: str
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxDeploymentApiKeyRequestProperties
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"properties": {"key": "properties", "type": "NginxDeploymentApiKeyRequestProperties"},
}
def __init__(
self, *, properties: Optional["_models.NginxDeploymentApiKeyRequestProperties"] = None, **kwargs: Any
) -> None:
"""
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxDeploymentApiKeyRequestProperties
"""
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.properties = properties
[docs]
class NginxDeploymentApiKeyRequestProperties(_serialization.Model):
"""NginxDeploymentApiKeyRequestProperties.
:ivar secret_text: Secret text to be used as a Dataplane API Key. This is a write only property
that can never be read back, but the first three characters will be returned in the 'hint'
property.
:vartype secret_text: str
:ivar end_date_time: The time after which this Dataplane API Key is no longer valid.
:vartype end_date_time: ~datetime.datetime
"""
_attribute_map = {
"secret_text": {"key": "secretText", "type": "str"},
"end_date_time": {"key": "endDateTime", "type": "iso-8601"},
}
def __init__(
self, *, secret_text: Optional[str] = None, end_date_time: Optional[datetime.datetime] = None, **kwargs: Any
) -> None:
"""
:keyword secret_text: Secret text to be used as a Dataplane API Key. This is a write only
property that can never be read back, but the first three characters will be returned in the
'hint' property.
:paramtype secret_text: str
:keyword end_date_time: The time after which this Dataplane API Key is no longer valid.
:paramtype end_date_time: ~datetime.datetime
"""
super().__init__(**kwargs)
self.secret_text = secret_text
self.end_date_time = end_date_time
[docs]
class NginxDeploymentApiKeyResponse(_serialization.Model):
"""NginxDeploymentApiKeyResponse.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id:
:vartype id: str
:ivar name:
:vartype name: str
:ivar type:
:vartype type: str
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxDeploymentApiKeyResponseProperties
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"properties": {"key": "properties", "type": "NginxDeploymentApiKeyResponseProperties"},
}
def __init__(
self, *, properties: Optional["_models.NginxDeploymentApiKeyResponseProperties"] = None, **kwargs: Any
) -> None:
"""
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxDeploymentApiKeyResponseProperties
"""
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
self.properties = properties
[docs]
class NginxDeploymentApiKeyResponseProperties(_serialization.Model):
"""NginxDeploymentApiKeyResponseProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar hint: The first three characters of the secret text to help identify it in use. This
property is read-only.
:vartype hint: str
:ivar end_date_time: The time after which this Dataplane API Key is no longer valid.
:vartype end_date_time: ~datetime.datetime
"""
_validation = {
"hint": {"readonly": True},
}
_attribute_map = {
"hint": {"key": "hint", "type": "str"},
"end_date_time": {"key": "endDateTime", "type": "iso-8601"},
}
def __init__(self, *, end_date_time: Optional[datetime.datetime] = None, **kwargs: Any) -> None:
"""
:keyword end_date_time: The time after which this Dataplane API Key is no longer valid.
:paramtype end_date_time: ~datetime.datetime
"""
super().__init__(**kwargs)
self.hint = None
self.end_date_time = end_date_time
[docs]
class NginxDeploymentListResponse(_serialization.Model):
"""NginxDeploymentListResponse.
:ivar value:
:vartype value: list[~azure.mgmt.nginx.models.NginxDeployment]
:ivar next_link:
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[NginxDeployment]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.NginxDeployment"]] = None, next_link: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword value:
:paramtype value: list[~azure.mgmt.nginx.models.NginxDeployment]
:keyword next_link:
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]
class NginxDeploymentProperties(_serialization.Model):
"""NginxDeploymentProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar provisioning_state: Known values are: "Accepted", "Creating", "Updating", "Deleting",
"Succeeded", "Failed", "Canceled", "Deleted", and "NotSpecified".
:vartype provisioning_state: str or ~azure.mgmt.nginx.models.ProvisioningState
:ivar nginx_version:
:vartype nginx_version: str
:ivar network_profile:
:vartype network_profile: ~azure.mgmt.nginx.models.NginxNetworkProfile
:ivar ip_address: The IP address of the deployment.
:vartype ip_address: str
:ivar enable_diagnostics_support:
:vartype enable_diagnostics_support: bool
:ivar logging:
:vartype logging: ~azure.mgmt.nginx.models.NginxLogging
:ivar scaling_properties: Information on how the deployment will be scaled.
:vartype scaling_properties: ~azure.mgmt.nginx.models.NginxDeploymentScalingProperties
:ivar auto_upgrade_profile: Autoupgrade settings of a deployment.
:vartype auto_upgrade_profile: ~azure.mgmt.nginx.models.AutoUpgradeProfile
:ivar user_profile:
:vartype user_profile: ~azure.mgmt.nginx.models.NginxDeploymentUserProfile
:ivar nginx_app_protect: Settings for NGINX App Protect (NAP).
:vartype nginx_app_protect: ~azure.mgmt.nginx.models.NginxDeploymentPropertiesNginxAppProtect
:ivar dataplane_api_endpoint: Dataplane API endpoint for the caller to update the NGINX state
of the deployment.
:vartype dataplane_api_endpoint: str
"""
_validation = {
"provisioning_state": {"readonly": True},
"nginx_version": {"readonly": True},
"ip_address": {"readonly": True},
"dataplane_api_endpoint": {"readonly": True},
}
_attribute_map = {
"provisioning_state": {"key": "provisioningState", "type": "str"},
"nginx_version": {"key": "nginxVersion", "type": "str"},
"network_profile": {"key": "networkProfile", "type": "NginxNetworkProfile"},
"ip_address": {"key": "ipAddress", "type": "str"},
"enable_diagnostics_support": {"key": "enableDiagnosticsSupport", "type": "bool"},
"logging": {"key": "logging", "type": "NginxLogging"},
"scaling_properties": {"key": "scalingProperties", "type": "NginxDeploymentScalingProperties"},
"auto_upgrade_profile": {"key": "autoUpgradeProfile", "type": "AutoUpgradeProfile"},
"user_profile": {"key": "userProfile", "type": "NginxDeploymentUserProfile"},
"nginx_app_protect": {"key": "nginxAppProtect", "type": "NginxDeploymentPropertiesNginxAppProtect"},
"dataplane_api_endpoint": {"key": "dataplaneApiEndpoint", "type": "str"},
}
def __init__(
self,
*,
network_profile: Optional["_models.NginxNetworkProfile"] = None,
enable_diagnostics_support: Optional[bool] = None,
logging: Optional["_models.NginxLogging"] = None,
scaling_properties: Optional["_models.NginxDeploymentScalingProperties"] = None,
auto_upgrade_profile: Optional["_models.AutoUpgradeProfile"] = None,
user_profile: Optional["_models.NginxDeploymentUserProfile"] = None,
nginx_app_protect: Optional["_models.NginxDeploymentPropertiesNginxAppProtect"] = None,
**kwargs: Any
) -> None:
"""
:keyword network_profile:
:paramtype network_profile: ~azure.mgmt.nginx.models.NginxNetworkProfile
:keyword enable_diagnostics_support:
:paramtype enable_diagnostics_support: bool
:keyword logging:
:paramtype logging: ~azure.mgmt.nginx.models.NginxLogging
:keyword scaling_properties: Information on how the deployment will be scaled.
:paramtype scaling_properties: ~azure.mgmt.nginx.models.NginxDeploymentScalingProperties
:keyword auto_upgrade_profile: Autoupgrade settings of a deployment.
:paramtype auto_upgrade_profile: ~azure.mgmt.nginx.models.AutoUpgradeProfile
:keyword user_profile:
:paramtype user_profile: ~azure.mgmt.nginx.models.NginxDeploymentUserProfile
:keyword nginx_app_protect: Settings for NGINX App Protect (NAP).
:paramtype nginx_app_protect: ~azure.mgmt.nginx.models.NginxDeploymentPropertiesNginxAppProtect
"""
super().__init__(**kwargs)
self.provisioning_state = None
self.nginx_version = None
self.network_profile = network_profile
self.ip_address = None
self.enable_diagnostics_support = enable_diagnostics_support
self.logging = logging
self.scaling_properties = scaling_properties
self.auto_upgrade_profile = auto_upgrade_profile
self.user_profile = user_profile
self.nginx_app_protect = nginx_app_protect
self.dataplane_api_endpoint = None
[docs]
class NginxDeploymentPropertiesNginxAppProtect(_serialization.Model):
"""Settings for NGINX App Protect (NAP).
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to server.
:ivar web_application_firewall_settings: Settings for the NGINX App Protect Web Application
Firewall (WAF). Required.
:vartype web_application_firewall_settings:
~azure.mgmt.nginx.models.WebApplicationFirewallSettings
:ivar web_application_firewall_status: The status of the NGINX App Protect Web Application
Firewall.
:vartype web_application_firewall_status: ~azure.mgmt.nginx.models.WebApplicationFirewallStatus
"""
_validation = {
"web_application_firewall_settings": {"required": True},
"web_application_firewall_status": {"readonly": True},
}
_attribute_map = {
"web_application_firewall_settings": {
"key": "webApplicationFirewallSettings",
"type": "WebApplicationFirewallSettings",
},
"web_application_firewall_status": {
"key": "webApplicationFirewallStatus",
"type": "WebApplicationFirewallStatus",
},
}
def __init__(
self, *, web_application_firewall_settings: "_models.WebApplicationFirewallSettings", **kwargs: Any
) -> None:
"""
:keyword web_application_firewall_settings: Settings for the NGINX App Protect Web Application
Firewall (WAF). Required.
:paramtype web_application_firewall_settings:
~azure.mgmt.nginx.models.WebApplicationFirewallSettings
"""
super().__init__(**kwargs)
self.web_application_firewall_settings = web_application_firewall_settings
self.web_application_firewall_status = None
[docs]
class NginxDeploymentScalingProperties(_serialization.Model):
"""Information on how the deployment will be scaled.
:ivar capacity:
:vartype capacity: int
:ivar profiles:
:vartype profiles: list[~azure.mgmt.nginx.models.ScaleProfile]
"""
_attribute_map = {
"capacity": {"key": "capacity", "type": "int"},
"profiles": {"key": "autoScaleSettings.profiles", "type": "[ScaleProfile]"},
}
def __init__(
self, *, capacity: Optional[int] = None, profiles: Optional[List["_models.ScaleProfile"]] = None, **kwargs: Any
) -> None:
"""
:keyword capacity:
:paramtype capacity: int
:keyword profiles:
:paramtype profiles: list[~azure.mgmt.nginx.models.ScaleProfile]
"""
super().__init__(**kwargs)
self.capacity = capacity
self.profiles = profiles
[docs]
class NginxDeploymentUpdateParameters(_serialization.Model):
"""NginxDeploymentUpdateParameters.
:ivar identity:
:vartype identity: ~azure.mgmt.nginx.models.IdentityProperties
:ivar tags: Dictionary of :code:`<string>`.
:vartype tags: dict[str, str]
:ivar sku:
:vartype sku: ~azure.mgmt.nginx.models.ResourceSku
:ivar location:
:vartype location: str
:ivar properties:
:vartype properties: ~azure.mgmt.nginx.models.NginxDeploymentUpdateProperties
"""
_attribute_map = {
"identity": {"key": "identity", "type": "IdentityProperties"},
"tags": {"key": "tags", "type": "{str}"},
"sku": {"key": "sku", "type": "ResourceSku"},
"location": {"key": "location", "type": "str"},
"properties": {"key": "properties", "type": "NginxDeploymentUpdateProperties"},
}
def __init__(
self,
*,
identity: Optional["_models.IdentityProperties"] = None,
tags: Optional[Dict[str, str]] = None,
sku: Optional["_models.ResourceSku"] = None,
location: Optional[str] = None,
properties: Optional["_models.NginxDeploymentUpdateProperties"] = None,
**kwargs: Any
) -> None:
"""
:keyword identity:
:paramtype identity: ~azure.mgmt.nginx.models.IdentityProperties
:keyword tags: Dictionary of :code:`<string>`.
:paramtype tags: dict[str, str]
:keyword sku:
:paramtype sku: ~azure.mgmt.nginx.models.ResourceSku
:keyword location:
:paramtype location: str
:keyword properties:
:paramtype properties: ~azure.mgmt.nginx.models.NginxDeploymentUpdateProperties
"""
super().__init__(**kwargs)
self.identity = identity
self.tags = tags
self.sku = sku
self.location = location
self.properties = properties
[docs]
class NginxDeploymentUpdateProperties(_serialization.Model):
"""NginxDeploymentUpdateProperties.
:ivar enable_diagnostics_support:
:vartype enable_diagnostics_support: bool
:ivar logging:
:vartype logging: ~azure.mgmt.nginx.models.NginxLogging
:ivar scaling_properties: Information on how the deployment will be scaled.
:vartype scaling_properties: ~azure.mgmt.nginx.models.NginxDeploymentScalingProperties
:ivar user_profile:
:vartype user_profile: ~azure.mgmt.nginx.models.NginxDeploymentUserProfile
:ivar network_profile:
:vartype network_profile: ~azure.mgmt.nginx.models.NginxNetworkProfile
:ivar auto_upgrade_profile: Autoupgrade settings of a deployment.
:vartype auto_upgrade_profile: ~azure.mgmt.nginx.models.AutoUpgradeProfile
:ivar nginx_app_protect: Update settings for NGINX App Protect (NAP).
:vartype nginx_app_protect:
~azure.mgmt.nginx.models.NginxDeploymentUpdatePropertiesNginxAppProtect
"""
_attribute_map = {
"enable_diagnostics_support": {"key": "enableDiagnosticsSupport", "type": "bool"},
"logging": {"key": "logging", "type": "NginxLogging"},
"scaling_properties": {"key": "scalingProperties", "type": "NginxDeploymentScalingProperties"},
"user_profile": {"key": "userProfile", "type": "NginxDeploymentUserProfile"},
"network_profile": {"key": "networkProfile", "type": "NginxNetworkProfile"},
"auto_upgrade_profile": {"key": "autoUpgradeProfile", "type": "AutoUpgradeProfile"},
"nginx_app_protect": {"key": "nginxAppProtect", "type": "NginxDeploymentUpdatePropertiesNginxAppProtect"},
}
def __init__(
self,
*,
enable_diagnostics_support: Optional[bool] = None,
logging: Optional["_models.NginxLogging"] = None,
scaling_properties: Optional["_models.NginxDeploymentScalingProperties"] = None,
user_profile: Optional["_models.NginxDeploymentUserProfile"] = None,
network_profile: Optional["_models.NginxNetworkProfile"] = None,
auto_upgrade_profile: Optional["_models.AutoUpgradeProfile"] = None,
nginx_app_protect: Optional["_models.NginxDeploymentUpdatePropertiesNginxAppProtect"] = None,
**kwargs: Any
) -> None:
"""
:keyword enable_diagnostics_support:
:paramtype enable_diagnostics_support: bool
:keyword logging:
:paramtype logging: ~azure.mgmt.nginx.models.NginxLogging
:keyword scaling_properties: Information on how the deployment will be scaled.
:paramtype scaling_properties: ~azure.mgmt.nginx.models.NginxDeploymentScalingProperties
:keyword user_profile:
:paramtype user_profile: ~azure.mgmt.nginx.models.NginxDeploymentUserProfile
:keyword network_profile:
:paramtype network_profile: ~azure.mgmt.nginx.models.NginxNetworkProfile
:keyword auto_upgrade_profile: Autoupgrade settings of a deployment.
:paramtype auto_upgrade_profile: ~azure.mgmt.nginx.models.AutoUpgradeProfile
:keyword nginx_app_protect: Update settings for NGINX App Protect (NAP).
:paramtype nginx_app_protect:
~azure.mgmt.nginx.models.NginxDeploymentUpdatePropertiesNginxAppProtect
"""
super().__init__(**kwargs)
self.enable_diagnostics_support = enable_diagnostics_support
self.logging = logging
self.scaling_properties = scaling_properties
self.user_profile = user_profile
self.network_profile = network_profile
self.auto_upgrade_profile = auto_upgrade_profile
self.nginx_app_protect = nginx_app_protect
[docs]
class NginxDeploymentUpdatePropertiesNginxAppProtect(_serialization.Model): # pylint: disable=name-too-long
"""Update settings for NGINX App Protect (NAP).
:ivar web_application_firewall_settings: Settings for the NGINX App Protect Web Application
Firewall (WAF).
:vartype web_application_firewall_settings:
~azure.mgmt.nginx.models.WebApplicationFirewallSettings
"""
_attribute_map = {
"web_application_firewall_settings": {
"key": "webApplicationFirewallSettings",
"type": "WebApplicationFirewallSettings",
},
}
def __init__(
self,
*,
web_application_firewall_settings: Optional["_models.WebApplicationFirewallSettings"] = None,
**kwargs: Any
) -> None:
"""
:keyword web_application_firewall_settings: Settings for the NGINX App Protect Web Application
Firewall (WAF).
:paramtype web_application_firewall_settings:
~azure.mgmt.nginx.models.WebApplicationFirewallSettings
"""
super().__init__(**kwargs)
self.web_application_firewall_settings = web_application_firewall_settings
[docs]
class NginxDeploymentUserProfile(_serialization.Model):
"""NginxDeploymentUserProfile.
:ivar preferred_email: The preferred support contact email address of the user used for sending
alerts and notification. Can be an empty string or a valid email address.
:vartype preferred_email: str
"""
_validation = {
"preferred_email": {"pattern": r"^$|^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$"},
}
_attribute_map = {
"preferred_email": {"key": "preferredEmail", "type": "str"},
}
def __init__(self, *, preferred_email: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword preferred_email: The preferred support contact email address of the user used for
sending alerts and notification. Can be an empty string or a valid email address.
:paramtype preferred_email: str
"""
super().__init__(**kwargs)
self.preferred_email = preferred_email
[docs]
class NginxFrontendIPConfiguration(_serialization.Model):
"""NginxFrontendIPConfiguration.
:ivar public_ip_addresses:
:vartype public_ip_addresses: list[~azure.mgmt.nginx.models.NginxPublicIPAddress]
:ivar private_ip_addresses:
:vartype private_ip_addresses: list[~azure.mgmt.nginx.models.NginxPrivateIPAddress]
"""
_attribute_map = {
"public_ip_addresses": {"key": "publicIPAddresses", "type": "[NginxPublicIPAddress]"},
"private_ip_addresses": {"key": "privateIPAddresses", "type": "[NginxPrivateIPAddress]"},
}
def __init__(
self,
*,
public_ip_addresses: Optional[List["_models.NginxPublicIPAddress"]] = None,
private_ip_addresses: Optional[List["_models.NginxPrivateIPAddress"]] = None,
**kwargs: Any
) -> None:
"""
:keyword public_ip_addresses:
:paramtype public_ip_addresses: list[~azure.mgmt.nginx.models.NginxPublicIPAddress]
:keyword private_ip_addresses:
:paramtype private_ip_addresses: list[~azure.mgmt.nginx.models.NginxPrivateIPAddress]
"""
super().__init__(**kwargs)
self.public_ip_addresses = public_ip_addresses
self.private_ip_addresses = private_ip_addresses
[docs]
class NginxLogging(_serialization.Model):
"""NginxLogging.
:ivar storage_account:
:vartype storage_account: ~azure.mgmt.nginx.models.NginxStorageAccount
"""
_attribute_map = {
"storage_account": {"key": "storageAccount", "type": "NginxStorageAccount"},
}
def __init__(self, *, storage_account: Optional["_models.NginxStorageAccount"] = None, **kwargs: Any) -> None:
"""
:keyword storage_account:
:paramtype storage_account: ~azure.mgmt.nginx.models.NginxStorageAccount
"""
super().__init__(**kwargs)
self.storage_account = storage_account
[docs]
class NginxNetworkInterfaceConfiguration(_serialization.Model):
"""NginxNetworkInterfaceConfiguration.
:ivar subnet_id:
:vartype subnet_id: str
"""
_attribute_map = {
"subnet_id": {"key": "subnetId", "type": "str"},
}
def __init__(self, *, subnet_id: Optional[str] = None, **kwargs: Any) -> None:
"""
:keyword subnet_id:
:paramtype subnet_id: str
"""
super().__init__(**kwargs)
self.subnet_id = subnet_id
[docs]
class NginxNetworkProfile(_serialization.Model):
"""NginxNetworkProfile.
:ivar front_end_ip_configuration:
:vartype front_end_ip_configuration: ~azure.mgmt.nginx.models.NginxFrontendIPConfiguration
:ivar network_interface_configuration:
:vartype network_interface_configuration:
~azure.mgmt.nginx.models.NginxNetworkInterfaceConfiguration
"""
_attribute_map = {
"front_end_ip_configuration": {"key": "frontEndIPConfiguration", "type": "NginxFrontendIPConfiguration"},
"network_interface_configuration": {
"key": "networkInterfaceConfiguration",
"type": "NginxNetworkInterfaceConfiguration",
},
}
def __init__(
self,
*,
front_end_ip_configuration: Optional["_models.NginxFrontendIPConfiguration"] = None,
network_interface_configuration: Optional["_models.NginxNetworkInterfaceConfiguration"] = None,
**kwargs: Any
) -> None:
"""
:keyword front_end_ip_configuration:
:paramtype front_end_ip_configuration: ~azure.mgmt.nginx.models.NginxFrontendIPConfiguration
:keyword network_interface_configuration:
:paramtype network_interface_configuration:
~azure.mgmt.nginx.models.NginxNetworkInterfaceConfiguration
"""
super().__init__(**kwargs)
self.front_end_ip_configuration = front_end_ip_configuration
self.network_interface_configuration = network_interface_configuration
[docs]
class NginxPrivateIPAddress(_serialization.Model):
"""NginxPrivateIPAddress.
:ivar private_ip_address:
:vartype private_ip_address: str
:ivar private_ip_allocation_method: Known values are: "Static" and "Dynamic".
:vartype private_ip_allocation_method: str or
~azure.mgmt.nginx.models.NginxPrivateIPAllocationMethod
:ivar subnet_id:
:vartype subnet_id: str
"""
_attribute_map = {
"private_ip_address": {"key": "privateIPAddress", "type": "str"},
"private_ip_allocation_method": {"key": "privateIPAllocationMethod", "type": "str"},
"subnet_id": {"key": "subnetId", "type": "str"},
}
def __init__(
self,
*,
private_ip_address: Optional[str] = None,
private_ip_allocation_method: Optional[Union[str, "_models.NginxPrivateIPAllocationMethod"]] = None,
subnet_id: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword private_ip_address:
:paramtype private_ip_address: str
:keyword private_ip_allocation_method: Known values are: "Static" and "Dynamic".
:paramtype private_ip_allocation_method: str or
~azure.mgmt.nginx.models.NginxPrivateIPAllocationMethod
:keyword subnet_id:
:paramtype subnet_id: str
"""
super().__init__(**kwargs)
self.private_ip_address = private_ip_address
self.private_ip_allocation_method = private_ip_allocation_method
self.subnet_id = subnet_id
[docs]
class NginxPublicIPAddress(_serialization.Model):
"""NginxPublicIPAddress.
:ivar id:
:vartype id: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
}
def __init__(self, *, id: Optional[str] = None, **kwargs: Any) -> None: # pylint: disable=redefined-builtin
"""
:keyword id:
:paramtype id: str
"""
super().__init__(**kwargs)
self.id = id
[docs]
class NginxStorageAccount(_serialization.Model):
"""NginxStorageAccount.
:ivar account_name:
:vartype account_name: str
:ivar container_name:
:vartype container_name: str
"""
_attribute_map = {
"account_name": {"key": "accountName", "type": "str"},
"container_name": {"key": "containerName", "type": "str"},
}
def __init__(
self, *, account_name: Optional[str] = None, container_name: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword account_name:
:paramtype account_name: str
:keyword container_name:
:paramtype container_name: str
"""
super().__init__(**kwargs)
self.account_name = account_name
self.container_name = container_name
[docs]
class OperationDisplay(_serialization.Model):
"""The object that represents the operation.
:ivar provider: Service provider: Nginx.NginxPlus.
:vartype provider: str
:ivar resource: Type on which the operation is performed, e.g., 'deployments'.
:vartype resource: str
:ivar operation: Operation type, e.g., read, write, delete, etc.
:vartype operation: str
:ivar description: Description of the operation, e.g., 'Write deployments'.
:vartype description: str
"""
_attribute_map = {
"provider": {"key": "provider", "type": "str"},
"resource": {"key": "resource", "type": "str"},
"operation": {"key": "operation", "type": "str"},
"description": {"key": "description", "type": "str"},
}
def __init__(
self,
*,
provider: Optional[str] = None,
resource: Optional[str] = None,
operation: Optional[str] = None,
description: Optional[str] = None,
**kwargs: Any
) -> None:
"""
:keyword provider: Service provider: Nginx.NginxPlus.
:paramtype provider: str
:keyword resource: Type on which the operation is performed, e.g., 'deployments'.
:paramtype resource: str
:keyword operation: Operation type, e.g., read, write, delete, etc.
:paramtype operation: str
:keyword description: Description of the operation, e.g., 'Write deployments'.
:paramtype description: str
"""
super().__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]
class OperationListResult(_serialization.Model):
"""Result of GET request to list Nginx.NginxPlus operations.
:ivar value: List of operations supported by the Nginx.NginxPlus provider.
:vartype value: list[~azure.mgmt.nginx.models.OperationResult]
:ivar next_link: URL to get the next set of operation list results if there are any.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[OperationResult]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.OperationResult"]] = None, next_link: Optional[str] = None, **kwargs: Any
) -> None:
"""
:keyword value: List of operations supported by the Nginx.NginxPlus provider.
:paramtype value: list[~azure.mgmt.nginx.models.OperationResult]
:keyword next_link: URL to get the next set of operation list results if there are any.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]
class OperationResult(_serialization.Model):
"""A Nginx.NginxPlus REST API operation.
:ivar name: Operation name: {provider}/{resource}/{operation}.
:vartype name: str
:ivar display: The object that represents the operation.
:vartype display: ~azure.mgmt.nginx.models.OperationDisplay
:ivar is_data_action: Indicates whether the operation is a data action.
:vartype is_data_action: bool
"""
_attribute_map = {
"name": {"key": "name", "type": "str"},
"display": {"key": "display", "type": "OperationDisplay"},
"is_data_action": {"key": "isDataAction", "type": "bool"},
}
def __init__(
self,
*,
name: Optional[str] = None,
display: Optional["_models.OperationDisplay"] = None,
is_data_action: Optional[bool] = None,
**kwargs: Any
) -> None:
"""
:keyword name: Operation name: {provider}/{resource}/{operation}.
:paramtype name: str
:keyword display: The object that represents the operation.
:paramtype display: ~azure.mgmt.nginx.models.OperationDisplay
:keyword is_data_action: Indicates whether the operation is a data action.
:paramtype is_data_action: bool
"""
super().__init__(**kwargs)
self.name = name
self.display = display
self.is_data_action = is_data_action
[docs]
class ResourceSku(_serialization.Model):
"""ResourceSku.
All required parameters must be populated in order to send to server.
:ivar name: Name of the SKU. Required.
:vartype name: str
"""
_validation = {
"name": {"required": True},
}
_attribute_map = {
"name": {"key": "name", "type": "str"},
}
def __init__(self, *, name: str, **kwargs: Any) -> None:
"""
:keyword name: Name of the SKU. Required.
:paramtype name: str
"""
super().__init__(**kwargs)
self.name = name
[docs]
class ScaleProfile(_serialization.Model):
"""The autoscale profile.
All required parameters must be populated in order to send to server.
:ivar name: Required.
:vartype name: str
:ivar capacity: The capacity parameters of the profile. Required.
:vartype capacity: ~azure.mgmt.nginx.models.ScaleProfileCapacity
"""
_validation = {
"name": {"required": True},
"capacity": {"required": True},
}
_attribute_map = {
"name": {"key": "name", "type": "str"},
"capacity": {"key": "capacity", "type": "ScaleProfileCapacity"},
}
def __init__(self, *, name: str, capacity: "_models.ScaleProfileCapacity", **kwargs: Any) -> None:
"""
:keyword name: Required.
:paramtype name: str
:keyword capacity: The capacity parameters of the profile. Required.
:paramtype capacity: ~azure.mgmt.nginx.models.ScaleProfileCapacity
"""
super().__init__(**kwargs)
self.name = name
self.capacity = capacity
[docs]
class ScaleProfileCapacity(_serialization.Model):
"""The capacity parameters of the profile.
All required parameters must be populated in order to send to server.
:ivar min: The minimum number of NCUs the deployment can be autoscaled to. Required.
:vartype min: int
:ivar max: The maximum number of NCUs the deployment can be autoscaled to. Required.
:vartype max: int
"""
_validation = {
"min": {"required": True, "minimum": 0},
"max": {"required": True, "minimum": 0},
}
_attribute_map = {
"min": {"key": "min", "type": "int"},
"max": {"key": "max", "type": "int"},
}
def __init__(
self,
*,
min: int, # pylint: disable=redefined-builtin
max: int, # pylint: disable=redefined-builtin
**kwargs: Any
) -> None:
"""
:keyword min: The minimum number of NCUs the deployment can be autoscaled to. Required.
:paramtype min: int
:keyword max: The maximum number of NCUs the deployment can be autoscaled to. Required.
:paramtype max: int
"""
super().__init__(**kwargs)
self.min = min
self.max = max
[docs]
class SystemData(_serialization.Model):
"""Metadata pertaining to creation and last modification of the resource.
:ivar created_by: The identity that created the resource.
:vartype created_by: str
:ivar created_by_type: The type of identity that created the resource. Known values are:
"User", "Application", "ManagedIdentity", and "Key".
:vartype created_by_type: str or ~azure.mgmt.nginx.models.CreatedByType
:ivar created_at: The timestamp of resource creation (UTC).
:vartype created_at: ~datetime.datetime
:ivar last_modified_by: The identity that last modified the resource.
:vartype last_modified_by: str
:ivar last_modified_by_type: The type of identity that last modified the resource. Known values
are: "User", "Application", "ManagedIdentity", and "Key".
:vartype last_modified_by_type: str or ~azure.mgmt.nginx.models.CreatedByType
:ivar last_modified_at: The timestamp of resource last modification (UTC).
:vartype last_modified_at: ~datetime.datetime
"""
_attribute_map = {
"created_by": {"key": "createdBy", "type": "str"},
"created_by_type": {"key": "createdByType", "type": "str"},
"created_at": {"key": "createdAt", "type": "iso-8601"},
"last_modified_by": {"key": "lastModifiedBy", "type": "str"},
"last_modified_by_type": {"key": "lastModifiedByType", "type": "str"},
"last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"},
}
def __init__(
self,
*,
created_by: Optional[str] = None,
created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
created_at: Optional[datetime.datetime] = None,
last_modified_by: Optional[str] = None,
last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
last_modified_at: Optional[datetime.datetime] = None,
**kwargs: Any
) -> None:
"""
:keyword created_by: The identity that created the resource.
:paramtype created_by: str
:keyword created_by_type: The type of identity that created the resource. Known values are:
"User", "Application", "ManagedIdentity", and "Key".
:paramtype created_by_type: str or ~azure.mgmt.nginx.models.CreatedByType
:keyword created_at: The timestamp of resource creation (UTC).
:paramtype created_at: ~datetime.datetime
:keyword last_modified_by: The identity that last modified the resource.
:paramtype last_modified_by: str
:keyword last_modified_by_type: The type of identity that last modified the resource. Known
values are: "User", "Application", "ManagedIdentity", and "Key".
:paramtype last_modified_by_type: str or ~azure.mgmt.nginx.models.CreatedByType
:keyword last_modified_at: The timestamp of resource last modification (UTC).
:paramtype last_modified_at: ~datetime.datetime
"""
super().__init__(**kwargs)
self.created_by = created_by
self.created_by_type = created_by_type
self.created_at = created_at
self.last_modified_by = last_modified_by
self.last_modified_by_type = last_modified_by_type
self.last_modified_at = last_modified_at
[docs]
class UserIdentityProperties(_serialization.Model):
"""UserIdentityProperties.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar principal_id:
:vartype principal_id: str
:ivar client_id:
:vartype client_id: str
"""
_validation = {
"principal_id": {"readonly": True},
"client_id": {"readonly": True},
}
_attribute_map = {
"principal_id": {"key": "principalId", "type": "str"},
"client_id": {"key": "clientId", "type": "str"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.principal_id = None
self.client_id = None
[docs]
class WebApplicationFirewallComponentVersions(_serialization.Model):
"""Versions of the NGINX App Protect Web Application Firewall (WAF) components.
All required parameters must be populated in order to send to server.
:ivar waf_engine_version: The version of the NGINX App Protect Web Application Firewall (WAF)
engine. Required.
:vartype waf_engine_version: str
:ivar waf_nginx_version: The version of the NGINX App Protect Web Application Firewall (WAF)
module for NGINX. Required.
:vartype waf_nginx_version: str
"""
_validation = {
"waf_engine_version": {"required": True},
"waf_nginx_version": {"required": True},
}
_attribute_map = {
"waf_engine_version": {"key": "wafEngineVersion", "type": "str"},
"waf_nginx_version": {"key": "wafNginxVersion", "type": "str"},
}
def __init__(self, *, waf_engine_version: str, waf_nginx_version: str, **kwargs: Any) -> None:
"""
:keyword waf_engine_version: The version of the NGINX App Protect Web Application Firewall
(WAF) engine. Required.
:paramtype waf_engine_version: str
:keyword waf_nginx_version: The version of the NGINX App Protect Web Application Firewall (WAF)
module for NGINX. Required.
:paramtype waf_nginx_version: str
"""
super().__init__(**kwargs)
self.waf_engine_version = waf_engine_version
self.waf_nginx_version = waf_nginx_version
[docs]
class WebApplicationFirewallPackage(_serialization.Model):
"""NGINX App Protect Web Application Firewall (WAF) Package. Contains the version and revision
date of the package.
All required parameters must be populated in order to send to server.
:ivar version: The version of the NGINX App Protect Web Application Firewall (WAF) package.
Required.
:vartype version: str
:ivar revision_datetime: The date and time of the package revision. Required.
:vartype revision_datetime: ~datetime.datetime
"""
_validation = {
"version": {"required": True},
"revision_datetime": {"required": True},
}
_attribute_map = {
"version": {"key": "version", "type": "str"},
"revision_datetime": {"key": "revisionDatetime", "type": "iso-8601"},
}
def __init__(self, *, version: str, revision_datetime: datetime.datetime, **kwargs: Any) -> None:
"""
:keyword version: The version of the NGINX App Protect Web Application Firewall (WAF) package.
Required.
:paramtype version: str
:keyword revision_datetime: The date and time of the package revision. Required.
:paramtype revision_datetime: ~datetime.datetime
"""
super().__init__(**kwargs)
self.version = version
self.revision_datetime = revision_datetime
[docs]
class WebApplicationFirewallSettings(_serialization.Model):
"""Settings for the NGINX App Protect Web Application Firewall (WAF).
:ivar activation_state: The activation state of the WAF. Use 'Enabled' to enable the WAF and
'Disabled' to disable it. Known values are: "Enabled" and "Disabled".
:vartype activation_state: str or ~azure.mgmt.nginx.models.ActivationState
"""
_attribute_map = {
"activation_state": {"key": "activationState", "type": "str"},
}
def __init__(
self, *, activation_state: Optional[Union[str, "_models.ActivationState"]] = None, **kwargs: Any
) -> None:
"""
:keyword activation_state: The activation state of the WAF. Use 'Enabled' to enable the WAF and
'Disabled' to disable it. Known values are: "Enabled" and "Disabled".
:paramtype activation_state: str or ~azure.mgmt.nginx.models.ActivationState
"""
super().__init__(**kwargs)
self.activation_state = activation_state
[docs]
class WebApplicationFirewallStatus(_serialization.Model):
"""The status of the NGINX App Protect Web Application Firewall.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar attack_signatures_package: Package containing attack signatures for the NGINX App Protect
Web Application Firewall (WAF).
:vartype attack_signatures_package: ~azure.mgmt.nginx.models.WebApplicationFirewallPackage
:ivar bot_signatures_package: Package containing bot signatures for the NGINX App Protect Web
Application Firewall (WAF).
:vartype bot_signatures_package: ~azure.mgmt.nginx.models.WebApplicationFirewallPackage
:ivar threat_campaigns_package: Package containing threat campaigns for the NGINX App Protect
Web Application Firewall (WAF).
:vartype threat_campaigns_package: ~azure.mgmt.nginx.models.WebApplicationFirewallPackage
:ivar component_versions: Versions of the NGINX App Protect Web Application Firewall (WAF)
components.
:vartype component_versions: ~azure.mgmt.nginx.models.WebApplicationFirewallComponentVersions
"""
_validation = {
"attack_signatures_package": {"readonly": True},
"bot_signatures_package": {"readonly": True},
"threat_campaigns_package": {"readonly": True},
"component_versions": {"readonly": True},
}
_attribute_map = {
"attack_signatures_package": {"key": "attackSignaturesPackage", "type": "WebApplicationFirewallPackage"},
"bot_signatures_package": {"key": "botSignaturesPackage", "type": "WebApplicationFirewallPackage"},
"threat_campaigns_package": {"key": "threatCampaignsPackage", "type": "WebApplicationFirewallPackage"},
"component_versions": {"key": "componentVersions", "type": "WebApplicationFirewallComponentVersions"},
}
def __init__(self, **kwargs: Any) -> None:
""" """
super().__init__(**kwargs)
self.attack_signatures_package = None
self.bot_signatures_package = None
self.threat_campaigns_package = None
self.component_versions = None