Python 在另一个VPC中更新安全组会引发InvalidPermission.NotFound错误

Python 在另一个VPC中更新安全组会引发InvalidPermission.NotFound错误,python,amazon-web-services,amazon-ec2,boto,boto3,Python,Amazon Web Services,Amazon Ec2,Boto,Boto3,因此,我正在编写脚本,该脚本将删除0.0.0.0/0和::/0上的端口22,现在下面的脚本在默认vpc上运行良好,但当我更改vpc时,它会给出无效权限未找到错误。我无法理解为什么它在另一个VPC中提供errrr,但在默认VPC中工作良好 def update_port(fromport, toport, groupid, vpcid): response = client.revoke_security_group_ingress( G

因此,我正在编写脚本,该脚本将删除
0.0.0.0/0和::/0上的端口
22
,现在下面的脚本在默认vpc上运行良好,但当我更改vpc时,它会给出无效权限未找到错误。我无法理解为什么它在另一个VPC中提供errrr,但在默认VPC中工作良好

  def update_port(fromport, toport, groupid, vpcid):
            response = client.revoke_security_group_ingress(
                GroupId=groupid,
                IpPermissions=[
                    {
                        'FromPort': fromport,
                        'IpProtocol': 'tcp',
                        'IpRanges': [
                            {
                                'CidrIp': '0.0.0.0/0'
                            },
                        ],
                        'Ipv6Ranges': [
                            {
                                'CidrIpv6': '::/0'
                            },
                        ],

                        'ToPort': toport,

                    'UserIdGroupPairs': [
                        {
                            'GroupId': groupid,

                            'VpcId': vpcid,
                        },
                    ],
                },
            ],
            )
执行:

update_port(22,22,'sg-groupid','vpc-vpcid')
错误:

botocore.exceptions.ClientError: An error occurred (InvalidPermission.NotFound) when calling the RevokeSecurityGroupIngress operation: The specified rule does not exist in this security group.
错误是不言自明的 指定的规则在此安全组中不存在。
请检查规则是否存在。

规则存在如果您能正确阅读我的问题,我说明该功能在默认vpc上运行完美,但问题出现在另一个vpc sg中。如果4条规则(如控制台上所示)作为一条规则返回,且具有多个IP范围,如何仅删除其中一个IP范围的规则?(我接受了我获取的规则,只保留了要删除的规则的范围,然后仍然发生此错误)