o
    !dg'                     @   s  G d d de ZG dd deZG dd deZG dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZG d(d) d)eZG d*d+ d+eZG d,d- d-eZG d.d/ d/eZG d0d1 d1eZG d2d3 d3eZG d4d5 d5eZG d6d7 d7eZG d8d9 d9eZG d:d; d;eZd<S )=c                   @   s   e Zd ZdZdZdd ZdS )EmrErrorzy
    The base exception class for Emr exceptions.

    :ivar msg: The descriptive message associated with the error.
    zAn unspecified error occurredc                 K   s(   | j jdi |}t| | || _d S )N )fmtformat	Exception__init__kwargsselfr   msgr   r   Husr/lib/python3.10/site-packages/awscli/customizations/emr/exceptions.pyr      s   
zEmrError.__init__N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    r   c                   @      e Zd ZdZdZdS )MissingParametersErrora}  
    One or more required parameters were not supplied.

    :ivar object_name: The object that has missing parameters.
        This can be an operation or a parameter (in the
        case of inner params).  The str() of this object
        will be used so it doesn't need to implement anything
        other than str().
    :ivar missing: The names of the missing parameters.
    zWaws: error: The following required parameters are missing for {object_name}: {missing}.Nr   r   r   r   r   r   r   r   r   r      s    
