@@ -147,20 +147,30 @@ protected function populateResult(Response $response): void
147147 $ data = new \SimpleXMLElement ($ response ->getContent ());
148148 $ data = $ data ->AssumeRoleWithWebIdentityResult ;
149149
150- $ this ->credentials = !$ data ->Credentials ? null : new Credentials ([
151- 'AccessKeyId ' => (string ) $ data ->Credentials ->AccessKeyId ,
152- 'SecretAccessKey ' => (string ) $ data ->Credentials ->SecretAccessKey ,
153- 'SessionToken ' => (string ) $ data ->Credentials ->SessionToken ,
154- 'Expiration ' => new \DateTimeImmutable ((string ) $ data ->Credentials ->Expiration ),
150+ $ this ->credentials = 0 === $ data ->Credentials ->count () ? null : $ this ->populateResultCredentials ($ data ->Credentials );
151+ $ this ->subjectFromWebIdentityToken = (null !== $ v = $ data ->SubjectFromWebIdentityToken [0 ]) ? (string ) $ v : null ;
152+ $ this ->assumedRoleUser = 0 === $ data ->AssumedRoleUser ->count () ? null : $ this ->populateResultAssumedRoleUser ($ data ->AssumedRoleUser );
153+ $ this ->packedPolicySize = (null !== $ v = $ data ->PackedPolicySize [0 ]) ? (int ) (string ) $ v : null ;
154+ $ this ->provider = (null !== $ v = $ data ->Provider [0 ]) ? (string ) $ v : null ;
155+ $ this ->audience = (null !== $ v = $ data ->Audience [0 ]) ? (string ) $ v : null ;
156+ $ this ->sourceIdentity = (null !== $ v = $ data ->SourceIdentity [0 ]) ? (string ) $ v : null ;
157+ }
158+
159+ private function populateResultAssumedRoleUser (\SimpleXMLElement $ xml ): AssumedRoleUser
160+ {
161+ return new AssumedRoleUser ([
162+ 'AssumedRoleId ' => (string ) $ xml ->AssumedRoleId ,
163+ 'Arn ' => (string ) $ xml ->Arn ,
155164 ]);
156- $ this ->subjectFromWebIdentityToken = ($ v = $ data ->SubjectFromWebIdentityToken ) ? (string ) $ v : null ;
157- $ this ->assumedRoleUser = !$ data ->AssumedRoleUser ? null : new AssumedRoleUser ([
158- 'AssumedRoleId ' => (string ) $ data ->AssumedRoleUser ->AssumedRoleId ,
159- 'Arn ' => (string ) $ data ->AssumedRoleUser ->Arn ,
165+ }
166+
167+ private function populateResultCredentials (\SimpleXMLElement $ xml ): Credentials
168+ {
169+ return new Credentials ([
170+ 'AccessKeyId ' => (string ) $ xml ->AccessKeyId ,
171+ 'SecretAccessKey ' => (string ) $ xml ->SecretAccessKey ,
172+ 'SessionToken ' => (string ) $ xml ->SessionToken ,
173+ 'Expiration ' => new \DateTimeImmutable ((string ) $ xml ->Expiration ),
160174 ]);
161- $ this ->packedPolicySize = ($ v = $ data ->PackedPolicySize ) ? (int ) (string ) $ v : null ;
162- $ this ->provider = ($ v = $ data ->Provider ) ? (string ) $ v : null ;
163- $ this ->audience = ($ v = $ data ->Audience ) ? (string ) $ v : null ;
164- $ this ->sourceIdentity = ($ v = $ data ->SourceIdentity ) ? (string ) $ v : null ;
165175 }
166176}
0 commit comments