| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3.9/site-packages/cfnbootstrap/__pycache__/ |
Upload File : |
a
��0i$. � @ s� d Z ddlmZmZ ddlmZmZ ddlmZm Z m
Z
ddlZddlZddl
Z
ddlZe�d�ZG dd� dej�ZG d d
� d
e�ZG dd� de�ZdS )
z�
CloudFormation client-related classes
Classes:
CloudFormationClient - an HTTP client that makes API calls against CloudFormation
StackResourceDetail - detailed information about a StackResource
� )�
aws_client�util)� CFNSigner�V4Signer)�retry_on_failure�timeout�CredentialsNz
cfn.clientc s� e Zd ZdZdZddddddd d
ddd
�
Zd"� fdd� Zedd� �Zedd� �Z e
ejj
d�e� d#dd���Ze
ejj
d�e� d$dd���Ze
ejj
d�e� d%dd���Ze
ejj
d�e� d&dd���Ze
ejj
d�e� d'd d!���Z� ZS )(�CloudFormationClienta�
Makes API calls against CloudFormation
Notes:
- Public methods of this class have a 1-to-1 equivalence to published CloudFormation APIs.
- Calls are retried internally when appropriate; callers should not retry.
Attributes:
_apiVersion - the CloudFormation API version
_endpoints - CloudFormation service endpoints differing from the https://cloudformation.<region>.amazonaws.com format
z
2010-05-15z4https://cloudformation.eu-isoe-west-1.cloud.adc-e.ukz2https://cloudformation.eusc-de-east-1.amazonaws.euz/https://cloudformation.us-iso-east-1.c2s.ic.govz/https://cloudformation.us-iso-west-1.c2s.ic.govz3https://cloudformation.us-isob-east-1.sc2s.sgov.govz3https://cloudformation.us-isob-west-1.sc2s.sgov.govz4https://cloudformation.us-isof-east-1.csp.hci.ic.govz5https://cloudformation.us-isof-south-1.csp.hci.ic.govz2https://cloudformation.cn-north-1.amazonaws.com.cnz6https://cloudformation.cn-northwest-1.amazonaws.com.cn)
zeu-isoe-west-1zeusc-de-east-1z
us-iso-east-1z
us-iso-west-1zus-isob-east-1zus-isob-west-1zus-isof-east-1zus-isof-south-1z
cn-north-1zcn-northwest-1N� us-east-1c s� |st �|�}n|}| s"|j o(t�� | _| jsJ|rB|jrB|jsJtd��| jsj|s^t �|�}|sjtd��| jrvt � nt
|d�}tt | �j|d|||d� t
�d|� d S )Nz�In order to sign requests, 169.254.169.254 must be accessible or valid credentials must be set. Please ensure your proxy environment variables allow access to 169.254.169.254 (NO_PROXY) or that your credentials have a valid access key and secret key.z(Region is required for AWS V4 SignaturesZcloudformationT)� proxyinfoz2CloudFormation client initialized with endpoint %s)r �endpointForRegionZ
access_keyr Zis_ec2�using_instance_identityZ
secret_key�
ValueError�regionForEndpointr r �super�__init__�log�debug)�selfZcredentials�url�regionr �endpointZsigner�� __class__� �;/usr/lib/python3.9/site-packages/cfnbootstrap/cfn_client.pyr ? s* ��
�
�zCloudFormationClient.__init__c C s |t jv rt j| S d| S )Nz'https://cloudformation.%s.amazonaws.com)r �
_endpoints)�clsr r r r r ] s
z&CloudFormationClient.endpointForRegionc C s* t �d|�}|r|�d�S t�d|� d S )Nz/https://cloudformation.([\w\d-]+).amazonaws.com� z(Non-standard CloudFormation endpoint: %s)�re�match�groupr �warn)r r r r r r r c s �
z&CloudFormationClient.regionForEndpoint)Zhttp_error_extractorc C s. t �d||� t| jd|d|tjd�|d��S )z~
Calls DescribeStackResource and returns a StackResourceDetail object.
Throws an IOError on failure.
z"Describing resource %s in stack %sZDescribeStackResource�JSON)�Action�LogicalResourceId�ContentType� StackName�Version��request_credentials)r r �StackResourceDetail�_callr �_apiVersion)r �logicalResourceId� stackNamer* r r r �describe_stack_resourcel s ���z,CloudFormationClient.describe_stack_resource�SUCCESSc C s6 t �d||||� | jd||||dtjd�|d� dS )zN
Calls SignalResource.
Throws an IOError on failure.
zASignaling resource %s in stack %s with unique ID %s and status %sZSignalResourcer# )r$ r% r'