无法通过terraform使用oauth创建azure ad应用程序

无法通过terraform使用oauth创建azure ad应用程序,azure,oauth-2.0,azure-active-directory,terraform,terraform-provider-azure,Azure,Oauth 2.0,Azure Active Directory,Terraform,Terraform Provider Azure,我正在尝试使用oauth2_权限/范围在Azure AD中创建/注册应用程序。 我会按照此文档的第页进行操作: 我将其简化为简单的.tf文件: provider "azuread" { version = "=0.7.0" subscription_id = "*******************************" tenant_id = var.tenant-id } resource "azurea

我正在尝试使用oauth2_权限/范围在Azure AD中创建/注册应用程序。 我会按照此文档的第页进行操作: 我将其简化为简单的.tf文件:

provider "azuread" {
  version = "=0.7.0"
  subscription_id = "*******************************"
  tenant_id = var.tenant-id
}

resource "azuread_application" "example" {
  name = "example"
//  oauth2_permissions {
//    admin_consent_description = "Allow the application to access example on behalf of the signed-in user."
//    admin_consent_display_name = "Access example"
//    is_enabled = true
//    type = "User"
//    user_consent_description = "Allow the application to access example on your behalf."
//    user_consent_display_name = "Access example"
//    value = "user_impersonation"
//  }
}

使用
地形平面图运行这样的脚本说:

C:\source\ITAN\terraform(master->origin)λ地形平面图 正在计划之前刷新内存中的地形状态。。。新的 状态将用于计算此计划,但不会持久化 到本地或远程状态存储


已生成执行计划,如下所示。资源 操作用以下符号表示:+create

Terraform将执行以下操作:

azuread_应用程序。将创建示例+资源 azuread_应用程序“示例”{

计划:1添加,0更改,0销毁


注意:您没有指定“-out”参数来保存此计划,因此 Terraform不能保证这些动作会被执行 如果随后运行“地形应用”

但是当我取消注释
oauth2\u权限时

provider "azuread" {
  version = "=0.7.0"
  subscription_id = "******************"
  tenant_id = var.tenant-id
}

resource "azuread_application" "example" {
  name = "example"
  oauth2_permissions {
    admin_consent_description = "Allow the application to access example on behalf of the signed-in user."
    admin_consent_display_name = "Access example"
    is_enabled = true
    type = "User"
    user_consent_description = "Allow the application to access example on your behalf."
    user_consent_display_name = "Access example"
    value = "user_impersonation"
  }
}
出现问题,其状态如下:

错误:“oauth2\u权限。0.用户同意\u显示\u名称”:此字段 无法设置

在资源“azuread_应用程序”中的itan-azure-ad.tf第7行 “示例”:7:资源“azuread_应用程序”示例{

知道我做错了什么吗?我已登录,选择了正确的订阅并切换到该订阅。我拥有azure帐户。我已成功通过azure门户创建了应用程序,但我希望自动完成。在terraform上运行:

terraform -v
Terraform v0.12.28
+ provider.azuread v0.7.0

似乎不支持在版本
provider.azuread v0.7.0
中设置
user\u approvement\u display\u name
。请参阅更改日志中的
oauth2\u权限

请使用最新的azuread提供程序版本0.11.0。它将解决您的问题

provider "azuread" {
  version = "~>0.11.0"
  subscription_id = "*******************************"
  tenant_id = var.tenant-id
}

完美。我从这里使用了0.7.0来查找插件/提供程序版本?@jstadnicki很高兴知道我的答案很有用。您共享的链接中提供的示例已经过时。正如我在回答中提到的,您可以查看更改日志。如果您想查看历史
azuread
应用程序文件中的更改,请参阅。请再次理解anks.将更新我剩余的提供商。
provider "azuread" {
  version = "~>0.11.0"
  subscription_id = "*******************************"
  tenant_id = var.tenant-id
}