"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import shared.shared_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class ServerEngineAttribute(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    value: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        value: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "resource_info", b"resource_info", "value", b"value"]) -> None: ...

global___ServerEngineAttribute = ServerEngineAttribute

@typing_extensions.final
class Server(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    KEY_PAIR_FIELD_NUMBER: builtins.int
    ENGINE_VERSION_FIELD_NUMBER: builtins.int
    SERVICE_ROLE_ARN_FIELD_NUMBER: builtins.int
    DISABLE_AUTOMATED_BACKUP_FIELD_NUMBER: builtins.int
    BACKUP_ID_FIELD_NUMBER: builtins.int
    ENGINE_MODEL_FIELD_NUMBER: builtins.int
    PREFERRED_MAINTENANCE_WINDOW_FIELD_NUMBER: builtins.int
    ASSOCIATE_PUBLIC_IP_ADDRESS_FIELD_NUMBER: builtins.int
    INSTANCE_PROFILE_ARN_FIELD_NUMBER: builtins.int
    CUSTOM_CERTIFICATE_FIELD_NUMBER: builtins.int
    PREFERRED_BACKUP_WINDOW_FIELD_NUMBER: builtins.int
    SECURITY_GROUP_IDS_FIELD_NUMBER: builtins.int
    SUBNET_IDS_FIELD_NUMBER: builtins.int
    CUSTOM_DOMAIN_FIELD_NUMBER: builtins.int
    CUSTOM_PRIVATE_KEY_FIELD_NUMBER: builtins.int
    SERVER_NAME_FIELD_NUMBER: builtins.int
    ENGINE_ATTRIBUTES_FIELD_NUMBER: builtins.int
    BACKUP_RETENTION_COUNT_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    ENGINE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    key_pair: builtins.str
    engine_version: builtins.str
    service_role_arn: builtins.str
    disable_automated_backup: builtins.bool
    backup_id: builtins.str
    engine_model: builtins.str
    preferred_maintenance_window: builtins.str
    associate_public_ip_address: builtins.bool
    instance_profile_arn: builtins.str
    custom_certificate: builtins.str
    preferred_backup_window: builtins.str
    @property
    def security_group_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def subnet_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    custom_domain: builtins.str
    custom_private_key: builtins.str
    server_name: builtins.str
    @property
    def engine_attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServerEngineAttribute]: ...
    backup_retention_count: builtins.int
    instance_type: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    engine: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        key_pair: builtins.str = ...,
        engine_version: builtins.str = ...,
        service_role_arn: builtins.str = ...,
        disable_automated_backup: builtins.bool = ...,
        backup_id: builtins.str = ...,
        engine_model: builtins.str = ...,
        preferred_maintenance_window: builtins.str = ...,
        associate_public_ip_address: builtins.bool = ...,
        instance_profile_arn: builtins.str = ...,
        custom_certificate: builtins.str = ...,
        preferred_backup_window: builtins.str = ...,
        security_group_ids: collections.abc.Iterable[builtins.str] | None = ...,
        subnet_ids: collections.abc.Iterable[builtins.str] | None = ...,
        custom_domain: builtins.str = ...,
        custom_private_key: builtins.str = ...,
        server_name: builtins.str = ...,
        engine_attributes: collections.abc.Iterable[global___ServerEngineAttribute] | None = ...,
        backup_retention_count: builtins.int = ...,
        instance_type: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        engine: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["associate_public_ip_address", b"associate_public_ip_address", "backup_id", b"backup_id", "backup_retention_count", b"backup_retention_count", "custom_certificate", b"custom_certificate", "custom_domain", b"custom_domain", "custom_private_key", b"custom_private_key", "disable_automated_backup", b"disable_automated_backup", "engine", b"engine", "engine_attributes", b"engine_attributes", "engine_model", b"engine_model", "engine_version", b"engine_version", "instance_profile_arn", b"instance_profile_arn", "instance_type", b"instance_type", "key_pair", b"key_pair", "preferred_backup_window", b"preferred_backup_window", "preferred_maintenance_window", b"preferred_maintenance_window", "resource_info", b"resource_info", "security_group_ids", b"security_group_ids", "server_name", b"server_name", "service_role_arn", b"service_role_arn", "subnet_ids", b"subnet_ids", "tags", b"tags"]) -> None: ...

global___Server = Server

@typing_extensions.final
class OpsWorksCM(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SERVER_FIELD_NUMBER: builtins.int
    @property
    def server(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Server]: ...
    def __init__(
        self,
        *,
        server: collections.abc.Iterable[global___Server] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["server", b"server"]) -> None: ...

global___OpsWorksCM = OpsWorksCM
