Loading modules/cloud_service_providers/aws_cloud/src/Service/Ec2/Ec2OperationsService.php +13 −2 Original line number Diff line number Diff line Loading @@ -548,11 +548,13 @@ class Ec2OperationsService extends CloudServiceBase implements Ec2OperationsServ * * @param array $group_names * Array of group names. * @param string $vpc_id * VPC id used for the query. * * @return array * Array of group names. */ private function getSecurityGroupIdsByNames(array $group_names): array { private function getSecurityGroupIdsByNames(array $group_names, string $vpc_id): array { // Querying for Group Name is done using filters. // @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describesecuritygroups $response = $this->ec2Service->describeSecurityGroups([ Loading @@ -561,6 +563,15 @@ class Ec2OperationsService extends CloudServiceBase implements Ec2OperationsServ 'Name' => 'group-name', 'Values' => $group_names, ], [ // Specify VPC ID because the group names can duplicate across // different VPC networks. For example the 'default' group name // exists across different groups. 'Name' => 'vpc-id', 'Values' => [ $vpc_id, ], ], ], ]); Loading Loading @@ -594,7 +605,7 @@ class Ec2OperationsService extends CloudServiceBase implements Ec2OperationsServ $this->ec2Service->modifyInstanceAttribute([ 'InstanceId' => $entity->getInstanceId(), 'Groups' => $this->getSecurityGroupIdsByNames($security_groups), 'Groups' => $this->getSecurityGroupIdsByNames($security_groups, $entity->getVpcId()), ]); } } Loading Loading
modules/cloud_service_providers/aws_cloud/src/Service/Ec2/Ec2OperationsService.php +13 −2 Original line number Diff line number Diff line Loading @@ -548,11 +548,13 @@ class Ec2OperationsService extends CloudServiceBase implements Ec2OperationsServ * * @param array $group_names * Array of group names. * @param string $vpc_id * VPC id used for the query. * * @return array * Array of group names. */ private function getSecurityGroupIdsByNames(array $group_names): array { private function getSecurityGroupIdsByNames(array $group_names, string $vpc_id): array { // Querying for Group Name is done using filters. // @see https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ec2-2016-11-15.html#describesecuritygroups $response = $this->ec2Service->describeSecurityGroups([ Loading @@ -561,6 +563,15 @@ class Ec2OperationsService extends CloudServiceBase implements Ec2OperationsServ 'Name' => 'group-name', 'Values' => $group_names, ], [ // Specify VPC ID because the group names can duplicate across // different VPC networks. For example the 'default' group name // exists across different groups. 'Name' => 'vpc-id', 'Values' => [ $vpc_id, ], ], ], ]); Loading Loading @@ -594,7 +605,7 @@ class Ec2OperationsService extends CloudServiceBase implements Ec2OperationsServ $this->ec2Service->modifyInstanceAttribute([ 'InstanceId' => $entity->getInstanceId(), 'Groups' => $this->getSecurityGroupIdsByNames($security_groups), 'Groups' => $this->getSecurityGroupIdsByNames($security_groups, $entity->getVpcId()), ]); } } Loading