"""
@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 AggregationAuthorization(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
    AUTHORIZED_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    AUTHORIZED_AWS_REGION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    authorized_account_id: builtins.str
    authorized_aws_region: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        authorized_account_id: builtins.str = ...,
        authorized_aws_region: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["authorized_account_id", b"authorized_account_id", "authorized_aws_region", b"authorized_aws_region", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___AggregationAuthorization = AggregationAuthorization

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

    AGGREGATION_AUTHORIZATION_FIELD_NUMBER: builtins.int
    CONFIG_RULE_FIELD_NUMBER: builtins.int
    CONFIGURATION_AGGREGATOR_FIELD_NUMBER: builtins.int
    CONFIGURATION_RECORDER_FIELD_NUMBER: builtins.int
    CONFORMANCE_PACK_FIELD_NUMBER: builtins.int
    DELIVERY_CHANNEL_FIELD_NUMBER: builtins.int
    ORGANIZATION_CONFIG_RULE_FIELD_NUMBER: builtins.int
    ORGANIZATION_CONFORMANCE_PACK_FIELD_NUMBER: builtins.int
    REMEDIATION_CONFIGURATION_FIELD_NUMBER: builtins.int
    REMEDIATION_CONFIGURATION_REMEDIATION_PARAMETER_VALUE_FIELD_NUMBER: builtins.int
    @property
    def aggregation_authorization(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AggregationAuthorization]: ...
    @property
    def config_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigRule]: ...
    @property
    def configuration_aggregator(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigurationAggregator]: ...
    @property
    def configuration_recorder(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigurationRecorder]: ...
    @property
    def conformance_pack(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConformancePack]: ...
    @property
    def delivery_channel(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeliveryChannel]: ...
    @property
    def organization_config_rule(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationConfigRule]: ...
    @property
    def organization_conformance_pack(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationConformancePack]: ...
    @property
    def remediation_configuration(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RemediationConfiguration]: ...
    @property
    def remediation_configuration_remediation_parameter_value(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RemediationConfigurationRemediationParameterValue]: ...
    def __init__(
        self,
        *,
        aggregation_authorization: collections.abc.Iterable[global___AggregationAuthorization] | None = ...,
        config_rule: collections.abc.Iterable[global___ConfigRule] | None = ...,
        configuration_aggregator: collections.abc.Iterable[global___ConfigurationAggregator] | None = ...,
        configuration_recorder: collections.abc.Iterable[global___ConfigurationRecorder] | None = ...,
        conformance_pack: collections.abc.Iterable[global___ConformancePack] | None = ...,
        delivery_channel: collections.abc.Iterable[global___DeliveryChannel] | None = ...,
        organization_config_rule: collections.abc.Iterable[global___OrganizationConfigRule] | None = ...,
        organization_conformance_pack: collections.abc.Iterable[global___OrganizationConformancePack] | None = ...,
        remediation_configuration: collections.abc.Iterable[global___RemediationConfiguration] | None = ...,
        remediation_configuration_remediation_parameter_value: collections.abc.Iterable[global___RemediationConfigurationRemediationParameterValue] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["aggregation_authorization", b"aggregation_authorization", "config_rule", b"config_rule", "configuration_aggregator", b"configuration_aggregator", "configuration_recorder", b"configuration_recorder", "conformance_pack", b"conformance_pack", "delivery_channel", b"delivery_channel", "organization_config_rule", b"organization_config_rule", "organization_conformance_pack", b"organization_conformance_pack", "remediation_configuration", b"remediation_configuration", "remediation_configuration_remediation_parameter_value", b"remediation_configuration_remediation_parameter_value"]) -> None: ...

global___Config = Config

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COMPLIANCE_RESOURCE_ID_FIELD_NUMBER: builtins.int
    COMPLIANCE_RESOURCE_TYPES_FIELD_NUMBER: builtins.int
    TAG_KEY_FIELD_NUMBER: builtins.int
    TAG_VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    compliance_resource_id: builtins.str
    @property
    def compliance_resource_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    tag_key: builtins.str
    tag_value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        compliance_resource_id: builtins.str = ...,
        compliance_resource_types: collections.abc.Iterable[builtins.str] | None = ...,
        tag_key: builtins.str = ...,
        tag_value: 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["compliance_resource_id", b"compliance_resource_id", "compliance_resource_types", b"compliance_resource_types", "resource_info", b"resource_info", "tag_key", b"tag_key", "tag_value", b"tag_value"]) -> None: ...

global___ConfigRuleScope = ConfigRuleScope

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EVENT_SOURCE_FIELD_NUMBER: builtins.int
    MAXIMUM_EXECUTION_FREQUENCY_FIELD_NUMBER: builtins.int
    MESSAGE_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    event_source: builtins.str
    maximum_execution_frequency: builtins.str
    message_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        event_source: builtins.str = ...,
        maximum_execution_frequency: builtins.str = ...,
        message_type: 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["event_source", b"event_source", "maximum_execution_frequency", b"maximum_execution_frequency", "message_type", b"message_type", "resource_info", b"resource_info"]) -> None: ...

global___ConfigRuleSourceDetail = ConfigRuleSourceDetail

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    SOURCE_DETAILS_FIELD_NUMBER: builtins.int
    SOURCE_IDENTIFIER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    owner: builtins.str
    @property
    def source_details(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigRuleSourceDetail]: ...
    source_identifier: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        owner: builtins.str = ...,
        source_details: collections.abc.Iterable[global___ConfigRuleSourceDetail] | None = ...,
        source_identifier: 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["owner", b"owner", "resource_info", b"resource_info", "source_details", b"source_details", "source_identifier", b"source_identifier"]) -> None: ...

global___ConfigRuleSource = ConfigRuleSource

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

    @typing_extensions.final
    class InputParametersEntry(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
    CONFIG_RULE_NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    INPUT_PARAMETERS_FIELD_NUMBER: builtins.int
    MAXIMUM_EXECUTION_FREQUENCY_FIELD_NUMBER: builtins.int
    SCOPE_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    config_rule_name: builtins.str
    description: builtins.str
    @property
    def input_parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    maximum_execution_frequency: builtins.str
    @property
    def scope(self) -> global___ConfigRuleScope: ...
    @property
    def source(self) -> global___ConfigRuleSource: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        config_rule_name: builtins.str = ...,
        description: builtins.str = ...,
        input_parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        maximum_execution_frequency: builtins.str = ...,
        scope: global___ConfigRuleScope | None = ...,
        source: global___ConfigRuleSource | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "scope", b"scope", "source", b"source"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["config_rule_name", b"config_rule_name", "description", b"description", "input_parameters", b"input_parameters", "maximum_execution_frequency", b"maximum_execution_frequency", "resource_info", b"resource_info", "scope", b"scope", "source", b"source"]) -> None: ...

global___ConfigRule = ConfigRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ALL_AWS_REGIONS_FIELD_NUMBER: builtins.int
    AWS_REGIONS_FIELD_NUMBER: builtins.int
    ACCOUNT_IDS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    all_aws_regions: builtins.bool
    @property
    def aws_regions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def account_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        all_aws_regions: builtins.bool = ...,
        aws_regions: collections.abc.Iterable[builtins.str] | None = ...,
        account_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_ids", b"account_ids", "all_aws_regions", b"all_aws_regions", "aws_regions", b"aws_regions", "resource_info", b"resource_info"]) -> None: ...

global___ConfigurationAggregatorAccountAggregationSource = ConfigurationAggregatorAccountAggregationSource

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ALL_AWS_REGIONS_FIELD_NUMBER: builtins.int
    AWS_REGIONS_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    all_aws_regions: builtins.bool
    @property
    def aws_regions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    role_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        all_aws_regions: builtins.bool = ...,
        aws_regions: collections.abc.Iterable[builtins.str] | None = ...,
        role_arn: 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["all_aws_regions", b"all_aws_regions", "aws_regions", b"aws_regions", "resource_info", b"resource_info", "role_arn", b"role_arn"]) -> None: ...

global___ConfigurationAggregatorOrganizationAggregationSource = ConfigurationAggregatorOrganizationAggregationSource

@typing_extensions.final
class ConfigurationAggregator(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
    ACCOUNT_AGGREGATION_SOURCES_FIELD_NUMBER: builtins.int
    CONFIGURATION_AGGREGATOR_NAME_FIELD_NUMBER: builtins.int
    ORGANIZATION_AGGREGATION_SOURCE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def account_aggregation_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConfigurationAggregatorAccountAggregationSource]: ...
    configuration_aggregator_name: builtins.str
    @property
    def organization_aggregation_source(self) -> global___ConfigurationAggregatorOrganizationAggregationSource: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        account_aggregation_sources: collections.abc.Iterable[global___ConfigurationAggregatorAccountAggregationSource] | None = ...,
        configuration_aggregator_name: builtins.str = ...,
        organization_aggregation_source: global___ConfigurationAggregatorOrganizationAggregationSource | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["organization_aggregation_source", b"organization_aggregation_source", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_aggregation_sources", b"account_aggregation_sources", "configuration_aggregator_name", b"configuration_aggregator_name", "organization_aggregation_source", b"organization_aggregation_source", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___ConfigurationAggregator = ConfigurationAggregator

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ALL_SUPPORTED_FIELD_NUMBER: builtins.int
    INCLUDE_GLOBAL_RESOURCE_TYPES_FIELD_NUMBER: builtins.int
    RESOURCE_TYPES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    all_supported: builtins.bool
    include_global_resource_types: builtins.bool
    @property
    def resource_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        all_supported: builtins.bool = ...,
        include_global_resource_types: builtins.bool = ...,
        resource_types: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["all_supported", b"all_supported", "include_global_resource_types", b"include_global_resource_types", "resource_info", b"resource_info", "resource_types", b"resource_types"]) -> None: ...

global___ConfigurationRecorderRecordingGroup = ConfigurationRecorderRecordingGroup

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

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

global___ConfigurationRecorder = ConfigurationRecorder

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    PARAMETER_NAME_FIELD_NUMBER: builtins.int
    PARAMETER_VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    parameter_name: builtins.str
    parameter_value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        parameter_name: builtins.str = ...,
        parameter_value: 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["parameter_name", b"parameter_name", "parameter_value", b"parameter_value", "resource_info", b"resource_info"]) -> None: ...

global___ConformancePackConformancePackInputParameter = ConformancePackConformancePackInputParameter

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONFORMANCE_PACK_NAME_FIELD_NUMBER: builtins.int
    DELIVERY_S3_BUCKET_FIELD_NUMBER: builtins.int
    DELIVERY_S3_KEY_PREFIX_FIELD_NUMBER: builtins.int
    TEMPLATE_BODY_FIELD_NUMBER: builtins.int
    TEMPLATE_S3_URI_FIELD_NUMBER: builtins.int
    CONFORMANCE_PACK_INPUT_PARAMETERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    conformance_pack_name: builtins.str
    delivery_s3_bucket: builtins.str
    delivery_s3_key_prefix: builtins.str
    template_body: builtins.str
    template_s3_uri: builtins.str
    @property
    def conformance_pack_input_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConformancePackConformancePackInputParameter]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        conformance_pack_name: builtins.str = ...,
        delivery_s3_bucket: builtins.str = ...,
        delivery_s3_key_prefix: builtins.str = ...,
        template_body: builtins.str = ...,
        template_s3_uri: builtins.str = ...,
        conformance_pack_input_parameters: collections.abc.Iterable[global___ConformancePackConformancePackInputParameter] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["conformance_pack_input_parameters", b"conformance_pack_input_parameters", "conformance_pack_name", b"conformance_pack_name", "delivery_s3_bucket", b"delivery_s3_bucket", "delivery_s3_key_prefix", b"delivery_s3_key_prefix", "resource_info", b"resource_info", "template_body", b"template_body", "template_s3_uri", b"template_s3_uri"]) -> None: ...

global___ConformancePack = ConformancePack

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELIVERY_FREQUENCY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    delivery_frequency: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delivery_frequency: 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["delivery_frequency", b"delivery_frequency", "resource_info", b"resource_info"]) -> None: ...

global___DeliveryChannelConfigSnapshotDeliveryProperties = DeliveryChannelConfigSnapshotDeliveryProperties

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONFIG_SNAPSHOT_DELIVERY_PROPERTIES_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    S3_BUCKET_NAME_FIELD_NUMBER: builtins.int
    S3_KEY_PREFIX_FIELD_NUMBER: builtins.int
    SNS_TOPIC_ARN_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def config_snapshot_delivery_properties(self) -> global___DeliveryChannelConfigSnapshotDeliveryProperties: ...
    name: builtins.str
    s3_bucket_name: builtins.str
    s3_key_prefix: builtins.str
    sns_topic_arn: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        config_snapshot_delivery_properties: global___DeliveryChannelConfigSnapshotDeliveryProperties | None = ...,
        name: builtins.str = ...,
        s3_bucket_name: builtins.str = ...,
        s3_key_prefix: builtins.str = ...,
        sns_topic_arn: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["config_snapshot_delivery_properties", b"config_snapshot_delivery_properties", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["config_snapshot_delivery_properties", b"config_snapshot_delivery_properties", "name", b"name", "resource_info", b"resource_info", "s3_bucket_name", b"s3_bucket_name", "s3_key_prefix", b"s3_key_prefix", "sns_topic_arn", b"sns_topic_arn"]) -> None: ...

global___DeliveryChannel = DeliveryChannel

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TAG_KEY_SCOPE_FIELD_NUMBER: builtins.int
    TAG_VALUE_SCOPE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    RESOURCE_ID_SCOPE_FIELD_NUMBER: builtins.int
    RULE_IDENTIFIER_FIELD_NUMBER: builtins.int
    RESOURCE_TYPES_SCOPE_FIELD_NUMBER: builtins.int
    MAXIMUM_EXECUTION_FREQUENCY_FIELD_NUMBER: builtins.int
    INPUT_PARAMETERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    tag_key_scope: builtins.str
    tag_value_scope: builtins.str
    description: builtins.str
    resource_id_scope: builtins.str
    rule_identifier: builtins.str
    @property
    def resource_types_scope(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    maximum_execution_frequency: builtins.str
    input_parameters: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        tag_key_scope: builtins.str = ...,
        tag_value_scope: builtins.str = ...,
        description: builtins.str = ...,
        resource_id_scope: builtins.str = ...,
        rule_identifier: builtins.str = ...,
        resource_types_scope: collections.abc.Iterable[builtins.str] | None = ...,
        maximum_execution_frequency: builtins.str = ...,
        input_parameters: 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["description", b"description", "input_parameters", b"input_parameters", "maximum_execution_frequency", b"maximum_execution_frequency", "resource_id_scope", b"resource_id_scope", "resource_info", b"resource_info", "resource_types_scope", b"resource_types_scope", "rule_identifier", b"rule_identifier", "tag_key_scope", b"tag_key_scope", "tag_value_scope", b"tag_value_scope"]) -> None: ...

global___OrganizationConfigRuleOrganizationManagedRuleMetadata = OrganizationConfigRuleOrganizationManagedRuleMetadata

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TAG_KEY_SCOPE_FIELD_NUMBER: builtins.int
    TAG_VALUE_SCOPE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    RESOURCE_ID_SCOPE_FIELD_NUMBER: builtins.int
    LAMBDA_FUNCTION_ARN_FIELD_NUMBER: builtins.int
    ORGANIZATION_CONFIG_RULE_TRIGGER_TYPES_FIELD_NUMBER: builtins.int
    RESOURCE_TYPES_SCOPE_FIELD_NUMBER: builtins.int
    MAXIMUM_EXECUTION_FREQUENCY_FIELD_NUMBER: builtins.int
    INPUT_PARAMETERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    tag_key_scope: builtins.str
    tag_value_scope: builtins.str
    description: builtins.str
    resource_id_scope: builtins.str
    lambda_function_arn: builtins.str
    @property
    def organization_config_rule_trigger_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource_types_scope(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    maximum_execution_frequency: builtins.str
    input_parameters: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        tag_key_scope: builtins.str = ...,
        tag_value_scope: builtins.str = ...,
        description: builtins.str = ...,
        resource_id_scope: builtins.str = ...,
        lambda_function_arn: builtins.str = ...,
        organization_config_rule_trigger_types: collections.abc.Iterable[builtins.str] | None = ...,
        resource_types_scope: collections.abc.Iterable[builtins.str] | None = ...,
        maximum_execution_frequency: builtins.str = ...,
        input_parameters: 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["description", b"description", "input_parameters", b"input_parameters", "lambda_function_arn", b"lambda_function_arn", "maximum_execution_frequency", b"maximum_execution_frequency", "organization_config_rule_trigger_types", b"organization_config_rule_trigger_types", "resource_id_scope", b"resource_id_scope", "resource_info", b"resource_info", "resource_types_scope", b"resource_types_scope", "tag_key_scope", b"tag_key_scope", "tag_value_scope", b"tag_value_scope"]) -> None: ...

global___OrganizationConfigRuleOrganizationCustomRuleMetadata = OrganizationConfigRuleOrganizationCustomRuleMetadata

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ORGANIZATION_MANAGED_RULE_METADATA_FIELD_NUMBER: builtins.int
    ORGANIZATION_CONFIG_RULE_NAME_FIELD_NUMBER: builtins.int
    ORGANIZATION_CUSTOM_RULE_METADATA_FIELD_NUMBER: builtins.int
    EXCLUDED_ACCOUNTS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def organization_managed_rule_metadata(self) -> global___OrganizationConfigRuleOrganizationManagedRuleMetadata: ...
    organization_config_rule_name: builtins.str
    @property
    def organization_custom_rule_metadata(self) -> global___OrganizationConfigRuleOrganizationCustomRuleMetadata: ...
    @property
    def excluded_accounts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        organization_managed_rule_metadata: global___OrganizationConfigRuleOrganizationManagedRuleMetadata | None = ...,
        organization_config_rule_name: builtins.str = ...,
        organization_custom_rule_metadata: global___OrganizationConfigRuleOrganizationCustomRuleMetadata | None = ...,
        excluded_accounts: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["organization_custom_rule_metadata", b"organization_custom_rule_metadata", "organization_managed_rule_metadata", b"organization_managed_rule_metadata", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["excluded_accounts", b"excluded_accounts", "organization_config_rule_name", b"organization_config_rule_name", "organization_custom_rule_metadata", b"organization_custom_rule_metadata", "organization_managed_rule_metadata", b"organization_managed_rule_metadata", "resource_info", b"resource_info"]) -> None: ...

global___OrganizationConfigRule = OrganizationConfigRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    PARAMETER_NAME_FIELD_NUMBER: builtins.int
    PARAMETER_VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    parameter_name: builtins.str
    parameter_value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        parameter_name: builtins.str = ...,
        parameter_value: 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["parameter_name", b"parameter_name", "parameter_value", b"parameter_value", "resource_info", b"resource_info"]) -> None: ...

global___OrganizationConformancePackConformancePackInputParameter = OrganizationConformancePackConformancePackInputParameter

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ORGANIZATION_CONFORMANCE_PACK_NAME_FIELD_NUMBER: builtins.int
    TEMPLATE_S3_URI_FIELD_NUMBER: builtins.int
    TEMPLATE_BODY_FIELD_NUMBER: builtins.int
    DELIVERY_S3_BUCKET_FIELD_NUMBER: builtins.int
    DELIVERY_S3_KEY_PREFIX_FIELD_NUMBER: builtins.int
    CONFORMANCE_PACK_INPUT_PARAMETERS_FIELD_NUMBER: builtins.int
    EXCLUDED_ACCOUNTS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    organization_conformance_pack_name: builtins.str
    template_s3_uri: builtins.str
    template_body: builtins.str
    delivery_s3_bucket: builtins.str
    delivery_s3_key_prefix: builtins.str
    @property
    def conformance_pack_input_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationConformancePackConformancePackInputParameter]: ...
    @property
    def excluded_accounts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        organization_conformance_pack_name: builtins.str = ...,
        template_s3_uri: builtins.str = ...,
        template_body: builtins.str = ...,
        delivery_s3_bucket: builtins.str = ...,
        delivery_s3_key_prefix: builtins.str = ...,
        conformance_pack_input_parameters: collections.abc.Iterable[global___OrganizationConformancePackConformancePackInputParameter] | None = ...,
        excluded_accounts: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["conformance_pack_input_parameters", b"conformance_pack_input_parameters", "delivery_s3_bucket", b"delivery_s3_bucket", "delivery_s3_key_prefix", b"delivery_s3_key_prefix", "excluded_accounts", b"excluded_accounts", "organization_conformance_pack_name", b"organization_conformance_pack_name", "resource_info", b"resource_info", "template_body", b"template_body", "template_s3_uri", b"template_s3_uri"]) -> None: ...

global___OrganizationConformancePack = OrganizationConformancePack

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ERROR_PERCENTAGE_FIELD_NUMBER: builtins.int
    CONCURRENT_EXECUTION_RATE_PERCENTAGE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    error_percentage: builtins.int
    concurrent_execution_rate_percentage: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        error_percentage: builtins.int = ...,
        concurrent_execution_rate_percentage: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["concurrent_execution_rate_percentage", b"concurrent_execution_rate_percentage", "error_percentage", b"error_percentage", "resource_info", b"resource_info"]) -> None: ...

global___RemediationConfigurationSsmControls = RemediationConfigurationSsmControls

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

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

global___RemediationConfigurationExecutionControls = RemediationConfigurationExecutionControls

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

    @typing_extensions.final
    class ParametersEntry(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
    TARGET_VERSION_FIELD_NUMBER: builtins.int
    EXECUTION_CONTROLS_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    TARGET_TYPE_FIELD_NUMBER: builtins.int
    CONFIG_RULE_NAME_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    RETRY_ATTEMPT_SECONDS_FIELD_NUMBER: builtins.int
    MAXIMUM_AUTOMATIC_ATTEMPTS_FIELD_NUMBER: builtins.int
    TARGET_ID_FIELD_NUMBER: builtins.int
    AUTOMATIC_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    target_version: builtins.str
    @property
    def execution_controls(self) -> global___RemediationConfigurationExecutionControls: ...
    @property
    def parameters(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    target_type: builtins.str
    config_rule_name: builtins.str
    resource_type: builtins.str
    retry_attempt_seconds: builtins.int
    maximum_automatic_attempts: builtins.int
    target_id: builtins.str
    automatic: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        target_version: builtins.str = ...,
        execution_controls: global___RemediationConfigurationExecutionControls | None = ...,
        parameters: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        target_type: builtins.str = ...,
        config_rule_name: builtins.str = ...,
        resource_type: builtins.str = ...,
        retry_attempt_seconds: builtins.int = ...,
        maximum_automatic_attempts: builtins.int = ...,
        target_id: builtins.str = ...,
        automatic: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["execution_controls", b"execution_controls", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["automatic", b"automatic", "config_rule_name", b"config_rule_name", "execution_controls", b"execution_controls", "maximum_automatic_attempts", b"maximum_automatic_attempts", "parameters", b"parameters", "resource_info", b"resource_info", "resource_type", b"resource_type", "retry_attempt_seconds", b"retry_attempt_seconds", "target_id", b"target_id", "target_type", b"target_type", "target_version", b"target_version"]) -> None: ...

global___RemediationConfiguration = RemediationConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        value: 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["resource_info", b"resource_info", "value", b"value"]) -> None: ...

global___RemediationConfigurationResourceValue = RemediationConfigurationResourceValue

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        values: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "values", b"values"]) -> None: ...

global___RemediationConfigurationStaticValue = RemediationConfigurationStaticValue

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    RESOURCE_VALUE_FIELD_NUMBER: builtins.int
    STATIC_VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def resource_value(self) -> global___RemediationConfigurationResourceValue: ...
    @property
    def static_value(self) -> global___RemediationConfigurationStaticValue: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        resource_value: global___RemediationConfigurationResourceValue | None = ...,
        static_value: global___RemediationConfigurationStaticValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "resource_value", b"resource_value", "static_value", b"static_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "resource_value", b"resource_value", "static_value", b"static_value"]) -> None: ...

global___RemediationConfigurationRemediationParameterValue = RemediationConfigurationRemediationParameterValue
