(
self,
service_name,
region_name,
is_secure=True,
endpoint_url=None,
verify=None,
credentials=None,
scoped_config=None,
client_config=None,
auth_token=None,
)
| 100 | self._auth_token_resolver = auth_token_resolver |
| 101 | |
| 102 | def create_client( |
| 103 | self, |
| 104 | service_name, |
| 105 | region_name, |
| 106 | is_secure=True, |
| 107 | endpoint_url=None, |
| 108 | verify=None, |
| 109 | credentials=None, |
| 110 | scoped_config=None, |
| 111 | client_config=None, |
| 112 | auth_token=None, |
| 113 | ): |
| 114 | responses = self._event_emitter.emit( |
| 115 | 'choose-service-name', service_name=service_name |
| 116 | ) |
| 117 | service_name = first_non_none_response(responses, default=service_name) |
| 118 | service_model = self._load_service_model(service_name) |
| 119 | |
| 120 | try: |
| 121 | endpoints_ruleset_data = self._load_service_endpoints_ruleset( |
| 122 | service_name, |
| 123 | ) |
| 124 | partition_data = self._loader.load_data('partitions') |
| 125 | except UnknownServiceError: |
| 126 | endpoints_ruleset_data = None |
| 127 | partition_data = None |
| 128 | logger.info( |
| 129 | 'No endpoints ruleset found for service %s, falling back to ' |
| 130 | 'legacy endpoint routing.', |
| 131 | service_name, |
| 132 | ) |
| 133 | |
| 134 | cls = self._create_client_class(service_name, service_model) |
| 135 | region_name, client_config = self._normalize_fips_region( |
| 136 | region_name, client_config |
| 137 | ) |
| 138 | if auth := service_model.metadata.get('auth'): |
| 139 | service_signature_version = resolve_auth_type(auth) |
| 140 | else: |
| 141 | service_signature_version = service_model.metadata.get( |
| 142 | 'signatureVersion' |
| 143 | ) |
| 144 | endpoint_bridge = ClientEndpointBridge( |
| 145 | self._endpoint_resolver, |
| 146 | scoped_config, |
| 147 | client_config, |
| 148 | service_signing_name=service_model.metadata.get('signingName'), |
| 149 | config_store=self._config_store, |
| 150 | service_signature_version=service_signature_version, |
| 151 | ) |
| 152 | if token := self._evaluate_client_specific_token( |
| 153 | service_model.signing_name |
| 154 | ): |
| 155 | auth_token = token |
| 156 | client_args = self._get_client_args( |
| 157 | service_model, |
| 158 | region_name, |
| 159 | is_secure, |
no test coverage detected