python-3.x 创建带有“部署目标”的堆栈示例时出现boto3错误

fnatzsnv  于 2023-02-26  发布在  Python
关注(0)|答案(2)|浏览(138)

我正在使用服务托管权限为OU创建_stack_instances,通过帐户列表的交集进行过滤,当我运行命令时,它给了我一个错误,有人能告诉我这里的代码有什么问题吗?
1.通过CLI出错
参数验证失败:部署目标中的未知参数:“帐户筛选器类型”,必须是以下之一:帐户、帐户URL、组织单位ID
1.通过λ的误差
[错误]参数验证错误:参数验证失败:部署目标中的未知参数:“帐户筛选器类型”,必须是以下之一:帐户、帐户URL、组织单位ID
1.λ代码:
def将堆栈添加到堆栈集(堆栈集名称,帐户ID):

response = CF.create_stack_instances(
     StackSetName=StackSetName,
     DeploymentTargets={
         'OrganizationalUnitIds': ['ou-blah'],
          'Accounts': [accountid],
         'AccountFilterType': 'INTERSECTION'
     },
     Regions=['us-east-1']
 )
 op_id = response['OperationId']
 return op_id
  1. CLI代码
    aws cloudformation创建堆栈示例-堆栈集名称演示-部署目标组织单位ID =ou-blah,帐户=12345,帐户筛选器类型=INTERSECTION-地区us-east-1
goucqfw6

goucqfw61#

有时ValidationErrors只是bug,或者在您使用旧版本的boto 3时出现-例如,在最新版本的boto 3中INTERSECTION是一个有效参数(如果您使用此版本,则它是bug...)。
您始终可以禁用请求验证:
parameter_validation
禁用参数验证(默认值为true,将验证参数)。这是一个布尔值,可以是true或false。每当使用客户端进行API调用时,都会对您提供的参数执行一组验证检查,包括(但不限于)所提供的所需参数、类型检查、无未知参数、最小长度检查等。通常,您应该保持启用参数验证。

xcitsw88

xcitsw882#

我有类似的问题,但与aws cli。升级到aws cli v2解决了它。所以我怀疑同样的问题与boto3。使用最新版本应该得到这个工作。

相关问题