r   c                   @   r   )EmptyListErrorzS
    The provided list is empty.

    :ivar param: The provided list parameter
    z9aws: error: The prameter {param} cannot be an empty list.Nr   r   r   r   r   r   .       r   c                   @   r   )"MissingRequiredInstanceGroupsErrorzz
    In create-cluster command, none of --instance-group,
    --instance-count nor --instance-type were not supplied.
    zaws: error: Must specify either --instance-groups or --instance-type with --instance-count(optional) to configure instance groups.Nr   r   r   r   r   r   8       r   c                   @   r   )InstanceGroupsValidationErrorz
    --instance-type and --instance-count are shortcut option
    for --instance-groups and they cannot be specified
    together with --instance-groups
    zaws: error: You may not specify --instance-type or --instance-count with --instance-groups, because --instance-type and --instance-count are shortcut options for --instance-groups.Nr   r   r   r   r   r   C   r   r   c                   @   r   )InvalidAmiVersionErrorz_
    The supplied ami-version is invalid.
    :ivar ami_version: The provided ami_version.
    zaws: error: The supplied AMI version "{ami_version}" is invalid. Please see AMI Versions Supported in Amazon EMR in Amazon Elastic MapReduce Developer Guide: http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/ami-versions-supported.htmlNr   r   r   r   r   r   P   r   r   c                   @   r   )MissingBooleanOptionsErrorzb
    Required boolean options are not supplied.

    :ivar true_option
    :ivar false_option
    z\aws: error: Must specify one of the following boolean options: {true_option}|{false_option}.Nr   r   r   r   r   r   ]       r   c                   @   r   )UnknownStepTypeErrorz`
    The provided step type is not supported.

    :ivar step_type: the step_type provided.
    z7aws: error: The step type {step_type} is not supported.Nr   r   r   r   r   r   i   r   r   c                   @   r   )UnknownIamEndpointErrorzj
    The IAM endpoint is not known for the specified region.

    :ivar region: The region specified.
    zfIAM endpoint not known for region: {region}. Specify the iam-endpoint using the --iam-endpoint option.Nr   r   r   r   r   r   s   r   r   c                   @   r   )ResolveServicePrincipalErrorzZ
    The service principal could not be resolved from the region or the
    endpoint.
    zHCould not resolve the service principal from the region or the endpoint.Nr   r   r   r   r   r   ~   r   r   c                   @   r   )LogUriErrorzO
    The LogUri is not specified and debugging is enabled for the cluster.
    zlaws: error: LogUri not specified. You must specify a logUri if you enable debugging when creating a cluster.Nr   r   r   r   r   r          r   c                   @   r   )MasterDNSNotAvailableErrorz7
    Cannot get dns of master node on the cluster.
    zPCannot get DNS of master node on the cluster.  Please try again after some time.Nr   r   r   r   r   r       r   r    c                   @   r   )WrongPuttyKeyErrorz>
    A wrong key has been used with a compatible program.
    zKey file file format is incorrect. Putty expects a ppk file. Please refer to documentation at http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EMR_SetUp_SSH.html. Nr   r   r   r   r   r!      r   r!   c                   @   r   )SSHNotFoundErrorz%
    SSH or Putty not available.
    zSSH or Putty not available. Please refer to the documentation at http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EMR_SetUp_SSH.html.Nr   r   r   r   r   r"      r   r"   c                   @   r   )SCPNotFoundErrorz$
    SCP or Pscp not available.
    zSCP or Pscp not available. Please refer to the documentation at http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EMR_SetUp_SSH.html. Nr   r   r   r   r   r#      r   r#   c                   @   r   )SubnetAndAzValidationErrorzQ
    SubnetId and AvailabilityZone are mutual exclusive in --ec2-attributes.
    z|aws: error: You may not specify both a SubnetId and an AvailabilityZone (placement) because ec2SubnetId implies a placement.Nr   r   r   r   r   r$      r   r$   c                   @   r   )RequiredOptionsErrorz3
    Either of option1 or option2 is required.
    z6aws: error: Either {option1} or {option2} is required.Nr   r   r   r   r   r%      r   r%   c                   @      e Zd ZdZdd ZdS )MutualExclusiveOptionErrorz
    The provided option1 and option2 are mutually exclusive.

    :ivar option1
    :ivar option2
    :ivar message (optional)
    c                 K   s@   d| dd d | dd d | dd }t| | d S )Nz$aws: error: You cannot specify both Zoption1 z and Zoption2z options together.message)getr   r   r   r   r   r   r      s   


z#MutualExclusiveOptionError.__init__Nr   r   r   r   r   r   r   r   r   r'      s    r'   c                   @   r&   )MissingApplicationsErrorzs
    The application required for a step is not installed when creating a
    cluster.

    :ivar applications
    c                 K   s&   dd |d  d }t| | d S )NzRaws: error: Some of the steps require the following applications to be installed: z, Zapplicationsz7. Please install the applications using --applications.)joinr   r   r   r   r   r   r      s   z!MissingApplicationsError.__init__Nr+   r   r   r   r   r,      s    r,   c                   @   r   )ClusterTerminatedErrorz?
    The cluster is terminating or has already terminated.
    z6aws: error: Cluster terminating or already terminated.Nr   r   r   r   r   r.      r   r.   c                   @   r   )"ClusterStatesFilterValidationErrorz
    In the list-clusters command, customers can specify only one
    of the following states filters:
    --cluster-states, --active, --terminated, --failed

    zvaws: error: You can specify only one of the cluster state filters: --cluster-states, --active, --terminated, --failed.Nr   r   r   r   r   r/      r   r/   c                   @   r   )MissingClusterAttributesErrorz
    In the modify-cluster-attributes command, customers need to provide
    at least one of the following cluster attributes: --visible-to-all-users,
    --no-visible-to-all-users, --termination-protected
    and --no-termination-protected
    zaws: error: Must specify one of the following boolean options: --visible-to-all-users|--no-visible-to-all-users, --termination-protected|--no-termination-protected.Nr   r   r   r   r   r0     r   r0   c                   @   r   )InvalidEmrFsArgumentsErrorz
    The provided EMRFS parameters are invalid as parent feature e.g.,
    Consistent View, CSE, SSE is not configured

    :ivar invalid: Invalid parameters
    :ivar parent_object_name: Parent feature name
    zeaws: error: {parent_object_name} is not specified. Thus,  following parameters are invalid: {invalid}Nr   r   r   r   r   r1     s    r1   c                   @      e Zd ZdZdS ) DuplicateEmrFsConfigurationErrorz[aws: error: EMRFS should be configured either using --configuration or --emrfs but not bothNr   r   r   r   r   r   r   r   r3         r3   c                   @   r   )UnknownCseProviderTypeErrorz
    The provided EMRFS client-side encryption provider type is not supported.

    :ivar provider_type: the provider_type provided.
    zuaws: error: The client side encryption type "{provider_type}" is not supported. You must specify either KMS or CustomNr   r   r   r   r   r6   "  r   r6   c                   @   r   )UnknownEncryptionTypeErrorzn
    The provided encryption type is not supported.

    :ivar provider_type: the provider_type provided.
    zkaws: error: The encryption type "{encryption}" is invalid. You must specify either ServerSide or ClientSideNr   r   r   r   r   r7   -  r   r7   c                   @   r   )#BothSseAndEncryptionConfiguredErrorz
    Only one of SSE or Encryption can be configured.

    :ivar sse: Value for SSE
    :ivar encryption: Value for encryption
    zxaws: error: Both SSE={sse} and Encryption={encryption} are configured for --emrfs. You must specify only one of the two.Nr   r   r   r   r   r8   8  s    r8   c                   @   r2   )InvalidBooleanConfigErrorzaws: error: {config_value} for {config_key} in the config file is invalid. The value should be either 'True' or 'False'. Use 'aws configure set {profile_var_name}.emr.{config_key} <value>' command to set a valid value.Nr4   r   r   r   r   r9   E  r5   r9   c                   @   r2   )"UnsupportedCommandWithReleaseErrorzFaws: error: {command} is not supported with '{release_label}' release.Nr4   r   r   r   r   r:   M  r5   r:   c                   @   r2   )MissingAutoScalingRoleErrorzjaws: error: Must specify --auto-scaling-role when configuring an AutoScaling policy for an instance group.Nr4   r   r   r   r   r;   R  r5   r;   N)r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r'   r,   r.   r/   r0   r1   r3   r6   r7   r8   r9   r:   r;   r   r   r   r   <module>   s<   


		


		