2016-05-03 8 views
5

hinzuzufügen Ich versuche, Boto3 zu Sicherheitsgruppenregeln zu aktualisieren, eine Regel Sicherheitsgruppe a (sg_a) hinzufügen, um Sicherheitsgruppe b (sg_b) Port 8443Wie boto3 authorize_security_group_ingress zu verwenden, um eine Regel zwischen zwei Sicherheitsgruppen in nicht standardmäßigen VPC

ich versuche EC2-Client zu verwenden, um dies zu erreichen mit der folgenden

ec2.authorize_security_group_ingress(
     GroupId=sg_a, 
     SourceSecurityGroupName=sg_b, 
     IpProtocol='tcp', 
     FromPort=service_port, 
     ToPort=service_port 
    ) 

aber ich habe diesen Fehler zuzugreifen:

botocore.exceptions.ClientError: An error occurred (VPCIdNotSpecified) when calling the AuthorizeSecurityGroupIngress operation: No default VPC for this user. 

Wie kann ich Authori verwenden ze_security_group_igress für eine nicht standardmäßige VPC?

+0

[die Dokumentation kann helfen] (http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.authorize_security_group_ingress) – hangtwenty

+1

die korrekte Syntax lautet: ' ec2.authorize_security_group_ingress ( GroupId = sg_a, IpPermissions = [{ 'IpProtocol': 'tcp' 'FromPort': from_port, 'ToPort': to_port, 'UserIdGroupPairs' : [{ 'Gruppen-ID': sg_b }] }], ) ' – blindstack

+0

Bitte schreiben Sie Ihre Lösung und markieren Sie sie als gelöst. – mootmoot

Antwort

3

die korrekte Syntax ist:

ec2.authorize_security_group_ingress( 
    GroupId=sg_a, 
    IpPermissions=[ 
     {'IpProtocol': 'tcp', 
     'FromPort': from_port, 
     'ToPort': to_port, 
     'UserIdGroupPairs': [{ 'GroupId': sg_b }] } 
    ], 
) 
Verwandte Themen