Python boto3 - добавление описания правил в группе безопасности - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь создать правило с описанием, но Boto3, похоже, не поддерживает его. Пожалуйста, проверьте синтаксис ниже:

 securityGroup.authorize_ingress(IpProtocol='tcp', FromPort=22, ToPort=22, CidrIp='0.0.0.0/0', Description='SSH Access')

Вот ошибка:

botocore.exceptions.ParamValidationError: Ошибка проверки параметра: Неизвестный параметр во входных данных: «Описание», должно бытьодин из: CidrIp, FromPort, GroupId, GroupName, IpPermissions, IpProtocol, SourceSecurityGroupName, SourceSecurityGroupOwnerId, ToPort, DryRun

Я могу добавить описание в группу безопасности просто отлично, но не в правило. Какие-либо предложения?

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Обратитесь к документации для подробного примера. На верхнем уровне нет клавиши Description, но вы можете найти ее по значению IpPermissions и IpRanges.

response = security_group.authorize_ingress(
    CidrIp='string',
    FromPort=123,
    GroupName='string',
    IpPermissions=[
        {
            'FromPort': 123,
            'IpProtocol': 'string',
            'IpRanges': [
                {
                    'CidrIp': 'string',
                    'Description': 'string'
                },
            ],
            'Ipv6Ranges': [
                {
                    'CidrIpv6': 'string',
                    'Description': 'string'
                },
            ],
            'PrefixListIds': [
                {
                    'Description': 'string',
                    'PrefixListId': 'string'
                },
            ],
            'ToPort': 123,
            'UserIdGroupPairs': [
                {
                    'Description': 'string',
                    'GroupId': 'string',
                    'GroupName': 'string',
                    'PeeringStatus': 'string',
                    'UserId': 'string',
                    'VpcId': 'string',
                    'VpcPeeringConnectionId': 'string'
                },
            ]
        },
    ],
    IpProtocol='string',
    SourceSecurityGroupName='string',
    SourceSecurityGroupOwnerId='string',
    ToPort=123,
    DryRun=True|False
)

Так что в вашем случае она должна выглядеть какследует.

response = security_group.authorize_ingress(
    IpPermissions=[
        {
            'FromPort': 22,
            'IpProtocol': 'tcp',
            'IpRanges': [
                {
                    'CidrIp': '0.0.0.0/0',
                    'Description': 'SSH Access'
                },
            ],
            'ToPort': 22,
            ]
        },
    ]
)
1 голос
/ 08 октября 2019

Чтобы добавить описание правила, вы можете использовать блок IpRanges.

IpRanges - Набор IP-разрешений для указания нескольких правил и описания для правила.

'IpRanges': [
  {
     'CidrIp': '0.0.0.0/0',
     'Description': 'SSH Access'
  }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...