我正在使用服务托管权限为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
- CLI代码
aws cloudformation创建堆栈示例-堆栈集名称演示-部署目标组织单位ID =ou-blah,帐户=12345,帐户筛选器类型=INTERSECTION-地区us-east-1
2条答案
按热度按时间goucqfw61#
有时
ValidationErrors
只是bug,或者在您使用旧版本的boto 3时出现-例如,在最新版本的boto 3中INTERSECTION
是一个有效参数(如果您使用此版本,则它是bug...)。您始终可以禁用请求验证:
parameter_validation
禁用参数验证(默认值为true,将验证参数)。这是一个布尔值,可以是true或false。每当使用客户端进行API调用时,都会对您提供的参数执行一组验证检查,包括(但不限于)所提供的所需参数、类型检查、无未知参数、最小长度检查等。通常,您应该保持启用参数验证。
xcitsw882#
我有类似的问题,但与aws cli。升级到aws cli v2解决了它。所以我怀疑同样的问题与boto3。使用最新版本应该得到这个工作。