"""
@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 ClusterApplication(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class AdditionalInfoEntry(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
    ADDITIONAL_INFO_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def additional_info(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    name: builtins.str
    version: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        additional_info: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        args: collections.abc.Iterable[builtins.str] | None = ...,
        name: builtins.str = ...,
        version: 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["additional_info", b"additional_info", "args", b"args", "name", b"name", "resource_info", b"resource_info", "version", b"version"]) -> None: ...

global___ClusterApplication = ClusterApplication

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    path: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        args: collections.abc.Iterable[builtins.str] | None = ...,
        path: 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["args", b"args", "path", b"path", "resource_info", b"resource_info"]) -> None: ...

global___ClusterScriptBootstrapActionConfig = ClusterScriptBootstrapActionConfig

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

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

global___ClusterBootstrapActionConfig = ClusterBootstrapActionConfig

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

    @typing_extensions.final
    class ConfigurationPropertiesEntry(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
    CLASSIFICATION_FIELD_NUMBER: builtins.int
    CONFIGURATION_PROPERTIES_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    classification: builtins.str
    @property
    def configuration_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterConfiguration]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        classification: builtins.str = ...,
        configuration_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        configurations: collections.abc.Iterable[global___ClusterConfiguration] | 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["classification", b"classification", "configuration_properties", b"configuration_properties", "configurations", b"configurations", "resource_info", b"resource_info"]) -> None: ...

global___ClusterConfiguration = ClusterConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IOPS_FIELD_NUMBER: builtins.int
    SIZE_IN_GB_FIELD_NUMBER: builtins.int
    VOLUME_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    iops: builtins.int
    size_in_gb: builtins.int
    volume_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        iops: builtins.int = ...,
        size_in_gb: builtins.int = ...,
        volume_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["iops", b"iops", "resource_info", b"resource_info", "size_in_gb", b"size_in_gb", "volume_type", b"volume_type"]) -> None: ...

global___ClusterVolumeSpecification = ClusterVolumeSpecification

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

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

global___ClusterEbsBlockDeviceConfig = ClusterEbsBlockDeviceConfig

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

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

global___ClusterEbsConfiguration = ClusterEbsConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    BID_PRICE_FIELD_NUMBER: builtins.int
    BID_PRICE_AS_PERCENTAGE_OF_ON_DEMAND_PRICE_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    EBS_CONFIGURATION_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    WEIGHTED_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    bid_price: builtins.str
    bid_price_as_percentage_of_on_demand_price: builtins.float
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterConfiguration]: ...
    @property
    def ebs_configuration(self) -> global___ClusterEbsConfiguration: ...
    instance_type: builtins.str
    weighted_capacity: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        bid_price: builtins.str = ...,
        bid_price_as_percentage_of_on_demand_price: builtins.float = ...,
        configurations: collections.abc.Iterable[global___ClusterConfiguration] | None = ...,
        ebs_configuration: global___ClusterEbsConfiguration | None = ...,
        instance_type: builtins.str = ...,
        weighted_capacity: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ebs_configuration", b"ebs_configuration", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bid_price", b"bid_price", "bid_price_as_percentage_of_on_demand_price", b"bid_price_as_percentage_of_on_demand_price", "configurations", b"configurations", "ebs_configuration", b"ebs_configuration", "instance_type", b"instance_type", "resource_info", b"resource_info", "weighted_capacity", b"weighted_capacity"]) -> None: ...

global___ClusterInstanceTypeConfig = ClusterInstanceTypeConfig

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

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

global___ClusterSpotProvisioningSpecification = ClusterSpotProvisioningSpecification

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

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

global___ClusterInstanceFleetProvisioningSpecifications = ClusterInstanceFleetProvisioningSpecifications

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_CONFIGS_FIELD_NUMBER: builtins.int
    LAUNCH_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TARGET_ON_DEMAND_CAPACITY_FIELD_NUMBER: builtins.int
    TARGET_SPOT_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def instance_type_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterInstanceTypeConfig]: ...
    @property
    def launch_specifications(self) -> global___ClusterInstanceFleetProvisioningSpecifications: ...
    name: builtins.str
    target_on_demand_capacity: builtins.int
    target_spot_capacity: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        instance_type_configs: collections.abc.Iterable[global___ClusterInstanceTypeConfig] | None = ...,
        launch_specifications: global___ClusterInstanceFleetProvisioningSpecifications | None = ...,
        name: builtins.str = ...,
        target_on_demand_capacity: builtins.int = ...,
        target_spot_capacity: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["launch_specifications", b"launch_specifications", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["instance_type_configs", b"instance_type_configs", "launch_specifications", b"launch_specifications", "name", b"name", "resource_info", b"resource_info", "target_on_demand_capacity", b"target_on_demand_capacity", "target_spot_capacity", b"target_spot_capacity"]) -> None: ...

global___ClusterInstanceFleetConfig = ClusterInstanceFleetConfig

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

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

global___ClusterScalingConstraints = ClusterScalingConstraints

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

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

global___ClusterSimpleScalingPolicyConfiguration = ClusterSimpleScalingPolicyConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    MARKET_FIELD_NUMBER: builtins.int
    SIMPLE_SCALING_POLICY_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    market: builtins.str
    @property
    def simple_scaling_policy_configuration(self) -> global___ClusterSimpleScalingPolicyConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        market: builtins.str = ...,
        simple_scaling_policy_configuration: global___ClusterSimpleScalingPolicyConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "simple_scaling_policy_configuration", b"simple_scaling_policy_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["market", b"market", "resource_info", b"resource_info", "simple_scaling_policy_configuration", b"simple_scaling_policy_configuration"]) -> None: ...

global___ClusterScalingAction = ClusterScalingAction

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

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

global___ClusterMetricDimension = ClusterMetricDimension

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COMPARISON_OPERATOR_FIELD_NUMBER: builtins.int
    DIMENSIONS_FIELD_NUMBER: builtins.int
    EVALUATION_PERIODS_FIELD_NUMBER: builtins.int
    METRIC_NAME_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    PERIOD_FIELD_NUMBER: builtins.int
    STATISTIC_FIELD_NUMBER: builtins.int
    THRESHOLD_FIELD_NUMBER: builtins.int
    UNIT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    comparison_operator: builtins.str
    @property
    def dimensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterMetricDimension]: ...
    evaluation_periods: builtins.int
    metric_name: builtins.str
    namespace: builtins.str
    period: builtins.int
    statistic: builtins.str
    threshold: builtins.float
    unit: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        comparison_operator: builtins.str = ...,
        dimensions: collections.abc.Iterable[global___ClusterMetricDimension] | None = ...,
        evaluation_periods: builtins.int = ...,
        metric_name: builtins.str = ...,
        namespace: builtins.str = ...,
        period: builtins.int = ...,
        statistic: builtins.str = ...,
        threshold: builtins.float = ...,
        unit: 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["comparison_operator", b"comparison_operator", "dimensions", b"dimensions", "evaluation_periods", b"evaluation_periods", "metric_name", b"metric_name", "namespace", b"namespace", "period", b"period", "resource_info", b"resource_info", "statistic", b"statistic", "threshold", b"threshold", "unit", b"unit"]) -> None: ...

global___ClusterCloudWatchAlarmDefinition = ClusterCloudWatchAlarmDefinition

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

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

global___ClusterScalingTrigger = ClusterScalingTrigger

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TRIGGER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def action(self) -> global___ClusterScalingAction: ...
    description: builtins.str
    name: builtins.str
    @property
    def trigger(self) -> global___ClusterScalingTrigger: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        action: global___ClusterScalingAction | None = ...,
        description: builtins.str = ...,
        name: builtins.str = ...,
        trigger: global___ClusterScalingTrigger | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["action", b"action", "resource_info", b"resource_info", "trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "description", b"description", "name", b"name", "resource_info", b"resource_info", "trigger", b"trigger"]) -> None: ...

global___ClusterScalingRule = ClusterScalingRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONSTRAINTS_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def constraints(self) -> global___ClusterScalingConstraints: ...
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterScalingRule]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        constraints: global___ClusterScalingConstraints | None = ...,
        rules: collections.abc.Iterable[global___ClusterScalingRule] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["constraints", b"constraints", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["constraints", b"constraints", "resource_info", b"resource_info", "rules", b"rules"]) -> None: ...

global___ClusterAutoScalingPolicy = ClusterAutoScalingPolicy

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AUTO_SCALING_POLICY_FIELD_NUMBER: builtins.int
    BID_PRICE_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    EBS_CONFIGURATION_FIELD_NUMBER: builtins.int
    INSTANCE_COUNT_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    MARKET_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def auto_scaling_policy(self) -> global___ClusterAutoScalingPolicy: ...
    bid_price: builtins.str
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterConfiguration]: ...
    @property
    def ebs_configuration(self) -> global___ClusterEbsConfiguration: ...
    instance_count: builtins.int
    instance_type: builtins.str
    market: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_scaling_policy: global___ClusterAutoScalingPolicy | None = ...,
        bid_price: builtins.str = ...,
        configurations: collections.abc.Iterable[global___ClusterConfiguration] | None = ...,
        ebs_configuration: global___ClusterEbsConfiguration | None = ...,
        instance_count: builtins.int = ...,
        instance_type: builtins.str = ...,
        market: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auto_scaling_policy", b"auto_scaling_policy", "ebs_configuration", b"ebs_configuration", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_scaling_policy", b"auto_scaling_policy", "bid_price", b"bid_price", "configurations", b"configurations", "ebs_configuration", b"ebs_configuration", "instance_count", b"instance_count", "instance_type", b"instance_type", "market", b"market", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___ClusterInstanceGroupConfig = ClusterInstanceGroupConfig

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

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

global___ClusterPlacementType = ClusterPlacementType

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ADDITIONAL_MASTER_SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    ADDITIONAL_SLAVE_SECURITY_GROUPS_FIELD_NUMBER: builtins.int
    CORE_INSTANCE_FLEET_FIELD_NUMBER: builtins.int
    CORE_INSTANCE_GROUP_FIELD_NUMBER: builtins.int
    EC2_KEY_NAME_FIELD_NUMBER: builtins.int
    EC2_SUBNET_ID_FIELD_NUMBER: builtins.int
    EC2_SUBNET_IDS_FIELD_NUMBER: builtins.int
    EMR_MANAGED_MASTER_SECURITY_GROUP_FIELD_NUMBER: builtins.int
    EMR_MANAGED_SLAVE_SECURITY_GROUP_FIELD_NUMBER: builtins.int
    HADOOP_VERSION_FIELD_NUMBER: builtins.int
    KEEP_JOB_FLOW_ALIVE_WHEN_NO_STEPS_FIELD_NUMBER: builtins.int
    MASTER_INSTANCE_FLEET_FIELD_NUMBER: builtins.int
    MASTER_INSTANCE_GROUP_FIELD_NUMBER: builtins.int
    PLACEMENT_FIELD_NUMBER: builtins.int
    SERVICE_ACCESS_SECURITY_GROUP_FIELD_NUMBER: builtins.int
    TERMINATION_PROTECTED_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def additional_master_security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def additional_slave_security_groups(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def core_instance_fleet(self) -> global___ClusterInstanceFleetConfig: ...
    @property
    def core_instance_group(self) -> global___ClusterInstanceGroupConfig: ...
    ec2_key_name: builtins.str
    ec2_subnet_id: builtins.str
    @property
    def ec2_subnet_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    emr_managed_master_security_group: builtins.str
    emr_managed_slave_security_group: builtins.str
    hadoop_version: builtins.str
    keep_job_flow_alive_when_no_steps: builtins.bool
    @property
    def master_instance_fleet(self) -> global___ClusterInstanceFleetConfig: ...
    @property
    def master_instance_group(self) -> global___ClusterInstanceGroupConfig: ...
    @property
    def placement(self) -> global___ClusterPlacementType: ...
    service_access_security_group: builtins.str
    termination_protected: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        additional_master_security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        additional_slave_security_groups: collections.abc.Iterable[builtins.str] | None = ...,
        core_instance_fleet: global___ClusterInstanceFleetConfig | None = ...,
        core_instance_group: global___ClusterInstanceGroupConfig | None = ...,
        ec2_key_name: builtins.str = ...,
        ec2_subnet_id: builtins.str = ...,
        ec2_subnet_ids: collections.abc.Iterable[builtins.str] | None = ...,
        emr_managed_master_security_group: builtins.str = ...,
        emr_managed_slave_security_group: builtins.str = ...,
        hadoop_version: builtins.str = ...,
        keep_job_flow_alive_when_no_steps: builtins.bool = ...,
        master_instance_fleet: global___ClusterInstanceFleetConfig | None = ...,
        master_instance_group: global___ClusterInstanceGroupConfig | None = ...,
        placement: global___ClusterPlacementType | None = ...,
        service_access_security_group: builtins.str = ...,
        termination_protected: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["core_instance_fleet", b"core_instance_fleet", "core_instance_group", b"core_instance_group", "master_instance_fleet", b"master_instance_fleet", "master_instance_group", b"master_instance_group", "placement", b"placement", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_master_security_groups", b"additional_master_security_groups", "additional_slave_security_groups", b"additional_slave_security_groups", "core_instance_fleet", b"core_instance_fleet", "core_instance_group", b"core_instance_group", "ec2_key_name", b"ec2_key_name", "ec2_subnet_id", b"ec2_subnet_id", "ec2_subnet_ids", b"ec2_subnet_ids", "emr_managed_master_security_group", b"emr_managed_master_security_group", "emr_managed_slave_security_group", b"emr_managed_slave_security_group", "hadoop_version", b"hadoop_version", "keep_job_flow_alive_when_no_steps", b"keep_job_flow_alive_when_no_steps", "master_instance_fleet", b"master_instance_fleet", "master_instance_group", b"master_instance_group", "placement", b"placement", "resource_info", b"resource_info", "service_access_security_group", b"service_access_security_group", "termination_protected", b"termination_protected"]) -> None: ...

global___ClusterJobFlowInstancesConfig = ClusterJobFlowInstancesConfig

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AD_DOMAIN_JOIN_PASSWORD_FIELD_NUMBER: builtins.int
    AD_DOMAIN_JOIN_USER_FIELD_NUMBER: builtins.int
    CROSS_REALM_TRUST_PRINCIPAL_PASSWORD_FIELD_NUMBER: builtins.int
    KDC_ADMIN_PASSWORD_FIELD_NUMBER: builtins.int
    REALM_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    ad_domain_join_password: builtins.str
    ad_domain_join_user: builtins.str
    cross_realm_trust_principal_password: builtins.str
    kdc_admin_password: builtins.str
    realm: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        ad_domain_join_password: builtins.str = ...,
        ad_domain_join_user: builtins.str = ...,
        cross_realm_trust_principal_password: builtins.str = ...,
        kdc_admin_password: builtins.str = ...,
        realm: 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["ad_domain_join_password", b"ad_domain_join_password", "ad_domain_join_user", b"ad_domain_join_user", "cross_realm_trust_principal_password", b"cross_realm_trust_principal_password", "kdc_admin_password", b"kdc_admin_password", "realm", b"realm", "resource_info", b"resource_info"]) -> None: ...

global___ClusterKerberosAttributes = ClusterKerberosAttributes

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

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

global___ClusterKeyValue = ClusterKeyValue

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    JAR_FIELD_NUMBER: builtins.int
    MAIN_CLASS_FIELD_NUMBER: builtins.int
    STEP_PROPERTIES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    jar: builtins.str
    main_class: builtins.str
    @property
    def step_properties(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterKeyValue]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        args: collections.abc.Iterable[builtins.str] | None = ...,
        jar: builtins.str = ...,
        main_class: builtins.str = ...,
        step_properties: collections.abc.Iterable[global___ClusterKeyValue] | 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["args", b"args", "jar", b"jar", "main_class", b"main_class", "resource_info", b"resource_info", "step_properties", b"step_properties"]) -> None: ...

global___ClusterHadoopJarStepConfig = ClusterHadoopJarStepConfig

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

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

global___ClusterStepConfig = ClusterStepConfig

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

    @typing_extensions.final
    class AdditionalInfoEntry(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: ...

    @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
    ADDITIONAL_INFO_FIELD_NUMBER: builtins.int
    APPLICATIONS_FIELD_NUMBER: builtins.int
    AUTO_SCALING_ROLE_FIELD_NUMBER: builtins.int
    BOOTSTRAP_ACTIONS_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    CUSTOM_AMI_ID_FIELD_NUMBER: builtins.int
    EBS_ROOT_VOLUME_SIZE_FIELD_NUMBER: builtins.int
    INSTANCES_FIELD_NUMBER: builtins.int
    JOB_FLOW_ROLE_FIELD_NUMBER: builtins.int
    KERBEROS_ATTRIBUTES_FIELD_NUMBER: builtins.int
    LOG_URI_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RELEASE_LABEL_FIELD_NUMBER: builtins.int
    SCALE_DOWN_BEHAVIOR_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    SERVICE_ROLE_FIELD_NUMBER: builtins.int
    STEPS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    VISIBLE_TO_ALL_USERS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def additional_info(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def applications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterApplication]: ...
    auto_scaling_role: builtins.str
    @property
    def bootstrap_actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterBootstrapActionConfig]: ...
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterConfiguration]: ...
    custom_ami_id: builtins.str
    ebs_root_volume_size: builtins.int
    @property
    def instances(self) -> global___ClusterJobFlowInstancesConfig: ...
    job_flow_role: builtins.str
    @property
    def kerberos_attributes(self) -> global___ClusterKerberosAttributes: ...
    log_uri: builtins.str
    name: builtins.str
    release_label: builtins.str
    scale_down_behavior: builtins.str
    security_configuration: builtins.str
    service_role: builtins.str
    @property
    def steps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ClusterStepConfig]: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    visible_to_all_users: builtins.bool
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        additional_info: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        applications: collections.abc.Iterable[global___ClusterApplication] | None = ...,
        auto_scaling_role: builtins.str = ...,
        bootstrap_actions: collections.abc.Iterable[global___ClusterBootstrapActionConfig] | None = ...,
        configurations: collections.abc.Iterable[global___ClusterConfiguration] | None = ...,
        custom_ami_id: builtins.str = ...,
        ebs_root_volume_size: builtins.int = ...,
        instances: global___ClusterJobFlowInstancesConfig | None = ...,
        job_flow_role: builtins.str = ...,
        kerberos_attributes: global___ClusterKerberosAttributes | None = ...,
        log_uri: builtins.str = ...,
        name: builtins.str = ...,
        release_label: builtins.str = ...,
        scale_down_behavior: builtins.str = ...,
        security_configuration: builtins.str = ...,
        service_role: builtins.str = ...,
        steps: collections.abc.Iterable[global___ClusterStepConfig] | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        visible_to_all_users: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["instances", b"instances", "kerberos_attributes", b"kerberos_attributes", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["additional_info", b"additional_info", "applications", b"applications", "auto_scaling_role", b"auto_scaling_role", "bootstrap_actions", b"bootstrap_actions", "configurations", b"configurations", "custom_ami_id", b"custom_ami_id", "ebs_root_volume_size", b"ebs_root_volume_size", "instances", b"instances", "job_flow_role", b"job_flow_role", "kerberos_attributes", b"kerberos_attributes", "log_uri", b"log_uri", "name", b"name", "release_label", b"release_label", "resource_info", b"resource_info", "scale_down_behavior", b"scale_down_behavior", "security_configuration", b"security_configuration", "service_role", b"service_role", "steps", b"steps", "tags", b"tags", "visible_to_all_users", b"visible_to_all_users"]) -> None: ...

global___Cluster = Cluster

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

    CLUSTER_FIELD_NUMBER: builtins.int
    INSTANCE_FLEET_CONFIG_FIELD_NUMBER: builtins.int
    INSTANCE_GROUP_CONFIG_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    STEP_FIELD_NUMBER: builtins.int
    @property
    def cluster(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Cluster]: ...
    @property
    def instance_fleet_config(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceFleetConfig]: ...
    @property
    def instance_group_config(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceGroupConfig]: ...
    @property
    def security_configuration(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SecurityConfiguration]: ...
    @property
    def step(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Step]: ...
    def __init__(
        self,
        *,
        cluster: collections.abc.Iterable[global___Cluster] | None = ...,
        instance_fleet_config: collections.abc.Iterable[global___InstanceFleetConfig] | None = ...,
        instance_group_config: collections.abc.Iterable[global___InstanceGroupConfig] | None = ...,
        security_configuration: collections.abc.Iterable[global___SecurityConfiguration] | None = ...,
        step: collections.abc.Iterable[global___Step] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cluster", b"cluster", "instance_fleet_config", b"instance_fleet_config", "instance_group_config", b"instance_group_config", "security_configuration", b"security_configuration", "step", b"step"]) -> None: ...

global___EMR = EMR

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

    @typing_extensions.final
    class ConfigurationPropertiesEntry(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
    CLASSIFICATION_FIELD_NUMBER: builtins.int
    CONFIGURATION_PROPERTIES_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    classification: builtins.str
    @property
    def configuration_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceFleetConfigConfiguration]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        classification: builtins.str = ...,
        configuration_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        configurations: collections.abc.Iterable[global___InstanceFleetConfigConfiguration] | 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["classification", b"classification", "configuration_properties", b"configuration_properties", "configurations", b"configurations", "resource_info", b"resource_info"]) -> None: ...

global___InstanceFleetConfigConfiguration = InstanceFleetConfigConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IOPS_FIELD_NUMBER: builtins.int
    SIZE_IN_GB_FIELD_NUMBER: builtins.int
    VOLUME_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    iops: builtins.int
    size_in_gb: builtins.int
    volume_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        iops: builtins.int = ...,
        size_in_gb: builtins.int = ...,
        volume_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["iops", b"iops", "resource_info", b"resource_info", "size_in_gb", b"size_in_gb", "volume_type", b"volume_type"]) -> None: ...

global___InstanceFleetConfigVolumeSpecification = InstanceFleetConfigVolumeSpecification

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

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

global___InstanceFleetConfigEbsBlockDeviceConfig = InstanceFleetConfigEbsBlockDeviceConfig

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

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

global___InstanceFleetConfigEbsConfiguration = InstanceFleetConfigEbsConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    BID_PRICE_FIELD_NUMBER: builtins.int
    BID_PRICE_AS_PERCENTAGE_OF_ON_DEMAND_PRICE_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    EBS_CONFIGURATION_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    WEIGHTED_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    bid_price: builtins.str
    bid_price_as_percentage_of_on_demand_price: builtins.float
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceFleetConfigConfiguration]: ...
    @property
    def ebs_configuration(self) -> global___InstanceFleetConfigEbsConfiguration: ...
    instance_type: builtins.str
    weighted_capacity: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        bid_price: builtins.str = ...,
        bid_price_as_percentage_of_on_demand_price: builtins.float = ...,
        configurations: collections.abc.Iterable[global___InstanceFleetConfigConfiguration] | None = ...,
        ebs_configuration: global___InstanceFleetConfigEbsConfiguration | None = ...,
        instance_type: builtins.str = ...,
        weighted_capacity: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ebs_configuration", b"ebs_configuration", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bid_price", b"bid_price", "bid_price_as_percentage_of_on_demand_price", b"bid_price_as_percentage_of_on_demand_price", "configurations", b"configurations", "ebs_configuration", b"ebs_configuration", "instance_type", b"instance_type", "resource_info", b"resource_info", "weighted_capacity", b"weighted_capacity"]) -> None: ...

global___InstanceFleetConfigInstanceTypeConfig = InstanceFleetConfigInstanceTypeConfig

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

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

global___InstanceFleetConfigSpotProvisioningSpecification = InstanceFleetConfigSpotProvisioningSpecification

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

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

global___InstanceFleetConfigInstanceFleetProvisioningSpecifications = InstanceFleetConfigInstanceFleetProvisioningSpecifications

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CLUSTER_ID_FIELD_NUMBER: builtins.int
    INSTANCE_FLEET_TYPE_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_CONFIGS_FIELD_NUMBER: builtins.int
    LAUNCH_SPECIFICATIONS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TARGET_ON_DEMAND_CAPACITY_FIELD_NUMBER: builtins.int
    TARGET_SPOT_CAPACITY_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    cluster_id: builtins.str
    instance_fleet_type: builtins.str
    @property
    def instance_type_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceFleetConfigInstanceTypeConfig]: ...
    @property
    def launch_specifications(self) -> global___InstanceFleetConfigInstanceFleetProvisioningSpecifications: ...
    name: builtins.str
    target_on_demand_capacity: builtins.int
    target_spot_capacity: builtins.int
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        cluster_id: builtins.str = ...,
        instance_fleet_type: builtins.str = ...,
        instance_type_configs: collections.abc.Iterable[global___InstanceFleetConfigInstanceTypeConfig] | None = ...,
        launch_specifications: global___InstanceFleetConfigInstanceFleetProvisioningSpecifications | None = ...,
        name: builtins.str = ...,
        target_on_demand_capacity: builtins.int = ...,
        target_spot_capacity: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["launch_specifications", b"launch_specifications", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cluster_id", b"cluster_id", "instance_fleet_type", b"instance_fleet_type", "instance_type_configs", b"instance_type_configs", "launch_specifications", b"launch_specifications", "name", b"name", "resource_info", b"resource_info", "target_on_demand_capacity", b"target_on_demand_capacity", "target_spot_capacity", b"target_spot_capacity"]) -> None: ...

global___InstanceFleetConfig = InstanceFleetConfig

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

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

global___InstanceGroupConfigScalingConstraints = InstanceGroupConfigScalingConstraints

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

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

global___InstanceGroupConfigSimpleScalingPolicyConfiguration = InstanceGroupConfigSimpleScalingPolicyConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    MARKET_FIELD_NUMBER: builtins.int
    SIMPLE_SCALING_POLICY_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    market: builtins.str
    @property
    def simple_scaling_policy_configuration(self) -> global___InstanceGroupConfigSimpleScalingPolicyConfiguration: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        market: builtins.str = ...,
        simple_scaling_policy_configuration: global___InstanceGroupConfigSimpleScalingPolicyConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "simple_scaling_policy_configuration", b"simple_scaling_policy_configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["market", b"market", "resource_info", b"resource_info", "simple_scaling_policy_configuration", b"simple_scaling_policy_configuration"]) -> None: ...

global___InstanceGroupConfigScalingAction = InstanceGroupConfigScalingAction

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

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

global___InstanceGroupConfigMetricDimension = InstanceGroupConfigMetricDimension

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    COMPARISON_OPERATOR_FIELD_NUMBER: builtins.int
    DIMENSIONS_FIELD_NUMBER: builtins.int
    EVALUATION_PERIODS_FIELD_NUMBER: builtins.int
    METRIC_NAME_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    PERIOD_FIELD_NUMBER: builtins.int
    STATISTIC_FIELD_NUMBER: builtins.int
    THRESHOLD_FIELD_NUMBER: builtins.int
    UNIT_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    comparison_operator: builtins.str
    @property
    def dimensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceGroupConfigMetricDimension]: ...
    evaluation_periods: builtins.int
    metric_name: builtins.str
    namespace: builtins.str
    period: builtins.int
    statistic: builtins.str
    threshold: builtins.float
    unit: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        comparison_operator: builtins.str = ...,
        dimensions: collections.abc.Iterable[global___InstanceGroupConfigMetricDimension] | None = ...,
        evaluation_periods: builtins.int = ...,
        metric_name: builtins.str = ...,
        namespace: builtins.str = ...,
        period: builtins.int = ...,
        statistic: builtins.str = ...,
        threshold: builtins.float = ...,
        unit: 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["comparison_operator", b"comparison_operator", "dimensions", b"dimensions", "evaluation_periods", b"evaluation_periods", "metric_name", b"metric_name", "namespace", b"namespace", "period", b"period", "resource_info", b"resource_info", "statistic", b"statistic", "threshold", b"threshold", "unit", b"unit"]) -> None: ...

global___InstanceGroupConfigCloudWatchAlarmDefinition = InstanceGroupConfigCloudWatchAlarmDefinition

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

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

global___InstanceGroupConfigScalingTrigger = InstanceGroupConfigScalingTrigger

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TRIGGER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def action(self) -> global___InstanceGroupConfigScalingAction: ...
    description: builtins.str
    name: builtins.str
    @property
    def trigger(self) -> global___InstanceGroupConfigScalingTrigger: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        action: global___InstanceGroupConfigScalingAction | None = ...,
        description: builtins.str = ...,
        name: builtins.str = ...,
        trigger: global___InstanceGroupConfigScalingTrigger | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["action", b"action", "resource_info", b"resource_info", "trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "description", b"description", "name", b"name", "resource_info", b"resource_info", "trigger", b"trigger"]) -> None: ...

global___InstanceGroupConfigScalingRule = InstanceGroupConfigScalingRule

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONSTRAINTS_FIELD_NUMBER: builtins.int
    RULES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def constraints(self) -> global___InstanceGroupConfigScalingConstraints: ...
    @property
    def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceGroupConfigScalingRule]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        constraints: global___InstanceGroupConfigScalingConstraints | None = ...,
        rules: collections.abc.Iterable[global___InstanceGroupConfigScalingRule] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["constraints", b"constraints", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["constraints", b"constraints", "resource_info", b"resource_info", "rules", b"rules"]) -> None: ...

global___InstanceGroupConfigAutoScalingPolicy = InstanceGroupConfigAutoScalingPolicy

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

    @typing_extensions.final
    class ConfigurationPropertiesEntry(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
    CLASSIFICATION_FIELD_NUMBER: builtins.int
    CONFIGURATION_PROPERTIES_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    classification: builtins.str
    @property
    def configuration_properties(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceGroupConfigConfiguration]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        classification: builtins.str = ...,
        configuration_properties: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        configurations: collections.abc.Iterable[global___InstanceGroupConfigConfiguration] | 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["classification", b"classification", "configuration_properties", b"configuration_properties", "configurations", b"configurations", "resource_info", b"resource_info"]) -> None: ...

global___InstanceGroupConfigConfiguration = InstanceGroupConfigConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IOPS_FIELD_NUMBER: builtins.int
    SIZE_IN_GB_FIELD_NUMBER: builtins.int
    VOLUME_TYPE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    iops: builtins.int
    size_in_gb: builtins.int
    volume_type: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        iops: builtins.int = ...,
        size_in_gb: builtins.int = ...,
        volume_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["iops", b"iops", "resource_info", b"resource_info", "size_in_gb", b"size_in_gb", "volume_type", b"volume_type"]) -> None: ...

global___InstanceGroupConfigVolumeSpecification = InstanceGroupConfigVolumeSpecification

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

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

global___InstanceGroupConfigEbsBlockDeviceConfig = InstanceGroupConfigEbsBlockDeviceConfig

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

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

global___InstanceGroupConfigEbsConfiguration = InstanceGroupConfigEbsConfiguration

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    AUTO_SCALING_POLICY_FIELD_NUMBER: builtins.int
    BID_PRICE_FIELD_NUMBER: builtins.int
    CONFIGURATIONS_FIELD_NUMBER: builtins.int
    EBS_CONFIGURATION_FIELD_NUMBER: builtins.int
    INSTANCE_COUNT_FIELD_NUMBER: builtins.int
    INSTANCE_ROLE_FIELD_NUMBER: builtins.int
    INSTANCE_TYPE_FIELD_NUMBER: builtins.int
    JOB_FLOW_ID_FIELD_NUMBER: builtins.int
    MARKET_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def auto_scaling_policy(self) -> global___InstanceGroupConfigAutoScalingPolicy: ...
    bid_price: builtins.str
    @property
    def configurations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstanceGroupConfigConfiguration]: ...
    @property
    def ebs_configuration(self) -> global___InstanceGroupConfigEbsConfiguration: ...
    instance_count: builtins.int
    instance_role: builtins.str
    instance_type: builtins.str
    job_flow_id: builtins.str
    market: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        auto_scaling_policy: global___InstanceGroupConfigAutoScalingPolicy | None = ...,
        bid_price: builtins.str = ...,
        configurations: collections.abc.Iterable[global___InstanceGroupConfigConfiguration] | None = ...,
        ebs_configuration: global___InstanceGroupConfigEbsConfiguration | None = ...,
        instance_count: builtins.int = ...,
        instance_role: builtins.str = ...,
        instance_type: builtins.str = ...,
        job_flow_id: builtins.str = ...,
        market: builtins.str = ...,
        name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auto_scaling_policy", b"auto_scaling_policy", "ebs_configuration", b"ebs_configuration", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_scaling_policy", b"auto_scaling_policy", "bid_price", b"bid_price", "configurations", b"configurations", "ebs_configuration", b"ebs_configuration", "instance_count", b"instance_count", "instance_role", b"instance_role", "instance_type", b"instance_type", "job_flow_id", b"job_flow_id", "market", b"market", "name", b"name", "resource_info", b"resource_info"]) -> None: ...

global___InstanceGroupConfig = InstanceGroupConfig

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

    @typing_extensions.final
    class SecurityConfigurationEntry(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
    NAME_FIELD_NUMBER: builtins.int
    SECURITY_CONFIGURATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    name: builtins.str
    @property
    def security_configuration(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        name: builtins.str = ...,
        security_configuration: 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["name", b"name", "resource_info", b"resource_info", "security_configuration", b"security_configuration"]) -> None: ...

global___SecurityConfiguration = SecurityConfiguration

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

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

global___StepKeyValue = StepKeyValue

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

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    JAR_FIELD_NUMBER: builtins.int
    MAIN_CLASS_FIELD_NUMBER: builtins.int
    STEP_PROPERTIES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    jar: builtins.str
    main_class: builtins.str
    @property
    def step_properties(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StepKeyValue]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        args: collections.abc.Iterable[builtins.str] | None = ...,
        jar: builtins.str = ...,
        main_class: builtins.str = ...,
        step_properties: collections.abc.Iterable[global___StepKeyValue] | 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["args", b"args", "jar", b"jar", "main_class", b"main_class", "resource_info", b"resource_info", "step_properties", b"step_properties"]) -> None: ...

global___StepHadoopJarStepConfig = StepHadoopJarStepConfig

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

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

global___Step = Step
