From 29d668e0ae0129c9f83f019ad54783b82d8d5121 Mon Sep 17 00:00:00 2001 From: Paul Stack Date: Wed, 4 May 2022 10:36:58 +0100 Subject: [PATCH] Upgrade to Pulumi v3.31.1 (#275) --- .../cmd/pulumi-resource-azuread/schema.json | 62 ++-- provider/go.mod | 199 +++++++++++- provider/go.sum | 302 +++++++++++++++--- sdk/go.mod | 53 ++- sdk/go.sum | 8 +- sdk/go/azuread/administrativeUnit.go | 30 ++ sdk/go/azuread/administrativeUnitMember.go | 10 + sdk/go/azuread/appRoleAssignment.go | 30 ++ sdk/go/azuread/application.go | 155 +++++++++ sdk/go/azuread/applicationCertificate.go | 40 +++ .../applicationFederatedIdentityCredential.go | 35 ++ sdk/go/azuread/applicationPassword.go | 40 +++ sdk/go/azuread/applicationPreAuthorized.go | 15 + sdk/go/azuread/claimsMappingPolicy.go | 10 + sdk/go/azuread/conditionalAccessPolicy.go | 27 ++ sdk/go/azuread/customDirectoryRole.go | 35 ++ sdk/go/azuread/directoryRole.go | 20 ++ sdk/go/azuread/directoryRoleMember.go | 10 + sdk/go/azuread/group.go | 140 ++++++++ sdk/go/azuread/groupMember.go | 10 + sdk/go/azuread/invitation.go | 35 ++ sdk/go/azuread/namedLocation.go | 15 + sdk/go/azuread/provider.go | 48 +++ sdk/go/azuread/servicePrincipal.go | 149 +++++++++ sdk/go/azuread/servicePrincipalCertificate.go | 40 +++ ...ePrincipalClaimsMappingPolicyAssignment.go | 14 + ...ervicePrincipalDelegatedPermissionGrant.go | 24 ++ sdk/go/azuread/servicePrincipalPassword.go | 40 +++ sdk/go/azuread/user.go | 240 ++++++++++++++ 29 files changed, 1760 insertions(+), 76 deletions(-) diff --git a/provider/cmd/pulumi-resource-azuread/schema.json b/provider/cmd/pulumi-resource-azuread/schema.json index 7a3cbc60a..30cad3255 100644 --- a/provider/cmd/pulumi-resource-azuread/schema.json +++ b/provider/cmd/pulumi-resource-azuread/schema.json @@ -2932,7 +2932,7 @@ }, "resources": { "azuread:index/administrativeUnit:AdministrativeUnit": { - "description": "Manages an Administrative Unit within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `AdministrativeUnit.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.AdministrativeUnit(\"example\", {\n description: \"Just an example\",\n displayName: \"Example-AU\",\n visibility: \"Public\",\n});\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAdministrative units can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/administrativeUnit:AdministrativeUnit example 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages an Administrative Unit within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `AdministrativeUnit.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.AdministrativeUnit(\"example\", {\n description: \"Just an example\",\n displayName: \"Example-AU\",\n visibility: \"Public\",\n});\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new AdministrativeUnit(\"example\", AdministrativeUnitArgs.builder() \n .description(\"Just an example\")\n .displayName(\"Example-AU\")\n .visibility(\"Public\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:AdministrativeUnit\n properties:\n description: Just an example\n displayName: Example-AU\n visibility: Public\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAdministrative units can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/administrativeUnit:AdministrativeUnit example 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "description": { "type": "string", @@ -3030,7 +3030,7 @@ } }, "azuread:index/administrativeUnitMember:AdministrativeUnitMember": { - "description": "Manages a single administrative unit membership within Azure Active Directory.\n\n\u003e **Warning** Do not use this resource at the same time as the `members` property of the `azuread.AdministrativeUnit` resource for the same administrative unit. Doing so will cause a conflict and administrative unit members will be removed.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `AdministrativeUnit.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleUser = azuread.getUser({\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\nconst exampleAdministrativeUnit = new azuread.AdministrativeUnit(\"exampleAdministrativeUnit\", {displayName: \"Example-AU\"});\nconst exampleAdministrativeUnitMember = new azuread.AdministrativeUnitMember(\"exampleAdministrativeUnitMember\", {\n administrativeUnitObjectId: exampleAdministrativeUnit.id,\n memberObjectId: exampleUser.then(exampleUser =\u003e exampleUser.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_user = azuread.get_user(user_principal_name=\"jdoe@hashicorp.com\")\nexample_administrative_unit = azuread.AdministrativeUnit(\"exampleAdministrativeUnit\", display_name=\"Example-AU\")\nexample_administrative_unit_member = azuread.AdministrativeUnitMember(\"exampleAdministrativeUnitMember\",\n administrative_unit_object_id=example_administrative_unit.id,\n member_object_id=example_user.id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"jdoe@hashicorp.com\",\n }));\n var exampleAdministrativeUnit = new AzureAD.AdministrativeUnit(\"exampleAdministrativeUnit\", new AzureAD.AdministrativeUnitArgs\n {\n DisplayName = \"Example-AU\",\n });\n var exampleAdministrativeUnitMember = new AzureAD.AdministrativeUnitMember(\"exampleAdministrativeUnitMember\", new AzureAD.AdministrativeUnitMemberArgs\n {\n AdministrativeUnitObjectId = exampleAdministrativeUnit.Id,\n MemberObjectId = exampleUser.Apply(exampleUser =\u003e exampleUser.Id),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"jdoe@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAdministrativeUnit, err := azuread.NewAdministrativeUnit(ctx, \"exampleAdministrativeUnit\", \u0026azuread.AdministrativeUnitArgs{\n\t\t\tDisplayName: pulumi.String(\"Example-AU\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAdministrativeUnitMember(ctx, \"exampleAdministrativeUnitMember\", \u0026azuread.AdministrativeUnitMemberArgs{\n\t\t\tAdministrativeUnitObjectId: exampleAdministrativeUnit.ID(),\n\t\t\tMemberObjectId: pulumi.String(exampleUser.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAdministrative unit members can be imported using the object ID of the administrative unit and the object ID of the member, e.g.\n\n```sh\n $ pulumi import azuread:index/administrativeUnitMember:AdministrativeUnitMember test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Administrative Unit Object ID and the target Member Object ID in the format `{AdministrativeUnitObjectID}/member/{MemberObjectID}`. ", + "description": "Manages a single administrative unit membership within Azure Active Directory.\n\n\u003e **Warning** Do not use this resource at the same time as the `members` property of the `azuread.AdministrativeUnit` resource for the same administrative unit. Doing so will cause a conflict and administrative unit members will be removed.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `AdministrativeUnit.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleUser = azuread.getUser({\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\nconst exampleAdministrativeUnit = new azuread.AdministrativeUnit(\"exampleAdministrativeUnit\", {displayName: \"Example-AU\"});\nconst exampleAdministrativeUnitMember = new azuread.AdministrativeUnitMember(\"exampleAdministrativeUnitMember\", {\n administrativeUnitObjectId: exampleAdministrativeUnit.id,\n memberObjectId: exampleUser.then(exampleUser =\u003e exampleUser.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_user = azuread.get_user(user_principal_name=\"jdoe@hashicorp.com\")\nexample_administrative_unit = azuread.AdministrativeUnit(\"exampleAdministrativeUnit\", display_name=\"Example-AU\")\nexample_administrative_unit_member = azuread.AdministrativeUnitMember(\"exampleAdministrativeUnitMember\",\n administrative_unit_object_id=example_administrative_unit.id,\n member_object_id=example_user.id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"jdoe@hashicorp.com\",\n }));\n var exampleAdministrativeUnit = new AzureAD.AdministrativeUnit(\"exampleAdministrativeUnit\", new AzureAD.AdministrativeUnitArgs\n {\n DisplayName = \"Example-AU\",\n });\n var exampleAdministrativeUnitMember = new AzureAD.AdministrativeUnitMember(\"exampleAdministrativeUnitMember\", new AzureAD.AdministrativeUnitMemberArgs\n {\n AdministrativeUnitObjectId = exampleAdministrativeUnit.Id,\n MemberObjectId = exampleUser.Apply(exampleUser =\u003e exampleUser.Id),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"jdoe@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAdministrativeUnit, err := azuread.NewAdministrativeUnit(ctx, \"exampleAdministrativeUnit\", \u0026azuread.AdministrativeUnitArgs{\n\t\t\tDisplayName: pulumi.String(\"Example-AU\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAdministrativeUnitMember(ctx, \"exampleAdministrativeUnitMember\", \u0026azuread.AdministrativeUnitMemberArgs{\n\t\t\tAdministrativeUnitObjectId: exampleAdministrativeUnit.ID(),\n\t\t\tMemberObjectId: pulumi.String(exampleUser.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUser = Output.of(AzureadFunctions.getUser(GetUserArgs.builder()\n .userPrincipalName(\"jdoe@hashicorp.com\")\n .build()));\n\n var exampleAdministrativeUnit = new AdministrativeUnit(\"exampleAdministrativeUnit\", AdministrativeUnitArgs.builder() \n .displayName(\"Example-AU\")\n .build());\n\n var exampleAdministrativeUnitMember = new AdministrativeUnitMember(\"exampleAdministrativeUnitMember\", AdministrativeUnitMemberArgs.builder() \n .administrativeUnitObjectId(exampleAdministrativeUnit.getId())\n .memberObjectId(exampleUser.apply(getUserResult -\u003e getUserResult.getId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleAdministrativeUnit:\n type: azuread:AdministrativeUnit\n properties:\n displayName: Example-AU\n exampleAdministrativeUnitMember:\n type: azuread:AdministrativeUnitMember\n properties:\n administrativeUnitObjectId: ${exampleAdministrativeUnit.id}\n memberObjectId: ${exampleUser.id}\nvariables:\n exampleUser:\n Fn::Invoke:\n Function: azuread:getUser\n Arguments:\n userPrincipalName: jdoe@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAdministrative unit members can be imported using the object ID of the administrative unit and the object ID of the member, e.g.\n\n```sh\n $ pulumi import azuread:index/administrativeUnitMember:AdministrativeUnitMember test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Administrative Unit Object ID and the target Member Object ID in the format `{AdministrativeUnitObjectID}/member/{MemberObjectID}`. ", "properties": { "administrativeUnitObjectId": { "type": "string", @@ -3067,7 +3067,7 @@ } }, "azuread:index/appRoleAssignment:AppRoleAssignment": { - "description": "Manages an app role assignment for a group, user or service principal. Can be used to grant admin consent for application permissions.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `AppRoleAssignment.ReadWrite.All` and `Application.Read.All`, or `AppRoleAssignment.ReadWrite.All` and `Directory.Read.All`, or `Application.ReadWrite.All`, or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*App role assignment for accessing Microsoft Graph*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.appRoleIds[\"User.Read.All\"],\n type: \"Role\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.ReadWrite\"],\n type: \"Scope\",\n },\n ],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleAppRoleAssignment\", {\n appRoleId: msgraph.appRoleIds[\"User.Read.All\"],\n principalObjectId: exampleServicePrincipal.objectId,\n resourceObjectId: msgraph.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.app_role_ids[\"User.Read.All\"],\n type=\"Role\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.ReadWrite\"],\n type=\"Scope\",\n ),\n ],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_app_role_assignment = azuread.AppRoleAssignment(\"exampleAppRoleAssignment\",\n app_role_id=msgraph.app_role_ids[\"User.Read.All\"],\n principal_object_id=example_service_principal.object_id,\n resource_object_id=msgraph.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.User_Read_All),\n Type = \"Role\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_ReadWrite),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = msgraph.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.User_Read_All),\n PrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceObjectId = msgraph.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn appRoleIds.User.Read.All, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.ReadWrite, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: msgraph.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.User.Read.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceObjectId: msgraph.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*App role assignment for internal application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst internalApplication = new azuread.Application(\"internalApplication\", {\n displayName: \"internal\",\n appRoles: [{\n allowedMemberTypes: [\"Application\"],\n description: \"Apps can query the database\",\n displayName: \"Query\",\n enabled: true,\n id: \"00000000-0000-0000-0000-111111111111\",\n value: \"Query.All\",\n }],\n});\nconst internalServicePrincipal = new azuread.ServicePrincipal(\"internalServicePrincipal\", {applicationId: internalApplication.applicationId});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: internalApplication.applicationId,\n resourceAccesses: [{\n id: internalServicePrincipal.appRoleIds[\"Query.All\"],\n type: \"Role\",\n }],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleAppRoleAssignment\", {\n appRoleId: internalServicePrincipal.appRoleIds[\"Query.All\"],\n principalObjectId: exampleServicePrincipal.objectId,\n resourceObjectId: internalServicePrincipal.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ninternal_application = azuread.Application(\"internalApplication\",\n display_name=\"internal\",\n app_roles=[azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\"Application\"],\n description=\"Apps can query the database\",\n display_name=\"Query\",\n enabled=True,\n id=\"00000000-0000-0000-0000-111111111111\",\n value=\"Query.All\",\n )])\ninternal_service_principal = azuread.ServicePrincipal(\"internalServicePrincipal\", application_id=internal_application.application_id)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=internal_application.application_id,\n resource_accesses=[azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=internal_service_principal.app_role_ids[\"Query.All\"],\n type=\"Role\",\n )],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_app_role_assignment = azuread.AppRoleAssignment(\"exampleAppRoleAssignment\",\n app_role_id=internal_service_principal.app_role_ids[\"Query.All\"],\n principal_object_id=example_service_principal.object_id,\n resource_object_id=internal_service_principal.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var internalApplication = new AzureAD.Application(\"internalApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"internal\",\n AppRoles = \n {\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"Application\",\n },\n Description = \"Apps can query the database\",\n DisplayName = \"Query\",\n Enabled = true,\n Id = \"00000000-0000-0000-0000-111111111111\",\n Value = \"Query.All\",\n },\n },\n });\n var internalServicePrincipal = new AzureAD.ServicePrincipal(\"internalServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = internalApplication.ApplicationId,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = internalApplication.ApplicationId,\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Query_All),\n Type = \"Role\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Query_All),\n PrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceObjectId = internalServicePrincipal.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinternalApplication, err := azuread.NewApplication(ctx, \"internalApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"internal\"),\n\t\t\tAppRoles: ApplicationAppRoleArray{\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Application\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"Apps can query the database\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Query\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"00000000-0000-0000-0000-111111111111\"),\n\t\t\t\t\tValue: pulumi.String(\"Query.All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternalServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"internalServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: internalApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: internalApplication.ApplicationId,\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn appRoleIds.Query.All, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.Query.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceObjectId: internalServicePrincipal.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Assign a user and group to an internal application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleDomains = azuread.getDomains({\n onlyInitial: true,\n});\nconst internalApplication = new azuread.Application(\"internalApplication\", {\n displayName: \"internal\",\n appRoles: [{\n allowedMemberTypes: [\n \"Application\",\n \"User\",\n ],\n description: \"Admins can perform all task actions\",\n displayName: \"Admin\",\n enabled: true,\n id: \"00000000-0000-0000-0000-222222222222\",\n value: \"Admin.All\",\n }],\n});\nconst internalServicePrincipal = new azuread.ServicePrincipal(\"internalServicePrincipal\", {applicationId: internalApplication.applicationId});\nconst exampleGroup = new azuread.Group(\"exampleGroup\", {\n displayName: \"example\",\n securityEnabled: true,\n});\nconst exampleAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleAppRoleAssignment\", {\n appRoleId: internalServicePrincipal.appRoleIds[\"Admin.All\"],\n principalObjectId: exampleGroup.objectId,\n resourceObjectId: internalServicePrincipal.objectId,\n});\nconst exampleUser = new azuread.User(\"exampleUser\", {\n displayName: \"D. Duck\",\n password: \"SecretP@sswd99!\",\n userPrincipalName: exampleDomains.then(exampleDomains =\u003e `d.duck@${exampleDomains.domains?[0]?.domainName}`),\n});\nconst exampleIndex_appRoleAssignmentAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\", {\n appRoleId: internalServicePrincipal.appRoleIds[\"Admin.All\"],\n principalObjectId: exampleUser.objectId,\n resourceObjectId: internalServicePrincipal.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_domains = azuread.get_domains(only_initial=True)\ninternal_application = azuread.Application(\"internalApplication\",\n display_name=\"internal\",\n app_roles=[azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\n \"Application\",\n \"User\",\n ],\n description=\"Admins can perform all task actions\",\n display_name=\"Admin\",\n enabled=True,\n id=\"00000000-0000-0000-0000-222222222222\",\n value=\"Admin.All\",\n )])\ninternal_service_principal = azuread.ServicePrincipal(\"internalServicePrincipal\", application_id=internal_application.application_id)\nexample_group = azuread.Group(\"exampleGroup\",\n display_name=\"example\",\n security_enabled=True)\nexample_app_role_assignment = azuread.AppRoleAssignment(\"exampleAppRoleAssignment\",\n app_role_id=internal_service_principal.app_role_ids[\"Admin.All\"],\n principal_object_id=example_group.object_id,\n resource_object_id=internal_service_principal.object_id)\nexample_user = azuread.User(\"exampleUser\",\n display_name=\"D. Duck\",\n password=\"SecretP@sswd99!\",\n user_principal_name=f\"d.duck@{example_domains.domains[0].domain_name}\")\nexample_index_app_role_assignment_app_role_assignment = azuread.AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\",\n app_role_id=internal_service_principal.app_role_ids[\"Admin.All\"],\n principal_object_id=example_user.object_id,\n resource_object_id=internal_service_principal.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleDomains = Output.Create(AzureAD.GetDomains.InvokeAsync(new AzureAD.GetDomainsArgs\n {\n OnlyInitial = true,\n }));\n var internalApplication = new AzureAD.Application(\"internalApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"internal\",\n AppRoles = \n {\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"Application\",\n \"User\",\n },\n Description = \"Admins can perform all task actions\",\n DisplayName = \"Admin\",\n Enabled = true,\n Id = \"00000000-0000-0000-0000-222222222222\",\n Value = \"Admin.All\",\n },\n },\n });\n var internalServicePrincipal = new AzureAD.ServicePrincipal(\"internalServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = internalApplication.ApplicationId,\n });\n var exampleGroup = new AzureAD.Group(\"exampleGroup\", new AzureAD.GroupArgs\n {\n DisplayName = \"example\",\n SecurityEnabled = true,\n });\n var exampleAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Admin_All),\n PrincipalObjectId = exampleGroup.ObjectId,\n ResourceObjectId = internalServicePrincipal.ObjectId,\n });\n var exampleUser = new AzureAD.User(\"exampleUser\", new AzureAD.UserArgs\n {\n DisplayName = \"D. Duck\",\n Password = \"SecretP@sswd99!\",\n UserPrincipalName = exampleDomains.Apply(exampleDomains =\u003e $\"d.duck@{exampleDomains.Domains?[0]?.DomainName}\"),\n });\n var exampleIndex_appRoleAssignmentAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Admin_All),\n PrincipalObjectId = exampleUser.ObjectId,\n ResourceObjectId = internalServicePrincipal.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomains, err := azuread.GetDomains(ctx, \u0026GetDomainsArgs{\n\t\t\tOnlyInitial: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternalApplication, err := azuread.NewApplication(ctx, \"internalApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"internal\"),\n\t\t\tAppRoles: ApplicationAppRoleArray{\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Application\"),\n\t\t\t\t\t\tpulumi.String(\"User\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"Admins can perform all task actions\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"00000000-0000-0000-0000-222222222222\"),\n\t\t\t\t\tValue: pulumi.String(\"Admin.All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternalServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"internalServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: internalApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := azuread.NewGroup(ctx, \"exampleGroup\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.Admin.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleGroup.ObjectId,\n\t\t\tResourceObjectId: internalServicePrincipal.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := azuread.NewUser(ctx, \"exampleUser\", \u0026azuread.UserArgs{\n\t\t\tDisplayName: pulumi.String(\"D. Duck\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t\tUserPrincipalName: pulumi.String(fmt.Sprintf(\"%v%v\", \"d.duck@\", exampleDomains.Domains[0].DomainName)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleIndex/appRoleAssignmentAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.Admin.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleUser.ObjectId,\n\t\t\tResourceObjectId: internalServicePrincipal.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApp role assignments can be imported using the object ID of the service principal representing the resource and the ID of the app role assignment (note_not_ the ID of the app role), e.g.\n\n```sh\n $ pulumi import azuread:index/appRoleAssignment:AppRoleAssignment example 00000000-0000-0000-0000-000000000000/appRoleAssignment/aaBBcDDeFG6h5JKLMN2PQrrssTTUUvWWxxxxxyyyzzz\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Resource Service Principal Object ID and the ID of the App Role Assignment in the format `{ResourcePrincipalID}/appRoleAssignment/{AppRoleAssignmentID}`. ", + "description": "Manages an app role assignment for a group, user or service principal. Can be used to grant admin consent for application permissions.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `AppRoleAssignment.ReadWrite.All` and `Application.Read.All`, or `AppRoleAssignment.ReadWrite.All` and `Directory.Read.All`, or `Application.ReadWrite.All`, or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*App role assignment for accessing Microsoft Graph*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.appRoleIds[\"User.Read.All\"],\n type: \"Role\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.ReadWrite\"],\n type: \"Scope\",\n },\n ],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleAppRoleAssignment\", {\n appRoleId: msgraph.appRoleIds[\"User.Read.All\"],\n principalObjectId: exampleServicePrincipal.objectId,\n resourceObjectId: msgraph.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.app_role_ids[\"User.Read.All\"],\n type=\"Role\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.ReadWrite\"],\n type=\"Scope\",\n ),\n ],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_app_role_assignment = azuread.AppRoleAssignment(\"exampleAppRoleAssignment\",\n app_role_id=msgraph.app_role_ids[\"User.Read.All\"],\n principal_object_id=example_service_principal.object_id,\n resource_object_id=msgraph.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.User_Read_All),\n Type = \"Role\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_ReadWrite),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = msgraph.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.User_Read_All),\n PrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceObjectId = msgraph.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn appRoleIds.User.Read.All, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.ReadWrite, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: msgraph.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.User.Read.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceObjectId: msgraph.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var wellKnown = Output.of(AzureadFunctions.getApplicationPublishedAppIds());\n\n var msgraph = new ServicePrincipal(\"msgraph\", ServicePrincipalArgs.builder() \n .applicationId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .useExisting(true)\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .requiredResourceAccesses(ApplicationRequiredResourceAccess.builder()\n .resourceAppId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .resourceAccesses( \n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getUser.Read.All()))\n .type(\"Role\")\n .build(),\n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getOauth2PermissionScopeIds().apply(oauth2PermissionScopeIds -\u003e oauth2PermissionScopeIds.getUser.ReadWrite()))\n .type(\"Scope\")\n .build())\n .build())\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .build());\n\n var exampleAppRoleAssignment = new AppRoleAssignment(\"exampleAppRoleAssignment\", AppRoleAssignmentArgs.builder() \n .appRoleId(msgraph.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getUser.Read.All()))\n .principalObjectId(exampleServicePrincipal.getObjectId())\n .resourceObjectId(msgraph.getObjectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n msgraph:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${wellKnown.result.MicrosoftGraph}\n useExisting: true\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n requiredResourceAccesses:\n - resourceAppId: ${wellKnown.result.MicrosoftGraph}\n resourceAccesses:\n - id: ${msgraph.appRoleIds\"User.Read.All\"[%!s(MISSING)]}\n type: Role\n - id: ${msgraph.oauth2PermissionScopeIds\"User.ReadWrite\"[%!s(MISSING)]}\n type: Scope\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n exampleAppRoleAssignment:\n type: azuread:AppRoleAssignment\n properties:\n appRoleId: ${msgraph.appRoleIds\"User.Read.All\"[%!s(MISSING)]}\n principalObjectId: ${exampleServicePrincipal.objectId}\n resourceObjectId: ${msgraph.objectId}\nvariables:\n wellKnown:\n Fn::Invoke:\n Function: azuread:getApplicationPublishedAppIds\n Arguments: {}\n```\n\n*App role assignment for internal application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst internalApplication = new azuread.Application(\"internalApplication\", {\n displayName: \"internal\",\n appRoles: [{\n allowedMemberTypes: [\"Application\"],\n description: \"Apps can query the database\",\n displayName: \"Query\",\n enabled: true,\n id: \"00000000-0000-0000-0000-111111111111\",\n value: \"Query.All\",\n }],\n});\nconst internalServicePrincipal = new azuread.ServicePrincipal(\"internalServicePrincipal\", {applicationId: internalApplication.applicationId});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: internalApplication.applicationId,\n resourceAccesses: [{\n id: internalServicePrincipal.appRoleIds[\"Query.All\"],\n type: \"Role\",\n }],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleAppRoleAssignment\", {\n appRoleId: internalServicePrincipal.appRoleIds[\"Query.All\"],\n principalObjectId: exampleServicePrincipal.objectId,\n resourceObjectId: internalServicePrincipal.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ninternal_application = azuread.Application(\"internalApplication\",\n display_name=\"internal\",\n app_roles=[azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\"Application\"],\n description=\"Apps can query the database\",\n display_name=\"Query\",\n enabled=True,\n id=\"00000000-0000-0000-0000-111111111111\",\n value=\"Query.All\",\n )])\ninternal_service_principal = azuread.ServicePrincipal(\"internalServicePrincipal\", application_id=internal_application.application_id)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=internal_application.application_id,\n resource_accesses=[azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=internal_service_principal.app_role_ids[\"Query.All\"],\n type=\"Role\",\n )],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_app_role_assignment = azuread.AppRoleAssignment(\"exampleAppRoleAssignment\",\n app_role_id=internal_service_principal.app_role_ids[\"Query.All\"],\n principal_object_id=example_service_principal.object_id,\n resource_object_id=internal_service_principal.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var internalApplication = new AzureAD.Application(\"internalApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"internal\",\n AppRoles = \n {\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"Application\",\n },\n Description = \"Apps can query the database\",\n DisplayName = \"Query\",\n Enabled = true,\n Id = \"00000000-0000-0000-0000-111111111111\",\n Value = \"Query.All\",\n },\n },\n });\n var internalServicePrincipal = new AzureAD.ServicePrincipal(\"internalServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = internalApplication.ApplicationId,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = internalApplication.ApplicationId,\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Query_All),\n Type = \"Role\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Query_All),\n PrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceObjectId = internalServicePrincipal.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinternalApplication, err := azuread.NewApplication(ctx, \"internalApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"internal\"),\n\t\t\tAppRoles: ApplicationAppRoleArray{\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Application\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"Apps can query the database\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Query\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"00000000-0000-0000-0000-111111111111\"),\n\t\t\t\t\tValue: pulumi.String(\"Query.All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternalServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"internalServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: internalApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: internalApplication.ApplicationId,\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn appRoleIds.Query.All, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.Query.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceObjectId: internalServicePrincipal.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var internalApplication = new Application(\"internalApplication\", ApplicationArgs.builder() \n .displayName(\"internal\")\n .appRoles(ApplicationAppRole.builder()\n .allowedMemberTypes(\"Application\")\n .description(\"Apps can query the database\")\n .displayName(\"Query\")\n .enabled(true)\n .id(\"00000000-0000-0000-0000-111111111111\")\n .value(\"Query.All\")\n .build())\n .build());\n\n var internalServicePrincipal = new ServicePrincipal(\"internalServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(internalApplication.getApplicationId())\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .requiredResourceAccesses(ApplicationRequiredResourceAccess.builder()\n .resourceAppId(internalApplication.getApplicationId())\n .resourceAccesses(ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(internalServicePrincipal.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getQuery.All()))\n .type(\"Role\")\n .build())\n .build())\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .build());\n\n var exampleAppRoleAssignment = new AppRoleAssignment(\"exampleAppRoleAssignment\", AppRoleAssignmentArgs.builder() \n .appRoleId(internalServicePrincipal.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getQuery.All()))\n .principalObjectId(exampleServicePrincipal.getObjectId())\n .resourceObjectId(internalServicePrincipal.getObjectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalApplication:\n type: azuread:Application\n properties:\n displayName: internal\n appRoles:\n - allowedMemberTypes:\n - Application\n description: Apps can query the database\n displayName: Query\n enabled: true\n id: 00000000-0000-0000-0000-111111111111\n value: Query.All\n internalServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${internalApplication.applicationId}\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n requiredResourceAccesses:\n - resourceAppId: ${internalApplication.applicationId}\n resourceAccesses:\n - id: ${internalServicePrincipal.appRoleIds\"Query.All\"[%!s(MISSING)]}\n type: Role\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n exampleAppRoleAssignment:\n type: azuread:AppRoleAssignment\n properties:\n appRoleId: ${internalServicePrincipal.appRoleIds\"Query.All\"[%!s(MISSING)]}\n principalObjectId: ${exampleServicePrincipal.objectId}\n resourceObjectId: ${internalServicePrincipal.objectId}\n```\n\n*Assign a user and group to an internal application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleDomains = azuread.getDomains({\n onlyInitial: true,\n});\nconst internalApplication = new azuread.Application(\"internalApplication\", {\n displayName: \"internal\",\n appRoles: [{\n allowedMemberTypes: [\n \"Application\",\n \"User\",\n ],\n description: \"Admins can perform all task actions\",\n displayName: \"Admin\",\n enabled: true,\n id: \"00000000-0000-0000-0000-222222222222\",\n value: \"Admin.All\",\n }],\n});\nconst internalServicePrincipal = new azuread.ServicePrincipal(\"internalServicePrincipal\", {applicationId: internalApplication.applicationId});\nconst exampleGroup = new azuread.Group(\"exampleGroup\", {\n displayName: \"example\",\n securityEnabled: true,\n});\nconst exampleAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleAppRoleAssignment\", {\n appRoleId: internalServicePrincipal.appRoleIds[\"Admin.All\"],\n principalObjectId: exampleGroup.objectId,\n resourceObjectId: internalServicePrincipal.objectId,\n});\nconst exampleUser = new azuread.User(\"exampleUser\", {\n displayName: \"D. Duck\",\n password: \"SecretP@sswd99!\",\n userPrincipalName: exampleDomains.then(exampleDomains =\u003e `d.duck@${exampleDomains.domains?[0]?.domainName}`),\n});\nconst exampleIndex_appRoleAssignmentAppRoleAssignment = new azuread.AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\", {\n appRoleId: internalServicePrincipal.appRoleIds[\"Admin.All\"],\n principalObjectId: exampleUser.objectId,\n resourceObjectId: internalServicePrincipal.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_domains = azuread.get_domains(only_initial=True)\ninternal_application = azuread.Application(\"internalApplication\",\n display_name=\"internal\",\n app_roles=[azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\n \"Application\",\n \"User\",\n ],\n description=\"Admins can perform all task actions\",\n display_name=\"Admin\",\n enabled=True,\n id=\"00000000-0000-0000-0000-222222222222\",\n value=\"Admin.All\",\n )])\ninternal_service_principal = azuread.ServicePrincipal(\"internalServicePrincipal\", application_id=internal_application.application_id)\nexample_group = azuread.Group(\"exampleGroup\",\n display_name=\"example\",\n security_enabled=True)\nexample_app_role_assignment = azuread.AppRoleAssignment(\"exampleAppRoleAssignment\",\n app_role_id=internal_service_principal.app_role_ids[\"Admin.All\"],\n principal_object_id=example_group.object_id,\n resource_object_id=internal_service_principal.object_id)\nexample_user = azuread.User(\"exampleUser\",\n display_name=\"D. Duck\",\n password=\"SecretP@sswd99!\",\n user_principal_name=f\"d.duck@{example_domains.domains[0].domain_name}\")\nexample_index_app_role_assignment_app_role_assignment = azuread.AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\",\n app_role_id=internal_service_principal.app_role_ids[\"Admin.All\"],\n principal_object_id=example_user.object_id,\n resource_object_id=internal_service_principal.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleDomains = Output.Create(AzureAD.GetDomains.InvokeAsync(new AzureAD.GetDomainsArgs\n {\n OnlyInitial = true,\n }));\n var internalApplication = new AzureAD.Application(\"internalApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"internal\",\n AppRoles = \n {\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"Application\",\n \"User\",\n },\n Description = \"Admins can perform all task actions\",\n DisplayName = \"Admin\",\n Enabled = true,\n Id = \"00000000-0000-0000-0000-222222222222\",\n Value = \"Admin.All\",\n },\n },\n });\n var internalServicePrincipal = new AzureAD.ServicePrincipal(\"internalServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = internalApplication.ApplicationId,\n });\n var exampleGroup = new AzureAD.Group(\"exampleGroup\", new AzureAD.GroupArgs\n {\n DisplayName = \"example\",\n SecurityEnabled = true,\n });\n var exampleAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Admin_All),\n PrincipalObjectId = exampleGroup.ObjectId,\n ResourceObjectId = internalServicePrincipal.ObjectId,\n });\n var exampleUser = new AzureAD.User(\"exampleUser\", new AzureAD.UserArgs\n {\n DisplayName = \"D. Duck\",\n Password = \"SecretP@sswd99!\",\n UserPrincipalName = exampleDomains.Apply(exampleDomains =\u003e $\"d.duck@{exampleDomains.Domains?[0]?.DomainName}\"),\n });\n var exampleIndex_appRoleAssignmentAppRoleAssignment = new AzureAD.AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\", new AzureAD.AppRoleAssignmentArgs\n {\n AppRoleId = internalServicePrincipal.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.Admin_All),\n PrincipalObjectId = exampleUser.ObjectId,\n ResourceObjectId = internalServicePrincipal.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleDomains, err := azuread.GetDomains(ctx, \u0026GetDomainsArgs{\n\t\t\tOnlyInitial: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternalApplication, err := azuread.NewApplication(ctx, \"internalApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"internal\"),\n\t\t\tAppRoles: ApplicationAppRoleArray{\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"Application\"),\n\t\t\t\t\t\tpulumi.String(\"User\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"Admins can perform all task actions\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"00000000-0000-0000-0000-222222222222\"),\n\t\t\t\t\tValue: pulumi.String(\"Admin.All\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinternalServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"internalServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: internalApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := azuread.NewGroup(ctx, \"exampleGroup\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.Admin.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleGroup.ObjectId,\n\t\t\tResourceObjectId: internalServicePrincipal.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := azuread.NewUser(ctx, \"exampleUser\", \u0026azuread.UserArgs{\n\t\t\tDisplayName: pulumi.String(\"D. Duck\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t\tUserPrincipalName: pulumi.String(fmt.Sprintf(\"%v%v\", \"d.duck@\", exampleDomains.Domains[0].DomainName)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewAppRoleAssignment(ctx, \"exampleIndex/appRoleAssignmentAppRoleAssignment\", \u0026azuread.AppRoleAssignmentArgs{\n\t\t\tAppRoleId: internalServicePrincipal.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\treturn appRoleIds.Admin.All, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tPrincipalObjectId: exampleUser.ObjectId,\n\t\t\tResourceObjectId: internalServicePrincipal.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleDomains = Output.of(AzureadFunctions.getDomains(GetDomainsArgs.builder()\n .onlyInitial(true)\n .build()));\n\n var internalApplication = new Application(\"internalApplication\", ApplicationArgs.builder() \n .displayName(\"internal\")\n .appRoles(ApplicationAppRole.builder()\n .allowedMemberTypes( \n \"Application\",\n \"User\")\n .description(\"Admins can perform all task actions\")\n .displayName(\"Admin\")\n .enabled(true)\n .id(\"00000000-0000-0000-0000-222222222222\")\n .value(\"Admin.All\")\n .build())\n .build());\n\n var internalServicePrincipal = new ServicePrincipal(\"internalServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(internalApplication.getApplicationId())\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .displayName(\"example\")\n .securityEnabled(true)\n .build());\n\n var exampleAppRoleAssignment = new AppRoleAssignment(\"exampleAppRoleAssignment\", AppRoleAssignmentArgs.builder() \n .appRoleId(internalServicePrincipal.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getAdmin.All()))\n .principalObjectId(exampleGroup.getObjectId())\n .resourceObjectId(internalServicePrincipal.getObjectId())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .displayName(\"D. Duck\")\n .password(\"SecretP@sswd99!\")\n .userPrincipalName(String.format(\"d.duck@%s\", exampleDomains.apply(getDomainsResult -\u003e getDomainsResult.getDomains()[0].getDomainName())))\n .build());\n\n var exampleIndex_appRoleAssignmentAppRoleAssignment = new AppRoleAssignment(\"exampleIndex/appRoleAssignmentAppRoleAssignment\", AppRoleAssignmentArgs.builder() \n .appRoleId(internalServicePrincipal.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getAdmin.All()))\n .principalObjectId(exampleUser.getObjectId())\n .resourceObjectId(internalServicePrincipal.getObjectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n internalApplication:\n type: azuread:Application\n properties:\n displayName: internal\n appRoles:\n - allowedMemberTypes:\n - Application\n - User\n description: Admins can perform all task actions\n displayName: Admin\n enabled: true\n id: 00000000-0000-0000-0000-222222222222\n value: Admin.All\n internalServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${internalApplication.applicationId}\n exampleGroup:\n type: azuread:Group\n properties:\n displayName: example\n securityEnabled: true\n exampleAppRoleAssignment:\n type: azuread:AppRoleAssignment\n properties:\n appRoleId: ${internalServicePrincipal.appRoleIds\"Admin.All\"[%!s(MISSING)]}\n principalObjectId: ${exampleGroup.objectId}\n resourceObjectId: ${internalServicePrincipal.objectId}\n exampleUser:\n type: azuread:User\n properties:\n displayName: D. Duck\n password: SecretP@sswd99!\n userPrincipalName: d.duck@${exampleDomains.domains[0].domainName}\n exampleIndex/appRoleAssignmentAppRoleAssignment:\n type: azuread:AppRoleAssignment\n properties:\n appRoleId: ${internalServicePrincipal.appRoleIds\"Admin.All\"[%!s(MISSING)]}\n principalObjectId: ${exampleUser.objectId}\n resourceObjectId: ${internalServicePrincipal.objectId}\nvariables:\n exampleDomains:\n Fn::Invoke:\n Function: azuread:getDomains\n Arguments:\n onlyInitial: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApp role assignments can be imported using the object ID of the service principal representing the resource and the ID of the app role assignment (note_not_ the ID of the app role), e.g.\n\n```sh\n $ pulumi import azuread:index/appRoleAssignment:AppRoleAssignment example 00000000-0000-0000-0000-000000000000/appRoleAssignment/aaBBcDDeFG6h5JKLMN2PQrrssTTUUvWWxxxxxyyyzzz\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Resource Service Principal Object ID and the ID of the App Role Assignment in the format `{ResourcePrincipalID}/appRoleAssignment/{AppRoleAssignmentID}`. ", "properties": { "appRoleId": { "type": "string", @@ -3153,7 +3153,7 @@ } }, "azuread:index/application:Application": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Create an application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\nimport * from \"fs\";\n\nconst current = azuread.getClientConfig({});\nconst example = new azuread.Application(\"example\", {\n displayName: \"example\",\n identifierUris: [\"api://example-app\"],\n logoImage: Buffer.from(fs.readFileSync(\"/path/to/logo.png\"), 'binary').toString('base64'),\n owners: [current.then(current =\u003e current.objectId)],\n signInAudience: \"AzureADMultipleOrgs\",\n api: {\n mappedClaimsEnabled: true,\n requestedAccessTokenVersion: 2,\n knownClientApplications: [\n azuread_application.known1.application_id,\n azuread_application.known2.application_id,\n ],\n oauth2PermissionScopes: [\n {\n adminConsentDescription: \"Allow the application to access example on behalf of the signed-in user.\",\n adminConsentDisplayName: \"Access example\",\n enabled: true,\n id: \"96183846-204b-4b43-82e1-5d2222eb4b9b\",\n type: \"User\",\n userConsentDescription: \"Allow the application to access example on your behalf.\",\n userConsentDisplayName: \"Access example\",\n value: \"user_impersonation\",\n },\n {\n adminConsentDescription: \"Administer the example application\",\n adminConsentDisplayName: \"Administer\",\n enabled: true,\n id: \"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\",\n type: \"Admin\",\n value: \"administer\",\n },\n ],\n },\n appRoles: [\n {\n allowedMemberTypes: [\n \"User\",\n \"Application\",\n ],\n description: \"Admins can manage roles and perform all task actions\",\n displayName: \"Admin\",\n enabled: true,\n id: \"1b19509b-32b1-4e9f-b71d-4992aa991967\",\n value: \"admin\",\n },\n {\n allowedMemberTypes: [\"User\"],\n description: \"ReadOnly roles have limited query access\",\n displayName: \"ReadOnly\",\n enabled: true,\n id: \"497406e4-012a-4267-bf18-45a1cb148a01\",\n value: \"User\",\n },\n ],\n featureTags: [{\n enterprise: true,\n gallery: true,\n }],\n optionalClaims: {\n accessTokens: [\n {\n name: \"myclaim\",\n },\n {\n name: \"otherclaim\",\n },\n ],\n idTokens: [{\n name: \"userclaim\",\n source: \"user\",\n essential: true,\n additionalProperties: [\"emit_as_roles\"],\n }],\n saml2Tokens: [{\n name: \"samlexample\",\n }],\n },\n requiredResourceAccesses: [\n {\n resourceAppId: \"00000003-0000-0000-c000-000000000000\",\n resourceAccesses: [\n {\n id: \"df021288-bdef-4463-88db-98f22de89214\",\n type: \"Role\",\n },\n {\n id: \"b4e74841-8e56-480b-be8b-910348b18b4c\",\n type: \"Scope\",\n },\n ],\n },\n {\n resourceAppId: \"c5393580-f805-4401-95e8-94b7a6ef2fc2\",\n resourceAccesses: [{\n id: \"594c1fb6-4f81-4475-ae41-0c394909246c\",\n type: \"Role\",\n }],\n },\n ],\n web: {\n homepageUrl: \"https://app.example.net\",\n logoutUrl: \"https://app.example.net/logout\",\n redirectUris: [\"https://app.example.net/account\"],\n implicitGrant: {\n accessTokenIssuanceEnabled: true,\n idTokenIssuanceEnabled: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample = azuread.Application(\"example\",\n display_name=\"example\",\n identifier_uris=[\"api://example-app\"],\n logo_image=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"/path/to/logo.png\"),\n owners=[current.object_id],\n sign_in_audience=\"AzureADMultipleOrgs\",\n api=azuread.ApplicationApiArgs(\n mapped_claims_enabled=True,\n requested_access_token_version=2,\n known_client_applications=[\n azuread_application[\"known1\"][\"application_id\"],\n azuread_application[\"known2\"][\"application_id\"],\n ],\n oauth2_permission_scopes=[\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Allow the application to access example on behalf of the signed-in user.\",\n admin_consent_display_name=\"Access example\",\n enabled=True,\n id=\"96183846-204b-4b43-82e1-5d2222eb4b9b\",\n type=\"User\",\n user_consent_description=\"Allow the application to access example on your behalf.\",\n user_consent_display_name=\"Access example\",\n value=\"user_impersonation\",\n ),\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Administer the example application\",\n admin_consent_display_name=\"Administer\",\n enabled=True,\n id=\"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\",\n type=\"Admin\",\n value=\"administer\",\n ),\n ],\n ),\n app_roles=[\n azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\n \"User\",\n \"Application\",\n ],\n description=\"Admins can manage roles and perform all task actions\",\n display_name=\"Admin\",\n enabled=True,\n id=\"1b19509b-32b1-4e9f-b71d-4992aa991967\",\n value=\"admin\",\n ),\n azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\"User\"],\n description=\"ReadOnly roles have limited query access\",\n display_name=\"ReadOnly\",\n enabled=True,\n id=\"497406e4-012a-4267-bf18-45a1cb148a01\",\n value=\"User\",\n ),\n ],\n feature_tags=[azuread.ApplicationFeatureTagArgs(\n enterprise=True,\n gallery=True,\n )],\n optional_claims=azuread.ApplicationOptionalClaimsArgs(\n access_tokens=[\n azuread.ApplicationOptionalClaimsAccessTokenArgs(\n name=\"myclaim\",\n ),\n azuread.ApplicationOptionalClaimsAccessTokenArgs(\n name=\"otherclaim\",\n ),\n ],\n id_tokens=[azuread.ApplicationOptionalClaimsIdTokenArgs(\n name=\"userclaim\",\n source=\"user\",\n essential=True,\n additional_properties=[\"emit_as_roles\"],\n )],\n saml2_tokens=[azuread.ApplicationOptionalClaimsSaml2TokenArgs(\n name=\"samlexample\",\n )],\n ),\n required_resource_accesses=[\n azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=\"00000003-0000-0000-c000-000000000000\",\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=\"df021288-bdef-4463-88db-98f22de89214\",\n type=\"Role\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=\"b4e74841-8e56-480b-be8b-910348b18b4c\",\n type=\"Scope\",\n ),\n ],\n ),\n azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=\"c5393580-f805-4401-95e8-94b7a6ef2fc2\",\n resource_accesses=[azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=\"594c1fb6-4f81-4475-ae41-0c394909246c\",\n type=\"Role\",\n )],\n ),\n ],\n web=azuread.ApplicationWebArgs(\n homepage_url=\"https://app.example.net\",\n logout_url=\"https://app.example.net/logout\",\n redirect_uris=[\"https://app.example.net/account\"],\n implicit_grant=azuread.ApplicationWebImplicitGrantArgs(\n access_token_issuance_enabled=True,\n id_token_issuance_enabled=True,\n ),\n ))\n```\n```csharp\nusing System;\nusing System.IO;\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)))\n\t}\n\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var example = new AzureAD.Application(\"example\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n IdentifierUris = \n {\n \"api://example-app\",\n },\n LogoImage = ReadFileBase64(\"/path/to/logo.png\"),\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n SignInAudience = \"AzureADMultipleOrgs\",\n Api = new AzureAD.Inputs.ApplicationApiArgs\n {\n MappedClaimsEnabled = true,\n RequestedAccessTokenVersion = 2,\n KnownClientApplications = \n {\n azuread_application.Known1.Application_id,\n azuread_application.Known2.Application_id,\n },\n Oauth2PermissionScopes = \n {\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Allow the application to access example on behalf of the signed-in user.\",\n AdminConsentDisplayName = \"Access example\",\n Enabled = true,\n Id = \"96183846-204b-4b43-82e1-5d2222eb4b9b\",\n Type = \"User\",\n UserConsentDescription = \"Allow the application to access example on your behalf.\",\n UserConsentDisplayName = \"Access example\",\n Value = \"user_impersonation\",\n },\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Administer the example application\",\n AdminConsentDisplayName = \"Administer\",\n Enabled = true,\n Id = \"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\",\n Type = \"Admin\",\n Value = \"administer\",\n },\n },\n },\n AppRoles = \n {\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"User\",\n \"Application\",\n },\n Description = \"Admins can manage roles and perform all task actions\",\n DisplayName = \"Admin\",\n Enabled = true,\n Id = \"1b19509b-32b1-4e9f-b71d-4992aa991967\",\n Value = \"admin\",\n },\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"User\",\n },\n Description = \"ReadOnly roles have limited query access\",\n DisplayName = \"ReadOnly\",\n Enabled = true,\n Id = \"497406e4-012a-4267-bf18-45a1cb148a01\",\n Value = \"User\",\n },\n },\n FeatureTags = \n {\n new AzureAD.Inputs.ApplicationFeatureTagArgs\n {\n Enterprise = true,\n Gallery = true,\n },\n },\n OptionalClaims = new AzureAD.Inputs.ApplicationOptionalClaimsArgs\n {\n AccessTokens = \n {\n new AzureAD.Inputs.ApplicationOptionalClaimsAccessTokenArgs\n {\n Name = \"myclaim\",\n },\n new AzureAD.Inputs.ApplicationOptionalClaimsAccessTokenArgs\n {\n Name = \"otherclaim\",\n },\n },\n IdTokens = \n {\n new AzureAD.Inputs.ApplicationOptionalClaimsIdTokenArgs\n {\n Name = \"userclaim\",\n Source = \"user\",\n Essential = true,\n AdditionalProperties = \n {\n \"emit_as_roles\",\n },\n },\n },\n Saml2Tokens = \n {\n new AzureAD.Inputs.ApplicationOptionalClaimsSaml2TokenArgs\n {\n Name = \"samlexample\",\n },\n },\n },\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = \"00000003-0000-0000-c000-000000000000\",\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = \"df021288-bdef-4463-88db-98f22de89214\",\n Type = \"Role\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = \"b4e74841-8e56-480b-be8b-910348b18b4c\",\n Type = \"Scope\",\n },\n },\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = \"c5393580-f805-4401-95e8-94b7a6ef2fc2\",\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = \"594c1fb6-4f81-4475-ae41-0c394909246c\",\n Type = \"Role\",\n },\n },\n },\n },\n Web = new AzureAD.Inputs.ApplicationWebArgs\n {\n HomepageUrl = \"https://app.example.net\",\n LogoutUrl = \"https://app.example.net/logout\",\n RedirectUris = \n {\n \"https://app.example.net/account\",\n },\n ImplicitGrant = new AzureAD.Inputs.ApplicationWebImplicitGrantArgs\n {\n AccessTokenIssuanceEnabled = true,\n IdTokenIssuanceEnabled = true,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := ioutil.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplication(ctx, \"example\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tIdentifierUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api://example-app\"),\n\t\t\t},\n\t\t\tLogoImage: filebase64OrPanic(\"/path/to/logo.png\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tSignInAudience: pulumi.String(\"AzureADMultipleOrgs\"),\n\t\t\tApi: \u0026ApplicationApiArgs{\n\t\t\t\tMappedClaimsEnabled: pulumi.Bool(true),\n\t\t\t\tRequestedAccessTokenVersion: pulumi.Int(2),\n\t\t\t\tKnownClientApplications: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(azuread_application.Known1.Application_id),\n\t\t\t\t\tpulumi.Any(azuread_application.Known2.Application_id),\n\t\t\t\t},\n\t\t\t\tOauth2PermissionScopes: ApplicationApiOauth2PermissionScopeArray{\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Allow the application to access example on behalf of the signed-in user.\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Access example\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"96183846-204b-4b43-82e1-5d2222eb4b9b\"),\n\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\tUserConsentDescription: pulumi.String(\"Allow the application to access example on your behalf.\"),\n\t\t\t\t\t\tUserConsentDisplayName: pulumi.String(\"Access example\"),\n\t\t\t\t\t\tValue: pulumi.String(\"user_impersonation\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Administer the example application\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Administer\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\"),\n\t\t\t\t\t\tType: pulumi.String(\"Admin\"),\n\t\t\t\t\t\tValue: pulumi.String(\"administer\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppRoles: ApplicationAppRoleArray{\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"User\"),\n\t\t\t\t\t\tpulumi.String(\"Application\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"Admins can manage roles and perform all task actions\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"1b19509b-32b1-4e9f-b71d-4992aa991967\"),\n\t\t\t\t\tValue: pulumi.String(\"admin\"),\n\t\t\t\t},\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"User\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"ReadOnly roles have limited query access\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"ReadOnly\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"497406e4-012a-4267-bf18-45a1cb148a01\"),\n\t\t\t\t\tValue: pulumi.String(\"User\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFeatureTags: ApplicationFeatureTagArray{\n\t\t\t\t\u0026ApplicationFeatureTagArgs{\n\t\t\t\t\tEnterprise: pulumi.Bool(true),\n\t\t\t\t\tGallery: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionalClaims: \u0026ApplicationOptionalClaimsArgs{\n\t\t\t\tAccessTokens: ApplicationOptionalClaimsAccessTokenArray{\n\t\t\t\t\t\u0026ApplicationOptionalClaimsAccessTokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"myclaim\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ApplicationOptionalClaimsAccessTokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"otherclaim\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIdTokens: ApplicationOptionalClaimsIdTokenArray{\n\t\t\t\t\t\u0026ApplicationOptionalClaimsIdTokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"userclaim\"),\n\t\t\t\t\t\tSource: pulumi.String(\"user\"),\n\t\t\t\t\t\tEssential: pulumi.Bool(true),\n\t\t\t\t\t\tAdditionalProperties: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"emit_as_roles\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSaml2Tokens: ApplicationOptionalClaimsSaml2TokenArray{\n\t\t\t\t\t\u0026ApplicationOptionalClaimsSaml2TokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"samlexample\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(\"00000003-0000-0000-c000-000000000000\"),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"df021288-bdef-4463-88db-98f22de89214\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"b4e74841-8e56-480b-be8b-910348b18b4c\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(\"c5393580-f805-4401-95e8-94b7a6ef2fc2\"),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"594c1fb6-4f81-4475-ae41-0c394909246c\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tWeb: \u0026ApplicationWebArgs{\n\t\t\t\tHomepageUrl: pulumi.String(\"https://app.example.net\"),\n\t\t\t\tLogoutUrl: pulumi.String(\"https://app.example.net/logout\"),\n\t\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"https://app.example.net/account\"),\n\t\t\t\t},\n\t\t\t\tImplicitGrant: \u0026ApplicationWebImplicitGrantArgs{\n\t\t\t\t\tAccessTokenIssuanceEnabled: pulumi.Bool(true),\n\t\t\t\t\tIdTokenIssuanceEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Create application from a gallery template*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleApplicationTemplate = azuread.getApplicationTemplate({\n displayName: \"Marketo\",\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n templateId: exampleApplicationTemplate.then(exampleApplicationTemplate =\u003e exampleApplicationTemplate.templateId),\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n useExisting: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_application_template = azuread.get_application_template(display_name=\"Marketo\")\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n template_id=example_application_template.template_id)\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n use_existing=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApplicationTemplate = Output.Create(AzureAD.GetApplicationTemplate.InvokeAsync(new AzureAD.GetApplicationTemplateArgs\n {\n DisplayName = \"Marketo\",\n }));\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n TemplateId = exampleApplicationTemplate.Apply(exampleApplicationTemplate =\u003e exampleApplicationTemplate.TemplateId),\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n UseExisting = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplicationTemplate, err := azuread.GetApplicationTemplate(ctx, \u0026GetApplicationTemplateArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Marketo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tTemplateId: pulumi.String(exampleApplicationTemplate.TemplateId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApplications can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/application:Application test 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Create an application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\nimport * from \"fs\";\n\nconst current = azuread.getClientConfig({});\nconst example = new azuread.Application(\"example\", {\n displayName: \"example\",\n identifierUris: [\"api://example-app\"],\n logoImage: Buffer.from(fs.readFileSync(\"/path/to/logo.png\"), 'binary').toString('base64'),\n owners: [current.then(current =\u003e current.objectId)],\n signInAudience: \"AzureADMultipleOrgs\",\n api: {\n mappedClaimsEnabled: true,\n requestedAccessTokenVersion: 2,\n knownClientApplications: [\n azuread_application.known1.application_id,\n azuread_application.known2.application_id,\n ],\n oauth2PermissionScopes: [\n {\n adminConsentDescription: \"Allow the application to access example on behalf of the signed-in user.\",\n adminConsentDisplayName: \"Access example\",\n enabled: true,\n id: \"96183846-204b-4b43-82e1-5d2222eb4b9b\",\n type: \"User\",\n userConsentDescription: \"Allow the application to access example on your behalf.\",\n userConsentDisplayName: \"Access example\",\n value: \"user_impersonation\",\n },\n {\n adminConsentDescription: \"Administer the example application\",\n adminConsentDisplayName: \"Administer\",\n enabled: true,\n id: \"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\",\n type: \"Admin\",\n value: \"administer\",\n },\n ],\n },\n appRoles: [\n {\n allowedMemberTypes: [\n \"User\",\n \"Application\",\n ],\n description: \"Admins can manage roles and perform all task actions\",\n displayName: \"Admin\",\n enabled: true,\n id: \"1b19509b-32b1-4e9f-b71d-4992aa991967\",\n value: \"admin\",\n },\n {\n allowedMemberTypes: [\"User\"],\n description: \"ReadOnly roles have limited query access\",\n displayName: \"ReadOnly\",\n enabled: true,\n id: \"497406e4-012a-4267-bf18-45a1cb148a01\",\n value: \"User\",\n },\n ],\n featureTags: [{\n enterprise: true,\n gallery: true,\n }],\n optionalClaims: {\n accessTokens: [\n {\n name: \"myclaim\",\n },\n {\n name: \"otherclaim\",\n },\n ],\n idTokens: [{\n name: \"userclaim\",\n source: \"user\",\n essential: true,\n additionalProperties: [\"emit_as_roles\"],\n }],\n saml2Tokens: [{\n name: \"samlexample\",\n }],\n },\n requiredResourceAccesses: [\n {\n resourceAppId: \"00000003-0000-0000-c000-000000000000\",\n resourceAccesses: [\n {\n id: \"df021288-bdef-4463-88db-98f22de89214\",\n type: \"Role\",\n },\n {\n id: \"b4e74841-8e56-480b-be8b-910348b18b4c\",\n type: \"Scope\",\n },\n ],\n },\n {\n resourceAppId: \"c5393580-f805-4401-95e8-94b7a6ef2fc2\",\n resourceAccesses: [{\n id: \"594c1fb6-4f81-4475-ae41-0c394909246c\",\n type: \"Role\",\n }],\n },\n ],\n web: {\n homepageUrl: \"https://app.example.net\",\n logoutUrl: \"https://app.example.net/logout\",\n redirectUris: [\"https://app.example.net/account\"],\n implicitGrant: {\n accessTokenIssuanceEnabled: true,\n idTokenIssuanceEnabled: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport base64\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample = azuread.Application(\"example\",\n display_name=\"example\",\n identifier_uris=[\"api://example-app\"],\n logo_image=(lambda path: base64.b64encode(open(path).read().encode()).decode())(\"/path/to/logo.png\"),\n owners=[current.object_id],\n sign_in_audience=\"AzureADMultipleOrgs\",\n api=azuread.ApplicationApiArgs(\n mapped_claims_enabled=True,\n requested_access_token_version=2,\n known_client_applications=[\n azuread_application[\"known1\"][\"application_id\"],\n azuread_application[\"known2\"][\"application_id\"],\n ],\n oauth2_permission_scopes=[\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Allow the application to access example on behalf of the signed-in user.\",\n admin_consent_display_name=\"Access example\",\n enabled=True,\n id=\"96183846-204b-4b43-82e1-5d2222eb4b9b\",\n type=\"User\",\n user_consent_description=\"Allow the application to access example on your behalf.\",\n user_consent_display_name=\"Access example\",\n value=\"user_impersonation\",\n ),\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Administer the example application\",\n admin_consent_display_name=\"Administer\",\n enabled=True,\n id=\"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\",\n type=\"Admin\",\n value=\"administer\",\n ),\n ],\n ),\n app_roles=[\n azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\n \"User\",\n \"Application\",\n ],\n description=\"Admins can manage roles and perform all task actions\",\n display_name=\"Admin\",\n enabled=True,\n id=\"1b19509b-32b1-4e9f-b71d-4992aa991967\",\n value=\"admin\",\n ),\n azuread.ApplicationAppRoleArgs(\n allowed_member_types=[\"User\"],\n description=\"ReadOnly roles have limited query access\",\n display_name=\"ReadOnly\",\n enabled=True,\n id=\"497406e4-012a-4267-bf18-45a1cb148a01\",\n value=\"User\",\n ),\n ],\n feature_tags=[azuread.ApplicationFeatureTagArgs(\n enterprise=True,\n gallery=True,\n )],\n optional_claims=azuread.ApplicationOptionalClaimsArgs(\n access_tokens=[\n azuread.ApplicationOptionalClaimsAccessTokenArgs(\n name=\"myclaim\",\n ),\n azuread.ApplicationOptionalClaimsAccessTokenArgs(\n name=\"otherclaim\",\n ),\n ],\n id_tokens=[azuread.ApplicationOptionalClaimsIdTokenArgs(\n name=\"userclaim\",\n source=\"user\",\n essential=True,\n additional_properties=[\"emit_as_roles\"],\n )],\n saml2_tokens=[azuread.ApplicationOptionalClaimsSaml2TokenArgs(\n name=\"samlexample\",\n )],\n ),\n required_resource_accesses=[\n azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=\"00000003-0000-0000-c000-000000000000\",\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=\"df021288-bdef-4463-88db-98f22de89214\",\n type=\"Role\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=\"b4e74841-8e56-480b-be8b-910348b18b4c\",\n type=\"Scope\",\n ),\n ],\n ),\n azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=\"c5393580-f805-4401-95e8-94b7a6ef2fc2\",\n resource_accesses=[azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=\"594c1fb6-4f81-4475-ae41-0c394909246c\",\n type=\"Role\",\n )],\n ),\n ],\n web=azuread.ApplicationWebArgs(\n homepage_url=\"https://app.example.net\",\n logout_url=\"https://app.example.net/logout\",\n redirect_uris=[\"https://app.example.net/account\"],\n implicit_grant=azuread.ApplicationWebImplicitGrantArgs(\n access_token_issuance_enabled=True,\n id_token_issuance_enabled=True,\n ),\n ))\n```\n```csharp\nusing System;\nusing System.IO;\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n\tprivate static string ReadFileBase64(string path) {\n\t\treturn Convert.ToBase64String(Encoding.UTF8.GetBytes(File.ReadAllText(path)))\n\t}\n\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var example = new AzureAD.Application(\"example\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n IdentifierUris = \n {\n \"api://example-app\",\n },\n LogoImage = ReadFileBase64(\"/path/to/logo.png\"),\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n SignInAudience = \"AzureADMultipleOrgs\",\n Api = new AzureAD.Inputs.ApplicationApiArgs\n {\n MappedClaimsEnabled = true,\n RequestedAccessTokenVersion = 2,\n KnownClientApplications = \n {\n azuread_application.Known1.Application_id,\n azuread_application.Known2.Application_id,\n },\n Oauth2PermissionScopes = \n {\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Allow the application to access example on behalf of the signed-in user.\",\n AdminConsentDisplayName = \"Access example\",\n Enabled = true,\n Id = \"96183846-204b-4b43-82e1-5d2222eb4b9b\",\n Type = \"User\",\n UserConsentDescription = \"Allow the application to access example on your behalf.\",\n UserConsentDisplayName = \"Access example\",\n Value = \"user_impersonation\",\n },\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Administer the example application\",\n AdminConsentDisplayName = \"Administer\",\n Enabled = true,\n Id = \"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\",\n Type = \"Admin\",\n Value = \"administer\",\n },\n },\n },\n AppRoles = \n {\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"User\",\n \"Application\",\n },\n Description = \"Admins can manage roles and perform all task actions\",\n DisplayName = \"Admin\",\n Enabled = true,\n Id = \"1b19509b-32b1-4e9f-b71d-4992aa991967\",\n Value = \"admin\",\n },\n new AzureAD.Inputs.ApplicationAppRoleArgs\n {\n AllowedMemberTypes = \n {\n \"User\",\n },\n Description = \"ReadOnly roles have limited query access\",\n DisplayName = \"ReadOnly\",\n Enabled = true,\n Id = \"497406e4-012a-4267-bf18-45a1cb148a01\",\n Value = \"User\",\n },\n },\n FeatureTags = \n {\n new AzureAD.Inputs.ApplicationFeatureTagArgs\n {\n Enterprise = true,\n Gallery = true,\n },\n },\n OptionalClaims = new AzureAD.Inputs.ApplicationOptionalClaimsArgs\n {\n AccessTokens = \n {\n new AzureAD.Inputs.ApplicationOptionalClaimsAccessTokenArgs\n {\n Name = \"myclaim\",\n },\n new AzureAD.Inputs.ApplicationOptionalClaimsAccessTokenArgs\n {\n Name = \"otherclaim\",\n },\n },\n IdTokens = \n {\n new AzureAD.Inputs.ApplicationOptionalClaimsIdTokenArgs\n {\n Name = \"userclaim\",\n Source = \"user\",\n Essential = true,\n AdditionalProperties = \n {\n \"emit_as_roles\",\n },\n },\n },\n Saml2Tokens = \n {\n new AzureAD.Inputs.ApplicationOptionalClaimsSaml2TokenArgs\n {\n Name = \"samlexample\",\n },\n },\n },\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = \"00000003-0000-0000-c000-000000000000\",\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = \"df021288-bdef-4463-88db-98f22de89214\",\n Type = \"Role\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = \"b4e74841-8e56-480b-be8b-910348b18b4c\",\n Type = \"Scope\",\n },\n },\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = \"c5393580-f805-4401-95e8-94b7a6ef2fc2\",\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = \"594c1fb6-4f81-4475-ae41-0c394909246c\",\n Type = \"Role\",\n },\n },\n },\n },\n Web = new AzureAD.Inputs.ApplicationWebArgs\n {\n HomepageUrl = \"https://app.example.net\",\n LogoutUrl = \"https://app.example.net/logout\",\n RedirectUris = \n {\n \"https://app.example.net/account\",\n },\n ImplicitGrant = new AzureAD.Inputs.ApplicationWebImplicitGrantArgs\n {\n AccessTokenIssuanceEnabled = true,\n IdTokenIssuanceEnabled = true,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"encoding/base64\"\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc filebase64OrPanic(path string) pulumi.StringPtrInput {\n\tif fileData, err := ioutil.ReadFile(path); err == nil {\n\t\treturn pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))\n\t} else {\n\t\tpanic(err.Error())\n\t}\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplication(ctx, \"example\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tIdentifierUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api://example-app\"),\n\t\t\t},\n\t\t\tLogoImage: filebase64OrPanic(\"/path/to/logo.png\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tSignInAudience: pulumi.String(\"AzureADMultipleOrgs\"),\n\t\t\tApi: \u0026ApplicationApiArgs{\n\t\t\t\tMappedClaimsEnabled: pulumi.Bool(true),\n\t\t\t\tRequestedAccessTokenVersion: pulumi.Int(2),\n\t\t\t\tKnownClientApplications: pulumi.StringArray{\n\t\t\t\t\tpulumi.Any(azuread_application.Known1.Application_id),\n\t\t\t\t\tpulumi.Any(azuread_application.Known2.Application_id),\n\t\t\t\t},\n\t\t\t\tOauth2PermissionScopes: ApplicationApiOauth2PermissionScopeArray{\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Allow the application to access example on behalf of the signed-in user.\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Access example\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"96183846-204b-4b43-82e1-5d2222eb4b9b\"),\n\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\tUserConsentDescription: pulumi.String(\"Allow the application to access example on your behalf.\"),\n\t\t\t\t\t\tUserConsentDisplayName: pulumi.String(\"Access example\"),\n\t\t\t\t\t\tValue: pulumi.String(\"user_impersonation\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Administer the example application\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Administer\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\"),\n\t\t\t\t\t\tType: pulumi.String(\"Admin\"),\n\t\t\t\t\t\tValue: pulumi.String(\"administer\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAppRoles: ApplicationAppRoleArray{\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"User\"),\n\t\t\t\t\t\tpulumi.String(\"Application\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"Admins can manage roles and perform all task actions\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"Admin\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"1b19509b-32b1-4e9f-b71d-4992aa991967\"),\n\t\t\t\t\tValue: pulumi.String(\"admin\"),\n\t\t\t\t},\n\t\t\t\t\u0026ApplicationAppRoleArgs{\n\t\t\t\t\tAllowedMemberTypes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"User\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"ReadOnly roles have limited query access\"),\n\t\t\t\t\tDisplayName: pulumi.String(\"ReadOnly\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tId: pulumi.String(\"497406e4-012a-4267-bf18-45a1cb148a01\"),\n\t\t\t\t\tValue: pulumi.String(\"User\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFeatureTags: ApplicationFeatureTagArray{\n\t\t\t\t\u0026ApplicationFeatureTagArgs{\n\t\t\t\t\tEnterprise: pulumi.Bool(true),\n\t\t\t\t\tGallery: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOptionalClaims: \u0026ApplicationOptionalClaimsArgs{\n\t\t\t\tAccessTokens: ApplicationOptionalClaimsAccessTokenArray{\n\t\t\t\t\t\u0026ApplicationOptionalClaimsAccessTokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"myclaim\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ApplicationOptionalClaimsAccessTokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"otherclaim\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIdTokens: ApplicationOptionalClaimsIdTokenArray{\n\t\t\t\t\t\u0026ApplicationOptionalClaimsIdTokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"userclaim\"),\n\t\t\t\t\t\tSource: pulumi.String(\"user\"),\n\t\t\t\t\t\tEssential: pulumi.Bool(true),\n\t\t\t\t\t\tAdditionalProperties: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"emit_as_roles\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSaml2Tokens: ApplicationOptionalClaimsSaml2TokenArray{\n\t\t\t\t\t\u0026ApplicationOptionalClaimsSaml2TokenArgs{\n\t\t\t\t\t\tName: pulumi.String(\"samlexample\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(\"00000003-0000-0000-c000-000000000000\"),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"df021288-bdef-4463-88db-98f22de89214\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"b4e74841-8e56-480b-be8b-910348b18b4c\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(\"c5393580-f805-4401-95e8-94b7a6ef2fc2\"),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: pulumi.String(\"594c1fb6-4f81-4475-ae41-0c394909246c\"),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tWeb: \u0026ApplicationWebArgs{\n\t\t\t\tHomepageUrl: pulumi.String(\"https://app.example.net\"),\n\t\t\t\tLogoutUrl: pulumi.String(\"https://app.example.net/logout\"),\n\t\t\t\tRedirectUris: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"https://app.example.net/account\"),\n\t\t\t\t},\n\t\t\t\tImplicitGrant: \u0026ApplicationWebImplicitGrantArgs{\n\t\t\t\t\tAccessTokenIssuanceEnabled: pulumi.Bool(true),\n\t\t\t\t\tIdTokenIssuanceEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var example = new Application(\"example\", ApplicationArgs.builder() \n .displayName(\"example\")\n .identifierUris(\"api://example-app\")\n .logoImage(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(\"/path/to/logo.png\"))))\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .signInAudience(\"AzureADMultipleOrgs\")\n .api(ApplicationApi.builder()\n .mappedClaimsEnabled(true)\n .requestedAccessTokenVersion(2)\n .knownClientApplications( \n azuread_application.getKnown1().getApplication_id(),\n azuread_application.getKnown2().getApplication_id())\n .oauth2PermissionScopes( \n ApplicationApiOauth2PermissionScope.builder()\n .adminConsentDescription(\"Allow the application to access example on behalf of the signed-in user.\")\n .adminConsentDisplayName(\"Access example\")\n .enabled(true)\n .id(\"96183846-204b-4b43-82e1-5d2222eb4b9b\")\n .type(\"User\")\n .userConsentDescription(\"Allow the application to access example on your behalf.\")\n .userConsentDisplayName(\"Access example\")\n .value(\"user_impersonation\")\n .build(),\n ApplicationApiOauth2PermissionScope.builder()\n .adminConsentDescription(\"Administer the example application\")\n .adminConsentDisplayName(\"Administer\")\n .enabled(true)\n .id(\"be98fa3e-ab5b-4b11-83d9-04ba2b7946bc\")\n .type(\"Admin\")\n .value(\"administer\")\n .build())\n .build())\n .appRoles( \n ApplicationAppRole.builder()\n .allowedMemberTypes( \n \"User\",\n \"Application\")\n .description(\"Admins can manage roles and perform all task actions\")\n .displayName(\"Admin\")\n .enabled(true)\n .id(\"1b19509b-32b1-4e9f-b71d-4992aa991967\")\n .value(\"admin\")\n .build(),\n ApplicationAppRole.builder()\n .allowedMemberTypes(\"User\")\n .description(\"ReadOnly roles have limited query access\")\n .displayName(\"ReadOnly\")\n .enabled(true)\n .id(\"497406e4-012a-4267-bf18-45a1cb148a01\")\n .value(\"User\")\n .build())\n .featureTags(ApplicationFeatureTag.builder()\n .enterprise(true)\n .gallery(true)\n .build())\n .optionalClaims(ApplicationOptionalClaims.builder()\n .accessTokens( \n ApplicationOptionalClaimsAccessToken.builder()\n .name(\"myclaim\")\n .build(),\n ApplicationOptionalClaimsAccessToken.builder()\n .name(\"otherclaim\")\n .build())\n .idTokens(ApplicationOptionalClaimsIdToken.builder()\n .name(\"userclaim\")\n .source(\"user\")\n .essential(true)\n .additionalProperties(\"emit_as_roles\")\n .build())\n .saml2Tokens(ApplicationOptionalClaimsSaml2Token.builder()\n .name(\"samlexample\")\n .build())\n .build())\n .requiredResourceAccesses( \n ApplicationRequiredResourceAccess.builder()\n .resourceAppId(\"00000003-0000-0000-c000-000000000000\")\n .resourceAccesses( \n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(\"df021288-bdef-4463-88db-98f22de89214\")\n .type(\"Role\")\n .build(),\n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(\"b4e74841-8e56-480b-be8b-910348b18b4c\")\n .type(\"Scope\")\n .build())\n .build(),\n ApplicationRequiredResourceAccess.builder()\n .resourceAppId(\"c5393580-f805-4401-95e8-94b7a6ef2fc2\")\n .resourceAccesses(ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(\"594c1fb6-4f81-4475-ae41-0c394909246c\")\n .type(\"Role\")\n .build())\n .build())\n .web(ApplicationWeb.builder()\n .homepageUrl(\"https://app.example.net\")\n .logoutUrl(\"https://app.example.net/logout\")\n .redirectUris(\"https://app.example.net/account\")\n .implicitGrant(ApplicationWebImplicitGrant.builder()\n .accessTokenIssuanceEnabled(true)\n .idTokenIssuanceEnabled(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n\n*Create application from a gallery template*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleApplicationTemplate = azuread.getApplicationTemplate({\n displayName: \"Marketo\",\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n templateId: exampleApplicationTemplate.then(exampleApplicationTemplate =\u003e exampleApplicationTemplate.templateId),\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n useExisting: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_application_template = azuread.get_application_template(display_name=\"Marketo\")\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n template_id=example_application_template.template_id)\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n use_existing=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApplicationTemplate = Output.Create(AzureAD.GetApplicationTemplate.InvokeAsync(new AzureAD.GetApplicationTemplateArgs\n {\n DisplayName = \"Marketo\",\n }));\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n TemplateId = exampleApplicationTemplate.Apply(exampleApplicationTemplate =\u003e exampleApplicationTemplate.TemplateId),\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n UseExisting = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplicationTemplate, err := azuread.GetApplicationTemplate(ctx, \u0026GetApplicationTemplateArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Marketo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tTemplateId: pulumi.String(exampleApplicationTemplate.TemplateId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleApplicationTemplate = Output.of(AzureadFunctions.getApplicationTemplate(GetApplicationTemplateArgs.builder()\n .displayName(\"Marketo\")\n .build()));\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .templateId(exampleApplicationTemplate.apply(getApplicationTemplateResult -\u003e getApplicationTemplateResult.getTemplateId()))\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .useExisting(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n templateId: ${exampleApplicationTemplate.templateId}\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n useExisting: true\nvariables:\n exampleApplicationTemplate:\n Fn::Invoke:\n Function: azuread:getApplicationTemplate\n Arguments:\n displayName: Marketo\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nApplications can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/application:Application test 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "api": { "$ref": "#/types/azuread:index/ApplicationApi:ApplicationApi", @@ -3721,7 +3721,7 @@ } }, "azuread:index/applicationFederatedIdentityCredential:ApplicationFederatedIdentityCredential": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {displayName: \"example\"});\nconst exampleApplicationFederatedIdentityCredential = new azuread.ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\", {\n applicationObjectId: exampleApplication.objectId,\n displayName: \"my-repo-deploy\",\n description: \"Deployments for my-repo\",\n audiences: [\"api://AzureADTokenExchange\"],\n issuer: \"https://token.actions.githubusercontent.com\",\n subject: \"repo:my-organization/my-repo:environment:prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_application = azuread.Application(\"exampleApplication\", display_name=\"example\")\nexample_application_federated_identity_credential = azuread.ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\",\n application_object_id=example_application.object_id,\n display_name=\"my-repo-deploy\",\n description=\"Deployments for my-repo\",\n audiences=[\"api://AzureADTokenExchange\"],\n issuer=\"https://token.actions.githubusercontent.com\",\n subject=\"repo:my-organization/my-repo:environment:prod\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n });\n var exampleApplicationFederatedIdentityCredential = new AzureAD.ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\", new AzureAD.ApplicationFederatedIdentityCredentialArgs\n {\n ApplicationObjectId = exampleApplication.ObjectId,\n DisplayName = \"my-repo-deploy\",\n Description = \"Deployments for my-repo\",\n Audiences = \n {\n \"api://AzureADTokenExchange\",\n },\n Issuer = \"https://token.actions.githubusercontent.com\",\n Subject = \"repo:my-organization/my-repo:environment:prod\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplicationFederatedIdentityCredential(ctx, \"exampleApplicationFederatedIdentityCredential\", \u0026azuread.ApplicationFederatedIdentityCredentialArgs{\n\t\t\tApplicationObjectId: exampleApplication.ObjectId,\n\t\t\tDisplayName: pulumi.String(\"my-repo-deploy\"),\n\t\t\tDescription: pulumi.String(\"Deployments for my-repo\"),\n\t\t\tAudiences: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api://AzureADTokenExchange\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://token.actions.githubusercontent.com\"),\n\t\t\tSubject: pulumi.String(\"repo:my-organization/my-repo:environment:prod\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFederated Identity Credentials can be imported using the object ID of the associated application and the ID of the federated identity credential, e.g.\n\n```sh\n $ pulumi import azuread:index/applicationFederatedIdentityCredential:ApplicationFederatedIdentityCredential test 00000000-0000-0000-0000-000000000000/federatedIdentityCredential/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the application's object ID, the string \"federatedIdentityCredential\" and the credential ID in the format `{ObjectId}/federatedIdentityCredential/{CredentialId}`. ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {displayName: \"example\"});\nconst exampleApplicationFederatedIdentityCredential = new azuread.ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\", {\n applicationObjectId: exampleApplication.objectId,\n displayName: \"my-repo-deploy\",\n description: \"Deployments for my-repo\",\n audiences: [\"api://AzureADTokenExchange\"],\n issuer: \"https://token.actions.githubusercontent.com\",\n subject: \"repo:my-organization/my-repo:environment:prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_application = azuread.Application(\"exampleApplication\", display_name=\"example\")\nexample_application_federated_identity_credential = azuread.ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\",\n application_object_id=example_application.object_id,\n display_name=\"my-repo-deploy\",\n description=\"Deployments for my-repo\",\n audiences=[\"api://AzureADTokenExchange\"],\n issuer=\"https://token.actions.githubusercontent.com\",\n subject=\"repo:my-organization/my-repo:environment:prod\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n });\n var exampleApplicationFederatedIdentityCredential = new AzureAD.ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\", new AzureAD.ApplicationFederatedIdentityCredentialArgs\n {\n ApplicationObjectId = exampleApplication.ObjectId,\n DisplayName = \"my-repo-deploy\",\n Description = \"Deployments for my-repo\",\n Audiences = \n {\n \"api://AzureADTokenExchange\",\n },\n Issuer = \"https://token.actions.githubusercontent.com\",\n Subject = \"repo:my-organization/my-repo:environment:prod\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplicationFederatedIdentityCredential(ctx, \"exampleApplicationFederatedIdentityCredential\", \u0026azuread.ApplicationFederatedIdentityCredentialArgs{\n\t\t\tApplicationObjectId: exampleApplication.ObjectId,\n\t\t\tDisplayName: pulumi.String(\"my-repo-deploy\"),\n\t\t\tDescription: pulumi.String(\"Deployments for my-repo\"),\n\t\t\tAudiences: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"api://AzureADTokenExchange\"),\n\t\t\t},\n\t\t\tIssuer: pulumi.String(\"https://token.actions.githubusercontent.com\"),\n\t\t\tSubject: pulumi.String(\"repo:my-organization/my-repo:environment:prod\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .build());\n\n var exampleApplicationFederatedIdentityCredential = new ApplicationFederatedIdentityCredential(\"exampleApplicationFederatedIdentityCredential\", ApplicationFederatedIdentityCredentialArgs.builder() \n .applicationObjectId(exampleApplication.getObjectId())\n .displayName(\"my-repo-deploy\")\n .description(\"Deployments for my-repo\")\n .audiences(\"api://AzureADTokenExchange\")\n .issuer(\"https://token.actions.githubusercontent.com\")\n .subject(\"repo:my-organization/my-repo:environment:prod\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n exampleApplicationFederatedIdentityCredential:\n type: azuread:ApplicationFederatedIdentityCredential\n properties:\n applicationObjectId: ${exampleApplication.objectId}\n displayName: my-repo-deploy\n description: Deployments for my-repo\n audiences:\n - api://AzureADTokenExchange\n issuer: https://token.actions.githubusercontent.com\n subject: repo:my-organization/my-repo:environment:prod\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nFederated Identity Credentials can be imported using the object ID of the associated application and the ID of the federated identity credential, e.g.\n\n```sh\n $ pulumi import azuread:index/applicationFederatedIdentityCredential:ApplicationFederatedIdentityCredential test 00000000-0000-0000-0000-000000000000/federatedIdentityCredential/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the application's object ID, the string \"federatedIdentityCredential\" and the credential ID in the format `{ObjectId}/federatedIdentityCredential/{CredentialId}`. ", "properties": { "applicationObjectId": { "type": "string", @@ -3959,7 +3959,7 @@ } }, "azuread:index/applicationPreAuthorized:ApplicationPreAuthorized": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst authorized = new azuread.Application(\"authorized\", {displayName: \"example-authorized-app\"});\nconst authorizer = new azuread.Application(\"authorizer\", {\n displayName: \"example-authorizing-app\",\n api: {\n oauth2PermissionScopes: [\n {\n adminConsentDescription: \"Administer the application\",\n adminConsentDisplayName: \"Administer\",\n enabled: true,\n id: \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n type: \"Admin\",\n value: \"administer\",\n },\n {\n adminConsentDescription: \"Access the application\",\n adminConsentDisplayName: \"Access\",\n enabled: true,\n id: \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n type: \"User\",\n userConsentDescription: \"Access the application\",\n userConsentDisplayName: \"Access\",\n value: \"user_impersonation\",\n },\n ],\n },\n});\nconst example = new azuread.ApplicationPreAuthorized(\"example\", {\n applicationObjectId: authorizer.objectId,\n authorizedAppId: authorized.applicationId,\n permissionIds: [\n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nauthorized = azuread.Application(\"authorized\", display_name=\"example-authorized-app\")\nauthorizer = azuread.Application(\"authorizer\",\n display_name=\"example-authorizing-app\",\n api=azuread.ApplicationApiArgs(\n oauth2_permission_scopes=[\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Administer the application\",\n admin_consent_display_name=\"Administer\",\n enabled=True,\n id=\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n type=\"Admin\",\n value=\"administer\",\n ),\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Access the application\",\n admin_consent_display_name=\"Access\",\n enabled=True,\n id=\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n type=\"User\",\n user_consent_description=\"Access the application\",\n user_consent_display_name=\"Access\",\n value=\"user_impersonation\",\n ),\n ],\n ))\nexample = azuread.ApplicationPreAuthorized(\"example\",\n application_object_id=authorizer.object_id,\n authorized_app_id=authorized.application_id,\n permission_ids=[\n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n ])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var authorized = new AzureAD.Application(\"authorized\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example-authorized-app\",\n });\n var authorizer = new AzureAD.Application(\"authorizer\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example-authorizing-app\",\n Api = new AzureAD.Inputs.ApplicationApiArgs\n {\n Oauth2PermissionScopes = \n {\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Administer the application\",\n AdminConsentDisplayName = \"Administer\",\n Enabled = true,\n Id = \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n Type = \"Admin\",\n Value = \"administer\",\n },\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Access the application\",\n AdminConsentDisplayName = \"Access\",\n Enabled = true,\n Id = \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n Type = \"User\",\n UserConsentDescription = \"Access the application\",\n UserConsentDisplayName = \"Access\",\n Value = \"user_impersonation\",\n },\n },\n },\n });\n var example = new AzureAD.ApplicationPreAuthorized(\"example\", new AzureAD.ApplicationPreAuthorizedArgs\n {\n ApplicationObjectId = authorizer.ObjectId,\n AuthorizedAppId = authorized.ApplicationId,\n PermissionIds = \n {\n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tauthorized, err := azuread.NewApplication(ctx, \"authorized\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example-authorized-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthorizer, err := azuread.NewApplication(ctx, \"authorizer\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example-authorizing-app\"),\n\t\t\tApi: \u0026ApplicationApiArgs{\n\t\t\t\tOauth2PermissionScopes: ApplicationApiOauth2PermissionScopeArray{\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Administer the application\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Administer\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\"),\n\t\t\t\t\t\tType: pulumi.String(\"Admin\"),\n\t\t\t\t\t\tValue: pulumi.String(\"administer\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Access the application\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Access\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\"),\n\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\tUserConsentDescription: pulumi.String(\"Access the application\"),\n\t\t\t\t\t\tUserConsentDisplayName: pulumi.String(\"Access\"),\n\t\t\t\t\t\tValue: pulumi.String(\"user_impersonation\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplicationPreAuthorized(ctx, \"example\", \u0026azuread.ApplicationPreAuthorizedArgs{\n\t\t\tApplicationObjectId: authorizer.ObjectId,\n\t\t\tAuthorizedAppId: authorized.ApplicationId,\n\t\t\tPermissionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\"),\n\t\t\t\tpulumi.String(\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPre-authorized applications can be imported using the object ID of the authorizing application and the application ID of the application being authorized, e.g.\n\n```sh\n $ pulumi import azuread:index/applicationPreAuthorized:ApplicationPreAuthorized example 00000000-0000-0000-0000-000000000000/preAuthorizedApplication/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the authorizing application's object ID, the string \"preAuthorizedApplication\" and the authorized application's application ID (client ID) in the format `{ObjectId}/preAuthorizedApplication/{ApplicationId}`. ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst authorized = new azuread.Application(\"authorized\", {displayName: \"example-authorized-app\"});\nconst authorizer = new azuread.Application(\"authorizer\", {\n displayName: \"example-authorizing-app\",\n api: {\n oauth2PermissionScopes: [\n {\n adminConsentDescription: \"Administer the application\",\n adminConsentDisplayName: \"Administer\",\n enabled: true,\n id: \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n type: \"Admin\",\n value: \"administer\",\n },\n {\n adminConsentDescription: \"Access the application\",\n adminConsentDisplayName: \"Access\",\n enabled: true,\n id: \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n type: \"User\",\n userConsentDescription: \"Access the application\",\n userConsentDisplayName: \"Access\",\n value: \"user_impersonation\",\n },\n ],\n },\n});\nconst example = new azuread.ApplicationPreAuthorized(\"example\", {\n applicationObjectId: authorizer.objectId,\n authorizedAppId: authorized.applicationId,\n permissionIds: [\n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nauthorized = azuread.Application(\"authorized\", display_name=\"example-authorized-app\")\nauthorizer = azuread.Application(\"authorizer\",\n display_name=\"example-authorizing-app\",\n api=azuread.ApplicationApiArgs(\n oauth2_permission_scopes=[\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Administer the application\",\n admin_consent_display_name=\"Administer\",\n enabled=True,\n id=\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n type=\"Admin\",\n value=\"administer\",\n ),\n azuread.ApplicationApiOauth2PermissionScopeArgs(\n admin_consent_description=\"Access the application\",\n admin_consent_display_name=\"Access\",\n enabled=True,\n id=\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n type=\"User\",\n user_consent_description=\"Access the application\",\n user_consent_display_name=\"Access\",\n value=\"user_impersonation\",\n ),\n ],\n ))\nexample = azuread.ApplicationPreAuthorized(\"example\",\n application_object_id=authorizer.object_id,\n authorized_app_id=authorized.application_id,\n permission_ids=[\n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n ])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var authorized = new AzureAD.Application(\"authorized\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example-authorized-app\",\n });\n var authorizer = new AzureAD.Application(\"authorizer\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example-authorizing-app\",\n Api = new AzureAD.Inputs.ApplicationApiArgs\n {\n Oauth2PermissionScopes = \n {\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Administer the application\",\n AdminConsentDisplayName = \"Administer\",\n Enabled = true,\n Id = \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n Type = \"Admin\",\n Value = \"administer\",\n },\n new AzureAD.Inputs.ApplicationApiOauth2PermissionScopeArgs\n {\n AdminConsentDescription = \"Access the application\",\n AdminConsentDisplayName = \"Access\",\n Enabled = true,\n Id = \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n Type = \"User\",\n UserConsentDescription = \"Access the application\",\n UserConsentDisplayName = \"Access\",\n Value = \"user_impersonation\",\n },\n },\n },\n });\n var example = new AzureAD.ApplicationPreAuthorized(\"example\", new AzureAD.ApplicationPreAuthorizedArgs\n {\n ApplicationObjectId = authorizer.ObjectId,\n AuthorizedAppId = authorized.ApplicationId,\n PermissionIds = \n {\n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tauthorized, err := azuread.NewApplication(ctx, \"authorized\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example-authorized-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tauthorizer, err := azuread.NewApplication(ctx, \"authorizer\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example-authorizing-app\"),\n\t\t\tApi: \u0026ApplicationApiArgs{\n\t\t\t\tOauth2PermissionScopes: ApplicationApiOauth2PermissionScopeArray{\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Administer the application\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Administer\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\"),\n\t\t\t\t\t\tType: pulumi.String(\"Admin\"),\n\t\t\t\t\t\tValue: pulumi.String(\"administer\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026ApplicationApiOauth2PermissionScopeArgs{\n\t\t\t\t\t\tAdminConsentDescription: pulumi.String(\"Access the application\"),\n\t\t\t\t\t\tAdminConsentDisplayName: pulumi.String(\"Access\"),\n\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\tId: pulumi.String(\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\"),\n\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\tUserConsentDescription: pulumi.String(\"Access the application\"),\n\t\t\t\t\t\tUserConsentDisplayName: pulumi.String(\"Access\"),\n\t\t\t\t\t\tValue: pulumi.String(\"user_impersonation\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplicationPreAuthorized(ctx, \"example\", \u0026azuread.ApplicationPreAuthorizedArgs{\n\t\t\tApplicationObjectId: authorizer.ObjectId,\n\t\t\tAuthorizedAppId: authorized.ApplicationId,\n\t\t\tPermissionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\"),\n\t\t\t\tpulumi.String(\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var authorized = new Application(\"authorized\", ApplicationArgs.builder() \n .displayName(\"example-authorized-app\")\n .build());\n\n var authorizer = new Application(\"authorizer\", ApplicationArgs.builder() \n .displayName(\"example-authorizing-app\")\n .api(ApplicationApi.builder()\n .oauth2PermissionScopes( \n ApplicationApiOauth2PermissionScope.builder()\n .adminConsentDescription(\"Administer the application\")\n .adminConsentDisplayName(\"Administer\")\n .enabled(true)\n .id(\"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\")\n .type(\"Admin\")\n .value(\"administer\")\n .build(),\n ApplicationApiOauth2PermissionScope.builder()\n .adminConsentDescription(\"Access the application\")\n .adminConsentDisplayName(\"Access\")\n .enabled(true)\n .id(\"2d5e07ca-664d-4d9b-ad61-ec07fd215213\")\n .type(\"User\")\n .userConsentDescription(\"Access the application\")\n .userConsentDisplayName(\"Access\")\n .value(\"user_impersonation\")\n .build())\n .build())\n .build());\n\n var example = new ApplicationPreAuthorized(\"example\", ApplicationPreAuthorizedArgs.builder() \n .applicationObjectId(authorizer.getObjectId())\n .authorizedAppId(authorized.getApplicationId())\n .permissionIds( \n \"ced9c4c3-c273-4f0f-ac71-a20377b90f9c\",\n \"2d5e07ca-664d-4d9b-ad61-ec07fd215213\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n authorized:\n type: azuread:Application\n properties:\n displayName: example-authorized-app\n authorizer:\n type: azuread:Application\n properties:\n displayName: example-authorizing-app\n api:\n oauth2PermissionScopes:\n - adminConsentDescription: Administer the application\n adminConsentDisplayName: Administer\n enabled: true\n id: ced9c4c3-c273-4f0f-ac71-a20377b90f9c\n type: Admin\n value: administer\n - adminConsentDescription: Access the application\n adminConsentDisplayName: Access\n enabled: true\n id: 2d5e07ca-664d-4d9b-ad61-ec07fd215213\n type: User\n userConsentDescription: Access the application\n userConsentDisplayName: Access\n value: user_impersonation\n example:\n type: azuread:ApplicationPreAuthorized\n properties:\n applicationObjectId: ${authorizer.objectId}\n authorizedAppId: ${authorized.applicationId}\n permissionIds:\n - ced9c4c3-c273-4f0f-ac71-a20377b90f9c\n - 2d5e07ca-664d-4d9b-ad61-ec07fd215213\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nPre-authorized applications can be imported using the object ID of the authorizing application and the application ID of the application being authorized, e.g.\n\n```sh\n $ pulumi import azuread:index/applicationPreAuthorized:ApplicationPreAuthorized example 00000000-0000-0000-0000-000000000000/preAuthorizedApplication/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the authorizing application's object ID, the string \"preAuthorizedApplication\" and the authorized application's application ID (client ID) in the format `{ObjectId}/preAuthorizedApplication/{ApplicationId}`. ", "properties": { "applicationObjectId": { "type": "string", @@ -4027,7 +4027,7 @@ } }, "azuread:index/claimsMappingPolicy:ClaimsMappingPolicy": { - "description": "Manages a Claims Mapping Policy within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ApplicationConfiguration` \n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst myPolicy = new azuread.ClaimsMappingPolicy(\"myPolicy\", {\n definitions: [JSON.stringify({\n ClaimsMappingPolicy: {\n ClaimsSchema: [\n {\n ID: \"employeeid\",\n JwtClaimType: \"name\",\n SamlClaimType: \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\n Source: \"user\",\n },\n {\n ID: \"tenantcountry\",\n JwtClaimType: \"country\",\n SamlClaimType: \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\",\n Source: \"company\",\n },\n ],\n IncludeBasicClaimSet: \"true\",\n Version: 1,\n },\n })],\n displayName: \"My Policy\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azuread as azuread\n\nmy_policy = azuread.ClaimsMappingPolicy(\"myPolicy\",\n definitions=[json.dumps({\n \"ClaimsMappingPolicy\": {\n \"ClaimsSchema\": [\n {\n \"ID\": \"employeeid\",\n \"JwtClaimType\": \"name\",\n \"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\n \"Source\": \"user\",\n },\n {\n \"ID\": \"tenantcountry\",\n \"JwtClaimType\": \"country\",\n \"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\",\n \"Source\": \"company\",\n },\n ],\n \"IncludeBasicClaimSet\": \"true\",\n \"Version\": 1,\n },\n })],\n display_name=\"My Policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var myPolicy = new AzureAD.ClaimsMappingPolicy(\"myPolicy\", new AzureAD.ClaimsMappingPolicyArgs\n {\n Definitions = \n {\n JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n { \"ClaimsMappingPolicy\", new Dictionary\u003cstring, object?\u003e\n {\n { \"ClaimsSchema\", new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n { \"ID\", \"employeeid\" },\n { \"JwtClaimType\", \"name\" },\n { \"SamlClaimType\", \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\" },\n { \"Source\", \"user\" },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n { \"ID\", \"tenantcountry\" },\n { \"JwtClaimType\", \"country\" },\n { \"SamlClaimType\", \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\" },\n { \"Source\", \"company\" },\n },\n }\n },\n { \"IncludeBasicClaimSet\", \"true\" },\n { \"Version\", 1 },\n } },\n }),\n },\n DisplayName = \"My Policy\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ClaimsMappingPolicy\": map[string]interface{}{\n\t\t\t\t\"ClaimsSchema\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ID\": \"employeeid\",\n\t\t\t\t\t\t\"JwtClaimType\": \"name\",\n\t\t\t\t\t\t\"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\n\t\t\t\t\t\t\"Source\": \"user\",\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ID\": \"tenantcountry\",\n\t\t\t\t\t\t\"JwtClaimType\": \"country\",\n\t\t\t\t\t\t\"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\",\n\t\t\t\t\t\t\"Source\": \"company\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"IncludeBasicClaimSet\": \"true\",\n\t\t\t\t\"Version\": 1,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err := azuread.NewClaimsMappingPolicy(ctx, \"myPolicy\", \u0026azuread.ClaimsMappingPolicyArgs{\n\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\tpulumi.String(json0),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"My Policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nClaims Mapping Policy can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import azuread:index/claimsMappingPolicy:ClaimsMappingPolicy my_policy 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a Claims Mapping Policy within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ApplicationConfiguration` \n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst myPolicy = new azuread.ClaimsMappingPolicy(\"myPolicy\", {\n definitions: [JSON.stringify({\n ClaimsMappingPolicy: {\n ClaimsSchema: [\n {\n ID: \"employeeid\",\n JwtClaimType: \"name\",\n SamlClaimType: \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\n Source: \"user\",\n },\n {\n ID: \"tenantcountry\",\n JwtClaimType: \"country\",\n SamlClaimType: \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\",\n Source: \"company\",\n },\n ],\n IncludeBasicClaimSet: \"true\",\n Version: 1,\n },\n })],\n displayName: \"My Policy\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_azuread as azuread\n\nmy_policy = azuread.ClaimsMappingPolicy(\"myPolicy\",\n definitions=[json.dumps({\n \"ClaimsMappingPolicy\": {\n \"ClaimsSchema\": [\n {\n \"ID\": \"employeeid\",\n \"JwtClaimType\": \"name\",\n \"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\n \"Source\": \"user\",\n },\n {\n \"ID\": \"tenantcountry\",\n \"JwtClaimType\": \"country\",\n \"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\",\n \"Source\": \"company\",\n },\n ],\n \"IncludeBasicClaimSet\": \"true\",\n \"Version\": 1,\n },\n })],\n display_name=\"My Policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var myPolicy = new AzureAD.ClaimsMappingPolicy(\"myPolicy\", new AzureAD.ClaimsMappingPolicyArgs\n {\n Definitions = \n {\n JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n { \"ClaimsMappingPolicy\", new Dictionary\u003cstring, object?\u003e\n {\n { \"ClaimsSchema\", new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n { \"ID\", \"employeeid\" },\n { \"JwtClaimType\", \"name\" },\n { \"SamlClaimType\", \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\" },\n { \"Source\", \"user\" },\n },\n new Dictionary\u003cstring, object?\u003e\n {\n { \"ID\", \"tenantcountry\" },\n { \"JwtClaimType\", \"country\" },\n { \"SamlClaimType\", \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\" },\n { \"Source\", \"company\" },\n },\n }\n },\n { \"IncludeBasicClaimSet\", \"true\" },\n { \"Version\", 1 },\n } },\n }),\n },\n DisplayName = \"My Policy\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"ClaimsMappingPolicy\": map[string]interface{}{\n\t\t\t\t\"ClaimsSchema\": []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ID\": \"employeeid\",\n\t\t\t\t\t\t\"JwtClaimType\": \"name\",\n\t\t\t\t\t\t\"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\",\n\t\t\t\t\t\t\"Source\": \"user\",\n\t\t\t\t\t},\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"ID\": \"tenantcountry\",\n\t\t\t\t\t\t\"JwtClaimType\": \"country\",\n\t\t\t\t\t\t\"SamlClaimType\": \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\",\n\t\t\t\t\t\t\"Source\": \"company\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"IncludeBasicClaimSet\": \"true\",\n\t\t\t\t\"Version\": 1,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err := azuread.NewClaimsMappingPolicy(ctx, \"myPolicy\", \u0026azuread.ClaimsMappingPolicyArgs{\n\t\t\tDefinitions: pulumi.StringArray{\n\t\t\t\tpulumi.String(json0),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"My Policy\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\nimport static com.pulumi.codegen.internal.Serialization.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myPolicy = new ClaimsMappingPolicy(\"myPolicy\", ClaimsMappingPolicyArgs.builder() \n .definitions(serializeJson(\n jsonObject(\n jsonProperty(\"ClaimsMappingPolicy\", jsonObject(\n jsonProperty(\"ClaimsSchema\", jsonArray(\n jsonObject(\n jsonProperty(\"ID\", \"employeeid\"),\n jsonProperty(\"JwtClaimType\", \"name\"),\n jsonProperty(\"SamlClaimType\", \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\"),\n jsonProperty(\"Source\", \"user\")\n ), \n jsonObject(\n jsonProperty(\"ID\", \"tenantcountry\"),\n jsonProperty(\"JwtClaimType\", \"country\"),\n jsonProperty(\"SamlClaimType\", \"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\"),\n jsonProperty(\"Source\", \"company\")\n )\n )),\n jsonProperty(\"IncludeBasicClaimSet\", \"true\"),\n jsonProperty(\"Version\", 1)\n ))\n )))\n .displayName(\"My Policy\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myPolicy:\n type: azuread:ClaimsMappingPolicy\n properties:\n definitions:\n - Fn::ToJSON:\n ClaimsMappingPolicy:\n ClaimsSchema:\n - ID: employeeid\n JwtClaimType: name\n SamlClaimType: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name\n Source: user\n - ID: tenantcountry\n JwtClaimType: country\n SamlClaimType: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country\n Source: company\n IncludeBasicClaimSet: true\n Version: 1\n displayName: My Policy\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nClaims Mapping Policy can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import azuread:index/claimsMappingPolicy:ClaimsMappingPolicy my_policy 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "definitions": { "type": "array", @@ -4081,7 +4081,7 @@ } }, "azuread:index/conditionalAccessPolicy:ConditionalAccessPolicy": { - "description": "Manages a Conditional Access Policy within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ConditionalAccess` and `Policy.Read.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Conditional Access Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.ConditionalAccessPolicy(\"example\", {\n conditions: {\n applications: {\n excludedApplications: [\"00000004-0000-0ff1-ce00-000000000000\"],\n includedApplications: [\"All\"],\n },\n clientAppTypes: [\"all\"],\n devices: {\n filter: {\n mode: \"exclude\",\n rule: \"device.operatingSystem eq \\\"Doors\\\"\",\n },\n },\n locations: {\n excludedLocations: [\"AllTrusted\"],\n includedLocations: [\"All\"],\n },\n platforms: {\n excludedPlatforms: [\"iOS\"],\n includedPlatforms: [\"android\"],\n },\n signInRiskLevels: [\"medium\"],\n userRiskLevels: [\"medium\"],\n users: {\n excludedUsers: [\"GuestsOrExternalUsers\"],\n includedUsers: [\"All\"],\n },\n },\n displayName: \"example policy\",\n grantControls: {\n builtInControls: [\"mfa\"],\n operator: \"OR\",\n },\n sessionControls: {\n applicationEnforcedRestrictions: [{\n enabled: true,\n }],\n cloudAppSecurity: [{\n cloudAppSecurityType: \"monitorOnly\",\n enabled: true,\n }],\n signInFrequency: [{\n enabled: true,\n type: \"hours\",\n value: 10,\n }],\n },\n state: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.ConditionalAccessPolicy(\"example\",\n conditions=azuread.ConditionalAccessPolicyConditionsArgs(\n applications=azuread.ConditionalAccessPolicyConditionsApplicationsArgs(\n excluded_applications=[\"00000004-0000-0ff1-ce00-000000000000\"],\n included_applications=[\"All\"],\n ),\n client_app_types=[\"all\"],\n devices=azuread.ConditionalAccessPolicyConditionsDevicesArgs(\n filter=azuread.ConditionalAccessPolicyConditionsDevicesFilterArgs(\n mode=\"exclude\",\n rule=\"device.operatingSystem eq \\\"Doors\\\"\",\n ),\n ),\n locations=azuread.ConditionalAccessPolicyConditionsLocationsArgs(\n excluded_locations=[\"AllTrusted\"],\n included_locations=[\"All\"],\n ),\n platforms=azuread.ConditionalAccessPolicyConditionsPlatformsArgs(\n excluded_platforms=[\"iOS\"],\n included_platforms=[\"android\"],\n ),\n sign_in_risk_levels=[\"medium\"],\n user_risk_levels=[\"medium\"],\n users=azuread.ConditionalAccessPolicyConditionsUsersArgs(\n excluded_users=[\"GuestsOrExternalUsers\"],\n included_users=[\"All\"],\n ),\n ),\n display_name=\"example policy\",\n grant_controls=azuread.ConditionalAccessPolicyGrantControlsArgs(\n built_in_controls=[\"mfa\"],\n operator=\"OR\",\n ),\n session_controls=azuread.ConditionalAccessPolicySessionControlsArgs(\n application_enforced_restrictions=[{\n \"enabled\": True,\n }],\n cloud_app_security=[{\n \"cloudAppSecurityType\": \"monitorOnly\",\n \"enabled\": True,\n }],\n sign_in_frequency=[{\n \"enabled\": True,\n \"type\": \"hours\",\n \"value\": 10,\n }],\n ),\n state=\"disabled\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.ConditionalAccessPolicy(\"example\", new AzureAD.ConditionalAccessPolicyArgs\n {\n Conditions = new AzureAD.Inputs.ConditionalAccessPolicyConditionsArgs\n {\n Applications = new AzureAD.Inputs.ConditionalAccessPolicyConditionsApplicationsArgs\n {\n ExcludedApplications = \n {\n \"00000004-0000-0ff1-ce00-000000000000\",\n },\n IncludedApplications = \n {\n \"All\",\n },\n },\n ClientAppTypes = \n {\n \"all\",\n },\n Devices = new AzureAD.Inputs.ConditionalAccessPolicyConditionsDevicesArgs\n {\n Filter = new AzureAD.Inputs.ConditionalAccessPolicyConditionsDevicesFilterArgs\n {\n Mode = \"exclude\",\n Rule = \"device.operatingSystem eq \\\"Doors\\\"\",\n },\n },\n Locations = new AzureAD.Inputs.ConditionalAccessPolicyConditionsLocationsArgs\n {\n ExcludedLocations = \n {\n \"AllTrusted\",\n },\n IncludedLocations = \n {\n \"All\",\n },\n },\n Platforms = new AzureAD.Inputs.ConditionalAccessPolicyConditionsPlatformsArgs\n {\n ExcludedPlatforms = \n {\n \"iOS\",\n },\n IncludedPlatforms = \n {\n \"android\",\n },\n },\n SignInRiskLevels = \n {\n \"medium\",\n },\n UserRiskLevels = \n {\n \"medium\",\n },\n Users = new AzureAD.Inputs.ConditionalAccessPolicyConditionsUsersArgs\n {\n ExcludedUsers = \n {\n \"GuestsOrExternalUsers\",\n },\n IncludedUsers = \n {\n \"All\",\n },\n },\n },\n DisplayName = \"example policy\",\n GrantControls = new AzureAD.Inputs.ConditionalAccessPolicyGrantControlsArgs\n {\n BuiltInControls = \n {\n \"mfa\",\n },\n Operator = \"OR\",\n },\n SessionControls = new AzureAD.Inputs.ConditionalAccessPolicySessionControlsArgs\n {\n ApplicationEnforcedRestrictions = \n {\n \n {\n { \"enabled\", true },\n },\n },\n CloudAppSecurity = \n {\n \n {\n { \"cloudAppSecurityType\", \"monitorOnly\" },\n { \"enabled\", true },\n },\n },\n SignInFrequency = \n {\n \n {\n { \"enabled\", true },\n { \"type\", \"hours\" },\n { \"value\", 10 },\n },\n },\n },\n State = \"disabled\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewConditionalAccessPolicy(ctx, \"example\", \u0026azuread.ConditionalAccessPolicyArgs{\n\t\t\tConditions: \u0026ConditionalAccessPolicyConditionsArgs{\n\t\t\t\tApplications: \u0026ConditionalAccessPolicyConditionsApplicationsArgs{\n\t\t\t\t\tExcludedApplications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"00000004-0000-0ff1-ce00-000000000000\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedApplications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tClientAppTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t\tDevices: \u0026ConditionalAccessPolicyConditionsDevicesArgs{\n\t\t\t\t\tFilter: \u0026ConditionalAccessPolicyConditionsDevicesFilterArgs{\n\t\t\t\t\t\tMode: pulumi.String(\"exclude\"),\n\t\t\t\t\t\tRule: pulumi.String(\"device.operatingSystem eq \\\"Doors\\\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLocations: \u0026ConditionalAccessPolicyConditionsLocationsArgs{\n\t\t\t\t\tExcludedLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AllTrusted\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPlatforms: \u0026ConditionalAccessPolicyConditionsPlatformsArgs{\n\t\t\t\t\tExcludedPlatforms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"iOS\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedPlatforms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"android\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSignInRiskLevels: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\tUserRiskLevels: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\tUsers: \u0026ConditionalAccessPolicyConditionsUsersArgs{\n\t\t\t\t\tExcludedUsers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GuestsOrExternalUsers\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedUsers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"example policy\"),\n\t\t\tGrantControls: \u0026ConditionalAccessPolicyGrantControlsArgs{\n\t\t\t\tBuiltInControls: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"mfa\"),\n\t\t\t\t},\n\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t},\n\t\t\tSessionControls: \u0026ConditionalAccessPolicySessionControlsArgs{\n\t\t\t\tApplicationEnforcedRestrictions: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCloudAppSecurity: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"cloudAppSecurityType\": \"monitorOnly\",\n\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSignInFrequency: pulumi.Int{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\"type\": \"hours\",\n\t\t\t\t\t\t\"value\": 10,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tState: pulumi.String(\"disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nConditional Access Policies can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import azuread:index/conditionalAccessPolicy:ConditionalAccessPolicy my_location 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a Conditional Access Policy within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ConditionalAccess` and `Policy.Read.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Conditional Access Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.ConditionalAccessPolicy(\"example\", {\n conditions: {\n applications: {\n excludedApplications: [\"00000004-0000-0ff1-ce00-000000000000\"],\n includedApplications: [\"All\"],\n },\n clientAppTypes: [\"all\"],\n devices: {\n filter: {\n mode: \"exclude\",\n rule: \"device.operatingSystem eq \\\"Doors\\\"\",\n },\n },\n locations: {\n excludedLocations: [\"AllTrusted\"],\n includedLocations: [\"All\"],\n },\n platforms: {\n excludedPlatforms: [\"iOS\"],\n includedPlatforms: [\"android\"],\n },\n signInRiskLevels: [\"medium\"],\n userRiskLevels: [\"medium\"],\n users: {\n excludedUsers: [\"GuestsOrExternalUsers\"],\n includedUsers: [\"All\"],\n },\n },\n displayName: \"example policy\",\n grantControls: {\n builtInControls: [\"mfa\"],\n operator: \"OR\",\n },\n sessionControls: {\n applicationEnforcedRestrictions: [{\n enabled: true,\n }],\n cloudAppSecurity: [{\n cloudAppSecurityType: \"monitorOnly\",\n enabled: true,\n }],\n signInFrequency: [{\n enabled: true,\n type: \"hours\",\n value: 10,\n }],\n },\n state: \"disabled\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.ConditionalAccessPolicy(\"example\",\n conditions=azuread.ConditionalAccessPolicyConditionsArgs(\n applications=azuread.ConditionalAccessPolicyConditionsApplicationsArgs(\n excluded_applications=[\"00000004-0000-0ff1-ce00-000000000000\"],\n included_applications=[\"All\"],\n ),\n client_app_types=[\"all\"],\n devices=azuread.ConditionalAccessPolicyConditionsDevicesArgs(\n filter=azuread.ConditionalAccessPolicyConditionsDevicesFilterArgs(\n mode=\"exclude\",\n rule=\"device.operatingSystem eq \\\"Doors\\\"\",\n ),\n ),\n locations=azuread.ConditionalAccessPolicyConditionsLocationsArgs(\n excluded_locations=[\"AllTrusted\"],\n included_locations=[\"All\"],\n ),\n platforms=azuread.ConditionalAccessPolicyConditionsPlatformsArgs(\n excluded_platforms=[\"iOS\"],\n included_platforms=[\"android\"],\n ),\n sign_in_risk_levels=[\"medium\"],\n user_risk_levels=[\"medium\"],\n users=azuread.ConditionalAccessPolicyConditionsUsersArgs(\n excluded_users=[\"GuestsOrExternalUsers\"],\n included_users=[\"All\"],\n ),\n ),\n display_name=\"example policy\",\n grant_controls=azuread.ConditionalAccessPolicyGrantControlsArgs(\n built_in_controls=[\"mfa\"],\n operator=\"OR\",\n ),\n session_controls=azuread.ConditionalAccessPolicySessionControlsArgs(\n application_enforced_restrictions=[{\n \"enabled\": True,\n }],\n cloud_app_security=[{\n \"cloudAppSecurityType\": \"monitorOnly\",\n \"enabled\": True,\n }],\n sign_in_frequency=[{\n \"enabled\": True,\n \"type\": \"hours\",\n \"value\": 10,\n }],\n ),\n state=\"disabled\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.ConditionalAccessPolicy(\"example\", new AzureAD.ConditionalAccessPolicyArgs\n {\n Conditions = new AzureAD.Inputs.ConditionalAccessPolicyConditionsArgs\n {\n Applications = new AzureAD.Inputs.ConditionalAccessPolicyConditionsApplicationsArgs\n {\n ExcludedApplications = \n {\n \"00000004-0000-0ff1-ce00-000000000000\",\n },\n IncludedApplications = \n {\n \"All\",\n },\n },\n ClientAppTypes = \n {\n \"all\",\n },\n Devices = new AzureAD.Inputs.ConditionalAccessPolicyConditionsDevicesArgs\n {\n Filter = new AzureAD.Inputs.ConditionalAccessPolicyConditionsDevicesFilterArgs\n {\n Mode = \"exclude\",\n Rule = \"device.operatingSystem eq \\\"Doors\\\"\",\n },\n },\n Locations = new AzureAD.Inputs.ConditionalAccessPolicyConditionsLocationsArgs\n {\n ExcludedLocations = \n {\n \"AllTrusted\",\n },\n IncludedLocations = \n {\n \"All\",\n },\n },\n Platforms = new AzureAD.Inputs.ConditionalAccessPolicyConditionsPlatformsArgs\n {\n ExcludedPlatforms = \n {\n \"iOS\",\n },\n IncludedPlatforms = \n {\n \"android\",\n },\n },\n SignInRiskLevels = \n {\n \"medium\",\n },\n UserRiskLevels = \n {\n \"medium\",\n },\n Users = new AzureAD.Inputs.ConditionalAccessPolicyConditionsUsersArgs\n {\n ExcludedUsers = \n {\n \"GuestsOrExternalUsers\",\n },\n IncludedUsers = \n {\n \"All\",\n },\n },\n },\n DisplayName = \"example policy\",\n GrantControls = new AzureAD.Inputs.ConditionalAccessPolicyGrantControlsArgs\n {\n BuiltInControls = \n {\n \"mfa\",\n },\n Operator = \"OR\",\n },\n SessionControls = new AzureAD.Inputs.ConditionalAccessPolicySessionControlsArgs\n {\n ApplicationEnforcedRestrictions = \n {\n \n {\n { \"enabled\", true },\n },\n },\n CloudAppSecurity = \n {\n \n {\n { \"cloudAppSecurityType\", \"monitorOnly\" },\n { \"enabled\", true },\n },\n },\n SignInFrequency = \n {\n \n {\n { \"enabled\", true },\n { \"type\", \"hours\" },\n { \"value\", 10 },\n },\n },\n },\n State = \"disabled\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewConditionalAccessPolicy(ctx, \"example\", \u0026azuread.ConditionalAccessPolicyArgs{\n\t\t\tConditions: \u0026ConditionalAccessPolicyConditionsArgs{\n\t\t\t\tApplications: \u0026ConditionalAccessPolicyConditionsApplicationsArgs{\n\t\t\t\t\tExcludedApplications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"00000004-0000-0ff1-ce00-000000000000\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedApplications: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tClientAppTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"all\"),\n\t\t\t\t},\n\t\t\t\tDevices: \u0026ConditionalAccessPolicyConditionsDevicesArgs{\n\t\t\t\t\tFilter: \u0026ConditionalAccessPolicyConditionsDevicesFilterArgs{\n\t\t\t\t\t\tMode: pulumi.String(\"exclude\"),\n\t\t\t\t\t\tRule: pulumi.String(\"device.operatingSystem eq \\\"Doors\\\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLocations: \u0026ConditionalAccessPolicyConditionsLocationsArgs{\n\t\t\t\t\tExcludedLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AllTrusted\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedLocations: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPlatforms: \u0026ConditionalAccessPolicyConditionsPlatformsArgs{\n\t\t\t\t\tExcludedPlatforms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"iOS\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedPlatforms: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"android\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSignInRiskLevels: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\tUserRiskLevels: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"medium\"),\n\t\t\t\t},\n\t\t\t\tUsers: \u0026ConditionalAccessPolicyConditionsUsersArgs{\n\t\t\t\t\tExcludedUsers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GuestsOrExternalUsers\"),\n\t\t\t\t\t},\n\t\t\t\t\tIncludedUsers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"All\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"example policy\"),\n\t\t\tGrantControls: \u0026ConditionalAccessPolicyGrantControlsArgs{\n\t\t\t\tBuiltInControls: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"mfa\"),\n\t\t\t\t},\n\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t},\n\t\t\tSessionControls: \u0026ConditionalAccessPolicySessionControlsArgs{\n\t\t\t\tApplicationEnforcedRestrictions: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCloudAppSecurity: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"cloudAppSecurityType\": \"monitorOnly\",\n\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSignInFrequency: pulumi.Int{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t\"type\": \"hours\",\n\t\t\t\t\t\t\"value\": 10,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tState: pulumi.String(\"disabled\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new ConditionalAccessPolicy(\"example\", ConditionalAccessPolicyArgs.builder() \n .conditions(ConditionalAccessPolicyConditions.builder()\n .applications(ConditionalAccessPolicyConditionsApplications.builder()\n .excludedApplications(\"00000004-0000-0ff1-ce00-000000000000\")\n .includedApplications(\"All\")\n .build())\n .clientAppTypes(\"all\")\n .devices(ConditionalAccessPolicyConditionsDevices.builder()\n .filter(ConditionalAccessPolicyConditionsDevicesFilter.builder()\n .mode(\"exclude\")\n .rule(\"device.operatingSystem eq \\\"Doors\\\"\")\n .build())\n .build())\n .locations(ConditionalAccessPolicyConditionsLocations.builder()\n .excludedLocations(\"AllTrusted\")\n .includedLocations(\"All\")\n .build())\n .platforms(ConditionalAccessPolicyConditionsPlatforms.builder()\n .excludedPlatforms(\"iOS\")\n .includedPlatforms(\"android\")\n .build())\n .signInRiskLevels(\"medium\")\n .userRiskLevels(\"medium\")\n .users(ConditionalAccessPolicyConditionsUsers.builder()\n .excludedUsers(\"GuestsOrExternalUsers\")\n .includedUsers(\"All\")\n .build())\n .build())\n .displayName(\"example policy\")\n .grantControls(ConditionalAccessPolicyGrantControls.builder()\n .builtInControls(\"mfa\")\n .operator(\"OR\")\n .build())\n .sessionControls(ConditionalAccessPolicySessionControls.builder()\n .applicationEnforcedRestrictions(Map.of(\"enabled\", true))\n .cloudAppSecurity(Map.ofEntries(\n Map.entry(\"cloudAppSecurityType\", \"monitorOnly\"),\n Map.entry(\"enabled\", true)\n ))\n .signInFrequency(Map.ofEntries(\n Map.entry(\"enabled\", true),\n Map.entry(\"type\", \"hours\"),\n Map.entry(\"value\", 10)\n ))\n .build())\n .state(\"disabled\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:ConditionalAccessPolicy\n properties:\n conditions:\n applications:\n excludedApplications:\n - 00000004-0000-0ff1-ce00-000000000000\n includedApplications:\n - All\n clientAppTypes:\n - all\n devices:\n filter:\n mode: exclude\n rule: device.operatingSystem eq \"Doors\"\n locations:\n excludedLocations:\n - AllTrusted\n includedLocations:\n - All\n platforms:\n excludedPlatforms:\n - iOS\n includedPlatforms:\n - android\n signInRiskLevels:\n - medium\n userRiskLevels:\n - medium\n users:\n excludedUsers:\n - GuestsOrExternalUsers\n includedUsers:\n - All\n displayName: example policy\n grantControls:\n builtInControls:\n - mfa\n operator: OR\n sessionControls:\n applicationEnforcedRestrictions:\n - enabled: true\n cloudAppSecurity:\n - cloudAppSecurityType: monitorOnly\n enabled: true\n signInFrequency:\n - enabled: true\n type: hours\n value: 10\n state: disabled\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nConditional Access Policies can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import azuread:index/conditionalAccessPolicy:ConditionalAccessPolicy my_location 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "conditions": { "$ref": "#/types/azuread:index/ConditionalAccessPolicyConditions:ConditionalAccessPolicyConditions", @@ -4166,7 +4166,7 @@ } }, "azuread:index/customDirectoryRole:CustomDirectoryRole": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.CustomDirectoryRole(\"example\", {\n description: \"Allows reading applications and updating groups\",\n displayName: \"My Custom Role\",\n enabled: true,\n permissions: [\n {\n allowedResourceActions: [\n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\",\n ],\n },\n {\n allowedResourceActions: [\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\",\n ],\n },\n ],\n version: \"1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.CustomDirectoryRole(\"example\",\n description=\"Allows reading applications and updating groups\",\n display_name=\"My Custom Role\",\n enabled=True,\n permissions=[\n azuread.CustomDirectoryRolePermissionArgs(\n allowed_resource_actions=[\n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\",\n ],\n ),\n azuread.CustomDirectoryRolePermissionArgs(\n allowed_resource_actions=[\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\",\n ],\n ),\n ],\n version=\"1.0\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.CustomDirectoryRole(\"example\", new AzureAD.CustomDirectoryRoleArgs\n {\n Description = \"Allows reading applications and updating groups\",\n DisplayName = \"My Custom Role\",\n Enabled = true,\n Permissions = \n {\n new AzureAD.Inputs.CustomDirectoryRolePermissionArgs\n {\n AllowedResourceActions = \n {\n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\",\n },\n },\n new AzureAD.Inputs.CustomDirectoryRolePermissionArgs\n {\n AllowedResourceActions = \n {\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\",\n },\n },\n },\n Version = \"1.0\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewCustomDirectoryRole(ctx, \"example\", \u0026azuread.CustomDirectoryRoleArgs{\n\t\t\tDescription: pulumi.String(\"Allows reading applications and updating groups\"),\n\t\t\tDisplayName: pulumi.String(\"My Custom Role\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPermissions: CustomDirectoryRolePermissionArray{\n\t\t\t\t\u0026CustomDirectoryRolePermissionArgs{\n\t\t\t\t\tAllowedResourceActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/applications/basic/update\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/applications/create\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/applications/standard/read\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026CustomDirectoryRolePermissionArgs{\n\t\t\t\t\tAllowedResourceActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/allProperties/read\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/allProperties/read\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/basic/update\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/create\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/delete\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource does not support importing. ", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.CustomDirectoryRole(\"example\", {\n description: \"Allows reading applications and updating groups\",\n displayName: \"My Custom Role\",\n enabled: true,\n permissions: [\n {\n allowedResourceActions: [\n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\",\n ],\n },\n {\n allowedResourceActions: [\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\",\n ],\n },\n ],\n version: \"1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.CustomDirectoryRole(\"example\",\n description=\"Allows reading applications and updating groups\",\n display_name=\"My Custom Role\",\n enabled=True,\n permissions=[\n azuread.CustomDirectoryRolePermissionArgs(\n allowed_resource_actions=[\n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\",\n ],\n ),\n azuread.CustomDirectoryRolePermissionArgs(\n allowed_resource_actions=[\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\",\n ],\n ),\n ],\n version=\"1.0\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.CustomDirectoryRole(\"example\", new AzureAD.CustomDirectoryRoleArgs\n {\n Description = \"Allows reading applications and updating groups\",\n DisplayName = \"My Custom Role\",\n Enabled = true,\n Permissions = \n {\n new AzureAD.Inputs.CustomDirectoryRolePermissionArgs\n {\n AllowedResourceActions = \n {\n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\",\n },\n },\n new AzureAD.Inputs.CustomDirectoryRolePermissionArgs\n {\n AllowedResourceActions = \n {\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\",\n },\n },\n },\n Version = \"1.0\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewCustomDirectoryRole(ctx, \"example\", \u0026azuread.CustomDirectoryRoleArgs{\n\t\t\tDescription: pulumi.String(\"Allows reading applications and updating groups\"),\n\t\t\tDisplayName: pulumi.String(\"My Custom Role\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tPermissions: CustomDirectoryRolePermissionArray{\n\t\t\t\t\u0026CustomDirectoryRolePermissionArgs{\n\t\t\t\t\tAllowedResourceActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/applications/basic/update\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/applications/create\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/applications/standard/read\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026CustomDirectoryRolePermissionArgs{\n\t\t\t\t\tAllowedResourceActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/allProperties/read\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/allProperties/read\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/basic/update\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/create\"),\n\t\t\t\t\t\tpulumi.String(\"microsoft.directory/groups/delete\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVersion: pulumi.String(\"1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new CustomDirectoryRole(\"example\", CustomDirectoryRoleArgs.builder() \n .description(\"Allows reading applications and updating groups\")\n .displayName(\"My Custom Role\")\n .enabled(true)\n .permissions( \n CustomDirectoryRolePermission.builder()\n .allowedResourceActions( \n \"microsoft.directory/applications/basic/update\",\n \"microsoft.directory/applications/create\",\n \"microsoft.directory/applications/standard/read\")\n .build(),\n CustomDirectoryRolePermission.builder()\n .allowedResourceActions( \n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/allProperties/read\",\n \"microsoft.directory/groups/basic/update\",\n \"microsoft.directory/groups/create\",\n \"microsoft.directory/groups/delete\")\n .build())\n .version(\"1.0\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:CustomDirectoryRole\n properties:\n description: Allows reading applications and updating groups\n displayName: My Custom Role\n enabled: true\n permissions:\n - allowedResourceActions:\n - microsoft.directory/applications/basic/update\n - microsoft.directory/applications/create\n - microsoft.directory/applications/standard/read\n - allowedResourceActions:\n - microsoft.directory/groups/allProperties/read\n - microsoft.directory/groups/allProperties/read\n - microsoft.directory/groups/basic/update\n - microsoft.directory/groups/create\n - microsoft.directory/groups/delete\n version: 1.0\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource does not support importing. ", "properties": { "description": { "type": "string", @@ -4282,7 +4282,7 @@ } }, "azuread:index/directoryRole:DirectoryRole": { - "description": "Manages a Directory Role within Azure Active Directory. Directory Roles are also known as Administrator Roles.\n\nDirectory Roles are built-in to Azure Active Directory and are immutable. However, by default they are not activated in a tenant (except for the Global Administrator role). This resource ensures a directory role is activated from its associated role template, and exports the object ID of the role, so that role assignments can be made for it.\n\nOnce activated, directory roles cannot be deactivated and so this resource does not perform any actions on destroy.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Activate a directory role by its template ID*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.DirectoryRole(\"example\", {\n templateId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.DirectoryRole(\"example\", template_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.DirectoryRole(\"example\", new AzureAD.DirectoryRoleArgs\n {\n TemplateId = \"00000000-0000-0000-0000-000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewDirectoryRole(ctx, \"example\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tTemplateId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Activate a directory role by display name*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.DirectoryRole(\"example\", {\n displayName: \"Printer administrator\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.DirectoryRole(\"example\", display_name=\"Printer administrator\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.DirectoryRole(\"example\", new AzureAD.DirectoryRoleArgs\n {\n DisplayName = \"Printer administrator\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewDirectoryRole(ctx, \"example\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tDisplayName: pulumi.String(\"Printer administrator\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource does not support importing. ", + "description": "Manages a Directory Role within Azure Active Directory. Directory Roles are also known as Administrator Roles.\n\nDirectory Roles are built-in to Azure Active Directory and are immutable. However, by default they are not activated in a tenant (except for the Global Administrator role). This resource ensures a directory role is activated from its associated role template, and exports the object ID of the role, so that role assignments can be made for it.\n\nOnce activated, directory roles cannot be deactivated and so this resource does not perform any actions on destroy.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Activate a directory role by its template ID*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.DirectoryRole(\"example\", {\n templateId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.DirectoryRole(\"example\", template_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.DirectoryRole(\"example\", new AzureAD.DirectoryRoleArgs\n {\n TemplateId = \"00000000-0000-0000-0000-000000000000\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewDirectoryRole(ctx, \"example\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tTemplateId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DirectoryRole(\"example\", DirectoryRoleArgs.builder() \n .templateId(\"00000000-0000-0000-0000-000000000000\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:DirectoryRole\n properties:\n templateId: 00000000-0000-0000-0000-000000000000\n```\n\n*Activate a directory role by display name*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.DirectoryRole(\"example\", {\n displayName: \"Printer administrator\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.DirectoryRole(\"example\", display_name=\"Printer administrator\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.DirectoryRole(\"example\", new AzureAD.DirectoryRoleArgs\n {\n DisplayName = \"Printer administrator\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewDirectoryRole(ctx, \"example\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tDisplayName: pulumi.String(\"Printer administrator\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new DirectoryRole(\"example\", DirectoryRoleArgs.builder() \n .displayName(\"Printer administrator\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:DirectoryRole\n properties:\n displayName: Printer administrator\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource does not support importing. ", "properties": { "description": { "type": "string", @@ -4341,7 +4341,7 @@ } }, "azuread:index/directoryRoleMember:DirectoryRoleMember": { - "description": "Manages a single directory role membership (assignment) within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleUser = azuread.getUser({\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\nconst exampleDirectoryRole = new azuread.DirectoryRole(\"exampleDirectoryRole\", {displayName: \"Security administrator\"});\nconst exampleDirectoryRoleMember = new azuread.DirectoryRoleMember(\"exampleDirectoryRoleMember\", {\n roleObjectId: exampleDirectoryRole.objectId,\n memberObjectId: exampleUser.then(exampleUser =\u003e exampleUser.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_user = azuread.get_user(user_principal_name=\"jdoe@hashicorp.com\")\nexample_directory_role = azuread.DirectoryRole(\"exampleDirectoryRole\", display_name=\"Security administrator\")\nexample_directory_role_member = azuread.DirectoryRoleMember(\"exampleDirectoryRoleMember\",\n role_object_id=example_directory_role.object_id,\n member_object_id=example_user.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"jdoe@hashicorp.com\",\n }));\n var exampleDirectoryRole = new AzureAD.DirectoryRole(\"exampleDirectoryRole\", new AzureAD.DirectoryRoleArgs\n {\n DisplayName = \"Security administrator\",\n });\n var exampleDirectoryRoleMember = new AzureAD.DirectoryRoleMember(\"exampleDirectoryRoleMember\", new AzureAD.DirectoryRoleMemberArgs\n {\n RoleObjectId = exampleDirectoryRole.ObjectId,\n MemberObjectId = exampleUser.Apply(exampleUser =\u003e exampleUser.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"jdoe@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDirectoryRole, err := azuread.NewDirectoryRole(ctx, \"exampleDirectoryRole\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tDisplayName: pulumi.String(\"Security administrator\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewDirectoryRoleMember(ctx, \"exampleDirectoryRoleMember\", \u0026azuread.DirectoryRoleMemberArgs{\n\t\t\tRoleObjectId: exampleDirectoryRole.ObjectId,\n\t\t\tMemberObjectId: pulumi.String(exampleUser.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDirectory role members can be imported using the object ID of the role and the object ID of the member, e.g.\n\n```sh\n $ pulumi import azuread:index/directoryRoleMember:DirectoryRoleMember test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Directory Role Object ID and the target Member Object ID in the format `{RoleObjectID}/member/{MemberObjectID}`. ", + "description": "Manages a single directory role membership (assignment) within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Privileged Role Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleUser = azuread.getUser({\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\nconst exampleDirectoryRole = new azuread.DirectoryRole(\"exampleDirectoryRole\", {displayName: \"Security administrator\"});\nconst exampleDirectoryRoleMember = new azuread.DirectoryRoleMember(\"exampleDirectoryRoleMember\", {\n roleObjectId: exampleDirectoryRole.objectId,\n memberObjectId: exampleUser.then(exampleUser =\u003e exampleUser.objectId),\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_user = azuread.get_user(user_principal_name=\"jdoe@hashicorp.com\")\nexample_directory_role = azuread.DirectoryRole(\"exampleDirectoryRole\", display_name=\"Security administrator\")\nexample_directory_role_member = azuread.DirectoryRoleMember(\"exampleDirectoryRoleMember\",\n role_object_id=example_directory_role.object_id,\n member_object_id=example_user.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"jdoe@hashicorp.com\",\n }));\n var exampleDirectoryRole = new AzureAD.DirectoryRole(\"exampleDirectoryRole\", new AzureAD.DirectoryRoleArgs\n {\n DisplayName = \"Security administrator\",\n });\n var exampleDirectoryRoleMember = new AzureAD.DirectoryRoleMember(\"exampleDirectoryRoleMember\", new AzureAD.DirectoryRoleMemberArgs\n {\n RoleObjectId = exampleDirectoryRole.ObjectId,\n MemberObjectId = exampleUser.Apply(exampleUser =\u003e exampleUser.ObjectId),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"jdoe@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleDirectoryRole, err := azuread.NewDirectoryRole(ctx, \"exampleDirectoryRole\", \u0026azuread.DirectoryRoleArgs{\n\t\t\tDisplayName: pulumi.String(\"Security administrator\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewDirectoryRoleMember(ctx, \"exampleDirectoryRoleMember\", \u0026azuread.DirectoryRoleMemberArgs{\n\t\t\tRoleObjectId: exampleDirectoryRole.ObjectId,\n\t\t\tMemberObjectId: pulumi.String(exampleUser.ObjectId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUser = Output.of(AzureadFunctions.getUser(GetUserArgs.builder()\n .userPrincipalName(\"jdoe@hashicorp.com\")\n .build()));\n\n var exampleDirectoryRole = new DirectoryRole(\"exampleDirectoryRole\", DirectoryRoleArgs.builder() \n .displayName(\"Security administrator\")\n .build());\n\n var exampleDirectoryRoleMember = new DirectoryRoleMember(\"exampleDirectoryRoleMember\", DirectoryRoleMemberArgs.builder() \n .roleObjectId(exampleDirectoryRole.getObjectId())\n .memberObjectId(exampleUser.apply(getUserResult -\u003e getUserResult.getObjectId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDirectoryRole:\n type: azuread:DirectoryRole\n properties:\n displayName: Security administrator\n exampleDirectoryRoleMember:\n type: azuread:DirectoryRoleMember\n properties:\n roleObjectId: ${exampleDirectoryRole.objectId}\n memberObjectId: ${exampleUser.objectId}\nvariables:\n exampleUser:\n Fn::Invoke:\n Function: azuread:getUser\n Arguments:\n userPrincipalName: jdoe@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDirectory role members can be imported using the object ID of the role and the object ID of the member, e.g.\n\n```sh\n $ pulumi import azuread:index/directoryRoleMember:DirectoryRoleMember test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Directory Role Object ID and the target Member Object ID in the format `{RoleObjectID}/member/{MemberObjectID}`. ", "properties": { "memberObjectId": { "type": "string", @@ -4378,7 +4378,7 @@ } }, "azuread:index/group:Group": { - "description": "Manages a group within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `Group.ReadWrite.All` or `Directory.ReadWrite.All`\n\nIf using the `assignable_to_role` property, this resource additionally requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`\n\nIf specifying owners for a group, which are user principals, this resource additionally requires one of the following application roles: `User.Read.All`, `User.ReadWrite.All`, `Directory.Read.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`\n\nThe `external_senders_allowed`, `auto_subscribe_new_members`, `hide_from_address_lists` and `hide_from_outlook_clients` properties can only be configured when authenticating as a user and cannot be configured when authenticating as a service principal. Additionally, the user being used for authentication must be a Member of the tenant where the group is being managed and _not_ a Guest. This is a known API issue; please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) official documentation.\n\n\n## Import\n\nGroups can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/group:Group my_group 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a group within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `Group.ReadWrite.All` or `Directory.ReadWrite.All`\n\nIf using the `assignable_to_role` property, this resource additionally requires one of the following application roles: `RoleManagement.ReadWrite.Directory` or `Directory.ReadWrite.All`\n\nIf specifying owners for a group, which are user principals, this resource additionally requires one of the following application roles: `User.Read.All`, `User.ReadWrite.All`, `Directory.Read.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`\n\nThe `external_senders_allowed`, `auto_subscribe_new_members`, `hide_from_address_lists` and `hide_from_outlook_clients` properties can only be configured when authenticating as a user and cannot be configured when authenticating as a service principal. Additionally, the user being used for authentication must be a Member of the tenant where the group is being managed and _not_ a Guest. This is a known API issue; please see the [Microsoft Graph Known Issues](https://docs.microsoft.com/en-us/graph/known-issues#groups) official documentation.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Basic example*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst example = new azuread.Group(\"example\", {\n displayName: \"example\",\n owners: [current.then(current =\u003e current.objectId)],\n securityEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample = azuread.Group(\"example\",\n display_name=\"example\",\n owners=[current.object_id],\n security_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var example = new AzureAD.Group(\"example\", new AzureAD.GroupArgs\n {\n DisplayName = \"example\",\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n SecurityEnabled = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewGroup(ctx, \"example\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var example = new Group(\"example\", GroupArgs.builder() \n .displayName(\"example\")\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .securityEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:Group\n properties:\n displayName: example\n owners:\n - ${current.objectId}\n securityEnabled: true\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\n```\n\n*Microsoft 365 group*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst groupOwner = new azuread.User(\"groupOwner\", {\n userPrincipalName: \"example-group-owner@hashicorp.com\",\n displayName: \"Group Owner\",\n mailNickname: \"example-group-owner\",\n password: \"SecretP@sswd99!\",\n});\nconst example = new azuread.Group(\"example\", {\n displayName: \"example\",\n mailEnabled: true,\n mailNickname: \"ExampleGroup\",\n securityEnabled: true,\n types: [\"Unified\"],\n owners: [\n current.then(current =\u003e current.objectId),\n groupOwner.objectId,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\ngroup_owner = azuread.User(\"groupOwner\",\n user_principal_name=\"example-group-owner@hashicorp.com\",\n display_name=\"Group Owner\",\n mail_nickname=\"example-group-owner\",\n password=\"SecretP@sswd99!\")\nexample = azuread.Group(\"example\",\n display_name=\"example\",\n mail_enabled=True,\n mail_nickname=\"ExampleGroup\",\n security_enabled=True,\n types=[\"Unified\"],\n owners=[\n current.object_id,\n group_owner.object_id,\n ])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var groupOwner = new AzureAD.User(\"groupOwner\", new AzureAD.UserArgs\n {\n UserPrincipalName = \"example-group-owner@hashicorp.com\",\n DisplayName = \"Group Owner\",\n MailNickname = \"example-group-owner\",\n Password = \"SecretP@sswd99!\",\n });\n var example = new AzureAD.Group(\"example\", new AzureAD.GroupArgs\n {\n DisplayName = \"example\",\n MailEnabled = true,\n MailNickname = \"ExampleGroup\",\n SecurityEnabled = true,\n Types = \n {\n \"Unified\",\n },\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n groupOwner.ObjectId,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgroupOwner, err := azuread.NewUser(ctx, \"groupOwner\", \u0026azuread.UserArgs{\n\t\t\tUserPrincipalName: pulumi.String(\"example-group-owner@hashicorp.com\"),\n\t\t\tDisplayName: pulumi.String(\"Group Owner\"),\n\t\t\tMailNickname: pulumi.String(\"example-group-owner\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewGroup(ctx, \"example\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tMailEnabled: pulumi.Bool(true),\n\t\t\tMailNickname: pulumi.String(\"ExampleGroup\"),\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t\tTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Unified\"),\n\t\t\t},\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t\tgroupOwner.ObjectId,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var groupOwner = new User(\"groupOwner\", UserArgs.builder() \n .userPrincipalName(\"example-group-owner@hashicorp.com\")\n .displayName(\"Group Owner\")\n .mailNickname(\"example-group-owner\")\n .password(\"SecretP@sswd99!\")\n .build());\n\n var example = new Group(\"example\", GroupArgs.builder() \n .displayName(\"example\")\n .mailEnabled(true)\n .mailNickname(\"ExampleGroup\")\n .securityEnabled(true)\n .types(\"Unified\")\n .owners( \n current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()),\n groupOwner.getObjectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n groupOwner:\n type: azuread:User\n properties:\n userPrincipalName: example-group-owner@hashicorp.com\n displayName: Group Owner\n mailNickname: example-group-owner\n password: SecretP@sswd99!\n example:\n type: azuread:Group\n properties:\n displayName: example\n mailEnabled: true\n mailNickname: ExampleGroup\n securityEnabled: true\n types:\n - Unified\n owners:\n - ${current.objectId}\n - ${groupOwner.objectId}\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\n```\n\n*Group with members*\n\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .displayName(\"J Doe\")\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .password(\"notSecure123\")\n .userPrincipalName(\"jdoe@hashicorp.com\")\n .build());\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .displayName(\"MyGroup\")\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .securityEnabled(true)\n .members(exampleUser.getObjectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleUser:\n type: azuread:User\n properties:\n displayName: J Doe\n owners:\n - ${current.objectId}\n password: notSecure123\n userPrincipalName: jdoe@hashicorp.com\n exampleGroup:\n type: azuread:Group\n properties:\n displayName: MyGroup\n owners:\n - ${current.objectId}\n securityEnabled: true\n members:\n - ${exampleUser.objectId}\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\n```\n\n*Group with dynamic membership*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst example = new azuread.Group(\"example\", {\n displayName: \"MyGroup\",\n owners: [current.then(current =\u003e current.objectId)],\n securityEnabled: true,\n types: [\"DynamicMembership\"],\n dynamicMembership: {\n enabled: true,\n rule: \"user.department -eq \\\"Sales\\\"\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample = azuread.Group(\"example\",\n display_name=\"MyGroup\",\n owners=[current.object_id],\n security_enabled=True,\n types=[\"DynamicMembership\"],\n dynamic_membership=azuread.GroupDynamicMembershipArgs(\n enabled=True,\n rule=\"user.department -eq \\\"Sales\\\"\",\n ))\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var example = new AzureAD.Group(\"example\", new AzureAD.GroupArgs\n {\n DisplayName = \"MyGroup\",\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n SecurityEnabled = true,\n Types = \n {\n \"DynamicMembership\",\n },\n DynamicMembership = new AzureAD.Inputs.GroupDynamicMembershipArgs\n {\n Enabled = true,\n Rule = \"user.department -eq \\\"Sales\\\"\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewGroup(ctx, \"example\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"MyGroup\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t\tTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"DynamicMembership\"),\n\t\t\t},\n\t\t\tDynamicMembership: \u0026GroupDynamicMembershipArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tRule: pulumi.String(\"user.department -eq \\\"Sales\\\"\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var example = new Group(\"example\", GroupArgs.builder() \n .displayName(\"MyGroup\")\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .securityEnabled(true)\n .types(\"DynamicMembership\")\n .dynamicMembership(GroupDynamicMembership.builder()\n .enabled(true)\n .rule(\"user.department -eq \\\"Sales\\\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:Group\n properties:\n displayName: MyGroup\n owners:\n - ${current.objectId}\n securityEnabled: true\n types:\n - DynamicMembership\n dynamicMembership:\n enabled: true\n rule: user.department -eq \"Sales\"\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGroups can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/group:Group my_group 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "assignableToRole": { "type": "boolean", @@ -4765,7 +4765,7 @@ } }, "azuread:index/groupMember:GroupMember": { - "description": "Manages a single group membership within Azure Active Directory.\n\n\u003e **Warning** Do not use this resource at the same time as the `members` property of the `azuread.Group` resource for the same group. Doing so will cause a conflict and group members will be removed.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `Group.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleUser = azuread.getUser({\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\nconst exampleGroup = new azuread.Group(\"exampleGroup\", {\n displayName: \"my_group\",\n securityEnabled: true,\n});\nconst exampleGroupMember = new azuread.GroupMember(\"exampleGroupMember\", {\n groupObjectId: exampleGroup.id,\n memberObjectId: exampleUser.then(exampleUser =\u003e exampleUser.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_user = azuread.get_user(user_principal_name=\"jdoe@hashicorp.com\")\nexample_group = azuread.Group(\"exampleGroup\",\n display_name=\"my_group\",\n security_enabled=True)\nexample_group_member = azuread.GroupMember(\"exampleGroupMember\",\n group_object_id=example_group.id,\n member_object_id=example_user.id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"jdoe@hashicorp.com\",\n }));\n var exampleGroup = new AzureAD.Group(\"exampleGroup\", new AzureAD.GroupArgs\n {\n DisplayName = \"my_group\",\n SecurityEnabled = true,\n });\n var exampleGroupMember = new AzureAD.GroupMember(\"exampleGroupMember\", new AzureAD.GroupMemberArgs\n {\n GroupObjectId = exampleGroup.Id,\n MemberObjectId = exampleUser.Apply(exampleUser =\u003e exampleUser.Id),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"jdoe@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := azuread.NewGroup(ctx, \"exampleGroup\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"my_group\"),\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewGroupMember(ctx, \"exampleGroupMember\", \u0026azuread.GroupMemberArgs{\n\t\t\tGroupObjectId: exampleGroup.ID(),\n\t\t\tMemberObjectId: pulumi.String(exampleUser.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGroup members can be imported using the object ID of the group and the object ID of the member, e.g.\n\n```sh\n $ pulumi import azuread:index/groupMember:GroupMember test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Azure AD Group Object ID and the target Member Object ID in the format `{GroupObjectID}/member/{MemberObjectID}`. ", + "description": "Manages a single group membership within Azure Active Directory.\n\n\u003e **Warning** Do not use this resource at the same time as the `members` property of the `azuread.Group` resource for the same group. Doing so will cause a conflict and group members will be removed.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `Group.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Groups Administrator`, `User Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleUser = azuread.getUser({\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\nconst exampleGroup = new azuread.Group(\"exampleGroup\", {\n displayName: \"my_group\",\n securityEnabled: true,\n});\nconst exampleGroupMember = new azuread.GroupMember(\"exampleGroupMember\", {\n groupObjectId: exampleGroup.id,\n memberObjectId: exampleUser.then(exampleUser =\u003e exampleUser.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_user = azuread.get_user(user_principal_name=\"jdoe@hashicorp.com\")\nexample_group = azuread.Group(\"exampleGroup\",\n display_name=\"my_group\",\n security_enabled=True)\nexample_group_member = azuread.GroupMember(\"exampleGroupMember\",\n group_object_id=example_group.id,\n member_object_id=example_user.id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleUser = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"jdoe@hashicorp.com\",\n }));\n var exampleGroup = new AzureAD.Group(\"exampleGroup\", new AzureAD.GroupArgs\n {\n DisplayName = \"my_group\",\n SecurityEnabled = true,\n });\n var exampleGroupMember = new AzureAD.GroupMember(\"exampleGroupMember\", new AzureAD.GroupMemberArgs\n {\n GroupObjectId = exampleGroup.Id,\n MemberObjectId = exampleUser.Apply(exampleUser =\u003e exampleUser.Id),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleUser, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"jdoe@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleGroup, err := azuread.NewGroup(ctx, \"exampleGroup\", \u0026azuread.GroupArgs{\n\t\t\tDisplayName: pulumi.String(\"my_group\"),\n\t\t\tSecurityEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewGroupMember(ctx, \"exampleGroupMember\", \u0026azuread.GroupMemberArgs{\n\t\t\tGroupObjectId: exampleGroup.ID(),\n\t\t\tMemberObjectId: pulumi.String(exampleUser.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleUser = Output.of(AzureadFunctions.getUser(GetUserArgs.builder()\n .userPrincipalName(\"jdoe@hashicorp.com\")\n .build()));\n\n var exampleGroup = new Group(\"exampleGroup\", GroupArgs.builder() \n .displayName(\"my_group\")\n .securityEnabled(true)\n .build());\n\n var exampleGroupMember = new GroupMember(\"exampleGroupMember\", GroupMemberArgs.builder() \n .groupObjectId(exampleGroup.getId())\n .memberObjectId(exampleUser.apply(getUserResult -\u003e getUserResult.getId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleGroup:\n type: azuread:Group\n properties:\n displayName: my_group\n securityEnabled: true\n exampleGroupMember:\n type: azuread:GroupMember\n properties:\n groupObjectId: ${exampleGroup.id}\n memberObjectId: ${exampleUser.id}\nvariables:\n exampleUser:\n Fn::Invoke:\n Function: azuread:getUser\n Arguments:\n userPrincipalName: jdoe@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nGroup members can be imported using the object ID of the group and the object ID of the member, e.g.\n\n```sh\n $ pulumi import azuread:index/groupMember:GroupMember test 00000000-0000-0000-0000-000000000000/member/11111111-1111-1111-1111-111111111111\n```\n\n -\u003e This ID format is unique to Terraform and is composed of the Azure AD Group Object ID and the target Member Object ID in the format `{GroupObjectID}/member/{MemberObjectID}`. ", "properties": { "groupObjectId": { "type": "string", @@ -4810,7 +4810,7 @@ } }, "azuread:index/invitation:Invitation": { - "description": "Manages an invitation of a guest user within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `User.Invite.All`, `User.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Guest Inviter`, `User Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Basic example*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Invitation(\"example\", {\n redirectUrl: \"https://portal.azure.com\",\n userEmailAddress: \"jdoe@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.Invitation(\"example\",\n redirect_url=\"https://portal.azure.com\",\n user_email_address=\"jdoe@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.Invitation(\"example\", new AzureAD.InvitationArgs\n {\n RedirectUrl = \"https://portal.azure.com\",\n UserEmailAddress = \"jdoe@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewInvitation(ctx, \"example\", \u0026azuread.InvitationArgs{\n\t\t\tRedirectUrl: pulumi.String(\"https://portal.azure.com\"),\n\t\t\tUserEmailAddress: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Invitation with standard message*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Invitation(\"example\", {\n message: {\n language: \"en-US\",\n },\n redirectUrl: \"https://portal.azure.com\",\n userEmailAddress: \"jdoe@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.Invitation(\"example\",\n message=azuread.InvitationMessageArgs(\n language=\"en-US\",\n ),\n redirect_url=\"https://portal.azure.com\",\n user_email_address=\"jdoe@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.Invitation(\"example\", new AzureAD.InvitationArgs\n {\n Message = new AzureAD.Inputs.InvitationMessageArgs\n {\n Language = \"en-US\",\n },\n RedirectUrl = \"https://portal.azure.com\",\n UserEmailAddress = \"jdoe@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewInvitation(ctx, \"example\", \u0026azuread.InvitationArgs{\n\t\t\tMessage: \u0026InvitationMessageArgs{\n\t\t\t\tLanguage: pulumi.String(\"en-US\"),\n\t\t\t},\n\t\t\tRedirectUrl: pulumi.String(\"https://portal.azure.com\"),\n\t\t\tUserEmailAddress: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Invitation with custom message body and an additional recipient*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Invitation(\"example\", {\n message: {\n additionalRecipients: \"aaliceberg@hashicorp.com\",\n body: \"Hello there! You are invited to join my Azure tenant!\",\n },\n redirectUrl: \"https://portal.azure.com\",\n userDisplayName: \"Bob Bobson\",\n userEmailAddress: \"bbobson@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.Invitation(\"example\",\n message=azuread.InvitationMessageArgs(\n additional_recipients=\"aaliceberg@hashicorp.com\",\n body=\"Hello there! You are invited to join my Azure tenant!\",\n ),\n redirect_url=\"https://portal.azure.com\",\n user_display_name=\"Bob Bobson\",\n user_email_address=\"bbobson@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.Invitation(\"example\", new AzureAD.InvitationArgs\n {\n Message = new AzureAD.Inputs.InvitationMessageArgs\n {\n AdditionalRecipients = \"aaliceberg@hashicorp.com\",\n Body = \"Hello there! You are invited to join my Azure tenant!\",\n },\n RedirectUrl = \"https://portal.azure.com\",\n UserDisplayName = \"Bob Bobson\",\n UserEmailAddress = \"bbobson@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewInvitation(ctx, \"example\", \u0026azuread.InvitationArgs{\n\t\t\tMessage: \u0026InvitationMessageArgs{\n\t\t\t\tAdditionalRecipients: pulumi.String(\"aaliceberg@hashicorp.com\"),\n\t\t\t\tBody: pulumi.String(\"Hello there! You are invited to join my Azure tenant!\"),\n\t\t\t},\n\t\t\tRedirectUrl: pulumi.String(\"https://portal.azure.com\"),\n\t\t\tUserDisplayName: pulumi.String(\"Bob Bobson\"),\n\t\t\tUserEmailAddress: pulumi.String(\"bbobson@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource does not support importing. ", + "description": "Manages an invitation of a guest user within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `User.Invite.All`, `User.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Guest Inviter`, `User Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Basic example*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Invitation(\"example\", {\n redirectUrl: \"https://portal.azure.com\",\n userEmailAddress: \"jdoe@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.Invitation(\"example\",\n redirect_url=\"https://portal.azure.com\",\n user_email_address=\"jdoe@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.Invitation(\"example\", new AzureAD.InvitationArgs\n {\n RedirectUrl = \"https://portal.azure.com\",\n UserEmailAddress = \"jdoe@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewInvitation(ctx, \"example\", \u0026azuread.InvitationArgs{\n\t\t\tRedirectUrl: pulumi.String(\"https://portal.azure.com\"),\n\t\t\tUserEmailAddress: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invitation(\"example\", InvitationArgs.builder() \n .redirectUrl(\"https://portal.azure.com\")\n .userEmailAddress(\"jdoe@hashicorp.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:Invitation\n properties:\n redirectUrl: https://portal.azure.com\n userEmailAddress: jdoe@hashicorp.com\n```\n\n*Invitation with standard message*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Invitation(\"example\", {\n message: {\n language: \"en-US\",\n },\n redirectUrl: \"https://portal.azure.com\",\n userEmailAddress: \"jdoe@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.Invitation(\"example\",\n message=azuread.InvitationMessageArgs(\n language=\"en-US\",\n ),\n redirect_url=\"https://portal.azure.com\",\n user_email_address=\"jdoe@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.Invitation(\"example\", new AzureAD.InvitationArgs\n {\n Message = new AzureAD.Inputs.InvitationMessageArgs\n {\n Language = \"en-US\",\n },\n RedirectUrl = \"https://portal.azure.com\",\n UserEmailAddress = \"jdoe@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewInvitation(ctx, \"example\", \u0026azuread.InvitationArgs{\n\t\t\tMessage: \u0026InvitationMessageArgs{\n\t\t\t\tLanguage: pulumi.String(\"en-US\"),\n\t\t\t},\n\t\t\tRedirectUrl: pulumi.String(\"https://portal.azure.com\"),\n\t\t\tUserEmailAddress: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invitation(\"example\", InvitationArgs.builder() \n .message(InvitationMessage.builder()\n .language(\"en-US\")\n .build())\n .redirectUrl(\"https://portal.azure.com\")\n .userEmailAddress(\"jdoe@hashicorp.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:Invitation\n properties:\n message:\n language: en-US\n redirectUrl: https://portal.azure.com\n userEmailAddress: jdoe@hashicorp.com\n```\n\n*Invitation with custom message body and an additional recipient*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.Invitation(\"example\", {\n message: {\n additionalRecipients: \"aaliceberg@hashicorp.com\",\n body: \"Hello there! You are invited to join my Azure tenant!\",\n },\n redirectUrl: \"https://portal.azure.com\",\n userDisplayName: \"Bob Bobson\",\n userEmailAddress: \"bbobson@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.Invitation(\"example\",\n message=azuread.InvitationMessageArgs(\n additional_recipients=\"aaliceberg@hashicorp.com\",\n body=\"Hello there! You are invited to join my Azure tenant!\",\n ),\n redirect_url=\"https://portal.azure.com\",\n user_display_name=\"Bob Bobson\",\n user_email_address=\"bbobson@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.Invitation(\"example\", new AzureAD.InvitationArgs\n {\n Message = new AzureAD.Inputs.InvitationMessageArgs\n {\n AdditionalRecipients = \"aaliceberg@hashicorp.com\",\n Body = \"Hello there! You are invited to join my Azure tenant!\",\n },\n RedirectUrl = \"https://portal.azure.com\",\n UserDisplayName = \"Bob Bobson\",\n UserEmailAddress = \"bbobson@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewInvitation(ctx, \"example\", \u0026azuread.InvitationArgs{\n\t\t\tMessage: \u0026InvitationMessageArgs{\n\t\t\t\tAdditionalRecipients: pulumi.String(\"aaliceberg@hashicorp.com\"),\n\t\t\t\tBody: pulumi.String(\"Hello there! You are invited to join my Azure tenant!\"),\n\t\t\t},\n\t\t\tRedirectUrl: pulumi.String(\"https://portal.azure.com\"),\n\t\t\tUserDisplayName: pulumi.String(\"Bob Bobson\"),\n\t\t\tUserEmailAddress: pulumi.String(\"bbobson@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Invitation(\"example\", InvitationArgs.builder() \n .message(InvitationMessage.builder()\n .additionalRecipients(\"aaliceberg@hashicorp.com\")\n .body(\"Hello there! You are invited to join my Azure tenant!\")\n .build())\n .redirectUrl(\"https://portal.azure.com\")\n .userDisplayName(\"Bob Bobson\")\n .userEmailAddress(\"bbobson@hashicorp.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:Invitation\n properties:\n message:\n additionalRecipients: aaliceberg@hashicorp.com\n body: Hello there! You are invited to join my Azure tenant!\n redirectUrl: https://portal.azure.com\n userDisplayName: Bob Bobson\n userEmailAddress: bbobson@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nThis resource does not support importing. ", "properties": { "message": { "$ref": "#/types/azuread:index/InvitationMessage:InvitationMessage", @@ -4909,7 +4909,7 @@ } }, "azuread:index/namedLocation:NamedLocation": { - "description": "Manages a Named Location within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ConditionalAccess` and `Policy.Read.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Conditional Access Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example_ip = new azuread.NamedLocation(\"example-ip\", {\n displayName: \"IP Named Location\",\n ip: {\n ipRanges: [\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ],\n trusted: true,\n },\n});\nconst example_country = new azuread.NamedLocation(\"example-country\", {\n country: {\n countriesAndRegions: [\n \"GB\",\n \"US\",\n ],\n includeUnknownCountriesAndRegions: false,\n },\n displayName: \"Country Named Location\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_ip = azuread.NamedLocation(\"example-ip\",\n display_name=\"IP Named Location\",\n ip=azuread.NamedLocationIpArgs(\n ip_ranges=[\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ],\n trusted=True,\n ))\nexample_country = azuread.NamedLocation(\"example-country\",\n country=azuread.NamedLocationCountryArgs(\n countries_and_regions=[\n \"GB\",\n \"US\",\n ],\n include_unknown_countries_and_regions=False,\n ),\n display_name=\"Country Named Location\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example_ip = new AzureAD.NamedLocation(\"example-ip\", new AzureAD.NamedLocationArgs\n {\n DisplayName = \"IP Named Location\",\n Ip = new AzureAD.Inputs.NamedLocationIpArgs\n {\n IpRanges = \n {\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n },\n Trusted = true,\n },\n });\n var example_country = new AzureAD.NamedLocation(\"example-country\", new AzureAD.NamedLocationArgs\n {\n Country = new AzureAD.Inputs.NamedLocationCountryArgs\n {\n CountriesAndRegions = \n {\n \"GB\",\n \"US\",\n },\n IncludeUnknownCountriesAndRegions = false,\n },\n DisplayName = \"Country Named Location\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewNamedLocation(ctx, \"example-ip\", \u0026azuread.NamedLocationArgs{\n\t\t\tDisplayName: pulumi.String(\"IP Named Location\"),\n\t\t\tIp: \u0026NamedLocationIpArgs{\n\t\t\t\tIpRanges: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1.1.1.1/32\"),\n\t\t\t\t\tpulumi.String(\"2.2.2.2/32\"),\n\t\t\t\t},\n\t\t\t\tTrusted: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewNamedLocation(ctx, \"example-country\", \u0026azuread.NamedLocationArgs{\n\t\t\tCountry: \u0026NamedLocationCountryArgs{\n\t\t\t\tCountriesAndRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t},\n\t\t\t\tIncludeUnknownCountriesAndRegions: pulumi.Bool(false),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"Country Named Location\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNamed Locations can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import azuread:index/namedLocation:NamedLocation my_location 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a Named Location within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ConditionalAccess` and `Policy.Read.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Conditional Access Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example_ip = new azuread.NamedLocation(\"example-ip\", {\n displayName: \"IP Named Location\",\n ip: {\n ipRanges: [\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ],\n trusted: true,\n },\n});\nconst example_country = new azuread.NamedLocation(\"example-country\", {\n country: {\n countriesAndRegions: [\n \"GB\",\n \"US\",\n ],\n includeUnknownCountriesAndRegions: false,\n },\n displayName: \"Country Named Location\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_ip = azuread.NamedLocation(\"example-ip\",\n display_name=\"IP Named Location\",\n ip=azuread.NamedLocationIpArgs(\n ip_ranges=[\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n ],\n trusted=True,\n ))\nexample_country = azuread.NamedLocation(\"example-country\",\n country=azuread.NamedLocationCountryArgs(\n countries_and_regions=[\n \"GB\",\n \"US\",\n ],\n include_unknown_countries_and_regions=False,\n ),\n display_name=\"Country Named Location\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example_ip = new AzureAD.NamedLocation(\"example-ip\", new AzureAD.NamedLocationArgs\n {\n DisplayName = \"IP Named Location\",\n Ip = new AzureAD.Inputs.NamedLocationIpArgs\n {\n IpRanges = \n {\n \"1.1.1.1/32\",\n \"2.2.2.2/32\",\n },\n Trusted = true,\n },\n });\n var example_country = new AzureAD.NamedLocation(\"example-country\", new AzureAD.NamedLocationArgs\n {\n Country = new AzureAD.Inputs.NamedLocationCountryArgs\n {\n CountriesAndRegions = \n {\n \"GB\",\n \"US\",\n },\n IncludeUnknownCountriesAndRegions = false,\n },\n DisplayName = \"Country Named Location\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewNamedLocation(ctx, \"example-ip\", \u0026azuread.NamedLocationArgs{\n\t\t\tDisplayName: pulumi.String(\"IP Named Location\"),\n\t\t\tIp: \u0026NamedLocationIpArgs{\n\t\t\t\tIpRanges: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"1.1.1.1/32\"),\n\t\t\t\t\tpulumi.String(\"2.2.2.2/32\"),\n\t\t\t\t},\n\t\t\t\tTrusted: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewNamedLocation(ctx, \"example-country\", \u0026azuread.NamedLocationArgs{\n\t\t\tCountry: \u0026NamedLocationCountryArgs{\n\t\t\t\tCountriesAndRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\tpulumi.String(\"US\"),\n\t\t\t\t},\n\t\t\t\tIncludeUnknownCountriesAndRegions: pulumi.Bool(false),\n\t\t\t},\n\t\t\tDisplayName: pulumi.String(\"Country Named Location\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example_ip = new NamedLocation(\"example-ip\", NamedLocationArgs.builder() \n .displayName(\"IP Named Location\")\n .ip(NamedLocationIp.builder()\n .ipRanges( \n \"1.1.1.1/32\",\n \"2.2.2.2/32\")\n .trusted(true)\n .build())\n .build());\n\n var example_country = new NamedLocation(\"example-country\", NamedLocationArgs.builder() \n .country(NamedLocationCountry.builder()\n .countriesAndRegions( \n \"GB\",\n \"US\")\n .includeUnknownCountriesAndRegions(false)\n .build())\n .displayName(\"Country Named Location\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example-ip:\n type: azuread:NamedLocation\n properties:\n displayName: IP Named Location\n ip:\n ipRanges:\n - 1.1.1.1/32\n - 2.2.2.2/32\n trusted: true\n example-country:\n type: azuread:NamedLocation\n properties:\n country:\n countriesAndRegions:\n - GB\n - US\n includeUnknownCountriesAndRegions: false\n displayName: Country Named Location\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nNamed Locations can be imported using the `id`, e.g.\n\n```sh\n $ pulumi import azuread:index/namedLocation:NamedLocation my_location 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "country": { "$ref": "#/types/azuread:index/NamedLocationCountry:NamedLocationCountry", @@ -4964,7 +4964,7 @@ } }, "azuread:index/servicePrincipal:ServicePrincipal": { - "description": "Manages a service principal associated with an application within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `Application.ReadWrite.All` or `Directory.ReadWrite.All`\n\nIt is not currently possible to manage service principals whilst having only the `Application.ReadWrite.OwnedBy` role granted.\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Create a service principal for an application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n owners: [current.then(current =\u003e current.objectId)],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n appRoleAssignmentRequired: false,\n owners: [current.then(current =\u003e current.objectId)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n owners=[current.object_id])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n app_role_assignment_required=False,\n owners=[current.object_id])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n AppRoleAssignmentRequired = false,\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tAppRoleAssignmentRequired: pulumi.Bool(false),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Create a service principal for an enterprise application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n owners: [current.then(current =\u003e current.objectId)],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n appRoleAssignmentRequired: false,\n owners: [current.then(current =\u003e current.objectId)],\n featureTags: [{\n enterprise: true,\n gallery: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n owners=[current.object_id])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n app_role_assignment_required=False,\n owners=[current.object_id],\n feature_tags=[azuread.ServicePrincipalFeatureTagArgs(\n enterprise=True,\n gallery=True,\n )])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n AppRoleAssignmentRequired = false,\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n FeatureTags = \n {\n new AzureAD.Inputs.ServicePrincipalFeatureTagArgs\n {\n Enterprise = true,\n Gallery = true,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tAppRoleAssignmentRequired: pulumi.Bool(false),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tFeatureTags: ServicePrincipalFeatureTagArray{\n\t\t\t\t\u0026ServicePrincipalFeatureTagArgs{\n\t\t\t\t\tEnterprise: pulumi.Bool(true),\n\t\t\t\t\tGallery: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Manage a service principal for a first-party Microsoft application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Create a service principal for an application created from a gallery template*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleApplicationTemplate = azuread.getApplicationTemplate({\n displayName: \"Marketo\",\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n templateId: exampleApplicationTemplate.then(exampleApplicationTemplate =\u003e exampleApplicationTemplate.templateId),\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n useExisting: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_application_template = azuread.get_application_template(display_name=\"Marketo\")\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n template_id=example_application_template.template_id)\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n use_existing=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApplicationTemplate = Output.Create(AzureAD.GetApplicationTemplate.InvokeAsync(new AzureAD.GetApplicationTemplateArgs\n {\n DisplayName = \"Marketo\",\n }));\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n TemplateId = exampleApplicationTemplate.Apply(exampleApplicationTemplate =\u003e exampleApplicationTemplate.TemplateId),\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n UseExisting = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplicationTemplate, err := azuread.GetApplicationTemplate(ctx, \u0026GetApplicationTemplateArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Marketo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tTemplateId: pulumi.String(exampleApplicationTemplate.TemplateId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nService principals can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/servicePrincipal:ServicePrincipal test 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a service principal associated with an application within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `Application.ReadWrite.All` or `Directory.ReadWrite.All`\n\nIt is not currently possible to manage service principals whilst having only the `Application.ReadWrite.OwnedBy` role granted.\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Create a service principal for an application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n owners: [current.then(current =\u003e current.objectId)],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n appRoleAssignmentRequired: false,\n owners: [current.then(current =\u003e current.objectId)],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n owners=[current.object_id])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n app_role_assignment_required=False,\n owners=[current.object_id])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n AppRoleAssignmentRequired = false,\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tAppRoleAssignmentRequired: pulumi.Bool(false),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .appRoleAssignmentRequired(false)\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n owners:\n - ${current.objectId}\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n appRoleAssignmentRequired: false\n owners:\n - ${current.objectId}\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\n```\n\n*Create a service principal for an enterprise application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n owners: [current.then(current =\u003e current.objectId)],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n appRoleAssignmentRequired: false,\n owners: [current.then(current =\u003e current.objectId)],\n featureTags: [{\n enterprise: true,\n gallery: true,\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n owners=[current.object_id])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n app_role_assignment_required=False,\n owners=[current.object_id],\n feature_tags=[azuread.ServicePrincipalFeatureTagArgs(\n enterprise=True,\n gallery=True,\n )])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n AppRoleAssignmentRequired = false,\n Owners = \n {\n current.Apply(current =\u003e current.ObjectId),\n },\n FeatureTags = \n {\n new AzureAD.Inputs.ServicePrincipalFeatureTagArgs\n {\n Enterprise = true,\n Gallery = true,\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tAppRoleAssignmentRequired: pulumi.Bool(false),\n\t\t\tOwners: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.ObjectId),\n\t\t\t},\n\t\t\tFeatureTags: ServicePrincipalFeatureTagArray{\n\t\t\t\t\u0026ServicePrincipalFeatureTagArgs{\n\t\t\t\t\tEnterprise: pulumi.Bool(true),\n\t\t\t\t\tGallery: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .appRoleAssignmentRequired(false)\n .owners(current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()))\n .featureTags(ServicePrincipalFeatureTag.builder()\n .enterprise(true)\n .gallery(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n owners:\n - ${current.objectId}\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n appRoleAssignmentRequired: false\n owners:\n - ${current.objectId}\n featureTags:\n - enterprise: true\n gallery: true\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\n```\n\n*Manage a service principal for a first-party Microsoft application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var wellKnown = Output.of(AzureadFunctions.getApplicationPublishedAppIds());\n\n var msgraph = new ServicePrincipal(\"msgraph\", ServicePrincipalArgs.builder() \n .applicationId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .useExisting(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n msgraph:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${wellKnown.result.MicrosoftGraph}\n useExisting: true\nvariables:\n wellKnown:\n Fn::Invoke:\n Function: azuread:getApplicationPublishedAppIds\n Arguments: {}\n```\n\n*Create a service principal for an application created from a gallery template*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst exampleApplicationTemplate = azuread.getApplicationTemplate({\n displayName: \"Marketo\",\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n templateId: exampleApplicationTemplate.then(exampleApplicationTemplate =\u003e exampleApplicationTemplate.templateId),\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {\n applicationId: exampleApplication.applicationId,\n useExisting: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample_application_template = azuread.get_application_template(display_name=\"Marketo\")\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n template_id=example_application_template.template_id)\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\",\n application_id=example_application.application_id,\n use_existing=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var exampleApplicationTemplate = Output.Create(AzureAD.GetApplicationTemplate.InvokeAsync(new AzureAD.GetApplicationTemplateArgs\n {\n DisplayName = \"Marketo\",\n }));\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n TemplateId = exampleApplicationTemplate.Apply(exampleApplicationTemplate =\u003e exampleApplicationTemplate.TemplateId),\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n UseExisting = true,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApplicationTemplate, err := azuread.GetApplicationTemplate(ctx, \u0026GetApplicationTemplateArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Marketo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tTemplateId: pulumi.String(exampleApplicationTemplate.TemplateId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleApplicationTemplate = Output.of(AzureadFunctions.getApplicationTemplate(GetApplicationTemplateArgs.builder()\n .displayName(\"Marketo\")\n .build()));\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .templateId(exampleApplicationTemplate.apply(getApplicationTemplateResult -\u003e getApplicationTemplateResult.getTemplateId()))\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .useExisting(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n templateId: ${exampleApplicationTemplate.templateId}\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n useExisting: true\nvariables:\n exampleApplicationTemplate:\n Fn::Invoke:\n Function: azuread:getApplicationTemplate\n Arguments:\n displayName: Marketo\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nService principals can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/servicePrincipal:ServicePrincipal test 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "accountEnabled": { "type": "boolean", @@ -5505,7 +5505,7 @@ } }, "azuread:index/servicePrincipalClaimsMappingPolicyAssignment:ServicePrincipalClaimsMappingPolicyAssignment": { - "description": "Manages a Claims Mapping Policy Assignment within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ApplicationConfiguration` \n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst app = new azuread.ServicePrincipalClaimsMappingPolicyAssignment(\"app\", {\n claimsMappingPolicyId: azuread_claims_mapping_policy.my_policy.id,\n servicePrincipalId: azuread_service_principal.my_principal.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\napp = azuread.ServicePrincipalClaimsMappingPolicyAssignment(\"app\",\n claims_mapping_policy_id=azuread_claims_mapping_policy[\"my_policy\"][\"id\"],\n service_principal_id=azuread_service_principal[\"my_principal\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var app = new AzureAD.ServicePrincipalClaimsMappingPolicyAssignment(\"app\", new AzureAD.ServicePrincipalClaimsMappingPolicyAssignmentArgs\n {\n ClaimsMappingPolicyId = azuread_claims_mapping_policy.My_policy.Id,\n ServicePrincipalId = azuread_service_principal.My_principal.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewServicePrincipalClaimsMappingPolicyAssignment(ctx, \"app\", \u0026azuread.ServicePrincipalClaimsMappingPolicyAssignmentArgs{\n\t\t\tClaimsMappingPolicyId: pulumi.Any(azuread_claims_mapping_policy.My_policy.Id),\n\t\t\tServicePrincipalId: pulumi.Any(azuread_service_principal.My_principal.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nClaims Mapping Policy can be imported using the `id`, in the form `service-principal-uuid/claimsMappingPolicy/claims-mapping-policy-uuid`, e.g\n\n```sh\n $ pulumi import azuread:index/servicePrincipalClaimsMappingPolicyAssignment:ServicePrincipalClaimsMappingPolicyAssignment app 00000000-0000-0000-0000-000000000000/claimsMappingPolicy/11111111-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a Claims Mapping Policy Assignment within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application roles: `Policy.ReadWrite.ApplicationConfiguration` \n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `Application Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst app = new azuread.ServicePrincipalClaimsMappingPolicyAssignment(\"app\", {\n claimsMappingPolicyId: azuread_claims_mapping_policy.my_policy.id,\n servicePrincipalId: azuread_service_principal.my_principal.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\napp = azuread.ServicePrincipalClaimsMappingPolicyAssignment(\"app\",\n claims_mapping_policy_id=azuread_claims_mapping_policy[\"my_policy\"][\"id\"],\n service_principal_id=azuread_service_principal[\"my_principal\"][\"id\"])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var app = new AzureAD.ServicePrincipalClaimsMappingPolicyAssignment(\"app\", new AzureAD.ServicePrincipalClaimsMappingPolicyAssignmentArgs\n {\n ClaimsMappingPolicyId = azuread_claims_mapping_policy.My_policy.Id,\n ServicePrincipalId = azuread_service_principal.My_principal.Id,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewServicePrincipalClaimsMappingPolicyAssignment(ctx, \"app\", \u0026azuread.ServicePrincipalClaimsMappingPolicyAssignmentArgs{\n\t\t\tClaimsMappingPolicyId: pulumi.Any(azuread_claims_mapping_policy.My_policy.Id),\n\t\t\tServicePrincipalId: pulumi.Any(azuread_service_principal.My_principal.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var app = new ServicePrincipalClaimsMappingPolicyAssignment(\"app\", ServicePrincipalClaimsMappingPolicyAssignmentArgs.builder() \n .claimsMappingPolicyId(azuread_claims_mapping_policy.getMy_policy().getId())\n .servicePrincipalId(azuread_service_principal.getMy_principal().getId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n app:\n type: azuread:ServicePrincipalClaimsMappingPolicyAssignment\n properties:\n claimsMappingPolicyId: ${azuread_claims_mapping_policy.my_policy.id}\n servicePrincipalId: ${azuread_service_principal.my_principal.id}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nClaims Mapping Policy can be imported using the `id`, in the form `service-principal-uuid/claimsMappingPolicy/claims-mapping-policy-uuid`, e.g\n\n```sh\n $ pulumi import azuread:index/servicePrincipalClaimsMappingPolicyAssignment:ServicePrincipalClaimsMappingPolicyAssignment app 00000000-0000-0000-0000-000000000000/claimsMappingPolicy/11111111-0000-0000-0000-000000000000\n```\n\n ", "properties": { "claimsMappingPolicyId": { "type": "string", @@ -5550,7 +5550,7 @@ } }, "azuread:index/servicePrincipalDelegatedPermissionGrant:ServicePrincipalDelegatedPermissionGrant": { - "description": "Manages a delegated permission grant for a service principal, on behalf of a single user, or all users.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application role: `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one the following directory role: `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Delegated permission grant for all users*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.oauth2PermissionScopeIds.openid,\n type: \"Scope\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.Read\"],\n type: \"Scope\",\n },\n ],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleServicePrincipalDelegatedPermissionGrant = new azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", {\n servicePrincipalObjectId: exampleServicePrincipal.objectId,\n resourceServicePrincipalObjectId: msgraph.objectId,\n claimValues: [\n \"openid\",\n \"User.Read.All\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"openid\"],\n type=\"Scope\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.Read\"],\n type=\"Scope\",\n ),\n ],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_service_principal_delegated_permission_grant = azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\",\n service_principal_object_id=example_service_principal.object_id,\n resource_service_principal_object_id=msgraph.object_id,\n claim_values=[\n \"openid\",\n \"User.Read.All\",\n ])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.Openid),\n Type = \"Scope\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_Read),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleServicePrincipalDelegatedPermissionGrant = new AzureAD.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", new AzureAD.ServicePrincipalDelegatedPermissionGrantArgs\n {\n ServicePrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceServicePrincipalObjectId = msgraph.ObjectId,\n ClaimValues = \n {\n \"openid\",\n \"User.Read.All\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.Openid, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.Read, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipalDelegatedPermissionGrant(ctx, \"exampleServicePrincipalDelegatedPermissionGrant\", \u0026azuread.ServicePrincipalDelegatedPermissionGrantArgs{\n\t\t\tServicePrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceServicePrincipalObjectId: msgraph.ObjectId,\n\t\t\tClaimValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"User.Read.All\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Delegated permission grant for a single user*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.oauth2PermissionScopeIds.openid,\n type: \"Scope\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.Read\"],\n type: \"Scope\",\n },\n ],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleUser = new azuread.User(\"exampleUser\", {\n displayName: \"J. Doe\",\n userPrincipalName: \"jdoe@hashicorp.com\",\n mailNickname: \"jdoe\",\n password: \"SecretP@sswd99!\",\n});\nconst exampleServicePrincipalDelegatedPermissionGrant = new azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", {\n servicePrincipalObjectId: exampleServicePrincipal.objectId,\n resourceServicePrincipalObjectId: msgraph.objectId,\n claimValues: [\n \"openid\",\n \"User.Read.All\",\n ],\n userObjectId: exampleUser.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"openid\"],\n type=\"Scope\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.Read\"],\n type=\"Scope\",\n ),\n ],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_user = azuread.User(\"exampleUser\",\n display_name=\"J. Doe\",\n user_principal_name=\"jdoe@hashicorp.com\",\n mail_nickname=\"jdoe\",\n password=\"SecretP@sswd99!\")\nexample_service_principal_delegated_permission_grant = azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\",\n service_principal_object_id=example_service_principal.object_id,\n resource_service_principal_object_id=msgraph.object_id,\n claim_values=[\n \"openid\",\n \"User.Read.All\",\n ],\n user_object_id=example_user.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.Openid),\n Type = \"Scope\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_Read),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleUser = new AzureAD.User(\"exampleUser\", new AzureAD.UserArgs\n {\n DisplayName = \"J. Doe\",\n UserPrincipalName = \"jdoe@hashicorp.com\",\n MailNickname = \"jdoe\",\n Password = \"SecretP@sswd99!\",\n });\n var exampleServicePrincipalDelegatedPermissionGrant = new AzureAD.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", new AzureAD.ServicePrincipalDelegatedPermissionGrantArgs\n {\n ServicePrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceServicePrincipalObjectId = msgraph.ObjectId,\n ClaimValues = \n {\n \"openid\",\n \"User.Read.All\",\n },\n UserObjectId = exampleUser.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.Openid, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.Read, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := azuread.NewUser(ctx, \"exampleUser\", \u0026azuread.UserArgs{\n\t\t\tDisplayName: pulumi.String(\"J. Doe\"),\n\t\t\tUserPrincipalName: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t\tMailNickname: pulumi.String(\"jdoe\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipalDelegatedPermissionGrant(ctx, \"exampleServicePrincipalDelegatedPermissionGrant\", \u0026azuread.ServicePrincipalDelegatedPermissionGrantArgs{\n\t\t\tServicePrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceServicePrincipalObjectId: msgraph.ObjectId,\n\t\t\tClaimValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"User.Read.All\"),\n\t\t\t},\n\t\t\tUserObjectId: exampleUser.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDelegated permission grants can be imported using their ID, e.g.\n\n```sh\n $ pulumi import azuread:index/servicePrincipalDelegatedPermissionGrant:ServicePrincipalDelegatedPermissionGrant example aaBBcDDeFG6h5JKLMN2PQrrssTTUUvWWxxxxxyyyzzz\n```\n\n ", + "description": "Manages a delegated permission grant for a service principal, on behalf of a single user, or all users.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires the following application role: `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one the following directory role: `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Delegated permission grant for all users*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.oauth2PermissionScopeIds.openid,\n type: \"Scope\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.Read\"],\n type: \"Scope\",\n },\n ],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleServicePrincipalDelegatedPermissionGrant = new azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", {\n servicePrincipalObjectId: exampleServicePrincipal.objectId,\n resourceServicePrincipalObjectId: msgraph.objectId,\n claimValues: [\n \"openid\",\n \"User.Read.All\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"openid\"],\n type=\"Scope\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.Read\"],\n type=\"Scope\",\n ),\n ],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_service_principal_delegated_permission_grant = azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\",\n service_principal_object_id=example_service_principal.object_id,\n resource_service_principal_object_id=msgraph.object_id,\n claim_values=[\n \"openid\",\n \"User.Read.All\",\n ])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.Openid),\n Type = \"Scope\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_Read),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleServicePrincipalDelegatedPermissionGrant = new AzureAD.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", new AzureAD.ServicePrincipalDelegatedPermissionGrantArgs\n {\n ServicePrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceServicePrincipalObjectId = msgraph.ObjectId,\n ClaimValues = \n {\n \"openid\",\n \"User.Read.All\",\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.Openid, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.Read, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipalDelegatedPermissionGrant(ctx, \"exampleServicePrincipalDelegatedPermissionGrant\", \u0026azuread.ServicePrincipalDelegatedPermissionGrantArgs{\n\t\t\tServicePrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceServicePrincipalObjectId: msgraph.ObjectId,\n\t\t\tClaimValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"User.Read.All\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var wellKnown = Output.of(AzureadFunctions.getApplicationPublishedAppIds());\n\n var msgraph = new ServicePrincipal(\"msgraph\", ServicePrincipalArgs.builder() \n .applicationId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .useExisting(true)\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .requiredResourceAccesses(ApplicationRequiredResourceAccess.builder()\n .resourceAppId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .resourceAccesses( \n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getOauth2PermissionScopeIds().apply(oauth2PermissionScopeIds -\u003e oauth2PermissionScopeIds.getOpenid()))\n .type(\"Scope\")\n .build(),\n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getOauth2PermissionScopeIds().apply(oauth2PermissionScopeIds -\u003e oauth2PermissionScopeIds.getUser.Read()))\n .type(\"Scope\")\n .build())\n .build())\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .build());\n\n var exampleServicePrincipalDelegatedPermissionGrant = new ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", ServicePrincipalDelegatedPermissionGrantArgs.builder() \n .servicePrincipalObjectId(exampleServicePrincipal.getObjectId())\n .resourceServicePrincipalObjectId(msgraph.getObjectId())\n .claimValues( \n \"openid\",\n \"User.Read.All\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n msgraph:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${wellKnown.result.MicrosoftGraph}\n useExisting: true\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n requiredResourceAccesses:\n - resourceAppId: ${wellKnown.result.MicrosoftGraph}\n resourceAccesses:\n - id: ${msgraph.oauth2PermissionScopeIds.openid}\n type: Scope\n - id: ${msgraph.oauth2PermissionScopeIds\"User.Read\"[%!s(MISSING)]}\n type: Scope\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n exampleServicePrincipalDelegatedPermissionGrant:\n type: azuread:ServicePrincipalDelegatedPermissionGrant\n properties:\n servicePrincipalObjectId: ${exampleServicePrincipal.objectId}\n resourceServicePrincipalObjectId: ${msgraph.objectId}\n claimValues:\n - openid\n - User.Read.All\nvariables:\n wellKnown:\n Fn::Invoke:\n Function: azuread:getApplicationPublishedAppIds\n Arguments: {}\n```\n\n*Delegated permission grant for a single user*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst exampleApplication = new azuread.Application(\"exampleApplication\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.oauth2PermissionScopeIds.openid,\n type: \"Scope\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.Read\"],\n type: \"Scope\",\n },\n ],\n }],\n});\nconst exampleServicePrincipal = new azuread.ServicePrincipal(\"exampleServicePrincipal\", {applicationId: exampleApplication.applicationId});\nconst exampleUser = new azuread.User(\"exampleUser\", {\n displayName: \"J. Doe\",\n userPrincipalName: \"jdoe@hashicorp.com\",\n mailNickname: \"jdoe\",\n password: \"SecretP@sswd99!\",\n});\nconst exampleServicePrincipalDelegatedPermissionGrant = new azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", {\n servicePrincipalObjectId: exampleServicePrincipal.objectId,\n resourceServicePrincipalObjectId: msgraph.objectId,\n claimValues: [\n \"openid\",\n \"User.Read.All\",\n ],\n userObjectId: exampleUser.objectId,\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample_application = azuread.Application(\"exampleApplication\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"openid\"],\n type=\"Scope\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.Read\"],\n type=\"Scope\",\n ),\n ],\n )])\nexample_service_principal = azuread.ServicePrincipal(\"exampleServicePrincipal\", application_id=example_application.application_id)\nexample_user = azuread.User(\"exampleUser\",\n display_name=\"J. Doe\",\n user_principal_name=\"jdoe@hashicorp.com\",\n mail_nickname=\"jdoe\",\n password=\"SecretP@sswd99!\")\nexample_service_principal_delegated_permission_grant = azuread.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\",\n service_principal_object_id=example_service_principal.object_id,\n resource_service_principal_object_id=msgraph.object_id,\n claim_values=[\n \"openid\",\n \"User.Read.All\",\n ],\n user_object_id=example_user.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var exampleApplication = new AzureAD.Application(\"exampleApplication\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.Openid),\n Type = \"Scope\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_Read),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n var exampleServicePrincipal = new AzureAD.ServicePrincipal(\"exampleServicePrincipal\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = exampleApplication.ApplicationId,\n });\n var exampleUser = new AzureAD.User(\"exampleUser\", new AzureAD.UserArgs\n {\n DisplayName = \"J. Doe\",\n UserPrincipalName = \"jdoe@hashicorp.com\",\n MailNickname = \"jdoe\",\n Password = \"SecretP@sswd99!\",\n });\n var exampleServicePrincipalDelegatedPermissionGrant = new AzureAD.ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", new AzureAD.ServicePrincipalDelegatedPermissionGrantArgs\n {\n ServicePrincipalObjectId = exampleServicePrincipal.ObjectId,\n ResourceServicePrincipalObjectId = msgraph.ObjectId,\n ClaimValues = \n {\n \"openid\",\n \"User.Read.All\",\n },\n UserObjectId = exampleUser.ObjectId,\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleApplication, err := azuread.NewApplication(ctx, \"exampleApplication\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.Openid, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.Read, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleServicePrincipal, err := azuread.NewServicePrincipal(ctx, \"exampleServicePrincipal\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: exampleApplication.ApplicationId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleUser, err := azuread.NewUser(ctx, \"exampleUser\", \u0026azuread.UserArgs{\n\t\t\tDisplayName: pulumi.String(\"J. Doe\"),\n\t\t\tUserPrincipalName: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t\tMailNickname: pulumi.String(\"jdoe\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewServicePrincipalDelegatedPermissionGrant(ctx, \"exampleServicePrincipalDelegatedPermissionGrant\", \u0026azuread.ServicePrincipalDelegatedPermissionGrantArgs{\n\t\t\tServicePrincipalObjectId: exampleServicePrincipal.ObjectId,\n\t\t\tResourceServicePrincipalObjectId: msgraph.ObjectId,\n\t\t\tClaimValues: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\tpulumi.String(\"User.Read.All\"),\n\t\t\t},\n\t\t\tUserObjectId: exampleUser.ObjectId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var wellKnown = Output.of(AzureadFunctions.getApplicationPublishedAppIds());\n\n var msgraph = new ServicePrincipal(\"msgraph\", ServicePrincipalArgs.builder() \n .applicationId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .useExisting(true)\n .build());\n\n var exampleApplication = new Application(\"exampleApplication\", ApplicationArgs.builder() \n .displayName(\"example\")\n .requiredResourceAccesses(ApplicationRequiredResourceAccess.builder()\n .resourceAppId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .resourceAccesses( \n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getOauth2PermissionScopeIds().apply(oauth2PermissionScopeIds -\u003e oauth2PermissionScopeIds.getOpenid()))\n .type(\"Scope\")\n .build(),\n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getOauth2PermissionScopeIds().apply(oauth2PermissionScopeIds -\u003e oauth2PermissionScopeIds.getUser.Read()))\n .type(\"Scope\")\n .build())\n .build())\n .build());\n\n var exampleServicePrincipal = new ServicePrincipal(\"exampleServicePrincipal\", ServicePrincipalArgs.builder() \n .applicationId(exampleApplication.getApplicationId())\n .build());\n\n var exampleUser = new User(\"exampleUser\", UserArgs.builder() \n .displayName(\"J. Doe\")\n .userPrincipalName(\"jdoe@hashicorp.com\")\n .mailNickname(\"jdoe\")\n .password(\"SecretP@sswd99!\")\n .build());\n\n var exampleServicePrincipalDelegatedPermissionGrant = new ServicePrincipalDelegatedPermissionGrant(\"exampleServicePrincipalDelegatedPermissionGrant\", ServicePrincipalDelegatedPermissionGrantArgs.builder() \n .servicePrincipalObjectId(exampleServicePrincipal.getObjectId())\n .resourceServicePrincipalObjectId(msgraph.getObjectId())\n .claimValues( \n \"openid\",\n \"User.Read.All\")\n .userObjectId(exampleUser.getObjectId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n msgraph:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${wellKnown.result.MicrosoftGraph}\n useExisting: true\n exampleApplication:\n type: azuread:Application\n properties:\n displayName: example\n requiredResourceAccesses:\n - resourceAppId: ${wellKnown.result.MicrosoftGraph}\n resourceAccesses:\n - id: ${msgraph.oauth2PermissionScopeIds.openid}\n type: Scope\n - id: ${msgraph.oauth2PermissionScopeIds\"User.Read\"[%!s(MISSING)]}\n type: Scope\n exampleServicePrincipal:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${exampleApplication.applicationId}\n exampleUser:\n type: azuread:User\n properties:\n displayName: J. Doe\n userPrincipalName: jdoe@hashicorp.com\n mailNickname: jdoe\n password: SecretP@sswd99!\n exampleServicePrincipalDelegatedPermissionGrant:\n type: azuread:ServicePrincipalDelegatedPermissionGrant\n properties:\n servicePrincipalObjectId: ${exampleServicePrincipal.objectId}\n resourceServicePrincipalObjectId: ${msgraph.objectId}\n claimValues:\n - openid\n - User.Read.All\n userObjectId: ${exampleUser.objectId}\nvariables:\n wellKnown:\n Fn::Invoke:\n Function: azuread:getApplicationPublishedAppIds\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDelegated permission grants can be imported using their ID, e.g.\n\n```sh\n $ pulumi import azuread:index/servicePrincipalDelegatedPermissionGrant:ServicePrincipalDelegatedPermissionGrant example aaBBcDDeFG6h5JKLMN2PQrrssTTUUvWWxxxxxyyyzzz\n```\n\n ", "properties": { "claimValues": { "type": "array", @@ -5751,7 +5751,7 @@ } }, "azuread:index/user:User": { - "description": "Manages a user within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `User.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `User Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.User(\"example\", {\n displayName: \"J. Doe\",\n mailNickname: \"jdoe\",\n password: \"SecretP@sswd99!\",\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.User(\"example\",\n display_name=\"J. Doe\",\n mail_nickname=\"jdoe\",\n password=\"SecretP@sswd99!\",\n user_principal_name=\"jdoe@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.User(\"example\", new AzureAD.UserArgs\n {\n DisplayName = \"J. Doe\",\n MailNickname = \"jdoe\",\n Password = \"SecretP@sswd99!\",\n UserPrincipalName = \"jdoe@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewUser(ctx, \"example\", \u0026azuread.UserArgs{\n\t\t\tDisplayName: pulumi.String(\"J. Doe\"),\n\t\t\tMailNickname: pulumi.String(\"jdoe\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t\tUserPrincipalName: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsers can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/user:User my_user 00000000-0000-0000-0000-000000000000\n```\n\n ", + "description": "Manages a user within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this resource.\n\nWhen authenticated with a service principal, this resource requires one of the following application roles: `User.ReadWrite.All` or `Directory.ReadWrite.All`\n\nWhen authenticated with a user principal, this resource requires one of the following directory roles: `User Administrator` or `Global Administrator`\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = new azuread.User(\"example\", {\n displayName: \"J. Doe\",\n mailNickname: \"jdoe\",\n password: \"SecretP@sswd99!\",\n userPrincipalName: \"jdoe@hashicorp.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.User(\"example\",\n display_name=\"J. Doe\",\n mail_nickname=\"jdoe\",\n password=\"SecretP@sswd99!\",\n user_principal_name=\"jdoe@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = new AzureAD.User(\"example\", new AzureAD.UserArgs\n {\n DisplayName = \"J. Doe\",\n MailNickname = \"jdoe\",\n Password = \"SecretP@sswd99!\",\n UserPrincipalName = \"jdoe@hashicorp.com\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.NewUser(ctx, \"example\", \u0026azuread.UserArgs{\n\t\t\tDisplayName: pulumi.String(\"J. Doe\"),\n\t\t\tMailNickname: pulumi.String(\"jdoe\"),\n\t\t\tPassword: pulumi.String(\"SecretP@sswd99!\"),\n\t\t\tUserPrincipalName: pulumi.String(\"jdoe@hashicorp.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new User(\"example\", UserArgs.builder() \n .displayName(\"J. Doe\")\n .mailNickname(\"jdoe\")\n .password(\"SecretP@sswd99!\")\n .userPrincipalName(\"jdoe@hashicorp.com\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: azuread:User\n properties:\n displayName: J. Doe\n mailNickname: jdoe\n password: SecretP@sswd99!\n userPrincipalName: jdoe@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nUsers can be imported using their object ID, e.g.\n\n```sh\n $ pulumi import azuread:index/user:User my_user 00000000-0000-0000-0000-000000000000\n```\n\n ", "properties": { "aboutMe": { "type": "string", @@ -6346,7 +6346,7 @@ }, "functions": { "azuread:index/getAdministrativeUnit:getAdministrativeUnit": { - "description": "Gets information about an adminisrative unit in Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `AdministrativeUnit.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### By Group Display Name)\n\n*Look up by display name*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getAdministrativeUnit({\n displayName: \"Example-AU\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_administrative_unit(display_name=\"Example-AU\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetAdministrativeUnit.InvokeAsync(new AzureAD.GetAdministrativeUnitArgs\n {\n DisplayName = \"Example-AU\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupAdministrativeUnit(ctx, \u0026GetAdministrativeUnitArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Example-AU\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up by object ID*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getAdministrativeUnit({\n objectId: \"00000000-0000-0000-0000-000000000000\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_administrative_unit(object_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetAdministrativeUnit.InvokeAsync(new AzureAD.GetAdministrativeUnitArgs\n {\n ObjectId = \"00000000-0000-0000-0000-000000000000\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupAdministrativeUnit(ctx, \u0026GetAdministrativeUnitArgs{\n\t\t\tObjectId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets information about an adminisrative unit in Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `AdministrativeUnit.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### By Group Display Name)\n\n*Look up by display name*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getAdministrativeUnit({\n displayName: \"Example-AU\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_administrative_unit(display_name=\"Example-AU\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetAdministrativeUnit.InvokeAsync(new AzureAD.GetAdministrativeUnitArgs\n {\n DisplayName = \"Example-AU\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupAdministrativeUnit(ctx, \u0026GetAdministrativeUnitArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Example-AU\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getAdministrativeUnit(GetAdministrativeUnitArgs.builder()\n .displayName(\"Example-AU\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getAdministrativeUnit\n Arguments:\n displayName: Example-AU\n```\n\n*Look up by object ID*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getAdministrativeUnit({\n objectId: \"00000000-0000-0000-0000-000000000000\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_administrative_unit(object_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetAdministrativeUnit.InvokeAsync(new AzureAD.GetAdministrativeUnitArgs\n {\n ObjectId = \"00000000-0000-0000-0000-000000000000\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupAdministrativeUnit(ctx, \u0026GetAdministrativeUnitArgs{\n\t\t\tObjectId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getAdministrativeUnit(GetAdministrativeUnitArgs.builder()\n .objectId(\"00000000-0000-0000-0000-000000000000\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getAdministrativeUnit\n Arguments:\n objectId: 00000000-0000-0000-0000-000000000000\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAdministrativeUnit.\n", "properties": { @@ -6404,7 +6404,7 @@ } }, "azuread:index/getApplication:getApplication": { - "description": "Use this data source to access information about an existing Application within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = azuread.getApplication({\n displayName: \"My First AzureAD Application\",\n});\nexport const applicationObjectId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_application(display_name=\"My First AzureAD Application\")\npulumi.export(\"applicationObjectId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetApplication.InvokeAsync(new AzureAD.GetApplicationArgs\n {\n DisplayName = \"My First AzureAD Application\",\n }));\n this.ApplicationObjectId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"applicationObjectId\")]\n public Output\u003cstring\u003e ApplicationObjectId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := azuread.LookupApplication(ctx, \u0026GetApplicationArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"My First AzureAD Application\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationObjectId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to access information about an existing Application within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = azuread.getApplication({\n displayName: \"My First AzureAD Application\",\n});\nexport const applicationObjectId = example.then(example =\u003e example.id);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_application(display_name=\"My First AzureAD Application\")\npulumi.export(\"applicationObjectId\", example.id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetApplication.InvokeAsync(new AzureAD.GetApplicationArgs\n {\n DisplayName = \"My First AzureAD Application\",\n }));\n this.ApplicationObjectId = example.Apply(example =\u003e example.Id);\n }\n\n [Output(\"applicationObjectId\")]\n public Output\u003cstring\u003e ApplicationObjectId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := azuread.LookupApplication(ctx, \u0026GetApplicationArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"My First AzureAD Application\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationObjectId\", example.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getApplication(GetApplicationArgs.builder()\n .displayName(\"My First AzureAD Application\")\n .build()));\n\n ctx.export(\"applicationObjectId\", example.apply(getApplicationResult -\u003e getApplicationResult.getId()));\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getApplication\n Arguments:\n displayName: My First AzureAD Application\noutputs:\n applicationObjectId: ${example.id}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplication.\n", "properties": { @@ -6620,7 +6620,7 @@ } }, "azuread:index/getApplicationPublishedAppIds:getApplicationPublishedAppIds": { - "description": "Use this data source to discover application IDs for APIs published by Microsoft.\n\nThis data source uses an [unofficial source of application IDs](https://github.com/manicminer/hamilton/blob/main/environments/published.go), as there is currently no available official indexed source for applications or APIs published by Microsoft.\n\nThe app IDs returned by this data source are sourced from the Azure Global (Public) Cloud, however some of them are known to work in government and national clouds.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Listing well-known application IDs*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nexport const publishedAppIds = wellKnown.then(wellKnown =\u003e wellKnown.result);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\npulumi.export(\"publishedAppIds\", well_known.result)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n this.PublishedAppIds = wellKnown.Apply(wellKnown =\u003e wellKnown.Result);\n }\n\n [Output(\"publishedAppIds\")]\n public Output\u003cstring\u003e PublishedAppIds { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"publishedAppIds\", wellKnown.Result)\n\t\treturn nil\n\t})\n}\n```\n\n*Granting access to an application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst example = new azuread.Application(\"example\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.appRoleIds[\"User.Read.All\"],\n type: \"Role\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.ReadWrite\"],\n type: \"Scope\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample = azuread.Application(\"example\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.app_role_ids[\"User.Read.All\"],\n type=\"Role\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.ReadWrite\"],\n type=\"Scope\",\n ),\n ],\n )])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var example = new AzureAD.Application(\"example\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.User_Read_All),\n Type = \"Role\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_ReadWrite),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplication(ctx, \"example\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn appRoleIds.User.Read.All, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.ReadWrite, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to discover application IDs for APIs published by Microsoft.\n\nThis data source uses an [unofficial source of application IDs](https://github.com/manicminer/hamilton/blob/main/environments/published.go), as there is currently no available official indexed source for applications or APIs published by Microsoft.\n\nThe app IDs returned by this data source are sourced from the Azure Global (Public) Cloud, however some of them are known to work in government and national clouds.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Listing well-known application IDs*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nexport const publishedAppIds = wellKnown.then(wellKnown =\u003e wellKnown.result);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\npulumi.export(\"publishedAppIds\", well_known.result)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n this.PublishedAppIds = wellKnown.Apply(wellKnown =\u003e wellKnown.Result);\n }\n\n [Output(\"publishedAppIds\")]\n public Output\u003cstring\u003e PublishedAppIds { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"publishedAppIds\", wellKnown.Result)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var wellKnown = Output.of(AzureadFunctions.getApplicationPublishedAppIds());\n\n ctx.export(\"publishedAppIds\", wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult()));\n }\n}\n```\n```yaml\nvariables:\n wellKnown:\n Fn::Invoke:\n Function: azuread:getApplicationPublishedAppIds\n Arguments: {}\noutputs:\n publishedAppIds: ${wellKnown.result}\n```\n\n*Granting access to an application*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst wellKnown = azuread.getApplicationPublishedAppIds({});\nconst msgraph = new azuread.ServicePrincipal(\"msgraph\", {\n applicationId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n useExisting: true,\n});\nconst example = new azuread.Application(\"example\", {\n displayName: \"example\",\n requiredResourceAccesses: [{\n resourceAppId: wellKnown.then(wellKnown =\u003e wellKnown.result?.MicrosoftGraph),\n resourceAccesses: [\n {\n id: msgraph.appRoleIds[\"User.Read.All\"],\n type: \"Role\",\n },\n {\n id: msgraph.oauth2PermissionScopeIds[\"User.ReadWrite\"],\n type: \"Scope\",\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nwell_known = azuread.get_application_published_app_ids()\nmsgraph = azuread.ServicePrincipal(\"msgraph\",\n application_id=well_known.result[\"MicrosoftGraph\"],\n use_existing=True)\nexample = azuread.Application(\"example\",\n display_name=\"example\",\n required_resource_accesses=[azuread.ApplicationRequiredResourceAccessArgs(\n resource_app_id=well_known.result[\"MicrosoftGraph\"],\n resource_accesses=[\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.app_role_ids[\"User.Read.All\"],\n type=\"Role\",\n ),\n azuread.ApplicationRequiredResourceAccessResourceAccessArgs(\n id=msgraph.oauth2_permission_scope_ids[\"User.ReadWrite\"],\n type=\"Scope\",\n ),\n ],\n )])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var wellKnown = Output.Create(AzureAD.GetApplicationPublishedAppIds.InvokeAsync());\n var msgraph = new AzureAD.ServicePrincipal(\"msgraph\", new AzureAD.ServicePrincipalArgs\n {\n ApplicationId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n UseExisting = true,\n });\n var example = new AzureAD.Application(\"example\", new AzureAD.ApplicationArgs\n {\n DisplayName = \"example\",\n RequiredResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessArgs\n {\n ResourceAppId = wellKnown.Apply(wellKnown =\u003e wellKnown.Result?.MicrosoftGraph),\n ResourceAccesses = \n {\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.AppRoleIds.Apply(appRoleIds =\u003e appRoleIds.User_Read_All),\n Type = \"Role\",\n },\n new AzureAD.Inputs.ApplicationRequiredResourceAccessResourceAccessArgs\n {\n Id = msgraph.Oauth2PermissionScopeIds.Apply(oauth2PermissionScopeIds =\u003e oauth2PermissionScopeIds.User_ReadWrite),\n Type = \"Scope\",\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twellKnown, err := azuread.GetApplicationPublishedAppIds(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmsgraph, err := azuread.NewServicePrincipal(ctx, \"msgraph\", \u0026azuread.ServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\tUseExisting: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = azuread.NewApplication(ctx, \"example\", \u0026azuread.ApplicationArgs{\n\t\t\tDisplayName: pulumi.String(\"example\"),\n\t\t\tRequiredResourceAccesses: ApplicationRequiredResourceAccessArray{\n\t\t\t\t\u0026ApplicationRequiredResourceAccessArgs{\n\t\t\t\t\tResourceAppId: pulumi.String(wellKnown.Result.MicrosoftGraph),\n\t\t\t\t\tResourceAccesses: ApplicationRequiredResourceAccessResourceAccessArray{\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.AppRoleIds.ApplyT(func(appRoleIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn appRoleIds.User.Read.All, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Role\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026ApplicationRequiredResourceAccessResourceAccessArgs{\n\t\t\t\t\t\t\tId: msgraph.Oauth2PermissionScopeIds.ApplyT(func(oauth2PermissionScopeIds map[string]string) (string, error) {\n\t\t\t\t\t\t\t\treturn oauth2PermissionScopeIds.User.ReadWrite, nil\n\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\tType: pulumi.String(\"Scope\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var wellKnown = Output.of(AzureadFunctions.getApplicationPublishedAppIds());\n\n var msgraph = new ServicePrincipal(\"msgraph\", ServicePrincipalArgs.builder() \n .applicationId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .useExisting(true)\n .build());\n\n var example = new Application(\"example\", ApplicationArgs.builder() \n .displayName(\"example\")\n .requiredResourceAccesses(ApplicationRequiredResourceAccess.builder()\n .resourceAppId(wellKnown.apply(getApplicationPublishedAppIdsResult -\u003e getApplicationPublishedAppIdsResult.getResult().getMicrosoftGraph()))\n .resourceAccesses( \n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getAppRoleIds().apply(appRoleIds -\u003e appRoleIds.getUser.Read.All()))\n .type(\"Role\")\n .build(),\n ApplicationRequiredResourceAccessResourceAccess.builder()\n .id(msgraph.getOauth2PermissionScopeIds().apply(oauth2PermissionScopeIds -\u003e oauth2PermissionScopeIds.getUser.ReadWrite()))\n .type(\"Scope\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n msgraph:\n type: azuread:ServicePrincipal\n properties:\n applicationId: ${wellKnown.result.MicrosoftGraph}\n useExisting: true\n example:\n type: azuread:Application\n properties:\n displayName: example\n requiredResourceAccesses:\n - resourceAppId: ${wellKnown.result.MicrosoftGraph}\n resourceAccesses:\n - id: ${msgraph.appRoleIds\"User.Read.All\"[%!s(MISSING)]}\n type: Role\n - id: ${msgraph.oauth2PermissionScopeIds\"User.ReadWrite\"[%!s(MISSING)]}\n type: Scope\nvariables:\n wellKnown:\n Fn::Invoke:\n Function: azuread:getApplicationPublishedAppIds\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getApplicationPublishedAppIds.\n", "properties": { @@ -6644,7 +6644,7 @@ } }, "azuread:index/getApplicationTemplate:getApplicationTemplate": { - "description": "Use this data source to access information about an Application Template from the [Azure AD App Gallery](https://azuremarketplace.microsoft.com/en-US/marketplace/apps/category/azure-active-directory-apps).\n\n## API Permissions\n\nThis data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = azuread.getApplicationTemplate({\n displayName: \"Marketo\",\n});\nexport const applicationTemplateId = example.then(example =\u003e example.templateId);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_application_template(display_name=\"Marketo\")\npulumi.export(\"applicationTemplateId\", example.template_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetApplicationTemplate.InvokeAsync(new AzureAD.GetApplicationTemplateArgs\n {\n DisplayName = \"Marketo\",\n }));\n this.ApplicationTemplateId = example.Apply(example =\u003e example.TemplateId);\n }\n\n [Output(\"applicationTemplateId\")]\n public Output\u003cstring\u003e ApplicationTemplateId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := azuread.GetApplicationTemplate(ctx, \u0026GetApplicationTemplateArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Marketo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationTemplateId\", example.TemplateId)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to access information about an Application Template from the [Azure AD App Gallery](https://azuremarketplace.microsoft.com/en-US/marketplace/apps/category/azure-active-directory-apps).\n\n## API Permissions\n\nThis data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = azuread.getApplicationTemplate({\n displayName: \"Marketo\",\n});\nexport const applicationTemplateId = example.then(example =\u003e example.templateId);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_application_template(display_name=\"Marketo\")\npulumi.export(\"applicationTemplateId\", example.template_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetApplicationTemplate.InvokeAsync(new AzureAD.GetApplicationTemplateArgs\n {\n DisplayName = \"Marketo\",\n }));\n this.ApplicationTemplateId = example.Apply(example =\u003e example.TemplateId);\n }\n\n [Output(\"applicationTemplateId\")]\n public Output\u003cstring\u003e ApplicationTemplateId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := azuread.GetApplicationTemplate(ctx, \u0026GetApplicationTemplateArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Marketo\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationTemplateId\", example.TemplateId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getApplicationTemplate(GetApplicationTemplateArgs.builder()\n .displayName(\"Marketo\")\n .build()));\n\n ctx.export(\"applicationTemplateId\", example.apply(getApplicationTemplateResult -\u003e getApplicationTemplateResult.getTemplateId()));\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getApplicationTemplate\n Arguments:\n displayName: Marketo\noutputs:\n applicationTemplateId: ${example.templateId}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getApplicationTemplate.\n", "properties": { @@ -6723,7 +6723,7 @@ } }, "azuread:index/getClientConfig:getClientConfig": { - "description": "Use this data source to access the configuration of the AzureAD provider.\n\n## API Permissions\n\nNo additional roles are required to use this data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nexport const objectId = current.then(current =\u003e current.objectId);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\npulumi.export(\"objectId\", current.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n this.ObjectId = current.Apply(current =\u003e current.ObjectId);\n }\n\n [Output(\"objectId\")]\n public Output\u003cstring\u003e ObjectId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"objectId\", current.ObjectId)\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to access the configuration of the AzureAD provider.\n\n## API Permissions\n\nNo additional roles are required to use this data source.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst current = azuread.getClientConfig({});\nexport const objectId = current.then(current =\u003e current.objectId);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\ncurrent = azuread.get_client_config()\npulumi.export(\"objectId\", current.object_id)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var current = Output.Create(AzureAD.GetClientConfig.InvokeAsync());\n this.ObjectId = current.Apply(current =\u003e current.ObjectId);\n }\n\n [Output(\"objectId\")]\n public Output\u003cstring\u003e ObjectId { get; set; }\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := azuread.GetClientConfig(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"objectId\", current.ObjectId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = Output.of(AzureadFunctions.getClientConfig());\n\n ctx.export(\"objectId\", current.apply(getClientConfigResult -\u003e getClientConfigResult.getObjectId()));\n }\n}\n```\n```yaml\nvariables:\n current:\n Fn::Invoke:\n Function: azuread:getClientConfig\n Arguments: {}\noutputs:\n objectId: ${current.objectId}\n```\n{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getClientConfig.\n", "properties": { @@ -6754,7 +6754,7 @@ } }, "azuread:index/getDomains:getDomains": { - "description": "Use this data source to access information about existing Domains within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Domain.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst aadDomains = azuread.getDomains({});\nexport const domainNames = [aadDomains.then(aadDomains =\u003e aadDomains.domains)].map(__item =\u003e __item?.domainName);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\naad_domains = azuread.get_domains()\npulumi.export(\"domainNames\", [__item.domain_name for __item in [aad_domains.domains]])\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var aadDomains = Output.Create(AzureAD.GetDomains.InvokeAsync());\n this.DomainNames = \n {\n aadDomains.Apply(aadDomains =\u003e aadDomains.Domains),\n }.Select(__item =\u003e __item?.DomainName).ToList();\n }\n\n [Output(\"domainNames\")]\n public Output\u003cstring\u003e DomainNames { get; set; }\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Use this data source to access information about existing Domains within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Domain.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst aadDomains = azuread.getDomains({});\nexport const domainNames = [aadDomains.then(aadDomains =\u003e aadDomains.domains)].map(__item =\u003e __item?.domainName);\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\naad_domains = azuread.get_domains()\npulumi.export(\"domainNames\", [__item.domain_name for __item in [aad_domains.domains]])\n```\n```csharp\nusing System.Linq;\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var aadDomains = Output.Create(AzureAD.GetDomains.InvokeAsync());\n this.DomainNames = \n {\n aadDomains.Apply(aadDomains =\u003e aadDomains.Domains),\n }.Select(__item =\u003e __item?.DomainName).ToList();\n }\n\n [Output(\"domainNames\")]\n public Output\u003cstring\u003e DomainNames { get; set; }\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aadDomains = Output.of(AzureadFunctions.getDomains());\n\n ctx.export(\"domainNames\", aadDomains.apply(getDomainsResult -\u003e getDomainsResult.getDomains()).stream().map(element -\u003e element.getDomainName()).collect(toList()));\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDomains.\n", "properties": { @@ -6833,7 +6833,7 @@ } }, "azuread:index/getGroup:getGroup": { - "description": "Gets information about an Azure Active Directory group.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Group.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### By Group Display Name)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getGroup({\n displayName: \"MyGroupName\",\n securityEnabled: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_group(display_name=\"MyGroupName\",\n security_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetGroup.InvokeAsync(new AzureAD.GetGroupArgs\n {\n DisplayName = \"MyGroupName\",\n SecurityEnabled = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupGroup(ctx, \u0026GetGroupArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"MyGroupName\"),\n\t\t\tSecurityEnabled: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets information about an Azure Active Directory group.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Group.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### By Group Display Name)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getGroup({\n displayName: \"MyGroupName\",\n securityEnabled: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_group(display_name=\"MyGroupName\",\n security_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetGroup.InvokeAsync(new AzureAD.GetGroupArgs\n {\n DisplayName = \"MyGroupName\",\n SecurityEnabled = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupGroup(ctx, \u0026GetGroupArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"MyGroupName\"),\n\t\t\tSecurityEnabled: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getGroup(GetGroupArgs.builder()\n .displayName(\"MyGroupName\")\n .securityEnabled(true)\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getGroup\n Arguments:\n displayName: MyGroupName\n securityEnabled: true\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getGroup.\n", "properties": { @@ -7027,7 +7027,7 @@ } }, "azuread:index/getGroups:getGroups": { - "description": "Gets Object IDs or Display Names for multiple Azure Active Directory groups.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Group.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Look up by group name*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getGroups({\n displayNames: [\n \"group-a\",\n \"group-b\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_groups(display_names=[\n \"group-a\",\n \"group-b\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n DisplayNames = \n {\n \"group-a\",\n \"group-b\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tDisplayNames: []string{\n\t\t\t\t\"group-a\",\n\t\t\t\t\"group-b\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up by display name prefix*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst sales = pulumi.output(azuread.getGroups({\n displayNamePrefix: \"sales-\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nsales = azuread.get_groups(display_name_prefix=\"sales-\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var sales = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n DisplayNamePrefix = \"sales-\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tDisplayNamePrefix: pulumi.StringRef(\"sales-\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up all groups*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst all = pulumi.output(azuread.getGroups({\n returnAll: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nall = azuread.get_groups(return_all=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var all = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n ReturnAll = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tReturnAll: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up all mail-enabled groups*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst mailEnabled = pulumi.output(azuread.getGroups({\n mailEnabled: true,\n returnAll: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nmail_enabled = azuread.get_groups(mail_enabled=True,\n return_all=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var mailEnabled = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n MailEnabled = true,\n ReturnAll = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tMailEnabled: pulumi.BoolRef(true),\n\t\t\tReturnAll: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up all security-enabled groups that are not mail-enabled*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst securityOnly = pulumi.output(azuread.getGroups({\n mailEnabled: false,\n returnAll: true,\n securityEnabled: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nsecurity_only = azuread.get_groups(mail_enabled=False,\n return_all=True,\n security_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var securityOnly = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n MailEnabled = false,\n ReturnAll = true,\n SecurityEnabled = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tMailEnabled: pulumi.BoolRef(false),\n\t\t\tReturnAll: pulumi.BoolRef(true),\n\t\t\tSecurityEnabled: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets Object IDs or Display Names for multiple Azure Active Directory groups.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Group.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Look up by group name*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getGroups({\n displayNames: [\n \"group-a\",\n \"group-b\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_groups(display_names=[\n \"group-a\",\n \"group-b\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n DisplayNames = \n {\n \"group-a\",\n \"group-b\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tDisplayNames: []string{\n\t\t\t\t\"group-a\",\n\t\t\t\t\"group-b\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getGroups(GetGroupsArgs.builder()\n .displayNames( \n \"group-a\",\n \"group-b\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getGroups\n Arguments:\n displayNames:\n - group-a\n - group-b\n```\n\n*Look up by display name prefix*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst sales = pulumi.output(azuread.getGroups({\n displayNamePrefix: \"sales-\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nsales = azuread.get_groups(display_name_prefix=\"sales-\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var sales = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n DisplayNamePrefix = \"sales-\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tDisplayNamePrefix: pulumi.StringRef(\"sales-\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var sales = Output.of(AzureadFunctions.getGroups(GetGroupsArgs.builder()\n .displayNamePrefix(\"sales-\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n sales:\n Fn::Invoke:\n Function: azuread:getGroups\n Arguments:\n displayNamePrefix: sales-\n```\n\n*Look up all groups*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst all = pulumi.output(azuread.getGroups({\n returnAll: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nall = azuread.get_groups(return_all=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var all = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n ReturnAll = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tReturnAll: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var all = Output.of(AzureadFunctions.getGroups(GetGroupsArgs.builder()\n .returnAll(true)\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n all:\n Fn::Invoke:\n Function: azuread:getGroups\n Arguments:\n returnAll: true\n```\n\n*Look up all mail-enabled groups*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst mailEnabled = pulumi.output(azuread.getGroups({\n mailEnabled: true,\n returnAll: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nmail_enabled = azuread.get_groups(mail_enabled=True,\n return_all=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var mailEnabled = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n MailEnabled = true,\n ReturnAll = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tMailEnabled: pulumi.BoolRef(true),\n\t\t\tReturnAll: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var mailEnabled = Output.of(AzureadFunctions.getGroups(GetGroupsArgs.builder()\n .mailEnabled(true)\n .returnAll(true)\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n mailEnabled:\n Fn::Invoke:\n Function: azuread:getGroups\n Arguments:\n mailEnabled: true\n returnAll: true\n```\n\n*Look up all security-enabled groups that are not mail-enabled*\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst securityOnly = pulumi.output(azuread.getGroups({\n mailEnabled: false,\n returnAll: true,\n securityEnabled: true,\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nsecurity_only = azuread.get_groups(mail_enabled=False,\n return_all=True,\n security_enabled=True)\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var securityOnly = Output.Create(AzureAD.GetGroups.InvokeAsync(new AzureAD.GetGroupsArgs\n {\n MailEnabled = false,\n ReturnAll = true,\n SecurityEnabled = true,\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetGroups(ctx, \u0026GetGroupsArgs{\n\t\t\tMailEnabled: pulumi.BoolRef(false),\n\t\t\tReturnAll: pulumi.BoolRef(true),\n\t\t\tSecurityEnabled: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var securityOnly = Output.of(AzureadFunctions.getGroups(GetGroupsArgs.builder()\n .mailEnabled(false)\n .returnAll(true)\n .securityEnabled(true)\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n securityOnly:\n Fn::Invoke:\n Function: azuread:getGroups\n Arguments:\n mailEnabled: false\n returnAll: true\n securityEnabled: true\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getGroups.\n", "properties": { @@ -7117,7 +7117,7 @@ } }, "azuread:index/getServicePrincipal:getServicePrincipal": { - "description": "Gets information about an existing service principal associated with an application within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Look up by application display name*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipal({\n displayName: \"my-awesome-application\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principal(display_name=\"my-awesome-application\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = \"my-awesome-application\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupServicePrincipal(ctx, \u0026GetServicePrincipalArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"my-awesome-application\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up by application ID (client ID)*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipal({\n applicationId: \"00000000-0000-0000-0000-000000000000\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principal(application_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n ApplicationId = \"00000000-0000-0000-0000-000000000000\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupServicePrincipal(ctx, \u0026GetServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up by service principal object ID*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipal({\n objectId: \"00000000-0000-0000-0000-000000000000\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principal(object_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n ObjectId = \"00000000-0000-0000-0000-000000000000\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupServicePrincipal(ctx, \u0026GetServicePrincipalArgs{\n\t\t\tObjectId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets information about an existing service principal associated with an application within Azure Active Directory.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Look up by application display name*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipal({\n displayName: \"my-awesome-application\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principal(display_name=\"my-awesome-application\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n DisplayName = \"my-awesome-application\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupServicePrincipal(ctx, \u0026GetServicePrincipalArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"my-awesome-application\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .displayName(\"my-awesome-application\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getServicePrincipal\n Arguments:\n displayName: my-awesome-application\n```\n\n*Look up by application ID (client ID)*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipal({\n applicationId: \"00000000-0000-0000-0000-000000000000\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principal(application_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n ApplicationId = \"00000000-0000-0000-0000-000000000000\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupServicePrincipal(ctx, \u0026GetServicePrincipalArgs{\n\t\t\tApplicationId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .applicationId(\"00000000-0000-0000-0000-000000000000\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getServicePrincipal\n Arguments:\n applicationId: 00000000-0000-0000-0000-000000000000\n```\n\n*Look up by service principal object ID*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipal({\n objectId: \"00000000-0000-0000-0000-000000000000\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principal(object_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipal.InvokeAsync(new AzureAD.GetServicePrincipalArgs\n {\n ObjectId = \"00000000-0000-0000-0000-000000000000\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupServicePrincipal(ctx, \u0026GetServicePrincipalArgs{\n\t\t\tObjectId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()\n .objectId(\"00000000-0000-0000-0000-000000000000\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getServicePrincipal\n Arguments:\n objectId: 00000000-0000-0000-0000-000000000000\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getServicePrincipal.\n", "properties": { @@ -7322,7 +7322,7 @@ } }, "azuread:index/getServicePrincipals:getServicePrincipals": { - "description": "Gets basic information for multiple Azure Active Directory service principals.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Look up by application display names*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipals({\n displayNames: [\n \"example-app\",\n \"another-app\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principals(display_names=[\n \"example-app\",\n \"another-app\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipals.InvokeAsync(new AzureAD.GetServicePrincipalsArgs\n {\n DisplayNames = \n {\n \"example-app\",\n \"another-app\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetServicePrincipals(ctx, \u0026GetServicePrincipalsArgs{\n\t\t\tDisplayNames: []string{\n\t\t\t\t\"example-app\",\n\t\t\t\t\"another-app\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up by application IDs (client IDs*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipals({\n applicationIds: [\n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principals(application_ids=[\n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipals.InvokeAsync(new AzureAD.GetServicePrincipalsArgs\n {\n ApplicationIds = \n {\n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetServicePrincipals(ctx, \u0026GetServicePrincipalsArgs{\n\t\t\tApplicationIds: []string{\n\t\t\t\t\"11111111-0000-0000-0000-000000000000\",\n\t\t\t\t\"22222222-0000-0000-0000-000000000000\",\n\t\t\t\t\"33333333-0000-0000-0000-000000000000\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n*Look up by service principal object IDs*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipals({\n objectIds: [\n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principals(object_ids=[\n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipals.InvokeAsync(new AzureAD.GetServicePrincipalsArgs\n {\n ObjectIds = \n {\n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetServicePrincipals(ctx, \u0026GetServicePrincipalsArgs{\n\t\t\tObjectIds: []string{\n\t\t\t\t\"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t\"00000000-0000-0000-0000-111111111111\",\n\t\t\t\t\"00000000-0000-0000-0000-222222222222\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets basic information for multiple Azure Active Directory service principals.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n*Look up by application display names*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipals({\n displayNames: [\n \"example-app\",\n \"another-app\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principals(display_names=[\n \"example-app\",\n \"another-app\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipals.InvokeAsync(new AzureAD.GetServicePrincipalsArgs\n {\n DisplayNames = \n {\n \"example-app\",\n \"another-app\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetServicePrincipals(ctx, \u0026GetServicePrincipalsArgs{\n\t\t\tDisplayNames: []string{\n\t\t\t\t\"example-app\",\n\t\t\t\t\"another-app\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getServicePrincipals(GetServicePrincipalsArgs.builder()\n .displayNames( \n \"example-app\",\n \"another-app\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getServicePrincipals\n Arguments:\n displayNames:\n - example-app\n - another-app\n```\n\n*Look up by application IDs (client IDs*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipals({\n applicationIds: [\n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principals(application_ids=[\n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipals.InvokeAsync(new AzureAD.GetServicePrincipalsArgs\n {\n ApplicationIds = \n {\n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetServicePrincipals(ctx, \u0026GetServicePrincipalsArgs{\n\t\t\tApplicationIds: []string{\n\t\t\t\t\"11111111-0000-0000-0000-000000000000\",\n\t\t\t\t\"22222222-0000-0000-0000-000000000000\",\n\t\t\t\t\"33333333-0000-0000-0000-000000000000\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getServicePrincipals(GetServicePrincipalsArgs.builder()\n .applicationIds( \n \"11111111-0000-0000-0000-000000000000\",\n \"22222222-0000-0000-0000-000000000000\",\n \"33333333-0000-0000-0000-000000000000\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getServicePrincipals\n Arguments:\n applicationIds:\n - 11111111-0000-0000-0000-000000000000\n - 22222222-0000-0000-0000-000000000000\n - 33333333-0000-0000-0000-000000000000\n```\n\n*Look up by service principal object IDs*\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getServicePrincipals({\n objectIds: [\n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_service_principals(object_ids=[\n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetServicePrincipals.InvokeAsync(new AzureAD.GetServicePrincipalsArgs\n {\n ObjectIds = \n {\n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetServicePrincipals(ctx, \u0026GetServicePrincipalsArgs{\n\t\t\tObjectIds: []string{\n\t\t\t\t\"00000000-0000-0000-0000-000000000000\",\n\t\t\t\t\"00000000-0000-0000-0000-111111111111\",\n\t\t\t\t\"00000000-0000-0000-0000-222222222222\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getServicePrincipals(GetServicePrincipalsArgs.builder()\n .objectIds( \n \"00000000-0000-0000-0000-000000000000\",\n \"00000000-0000-0000-0000-111111111111\",\n \"00000000-0000-0000-0000-222222222222\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getServicePrincipals\n Arguments:\n objectIds:\n - 00000000-0000-0000-0000-000000000000\n - 00000000-0000-0000-0000-111111111111\n - 00000000-0000-0000-0000-222222222222\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getServicePrincipals.\n", "properties": { @@ -7411,7 +7411,7 @@ } }, "azuread:index/getUser:getUser": { - "description": "Gets information about an Azure Active Directory user.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `User.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getUser({\n userPrincipalName: \"user@hashicorp.com\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_user(user_principal_name=\"user@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"user@hashicorp.com\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"user@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets information about an Azure Active Directory user.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `User.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst example = pulumi.output(azuread.getUser({\n userPrincipalName: \"user@hashicorp.com\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nexample = azuread.get_user(user_principal_name=\"user@hashicorp.com\")\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var example = Output.Create(AzureAD.GetUser.InvokeAsync(new AzureAD.GetUserArgs\n {\n UserPrincipalName = \"user@hashicorp.com\",\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.LookupUser(ctx, \u0026GetUserArgs{\n\t\t\tUserPrincipalName: pulumi.StringRef(\"user@hashicorp.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = Output.of(AzureadFunctions.getUser(GetUserArgs.builder()\n .userPrincipalName(\"user@hashicorp.com\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n example:\n Fn::Invoke:\n Function: azuread:getUser\n Arguments:\n userPrincipalName: user@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getUser.\n", "properties": { @@ -7672,7 +7672,7 @@ } }, "azuread:index/getUsers:getUsers": { - "description": "Gets basic information for multiple Azure Active Directory users.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `User.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst users = pulumi.output(azuread.getUsers({\n userPrincipalNames: [\n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nusers = azuread.get_users(user_principal_names=[\n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var users = Output.Create(AzureAD.GetUsers.InvokeAsync(new AzureAD.GetUsersArgs\n {\n UserPrincipalNames = \n {\n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetUsers(ctx, \u0026GetUsersArgs{\n\t\t\tUserPrincipalNames: []string{\n\t\t\t\t\"kat@hashicorp.com\",\n\t\t\t\t\"byte@hashicorp.com\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Gets basic information for multiple Azure Active Directory users.\n\n## API Permissions\n\nThe following API permissions are required in order to use this data source.\n\nWhen authenticated with a service principal, this data source requires one of the following application roles: `User.Read.All` or `Directory.Read.All`\n\nWhen authenticated with a user principal, this data source does not require any additional roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azuread from \"@pulumi/azuread\";\n\nconst users = pulumi.output(azuread.getUsers({\n userPrincipalNames: [\n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\",\n ],\n}));\n```\n```python\nimport pulumi\nimport pulumi_azuread as azuread\n\nusers = azuread.get_users(user_principal_names=[\n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\",\n])\n```\n```csharp\nusing Pulumi;\nusing AzureAD = Pulumi.AzureAD;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var users = Output.Create(AzureAD.GetUsers.InvokeAsync(new AzureAD.GetUsersArgs\n {\n UserPrincipalNames = \n {\n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\",\n },\n }));\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azuread.GetUsers(ctx, \u0026GetUsersArgs{\n\t\t\tUserPrincipalNames: []string{\n\t\t\t\t\"kat@hashicorp.com\",\n\t\t\t\t\"byte@hashicorp.com\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport java.util.*;\nimport java.io.*;\nimport java.nio.*;\nimport com.pulumi.*;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var users = Output.of(AzureadFunctions.getUsers(GetUsersArgs.builder()\n .userPrincipalNames( \n \"kat@hashicorp.com\",\n \"byte@hashicorp.com\")\n .build()));\n\n }\n}\n```\n```yaml\nvariables:\n users:\n Fn::Invoke:\n Function: azuread:getUsers\n Arguments:\n userPrincipalNames:\n - kat@hashicorp.com\n - byte@hashicorp.com\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getUsers.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 378e00d39..2a54b1567 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,11 +1,204 @@ module github.com/pulumi/pulumi-azuread/provider/v5 -go 1.16 +go 1.17 require ( github.com/hashicorp/terraform-provider-azuread/shim v0.0.0 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.21.0 - github.com/pulumi/pulumi/sdk/v3 v3.30.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.22.0 + github.com/pulumi/pulumi/sdk/v3 v3.31.1 +) + +require ( + cloud.google.com/go v0.99.0 // indirect + cloud.google.com/go/kms v1.1.0 // indirect + cloud.google.com/go/logging v1.0.0 // indirect + cloud.google.com/go/storage v1.15.0 // indirect + github.com/Azure/azure-pipeline-go v0.2.3 // indirect + github.com/Azure/azure-sdk-for-go v54.0.0+incompatible // indirect + github.com/Azure/azure-storage-blob-go v0.13.0 // indirect + github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/Azure/go-autorest v14.2.0+incompatible // indirect + github.com/Azure/go-autorest/autorest v0.11.18 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.13 // indirect + github.com/Azure/go-autorest/autorest/azure/auth v0.5.7 // indirect + github.com/Azure/go-autorest/autorest/azure/cli v0.4.2 // indirect + github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect + github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect + github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect + github.com/Azure/go-autorest/logger v0.2.1 // indirect + github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/Masterminds/goutils v1.1.0 // indirect + github.com/Masterminds/semver v1.5.0 // indirect + github.com/Masterminds/sprig v2.22.0+incompatible // indirect + github.com/Microsoft/go-winio v0.5.1 // indirect + github.com/agext/levenshtein v1.2.3 // indirect + github.com/apparentlymart/go-cidr v1.1.0 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/armon/go-radix v1.0.0 // indirect + github.com/aws/aws-sdk-go v1.38.35 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect + github.com/bgentry/speakeasy v0.1.0 // indirect + github.com/blang/semver v3.5.1+incompatible // indirect + github.com/census-instrumentation/opencensus-proto v0.3.0 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 // indirect + github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dimchansky/utfbom v1.1.1 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/dustin/go-humanize v1.0.0 // indirect + github.com/emirpasic/gods v1.12.0 // indirect + github.com/envoyproxy/go-control-plane v0.10.1 // indirect + github.com/envoyproxy/protoc-gen-validate v0.6.2 // indirect + github.com/ettle/strcase v0.1.1 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/form3tech-oss/jwt-go v3.2.2+incompatible // indirect + github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v1.0.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/snappy v0.0.3 // indirect + github.com/google/go-cmp v0.5.7 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect + github.com/google/uuid v1.2.0 // indirect + github.com/google/wire v0.5.0 // indirect + github.com/googleapis/gax-go/v2 v2.1.1 // indirect + github.com/gorilla/mux v1.7.4 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-checkpoint v0.5.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect + github.com/hashicorp/go-getter v1.5.3 // indirect + github.com/hashicorp/go-hclog v1.2.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-plugin v1.4.3 // indirect + github.com/hashicorp/go-retryablehttp v0.7.0 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-safetemp v1.0.0 // indirect + github.com/hashicorp/go-sockaddr v1.0.2 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/hashicorp/go-version v1.4.0 // indirect + github.com/hashicorp/hc-install v0.3.1 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/hcl/v2 v2.11.1 // indirect + github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect + github.com/hashicorp/logutils v1.0.0 // indirect + github.com/hashicorp/terraform-exec v0.16.0 // indirect + github.com/hashicorp/terraform-json v0.13.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.8.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.3.0 // indirect + github.com/hashicorp/terraform-plugin-sdk v1.7.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.13.0 // indirect + github.com/hashicorp/terraform-provider-azuread v1.6.1-0.20220428202731-e2c57af04dd1 // indirect + github.com/hashicorp/terraform-registry-address v0.0.0-20220131103327-5c1c5e123275 // indirect + github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect + github.com/hashicorp/vault/api v1.1.0 // indirect + github.com/hashicorp/vault/sdk v0.2.0 // indirect + github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 // indirect + github.com/huandu/xstrings v1.3.2 // indirect + github.com/iancoleman/strcase v0.2.0 // indirect + github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect + github.com/imdario/mergo v0.3.12 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect + github.com/kevinburke/ssh_config v1.1.0 // indirect + github.com/klauspost/compress v1.12.2 // indirect + github.com/manicminer/hamilton v0.46.0 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-ieproxy v0.0.1 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-runewidth v0.0.13 // indirect + github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect + github.com/mitchellh/cli v1.1.2 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect + github.com/mitchellh/go-wordwrap v1.0.1 // indirect + github.com/mitchellh/hashstructure v1.0.0 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/oklog/run v1.1.0 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect + github.com/pierrec/lz4 v2.6.0+incompatible // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pkg/term v1.1.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/posener/complete v1.2.1 // indirect + github.com/pulumi/pulumi-java/pkg v0.1.0 // indirect + github.com/pulumi/pulumi-yaml v0.3.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.31.2-0.20220504080053-86c015b9e64a // indirect + github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/rjeczalik/notify v0.9.2 // indirect + github.com/rogpeppe/go-internal v1.8.1 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/ryanuber/go-glob v1.0.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/sergi/go-diff v1.2.0 // indirect + github.com/spf13/afero v1.6.0 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cobra v1.4.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/src-d/gcfg v1.4.0 // indirect + github.com/stretchr/testify v1.7.1 // indirect + github.com/terraform-providers/terraform-provider-archive v1.3.0 // indirect + github.com/terraform-providers/terraform-provider-http v1.2.0 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect + github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/ulikunitz/xz v0.5.8 // indirect + github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect + github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect + github.com/vmihailenco/tagparser v0.1.2 // indirect + github.com/xanzy/ssh-agent v0.3.1 // indirect + github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect + github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/zclconf/go-cty v1.10.0 // indirect + github.com/zclconf/go-cty-yaml v1.0.1 // indirect + go.opencensus.io v0.23.0 // indirect + go.uber.org/atomic v1.9.0 // indirect + gocloud.dev v0.23.0 // indirect + gocloud.dev/secrets/hashivault v0.23.0 // indirect + golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29 // indirect + golang.org/x/mod v0.5.0 // indirect + golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3 // indirect + golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a // indirect + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect + golang.org/x/sys v0.0.0-20220406163625-3f8b81556e12 // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + google.golang.org/api v0.62.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac // indirect + google.golang.org/grpc v1.45.0 // indirect + google.golang.org/protobuf v1.28.0 // indirect + gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f // indirect + gopkg.in/square/go-jose.v2 v2.5.1 // indirect + gopkg.in/src-d/go-billy.v4 v4.3.2 // indirect + gopkg.in/src-d/go-git.v4 v4.13.1 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 // indirect ) replace ( diff --git a/provider/go.sum b/provider/go.sum index 037f437a9..258546b0c 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -23,8 +23,17 @@ cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmW cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0 h1:at8Tk2zUz63cLPR0JPWm5vp77pEZmzxEQBEfRKn1VV8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -34,6 +43,8 @@ cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM7 cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.5.0/go.mod h1:c4nNYR1qdq7eaZ+jSc5fonrQN2k3M7sWATcYTiakjEo= +cloud.google.com/go/kms v1.1.0 h1:1yc4rLqCkVDS9Zvc7m+3mJ47kw0Uo5Q5+sMjcmUVUeM= +cloud.google.com/go/kms v1.1.0/go.mod h1:WdbppnCDMDpOvoYBMn1+gNmOeEoZYqAv+HeuKARGCXI= cloud.google.com/go/logging v1.0.0 h1:kaunpnoEh9L4hu6JUsBa8Y20LBfKnCuDhKUgdZp7oK8= cloud.google.com/go/logging v1.0.0/go.mod h1:V1cc3ogwobYzQq5f2R7DS/GvRIrI4FKj01Gs5glwAls= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -102,6 +113,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/GoogleCloudPlatform/cloudsql-proxy v1.22.0/go.mod h1:mAm5O/zik2RFmcpigNjg6nMotDL8ZXJaxKzgGVcSMFA= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= @@ -110,13 +123,17 @@ github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZC github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8 h1:xzYJEypr/85nBpB11F9br+3HUrpgb+fcm5iADzXXYEw= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= @@ -124,6 +141,7 @@ github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -145,6 +163,7 @@ github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -172,11 +191,17 @@ github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdn github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bsm/go-vlq v0.0.0-20150828105119-ec6e8d4f5f4e/go.mod h1:N+BjUcTjSxc2mtRGSCPsat1kze3CUtvJN3/jTXlp29k= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -186,11 +211,15 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490 h1:KwaoQzs/WeUxxJqiJsZ4euOly1Az/IgZXXSxlD/UBNk= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= @@ -202,8 +231,13 @@ github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.1/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -215,11 +249,13 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= -github.com/djherbis/times v1.2.0 h1:xANXjsC/iBqbO00vkWlYwPWgBgEVU6m6AFYg0Pic+Mc= github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= @@ -235,14 +271,22 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1 h1:cgDRLG7bs59Zd+apAWuzLQL95obVYAymNJek76W3mgw= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2 h1:JiO+kJTpmYGjEodY7O1Zk8oZcNz1+f30UtwtXoFUPzE= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= +github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= @@ -276,6 +320,7 @@ github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= @@ -293,16 +338,20 @@ github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.3.0+incompatible h1:8K4tyRfvU1CYPgJsveYFQMhpFd/wXNM7iK6rR7UHz84= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -316,6 +365,7 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -354,8 +404,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/go-replayers/grpcreplay v1.0.0 h1:B5kVOzJ1hBgnevTgIWhSTatQ3608yu/2NnU0Ta1d0kY= github.com/google/go-replayers/grpcreplay v1.0.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= github.com/google/go-replayers/httpreplay v0.1.2 h1:HCfx+dQzwN9XbGTHF8qJ+67WN8glL9FTWV5rraCJ/jU= @@ -365,8 +416,9 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0 h1:wCKgOCHuUEVfsaQLpPSJb7VdYCdTVZQAuOdYm1yc/60= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -379,7 +431,11 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -389,11 +445,17 @@ github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= @@ -417,6 +479,7 @@ github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrj github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= @@ -510,6 +573,13 @@ github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKe github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= +github.com/hexops/autogold v0.8.1/go.mod h1:97HLDXyG23akzAoRYJh/2OBs3kd80eHyKPvZw0S5ZBY= +github.com/hexops/autogold v1.3.0 h1:IEtGNPxBeBu8RMn8eKWh/Ll9dVNgSnJ7bp/qHgMQ14o= +github.com/hexops/autogold v1.3.0/go.mod h1:d4hwi2rid66Sag+BVuHgwakW/EmaFr8vdTSbWDbrDRI= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= +github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174 h1:WlZsjVhE8Af9IcZDGgJGQpNflI3+MJSBhsgT5PCtzBQ= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -540,18 +610,21 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.1.0 h1:pH/t1WS9NzT8go394IqZeJTMHVm6Cr6ZJ6AQ+mdNo/o= +github.com/kevinburke/ssh_config v1.1.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= @@ -562,6 +635,7 @@ github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs github.com/klauspost/compress v1.12.2 h1:2KCfW3I9M7nSc5wOqXAlW2v2U6v+w6cbjvbfp+OykW8= github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -581,6 +655,8 @@ github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgx github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.1/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/manicminer/hamilton v0.46.0 h1:ag0xqWnALt9uQSfrrrXuQvm6puV8y+LghJQD32lzW+M= github.com/manicminer/hamilton v0.46.0/go.mod h1:lbVyngC+/nCWuDp8UhC6Bw+bh7jcP/E+YwqzHTmzemk= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= @@ -604,8 +680,9 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= @@ -650,19 +727,23 @@ github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxschmitt/golang-combinations v1.0.0/go.mod h1:RbMhWvfCelHR6WROvT2bVfxJvZHoEvBj71SKe+H0MYU= github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nightlyone/lockfile v1.0.0 h1:RHep2cFKK4PonZJDdEl4GmkabuhbsRMgk/k3uAmxBiA= +github.com/nightlyone/lockfile v1.0.0/go.mod h1:rywoIealpdNse2r832aiD9jRk8ErCatROs6LzC841CI= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758= github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -675,12 +756,15 @@ github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zM github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= @@ -693,6 +777,7 @@ github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -703,26 +788,40 @@ github.com/posener/complete v1.2.1/go.mod h1:6gapUrK/U1TAN7ciCoNRIdVC5sbdBTUh1DK github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.21.0 h1:0NRgoWwtunZ9FOk23/fs9OHQxcdd+FyzJqFWKSeqnE0= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.21.0/go.mod h1:/hmAhDQorKTW29yyMWLHDSqs3/58+TxLxJw9ck9D6wQ= -github.com/pulumi/pulumi/pkg/v3 v3.30.0 h1:tdhcndy6pc+aV76wC76r+i5Z5E5nUvc78JaNyeA66JY= -github.com/pulumi/pulumi/pkg/v3 v3.30.0/go.mod h1:U1BGP/1QmebZE35OfFAT96zN2lhexAktkGLAbnAv+lI= -github.com/pulumi/pulumi/sdk/v3 v3.30.0 h1:0X5gSUS3x82XzenpCCW8EdJrmOzoQqHSdQd0O6QSMQQ= -github.com/pulumi/pulumi/sdk/v3 v3.30.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/pulumi/pulumi-java/pkg v0.1.0 h1:NsbaTKH6edcEfGcsu3RHxEB5zq29+FXV5D79CPTZPBU= +github.com/pulumi/pulumi-java/pkg v0.1.0/go.mod h1:Dw5klQSJCD6hHaHN4BcCoOW+KjC6NafdBtDsy6sY6uc= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.22.0 h1:fQ9z9uzdK367vHkbsejToGCbpPS1TM2wR97Fr7B2amo= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.22.0/go.mod h1:XBt1gnE/O56HM9mJ12t7RntmydGarVHoKsGK/vDctuY= +github.com/pulumi/pulumi-yaml v0.3.0 h1:I7aW6Qm/1EsYDJJDJ0DLrLvpOlpmjbAgTnYo8pZlUcs= +github.com/pulumi/pulumi-yaml v0.3.0/go.mod h1:6pQ0QcQqLYbq+i5vYjir/gDnpCvTkKcHqB5+mt0d3So= +github.com/pulumi/pulumi/pkg/v3 v3.26.0/go.mod h1:L9E+MXe05AbrSmX1GjX3jIrVNpE2RrauKEjME+BNzi4= +github.com/pulumi/pulumi/pkg/v3 v3.31.1-0.20220429232336-81582c4dcb93/go.mod h1:bO/BHZJoG2Mm8C3dxP414vLPvjxFfsetPE3Ep7Ffgro= +github.com/pulumi/pulumi/pkg/v3 v3.31.2-0.20220504080053-86c015b9e64a h1:akW2Qw2g/wjBibxB8SM/CPB6qnSOmeoVsAB0XJe8fM8= +github.com/pulumi/pulumi/pkg/v3 v3.31.2-0.20220504080053-86c015b9e64a/go.mod h1:cxbumszeFmK4a9wAVJrcrJnXVd8F8uIg24OVD1SCIEI= +github.com/pulumi/pulumi/sdk/v3 v3.26.0/go.mod h1:VsxW+TGv2VBLe/MeqsAr9r0zKzK/gbAhFT9QxYr24cY= +github.com/pulumi/pulumi/sdk/v3 v3.28.0/go.mod h1:Oe6AnW5MjJE5X2UJeqeXm1Al7qahdLVhIPeiKuoqxAw= +github.com/pulumi/pulumi/sdk/v3 v3.31.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.31.1 h1:2DvdxfBj5YBCxnIX5b54mOJtXR39efonWe0LBOHcTZ8= +github.com/pulumi/pulumi/sdk/v3 v3.31.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Dik4Qe/+xguB8JagPyXNlbOnRiXGmq/PSPQTGunYnTk= github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20211230170131-3a7c83bfab87 h1:Reqyb/CbcDwThvBRzA62H7cvuCqgTJuGNt+F6mnmXJ4= @@ -731,17 +830,21 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 h1:G04eS0JkAIVZfaJLjla9dNxkJCPiKIGZlw9AfOhzOD0= github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= @@ -749,29 +852,47 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shirou/gopsutil v3.21.7+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17 h1:lRAUE0dIvigSSFAmaM2dfg7OH8T+a8zJ5smEh09a/GI= +github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= -github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= @@ -786,17 +907,24 @@ github.com/terraform-providers/terraform-provider-archive v1.3.0 h1:8WzDXMwTdTd4 github.com/terraform-providers/terraform-provider-archive v1.3.0/go.mod h1:7oAwNW55F65KauS++/XmAnrXhLfQRTYt549eYs4zU0w= github.com/terraform-providers/terraform-provider-http v1.2.0 h1:pOP/SNlLjB18CydtTJJwzkZGkHYX3LWzIoQpYQuBdyw= github.com/terraform-providers/terraform-provider-http v1.2.0/go.mod h1:2Iot921OkLVSZr8FbIkvRN84ZV3w+oFKb7RlmPTQQAQ= -github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 h1:9VTskZOIRf2vKF3UL8TuWElry5pgUpV1tFSe/e/0m/E= github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= +github.com/tklauser/go-sysconf v0.3.8/go.mod h1:z4zYWRS+X53WUKtBcmDg1comV3fPhdQnzasnIHUoLDU= github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= +github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= -github.com/uber/jaeger-client-go v2.22.1+incompatible h1:NHcubEkVbahf9t3p75TOCR83gdUHXjRJvjoBh1yACsM= github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= @@ -813,18 +941,22 @@ github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgq github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= -github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xanzy/ssh-agent v0.3.1 h1:AmzO1SSWxw73zxFZPRwaMN1MohDw8UyHnmuxyceTEGo= +github.com/xanzy/ssh-agent v0.3.1/go.mod h1:QIE4lCeL7nkC25x+yA3LBIYfwCc1TFziCtG7cBAac6w= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= @@ -838,6 +970,7 @@ github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uU github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -848,12 +981,16 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= gocloud.dev v0.23.0 h1:u/6F8slWwaZPgGpjpNp0jzH+1P/M2ri7qEP3lFgbqBE= gocloud.dev v0.23.0/go.mod h1:zklCCIIo1N9ELkU2S2E7tW8P8eeMU7oGLeQCXdDwx9Q= @@ -872,6 +1009,7 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -882,10 +1020,15 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210506145944-38f3c27a63bf/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29 h1:tkVvjkPTB7pnW3jnid7kNyAMPVWllTNOf/qKDze4p9o= golang.org/x/crypto v0.0.0-20220331220935-ae2d96664a29/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= @@ -895,6 +1038,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -907,8 +1051,8 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -919,8 +1063,9 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -928,6 +1073,7 @@ golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -935,6 +1081,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190502183928-7f726cade0ab/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -952,6 +1099,7 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -973,6 +1121,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210420210106-798c2154c571/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3 h1:EN5+DfgmRMvRUrMGERW2gQl3Vc+Z7ZMnI/xdEpPSf0c= @@ -991,6 +1140,10 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a h1:qfl7ob3DIEs3Ml9oLuPwY2N04gymzAW04WsUQHIClgM= golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1010,6 +1163,7 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1060,6 +1214,8 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210218084038-e8e29180ff58/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210223095934-7937bea0104d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1075,11 +1231,21 @@ golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220406163625-3f8b81556e12 h1:QyVthZKMsyaQwBTJE04jdNN0Pp5Fn9Qga0mrgxyERQM= @@ -1105,9 +1271,11 @@ golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1148,6 +1316,7 @@ golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWc golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200608174601-1b747fd94509/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -1158,16 +1327,26 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5 h1:ouewzE6p+/VEB31YYnTbEJdi8pFqKp4P4n85vwo3DHA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1192,8 +1371,19 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA= -google.golang.org/api v0.46.0 h1:jkDWHOBIoNSD0OQpq4rtBVu+Rh325MPjXG1rakAp8JU= google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0 h1:PhGymJMXfGBzc4lBRmrx9+1w4w2wEzURHNGF/sD/xGc= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1256,6 +1446,29 @@ google.golang.org/genproto v0.0.0-20210420162539-3c870d7478d2/go.mod h1:P3QM42oQ google.golang.org/genproto v0.0.0-20210423144448-3a41ef94ed2b/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac h1:qSNTkEN+L2mvWcLgJOR+8bdHX9rN/IdU3A1Ghpfb1Rg= google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -1284,8 +1497,16 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1312,11 +1533,11 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/cheggaaa/pb.v1 v1.0.28 h1:n1tBJnnK2r7g9OW2btFH91V92STTUevLXYFb8gy9EMk= gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= @@ -1329,6 +1550,7 @@ gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQb gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1338,8 +1560,9 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E= @@ -1352,13 +1575,18 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= +mvdan.cc/gofumpt v0.0.0-20210107193838-d24d34e18d44/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= +mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 h1:hfyJ5ku9yFtLVOiSxa3IN+dx5eBQT9mPmKFypAmg8XM= +sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67/go.mod h1:L5q+DGLGOQFpo1snNEkLOJT2d1YTW66rWNzatr3He1k= diff --git a/sdk/go.mod b/sdk/go.mod index 2fd74052e..1f6ab14db 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,9 +1,58 @@ module github.com/pulumi/pulumi-azuread/sdk/v5 -go 1.16 +go 1.17 require ( github.com/blang/semver v3.5.1+incompatible github.com/pkg/errors v0.9.1 - github.com/pulumi/pulumi/sdk/v3 v3.30.0 + github.com/pulumi/pulumi/sdk/v3 v3.31.1 +) + +require ( + github.com/cheggaaa/pb v1.0.18 // indirect + github.com/djherbis/times v1.2.0 // indirect + github.com/emirpasic/gods v1.12.0 // indirect + github.com/gofrs/uuid v3.3.0+incompatible // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect + github.com/golang/protobuf v1.4.2 // indirect + github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect + github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-runewidth v0.0.8 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-ps v1.0.0 // indirect + github.com/opentracing/basictracer-go v1.0.0 // indirect + github.com/opentracing/opentracing-go v1.1.0 // indirect + github.com/pkg/term v1.1.0 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/rogpeppe/go-internal v1.8.1 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 // indirect + github.com/sergi/go-diff v1.1.0 // indirect + github.com/spf13/cast v1.3.1 // indirect + github.com/spf13/cobra v1.4.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/src-d/gcfg v1.4.0 // indirect + github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 // indirect + github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect + github.com/uber/jaeger-client-go v2.22.1+incompatible // indirect + github.com/uber/jaeger-lib v2.2.0+incompatible // indirect + github.com/xanzy/ssh-agent v0.2.1 // indirect + go.uber.org/atomic v1.6.0 // indirect + golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 // indirect + golang.org/x/net v0.0.0-20201021035429-f5854403a974 // indirect + golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2 // indirect + golang.org/x/text v0.3.3 // indirect + google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482 // indirect + google.golang.org/grpc v1.29.1 // indirect + google.golang.org/protobuf v1.24.0 // indirect + gopkg.in/src-d/go-billy.v4 v4.3.2 // indirect + gopkg.in/src-d/go-git.v4 v4.13.1 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 // indirect ) diff --git a/sdk/go.sum b/sdk/go.sum index f0c360b76..110507bc3 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -91,8 +91,9 @@ github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+v github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= @@ -114,8 +115,8 @@ github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/pulumi/pulumi/sdk/v3 v3.30.0 h1:0X5gSUS3x82XzenpCCW8EdJrmOzoQqHSdQd0O6QSMQQ= -github.com/pulumi/pulumi/sdk/v3 v3.30.0/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= +github.com/pulumi/pulumi/sdk/v3 v3.31.1 h1:2DvdxfBj5YBCxnIX5b54mOJtXR39efonWe0LBOHcTZ8= +github.com/pulumi/pulumi/sdk/v3 v3.31.1/go.mod h1:hGo/+AL1L4sPL9Ukd/i5bNFM3WHs3dHcA+GKEW7M3RA= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= @@ -204,6 +205,7 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2 h1:c8PlLMqBbOHoqtjteWm5/kbe6rNY2pbRfbIMVnepueo= golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= diff --git a/sdk/go/azuread/administrativeUnit.go b/sdk/go/azuread/administrativeUnit.go index af8b325f3..f2b1bac64 100644 --- a/sdk/go/azuread/administrativeUnit.go +++ b/sdk/go/azuread/administrativeUnit.go @@ -224,6 +224,36 @@ func (o AdministrativeUnitOutput) ToAdministrativeUnitOutputWithContext(ctx cont return o } +// The description of the administrative unit. +func (o AdministrativeUnitOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AdministrativeUnit) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name of the administrative unit. +func (o AdministrativeUnitOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *AdministrativeUnit) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Whether the administrative unit and its members are hidden or publicly viewable in the directory +func (o AdministrativeUnitOutput) HiddenMembershipEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AdministrativeUnit) pulumi.BoolPtrOutput { return v.HiddenMembershipEnabled }).(pulumi.BoolPtrOutput) +} + +// A set of object IDs of members who should be present in this administrative unit. Supported object types are Users or Groups. +func (o AdministrativeUnitOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AdministrativeUnit) pulumi.StringArrayOutput { return v.Members }).(pulumi.StringArrayOutput) +} + +// The object ID of the administrative unit. +func (o AdministrativeUnitOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *AdministrativeUnit) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// If `true`, will return an error if an existing administrative unit is found with the same name +func (o AdministrativeUnitOutput) PreventDuplicateNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AdministrativeUnit) pulumi.BoolPtrOutput { return v.PreventDuplicateNames }).(pulumi.BoolPtrOutput) +} + type AdministrativeUnitArrayOutput struct{ *pulumi.OutputState } func (AdministrativeUnitArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/administrativeUnitMember.go b/sdk/go/azuread/administrativeUnitMember.go index b0e640246..47ccb42bf 100644 --- a/sdk/go/azuread/administrativeUnitMember.go +++ b/sdk/go/azuread/administrativeUnitMember.go @@ -224,6 +224,16 @@ func (o AdministrativeUnitMemberOutput) ToAdministrativeUnitMemberOutputWithCont return o } +// The object ID of the administrative unit you want to add the member to. Changing this forces a new resource to be created. +func (o AdministrativeUnitMemberOutput) AdministrativeUnitObjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AdministrativeUnitMember) pulumi.StringPtrOutput { return v.AdministrativeUnitObjectId }).(pulumi.StringPtrOutput) +} + +// The object ID of the user or group you want to add as a member of the administrative unit. Changing this forces a new resource to be created. +func (o AdministrativeUnitMemberOutput) MemberObjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AdministrativeUnitMember) pulumi.StringPtrOutput { return v.MemberObjectId }).(pulumi.StringPtrOutput) +} + type AdministrativeUnitMemberArrayOutput struct{ *pulumi.OutputState } func (AdministrativeUnitMemberArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/appRoleAssignment.go b/sdk/go/azuread/appRoleAssignment.go index 06cdbcbbf..12e7d8e11 100644 --- a/sdk/go/azuread/appRoleAssignment.go +++ b/sdk/go/azuread/appRoleAssignment.go @@ -456,6 +456,36 @@ func (o AppRoleAssignmentOutput) ToAppRoleAssignmentOutputWithContext(ctx contex return o } +// The ID of the app role to be assigned. Changing this forces a new resource to be created. +func (o AppRoleAssignmentOutput) AppRoleId() pulumi.StringOutput { + return o.ApplyT(func(v *AppRoleAssignment) pulumi.StringOutput { return v.AppRoleId }).(pulumi.StringOutput) +} + +// The display name of the principal to which the app role is assigned. +func (o AppRoleAssignmentOutput) PrincipalDisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *AppRoleAssignment) pulumi.StringOutput { return v.PrincipalDisplayName }).(pulumi.StringOutput) +} + +// The object ID of the user, group or service principal to be assigned this app role. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created. +func (o AppRoleAssignmentOutput) PrincipalObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *AppRoleAssignment) pulumi.StringOutput { return v.PrincipalObjectId }).(pulumi.StringOutput) +} + +// The object type of the principal to which the app role is assigned. +func (o AppRoleAssignmentOutput) PrincipalType() pulumi.StringOutput { + return o.ApplyT(func(v *AppRoleAssignment) pulumi.StringOutput { return v.PrincipalType }).(pulumi.StringOutput) +} + +// The display name of the application representing the resource. +func (o AppRoleAssignmentOutput) ResourceDisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *AppRoleAssignment) pulumi.StringOutput { return v.ResourceDisplayName }).(pulumi.StringOutput) +} + +// The object ID of the service principal representing the resource. Changing this forces a new resource to be created. +func (o AppRoleAssignmentOutput) ResourceObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *AppRoleAssignment) pulumi.StringOutput { return v.ResourceObjectId }).(pulumi.StringOutput) +} + type AppRoleAssignmentArrayOutput struct{ *pulumi.OutputState } func (AppRoleAssignmentArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/application.go b/sdk/go/azuread/application.go index b6ff7fdeb..252d83637 100644 --- a/sdk/go/azuread/application.go +++ b/sdk/go/azuread/application.go @@ -642,6 +642,161 @@ func (o ApplicationOutput) ToApplicationOutputWithContext(ctx context.Context) A return o } +// An `api` block as documented below, which configures API related settings for this application. +func (o ApplicationOutput) Api() ApplicationApiPtrOutput { + return o.ApplyT(func(v *Application) ApplicationApiPtrOutput { return v.Api }).(ApplicationApiPtrOutput) +} + +// A mapping of app role values to app role IDs, intended to be useful when referencing app roles in other resources in your configuration. +func (o ApplicationOutput) AppRoleIds() pulumi.StringMapOutput { + return o.ApplyT(func(v *Application) pulumi.StringMapOutput { return v.AppRoleIds }).(pulumi.StringMapOutput) +} + +// A collection of `appRole` blocks as documented below. For more information see [official documentation on Application Roles](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles). +func (o ApplicationOutput) AppRoles() ApplicationAppRoleArrayOutput { + return o.ApplyT(func(v *Application) ApplicationAppRoleArrayOutput { return v.AppRoles }).(ApplicationAppRoleArrayOutput) +} + +// The Application ID (also called Client ID). +func (o ApplicationOutput) ApplicationId() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) +} + +// Specifies whether this application supports device authentication without a user. Defaults to `false`. +func (o ApplicationOutput) DeviceOnlyAuthEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Application) pulumi.BoolPtrOutput { return v.DeviceOnlyAuthEnabled }).(pulumi.BoolPtrOutput) +} + +// Whether Microsoft has disabled the registered application. If the application is disabled, this will be a string indicating the status/reason, e.g. `DisabledDueToViolationOfServicesAgreement` +func (o ApplicationOutput) DisabledByMicrosoft() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.DisabledByMicrosoft }).(pulumi.StringOutput) +} + +// The display name for the application. +func (o ApplicationOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI. Defaults to `false`. +func (o ApplicationOutput) FallbackPublicClientEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Application) pulumi.BoolPtrOutput { return v.FallbackPublicClientEnabled }).(pulumi.BoolPtrOutput) +} + +// A `featureTags` block as described below. Cannot be used together with the `tags` property. +func (o ApplicationOutput) FeatureTags() ApplicationFeatureTagArrayOutput { + return o.ApplyT(func(v *Application) ApplicationFeatureTagArrayOutput { return v.FeatureTags }).(ApplicationFeatureTagArrayOutput) +} + +// Configures the `groups` claim issued in a user or OAuth 2.0 access token that the app expects. Possible values are `None`, `SecurityGroup`, `DirectoryRole`, `ApplicationGroup` or `All`. +func (o ApplicationOutput) GroupMembershipClaims() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.GroupMembershipClaims }).(pulumi.StringArrayOutput) +} + +// A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant. +func (o ApplicationOutput) IdentifierUris() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.IdentifierUris }).(pulumi.StringArrayOutput) +} + +// A logo image to upload for the application, as a raw base64-encoded string. The image should be in gif, jpeg or png format. Note that once an image has been uploaded, it is not possible to remove it without replacing it with another image. +func (o ApplicationOutput) LogoImage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.LogoImage }).(pulumi.StringPtrOutput) +} + +// CDN URL to the application's logo, as uploaded with the `logoImage` property. +func (o ApplicationOutput) LogoUrl() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.LogoUrl }).(pulumi.StringOutput) +} + +// URL of the application's marketing page. +func (o ApplicationOutput) MarketingUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.MarketingUrl }).(pulumi.StringPtrOutput) +} + +// A mapping of OAuth2.0 permission scope values to scope IDs, intended to be useful when referencing permission scopes in other resources in your configuration. +func (o ApplicationOutput) Oauth2PermissionScopeIds() pulumi.StringMapOutput { + return o.ApplyT(func(v *Application) pulumi.StringMapOutput { return v.Oauth2PermissionScopeIds }).(pulumi.StringMapOutput) +} + +// Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests. Defaults to `false`, which specifies that only GET requests are allowed. +func (o ApplicationOutput) Oauth2PostResponseRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Application) pulumi.BoolPtrOutput { return v.Oauth2PostResponseRequired }).(pulumi.BoolPtrOutput) +} + +// The application's object ID. +func (o ApplicationOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// An `optionalClaims` block as documented below. +func (o ApplicationOutput) OptionalClaims() ApplicationOptionalClaimsPtrOutput { + return o.ApplyT(func(v *Application) ApplicationOptionalClaimsPtrOutput { return v.OptionalClaims }).(ApplicationOptionalClaimsPtrOutput) +} + +// A set of object IDs of principals that will be granted ownership of the application. Supported object types are users or service principals. By default, no owners are assigned. +func (o ApplicationOutput) Owners() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.Owners }).(pulumi.StringArrayOutput) +} + +// If `true`, will return an error if an existing application is found with the same name. Defaults to `false`. +func (o ApplicationOutput) PreventDuplicateNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Application) pulumi.BoolPtrOutput { return v.PreventDuplicateNames }).(pulumi.BoolPtrOutput) +} + +// URL of the application's privacy statement. +func (o ApplicationOutput) PrivacyStatementUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.PrivacyStatementUrl }).(pulumi.StringPtrOutput) +} + +// A `publicClient` block as documented below, which configures non-web app or non-web API application settings, for example mobile or other public clients such as an installed application running on a desktop device. +func (o ApplicationOutput) PublicClient() ApplicationPublicClientPtrOutput { + return o.ApplyT(func(v *Application) ApplicationPublicClientPtrOutput { return v.PublicClient }).(ApplicationPublicClientPtrOutput) +} + +// The verified publisher domain for the application. +func (o ApplicationOutput) PublisherDomain() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.PublisherDomain }).(pulumi.StringOutput) +} + +// A collection of `requiredResourceAccess` blocks as documented below. +func (o ApplicationOutput) RequiredResourceAccesses() ApplicationRequiredResourceAccessArrayOutput { + return o.ApplyT(func(v *Application) ApplicationRequiredResourceAccessArrayOutput { return v.RequiredResourceAccesses }).(ApplicationRequiredResourceAccessArrayOutput) +} + +// The Microsoft account types that are supported for the current application. Must be one of `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`. Defaults to `AzureADMyOrg`. +func (o ApplicationOutput) SignInAudience() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.SignInAudience }).(pulumi.StringPtrOutput) +} + +// A `singlePageApplication` block as documented below, which configures single-page application (SPA) related settings for this application. +func (o ApplicationOutput) SinglePageApplication() ApplicationSinglePageApplicationPtrOutput { + return o.ApplyT(func(v *Application) ApplicationSinglePageApplicationPtrOutput { return v.SinglePageApplication }).(ApplicationSinglePageApplicationPtrOutput) +} + +// URL of the application's support page. +func (o ApplicationOutput) SupportUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.SupportUrl }).(pulumi.StringPtrOutput) +} + +// A set of tags to apply to the application. Cannot be used together with the `featureTags` block. +func (o ApplicationOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Application) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Unique ID for a templated application in the Azure AD App Gallery, from which to create the application. Changing this forces a new resource to be created. +func (o ApplicationOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *Application) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// URL of the application's terms of service statement. +func (o ApplicationOutput) TermsOfServiceUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.TermsOfServiceUrl }).(pulumi.StringPtrOutput) +} + +// A `web` block as documented below, which configures web related settings for this application. +func (o ApplicationOutput) Web() ApplicationWebPtrOutput { + return o.ApplyT(func(v *Application) ApplicationWebPtrOutput { return v.Web }).(ApplicationWebPtrOutput) +} + type ApplicationArrayOutput struct{ *pulumi.OutputState } func (ApplicationArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/applicationCertificate.go b/sdk/go/azuread/applicationCertificate.go index b8cc0abd6..b717b9f1d 100644 --- a/sdk/go/azuread/applicationCertificate.go +++ b/sdk/go/azuread/applicationCertificate.go @@ -243,6 +243,46 @@ func (o ApplicationCertificateOutput) ToApplicationCertificateOutputWithContext( return o } +// The object ID of the application for which this certificate should be created. Changing this field forces a new resource to be created. +func (o ApplicationCertificateOutput) ApplicationObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringOutput { return v.ApplicationObjectId }).(pulumi.StringOutput) +} + +// Specifies the encoding used for the supplied certificate data. Must be one of `pem`, `base64` or `hex`. Defaults to `pem`. +func (o ApplicationCertificateOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringPtrOutput { return v.Encoding }).(pulumi.StringPtrOutput) +} + +// The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If omitted, the API will decide a suitable expiry date, which is typically around 2 years from the start date. Changing this field forces a new resource to be created. +func (o ApplicationCertificateOutput) EndDate() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringOutput { return v.EndDate }).(pulumi.StringOutput) +} + +// A relative duration for which the certificate is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created. +func (o ApplicationCertificateOutput) EndDateRelative() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringPtrOutput { return v.EndDateRelative }).(pulumi.StringPtrOutput) +} + +// A UUID used to uniquely identify this certificate. If omitted, a random UUID will be automatically generated. Changing this field forces a new resource to be created. +func (o ApplicationCertificateOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringOutput { return v.KeyId }).(pulumi.StringOutput) +} + +// The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date and time are used. Changing this field forces a new resource to be created. +func (o ApplicationCertificateOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput) +} + +// The type of key/certificate. Must be one of `AsymmetricX509Cert` or `Symmetric`. Changing this fields forces a new resource to be created. +func (o ApplicationCertificateOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) +} + +// The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argument. +func (o ApplicationCertificateOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationCertificate) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + type ApplicationCertificateArrayOutput struct{ *pulumi.OutputState } func (ApplicationCertificateArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/applicationFederatedIdentityCredential.go b/sdk/go/azuread/applicationFederatedIdentityCredential.go index 92667978d..ddb3b8cc7 100644 --- a/sdk/go/azuread/applicationFederatedIdentityCredential.go +++ b/sdk/go/azuread/applicationFederatedIdentityCredential.go @@ -274,6 +274,41 @@ func (o ApplicationFederatedIdentityCredentialOutput) ToApplicationFederatedIden return o } +// The object ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. +func (o ApplicationFederatedIdentityCredentialOutput) ApplicationObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringOutput { return v.ApplicationObjectId }).(pulumi.StringOutput) +} + +// List of audiences that can appear in the external token. This specifies what should be accepted in the `aud` claim of incoming tokens. +func (o ApplicationFederatedIdentityCredentialOutput) Audiences() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringArrayOutput { return v.Audiences }).(pulumi.StringArrayOutput) +} + +// A UUID used to uniquely identify this federated identity credential. +func (o ApplicationFederatedIdentityCredentialOutput) CredentialId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringOutput { return v.CredentialId }).(pulumi.StringOutput) +} + +// A description for the federated identity credential. +func (o ApplicationFederatedIdentityCredentialOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// A unique display name for the federated identity credential. Changing this forces a new resource to be created. +func (o ApplicationFederatedIdentityCredentialOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app. +func (o ApplicationFederatedIdentityCredentialOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringOutput { return v.Issuer }).(pulumi.StringOutput) +} + +// The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app. +func (o ApplicationFederatedIdentityCredentialOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationFederatedIdentityCredential) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) +} + type ApplicationFederatedIdentityCredentialArrayOutput struct{ *pulumi.OutputState } func (ApplicationFederatedIdentityCredentialArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/applicationPassword.go b/sdk/go/azuread/applicationPassword.go index 8c603cc4d..79895a495 100644 --- a/sdk/go/azuread/applicationPassword.go +++ b/sdk/go/azuread/applicationPassword.go @@ -226,6 +226,46 @@ func (o ApplicationPasswordOutput) ToApplicationPasswordOutputWithContext(ctx co return o } +// The object ID of the application for which this password should be created. Changing this field forces a new resource to be created. +func (o ApplicationPasswordOutput) ApplicationObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringOutput { return v.ApplicationObjectId }).(pulumi.StringOutput) +} + +// A display name for the password. +func (o ApplicationPasswordOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The end date until which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). Changing this field forces a new resource to be created. +func (o ApplicationPasswordOutput) EndDate() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringOutput { return v.EndDate }).(pulumi.StringOutput) +} + +// A relative duration for which the password is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created. +func (o ApplicationPasswordOutput) EndDateRelative() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringPtrOutput { return v.EndDateRelative }).(pulumi.StringPtrOutput) +} + +// A UUID used to uniquely identify this password credential. +func (o ApplicationPasswordOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringOutput { return v.KeyId }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that will force recreation of the password when they change, enabling password rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o ApplicationPasswordOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + +// The start date from which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used. Changing this field forces a new resource to be created. +func (o ApplicationPasswordOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput) +} + +// The password for this application, which is generated by Azure Active Directory. +func (o ApplicationPasswordOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPassword) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + type ApplicationPasswordArrayOutput struct{ *pulumi.OutputState } func (ApplicationPasswordArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/applicationPreAuthorized.go b/sdk/go/azuread/applicationPreAuthorized.go index 0971c89f8..8553adad6 100644 --- a/sdk/go/azuread/applicationPreAuthorized.go +++ b/sdk/go/azuread/applicationPreAuthorized.go @@ -258,6 +258,21 @@ func (o ApplicationPreAuthorizedOutput) ToApplicationPreAuthorizedOutputWithCont return o } +// The object ID of the application for which permissions are being authorized. Changing this field forces a new resource to be created. +func (o ApplicationPreAuthorizedOutput) ApplicationObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPreAuthorized) pulumi.StringOutput { return v.ApplicationObjectId }).(pulumi.StringOutput) +} + +// The application ID of the pre-authorized application +func (o ApplicationPreAuthorizedOutput) AuthorizedAppId() pulumi.StringOutput { + return o.ApplyT(func(v *ApplicationPreAuthorized) pulumi.StringOutput { return v.AuthorizedAppId }).(pulumi.StringOutput) +} + +// A set of permission scope IDs required by the authorized application. +func (o ApplicationPreAuthorizedOutput) PermissionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ApplicationPreAuthorized) pulumi.StringArrayOutput { return v.PermissionIds }).(pulumi.StringArrayOutput) +} + type ApplicationPreAuthorizedArrayOutput struct{ *pulumi.OutputState } func (ApplicationPreAuthorizedArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/claimsMappingPolicy.go b/sdk/go/azuread/claimsMappingPolicy.go index 578e1952e..ca9d55f5b 100644 --- a/sdk/go/azuread/claimsMappingPolicy.go +++ b/sdk/go/azuread/claimsMappingPolicy.go @@ -243,6 +243,16 @@ func (o ClaimsMappingPolicyOutput) ToClaimsMappingPolicyOutputWithContext(ctx co return o } +// A string collection containing a JSON string that defines the rules and settings for this policy +func (o ClaimsMappingPolicyOutput) Definitions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClaimsMappingPolicy) pulumi.StringArrayOutput { return v.Definitions }).(pulumi.StringArrayOutput) +} + +// The display name for this Claims Mapping Policy. +func (o ClaimsMappingPolicyOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *ClaimsMappingPolicy) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + type ClaimsMappingPolicyArrayOutput struct{ *pulumi.OutputState } func (ClaimsMappingPolicyArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/conditionalAccessPolicy.go b/sdk/go/azuread/conditionalAccessPolicy.go index 7145cbad0..f7a4f6df8 100644 --- a/sdk/go/azuread/conditionalAccessPolicy.go +++ b/sdk/go/azuread/conditionalAccessPolicy.go @@ -326,6 +326,33 @@ func (o ConditionalAccessPolicyOutput) ToConditionalAccessPolicyOutputWithContex return o } +// A `conditions` block as documented below, which specifies the rules that must be met for the policy to apply. +func (o ConditionalAccessPolicyOutput) Conditions() ConditionalAccessPolicyConditionsOutput { + return o.ApplyT(func(v *ConditionalAccessPolicy) ConditionalAccessPolicyConditionsOutput { return v.Conditions }).(ConditionalAccessPolicyConditionsOutput) +} + +// The friendly name for this Conditional Access Policy. +func (o ConditionalAccessPolicyOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *ConditionalAccessPolicy) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// A `grantControls` block as documented below, which specifies the grant controls that must be fulfilled to pass the policy. +func (o ConditionalAccessPolicyOutput) GrantControls() ConditionalAccessPolicyGrantControlsOutput { + return o.ApplyT(func(v *ConditionalAccessPolicy) ConditionalAccessPolicyGrantControlsOutput { return v.GrantControls }).(ConditionalAccessPolicyGrantControlsOutput) +} + +// A `sessionControls` block as documented below, which specifies the session controls that are enforced after sign-in. +func (o ConditionalAccessPolicyOutput) SessionControls() ConditionalAccessPolicySessionControlsPtrOutput { + return o.ApplyT(func(v *ConditionalAccessPolicy) ConditionalAccessPolicySessionControlsPtrOutput { + return v.SessionControls + }).(ConditionalAccessPolicySessionControlsPtrOutput) +} + +// Specifies the state of the policy object. Possible values are: `enabled`, `disabled` and `enabledForReportingButNotEnforced` +func (o ConditionalAccessPolicyOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *ConditionalAccessPolicy) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + type ConditionalAccessPolicyArrayOutput struct{ *pulumi.OutputState } func (ConditionalAccessPolicyArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/customDirectoryRole.go b/sdk/go/azuread/customDirectoryRole.go index a2ffe8103..640c81764 100644 --- a/sdk/go/azuread/customDirectoryRole.go +++ b/sdk/go/azuread/customDirectoryRole.go @@ -273,6 +273,41 @@ func (o CustomDirectoryRoleOutput) ToCustomDirectoryRoleOutputWithContext(ctx co return o } +// The description of the custom directory role. +func (o CustomDirectoryRoleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomDirectoryRole) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name of the custom directory role. +func (o CustomDirectoryRoleOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *CustomDirectoryRole) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Indicates whether the role is enabled for assignment. +func (o CustomDirectoryRoleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *CustomDirectoryRole) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// The object ID of the custom directory role. +func (o CustomDirectoryRoleOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *CustomDirectoryRole) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// A collection of `permissions` blocks as documented below. +func (o CustomDirectoryRoleOutput) Permissions() CustomDirectoryRolePermissionArrayOutput { + return o.ApplyT(func(v *CustomDirectoryRole) CustomDirectoryRolePermissionArrayOutput { return v.Permissions }).(CustomDirectoryRolePermissionArrayOutput) +} + +// Custom template identifier that is typically used if one needs an identifier to be the same across different directories. Changing this forces a new resource to be created. +func (o CustomDirectoryRoleOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *CustomDirectoryRole) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + +// - The version of the role definition. This can be any arbitrary string between 1-128 characters. +func (o CustomDirectoryRoleOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *CustomDirectoryRole) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + type CustomDirectoryRoleArrayOutput struct{ *pulumi.OutputState } func (CustomDirectoryRoleArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/directoryRole.go b/sdk/go/azuread/directoryRole.go index 23178e7a5..836921880 100644 --- a/sdk/go/azuread/directoryRole.go +++ b/sdk/go/azuread/directoryRole.go @@ -244,6 +244,26 @@ func (o DirectoryRoleOutput) ToDirectoryRoleOutputWithContext(ctx context.Contex return o } +// The description of the directory role. +func (o DirectoryRoleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *DirectoryRole) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// The display name of the directory role to activate. Changing this forces a new resource to be created. +func (o DirectoryRoleOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *DirectoryRole) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The object ID of the directory role. +func (o DirectoryRoleOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectoryRole) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// The object ID of the role template from which to activate the directory role. Changing this forces a new resource to be created. +func (o DirectoryRoleOutput) TemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *DirectoryRole) pulumi.StringOutput { return v.TemplateId }).(pulumi.StringOutput) +} + type DirectoryRoleArrayOutput struct{ *pulumi.OutputState } func (DirectoryRoleArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/directoryRoleMember.go b/sdk/go/azuread/directoryRoleMember.go index b928c2062..f09ac5c60 100644 --- a/sdk/go/azuread/directoryRoleMember.go +++ b/sdk/go/azuread/directoryRoleMember.go @@ -222,6 +222,16 @@ func (o DirectoryRoleMemberOutput) ToDirectoryRoleMemberOutputWithContext(ctx co return o } +// The object ID of the principal you want to add as a member to the directory role. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created. +func (o DirectoryRoleMemberOutput) MemberObjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectoryRoleMember) pulumi.StringPtrOutput { return v.MemberObjectId }).(pulumi.StringPtrOutput) +} + +// The object ID of the directory role you want to add the member to. Changing this forces a new resource to be created. +func (o DirectoryRoleMemberOutput) RoleObjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DirectoryRoleMember) pulumi.StringPtrOutput { return v.RoleObjectId }).(pulumi.StringPtrOutput) +} + type DirectoryRoleMemberArrayOutput struct{ *pulumi.OutputState } func (DirectoryRoleMemberArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/group.go b/sdk/go/azuread/group.go index 817d9c2c8..17aea8036 100644 --- a/sdk/go/azuread/group.go +++ b/sdk/go/azuread/group.go @@ -418,6 +418,146 @@ func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput { return o } +// Indicates whether this group can be assigned to an Azure Active Directory role. Can only be `true` for security-enabled groups. Changing this forces a new resource to be created. +func (o GroupOutput) AssignableToRole() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Group) pulumi.BoolPtrOutput { return v.AssignableToRole }).(pulumi.BoolPtrOutput) +} + +// Indicates whether new members added to the group will be auto-subscribed to receive email notifications. Can only be set for Unified groups. +func (o GroupOutput) AutoSubscribeNewMembers() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.AutoSubscribeNewMembers }).(pulumi.BoolOutput) +} + +// A set of behaviors for a Microsoft 365 group. Possible values are `AllowOnlyMembersToPost`, `HideGroupInOutlook`, `SubscribeMembersToCalendarEventsDisabled`, `SubscribeNewGroupMembers` and `WelcomeEmailDisabled`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for more details. Changing this forces a new resource to be created. +func (o GroupOutput) Behaviors() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.Behaviors }).(pulumi.StringArrayOutput) +} + +// The description for the group. +func (o GroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Group) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name for the group. +func (o GroupOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// A `dynamicMembership` block as documented below. Required when `types` contains `DynamicMembership`. Cannot be used with the `members` property. +func (o GroupOutput) DynamicMembership() GroupDynamicMembershipPtrOutput { + return o.ApplyT(func(v *Group) GroupDynamicMembershipPtrOutput { return v.DynamicMembership }).(GroupDynamicMembershipPtrOutput) +} + +// Indicates whether people external to the organization can send messages to the group. Can only be set for Unified groups. +func (o GroupOutput) ExternalSendersAllowed() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.ExternalSendersAllowed }).(pulumi.BoolOutput) +} + +// Indicates whether the group is displayed in certain parts of the Outlook user interface: in the Address Book, in address lists for selecting message recipients, and in the Browse Groups dialog for searching groups. Can only be set for Unified groups. +func (o GroupOutput) HideFromAddressLists() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.HideFromAddressLists }).(pulumi.BoolOutput) +} + +// Indicates whether the group is displayed in Outlook clients, such as Outlook for Windows and Outlook on the web. Can only be set for Unified groups. +func (o GroupOutput) HideFromOutlookClients() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.HideFromOutlookClients }).(pulumi.BoolOutput) +} + +// The SMTP address for the group. +func (o GroupOutput) Mail() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.Mail }).(pulumi.StringOutput) +} + +// Whether the group is a mail enabled, with a shared group mailbox. At least one of `mailEnabled` or `securityEnabled` must be specified. Only Microsoft 365 groups can be mail enabled (see the `types` property). +func (o GroupOutput) MailEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Group) pulumi.BoolPtrOutput { return v.MailEnabled }).(pulumi.BoolPtrOutput) +} + +// The mail alias for the group, unique in the organisation. Required for mail-enabled groups. Changing this forces a new resource to be created. +func (o GroupOutput) MailNickname() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.MailNickname }).(pulumi.StringOutput) +} + +// A set of members who should be present in this group. Supported object types are Users, Groups or Service Principals. Cannot be used with the `dynamicMembership` block. +func (o GroupOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.Members }).(pulumi.StringArrayOutput) +} + +// The object ID of the group. +func (o GroupOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used. +func (o GroupOutput) OnpremisesDomainName() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.OnpremisesDomainName }).(pulumi.StringOutput) +} + +// The on-premises NetBIOS name, synchronised from the on-premises directory when Azure AD Connect is used. +func (o GroupOutput) OnpremisesNetbiosName() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.OnpremisesNetbiosName }).(pulumi.StringOutput) +} + +// The on-premises SAM account name, synchronised from the on-premises directory when Azure AD Connect is used. +func (o GroupOutput) OnpremisesSamAccountName() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.OnpremisesSamAccountName }).(pulumi.StringOutput) +} + +// The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used. +func (o GroupOutput) OnpremisesSecurityIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.OnpremisesSecurityIdentifier }).(pulumi.StringOutput) +} + +// Whether this group is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`). +func (o GroupOutput) OnpremisesSyncEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *Group) pulumi.BoolOutput { return v.OnpremisesSyncEnabled }).(pulumi.BoolOutput) +} + +// A set of owners who own this group. Supported object types are Users or Service Principals +func (o GroupOutput) Owners() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.Owners }).(pulumi.StringArrayOutput) +} + +// The preferred language for a Microsoft 365 group, in ISO 639-1 notation. +func (o GroupOutput) PreferredLanguage() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.PreferredLanguage }).(pulumi.StringOutput) +} + +// If `true`, will return an error if an existing group is found with the same name. Defaults to `false`. +func (o GroupOutput) PreventDuplicateNames() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Group) pulumi.BoolPtrOutput { return v.PreventDuplicateNames }).(pulumi.BoolPtrOutput) +} + +// A set of provisioning options for a Microsoft 365 group. The only supported value is `Team`. See [official documentation](https://docs.microsoft.com/en-us/graph/group-set-options) for details. Changing this forces a new resource to be created. +func (o GroupOutput) ProvisioningOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.ProvisioningOptions }).(pulumi.StringArrayOutput) +} + +// List of email addresses for the group that direct to the same group mailbox. +func (o GroupOutput) ProxyAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.ProxyAddresses }).(pulumi.StringArrayOutput) +} + +// Whether the group is a security group for controlling access to in-app resources. At least one of `securityEnabled` or `mailEnabled` must be specified. A Microsoft 365 group can be security enabled _and_ mail enabled (see the `types` property). +func (o GroupOutput) SecurityEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Group) pulumi.BoolPtrOutput { return v.SecurityEnabled }).(pulumi.BoolPtrOutput) +} + +// The colour theme for a Microsoft 365 group. Possible values are `Blue`, `Green`, `Orange`, `Pink`, `Purple`, `Red` or `Teal`. By default, no theme is set. +func (o GroupOutput) Theme() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Group) pulumi.StringPtrOutput { return v.Theme }).(pulumi.StringPtrOutput) +} + +// A set of group types to configure for the group. Supported values are `DynamicMembership`, which denotes a group with dynamic membership, and `Unified`, which specifies a Microsoft 365 group. Required when `mailEnabled` is true. Changing this forces a new resource to be created. +func (o GroupOutput) Types() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Group) pulumi.StringArrayOutput { return v.Types }).(pulumi.StringArrayOutput) +} + +// The group join policy and group content visibility. Possible values are `Private`, `Public`, or `Hiddenmembership`. Only Microsoft 365 groups can have `Hiddenmembership` visibility and this value must be set when the group is created. By default, security groups will receive `Private` visibility and Microsoft 365 groups will receive `Public` visibility. +func (o GroupOutput) Visibility() pulumi.StringOutput { + return o.ApplyT(func(v *Group) pulumi.StringOutput { return v.Visibility }).(pulumi.StringOutput) +} + type GroupArrayOutput struct{ *pulumi.OutputState } func (GroupArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/groupMember.go b/sdk/go/azuread/groupMember.go index 1cdb30aac..a868ad0ae 100644 --- a/sdk/go/azuread/groupMember.go +++ b/sdk/go/azuread/groupMember.go @@ -232,6 +232,16 @@ func (o GroupMemberOutput) ToGroupMemberOutputWithContext(ctx context.Context) G return o } +// The object ID of the group you want to add the member to. Changing this forces a new resource to be created. +func (o GroupMemberOutput) GroupObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *GroupMember) pulumi.StringOutput { return v.GroupObjectId }).(pulumi.StringOutput) +} + +// The object ID of the principal you want to add as a member to the group. Supported object types are Users, Groups or Service Principals. Changing this forces a new resource to be created. +func (o GroupMemberOutput) MemberObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *GroupMember) pulumi.StringOutput { return v.MemberObjectId }).(pulumi.StringOutput) +} + type GroupMemberArrayOutput struct{ *pulumi.OutputState } func (GroupMemberArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/invitation.go b/sdk/go/azuread/invitation.go index bdc9158cf..d316bed04 100644 --- a/sdk/go/azuread/invitation.go +++ b/sdk/go/azuread/invitation.go @@ -311,6 +311,41 @@ func (o InvitationOutput) ToInvitationOutputWithContext(ctx context.Context) Inv return o } +// A `message` block as documented below, which configures the message being sent to the invited user. If this block is omitted, no message will be sent. +func (o InvitationOutput) Message() InvitationMessagePtrOutput { + return o.ApplyT(func(v *Invitation) InvitationMessagePtrOutput { return v.Message }).(InvitationMessagePtrOutput) +} + +// The URL the user can use to redeem their invitation. +func (o InvitationOutput) RedeemUrl() pulumi.StringOutput { + return o.ApplyT(func(v *Invitation) pulumi.StringOutput { return v.RedeemUrl }).(pulumi.StringOutput) +} + +// The URL that the user should be redirected to once the invitation is redeemed. +func (o InvitationOutput) RedirectUrl() pulumi.StringOutput { + return o.ApplyT(func(v *Invitation) pulumi.StringOutput { return v.RedirectUrl }).(pulumi.StringOutput) +} + +// The display name of the user being invited. +func (o InvitationOutput) UserDisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Invitation) pulumi.StringPtrOutput { return v.UserDisplayName }).(pulumi.StringPtrOutput) +} + +// The email address of the user being invited. +func (o InvitationOutput) UserEmailAddress() pulumi.StringOutput { + return o.ApplyT(func(v *Invitation) pulumi.StringOutput { return v.UserEmailAddress }).(pulumi.StringOutput) +} + +// Object ID of the invited user. +func (o InvitationOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v *Invitation) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) +} + +// The user type of the user being invited. Must be one of `Guest` or `Member`. Only Global Administrators can invite users as members. Defaults to `Guest`. +func (o InvitationOutput) UserType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Invitation) pulumi.StringPtrOutput { return v.UserType }).(pulumi.StringPtrOutput) +} + type InvitationArrayOutput struct{ *pulumi.OutputState } func (InvitationArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/namedLocation.go b/sdk/go/azuread/namedLocation.go index 0c629d577..99317eb20 100644 --- a/sdk/go/azuread/namedLocation.go +++ b/sdk/go/azuread/namedLocation.go @@ -241,6 +241,21 @@ func (o NamedLocationOutput) ToNamedLocationOutputWithContext(ctx context.Contex return o } +// A `country` block as documented below, which configures a country-based named location. +func (o NamedLocationOutput) Country() NamedLocationCountryPtrOutput { + return o.ApplyT(func(v *NamedLocation) NamedLocationCountryPtrOutput { return v.Country }).(NamedLocationCountryPtrOutput) +} + +// The friendly name for this named location. +func (o NamedLocationOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *NamedLocation) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// An `ip` block as documented below, which configures an IP-based named location. +func (o NamedLocationOutput) Ip() NamedLocationIpPtrOutput { + return o.ApplyT(func(v *NamedLocation) NamedLocationIpPtrOutput { return v.Ip }).(NamedLocationIpPtrOutput) +} + type NamedLocationArrayOutput struct{ *pulumi.OutputState } func (NamedLocationArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/provider.go b/sdk/go/azuread/provider.go index 61a597aa3..d467b851b 100644 --- a/sdk/go/azuread/provider.go +++ b/sdk/go/azuread/provider.go @@ -162,6 +162,54 @@ func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) Provide return o } +// Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate +func (o ProviderOutput) ClientCertificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientCertificate }).(pulumi.StringPtrOutput) +} + +// The password to decrypt the Client Certificate. For use when authenticating as a Service Principal using a Client +// Certificate +func (o ProviderOutput) ClientCertificatePassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientCertificatePassword }).(pulumi.StringPtrOutput) +} + +// The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service +// Principal using a Client Certificate +func (o ProviderOutput) ClientCertificatePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientCertificatePath }).(pulumi.StringPtrOutput) +} + +// The Client ID which should be used for service principal authentication +func (o ProviderOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientId }).(pulumi.StringPtrOutput) +} + +// The application password to use when authenticating as a Service Principal using a Client Secret +func (o ProviderOutput) ClientSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ClientSecret }).(pulumi.StringPtrOutput) +} + +// The cloud environment which should be used. Possible values are: `global` (also `public`), `usgovernmentl4` (also +// `usgovernment`), `usgovernmentl5` (also `dod`), and `china`. Defaults to `global` +func (o ProviderOutput) Environment() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Environment }).(pulumi.StringPtrOutput) +} + +// The path to a custom endpoint for Managed Identity - in most circumstances this should be detected automatically +func (o ProviderOutput) MsiEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.MsiEndpoint }).(pulumi.StringPtrOutput) +} + +// A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution +func (o ProviderOutput) PartnerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.PartnerId }).(pulumi.StringPtrOutput) +} + +// The Tenant ID which should be used. Works with all authentication methods except Managed Identity +func (o ProviderOutput) TenantId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TenantId }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) pulumi.RegisterOutputType(ProviderOutput{}) diff --git a/sdk/go/azuread/servicePrincipal.go b/sdk/go/azuread/servicePrincipal.go index 7f4808ee2..532f8fe9d 100644 --- a/sdk/go/azuread/servicePrincipal.go +++ b/sdk/go/azuread/servicePrincipal.go @@ -567,6 +567,155 @@ func (o ServicePrincipalOutput) ToServicePrincipalOutputWithContext(ctx context. return o } +// Whether or not the service principal account is enabled. Defaults to `true`. +func (o ServicePrincipalOutput) AccountEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.BoolPtrOutput { return v.AccountEnabled }).(pulumi.BoolPtrOutput) +} + +// A set of alternative names, used to retrieve service principals by subscription, identify resource group and full resource ids for managed identities. +func (o ServicePrincipalOutput) AlternativeNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringArrayOutput { return v.AlternativeNames }).(pulumi.StringArrayOutput) +} + +// Whether this service principal requires an app role assignment to a user or group before Azure AD will issue a user or access token to the application. Defaults to `false`. +func (o ServicePrincipalOutput) AppRoleAssignmentRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.BoolPtrOutput { return v.AppRoleAssignmentRequired }).(pulumi.BoolPtrOutput) +} + +// A mapping of app role values to app role IDs, as published by the associated application, intended to be useful when referencing app roles in other resources in your configuration. +func (o ServicePrincipalOutput) AppRoleIds() pulumi.StringMapOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringMapOutput { return v.AppRoleIds }).(pulumi.StringMapOutput) +} + +// A list of app roles published by the associated application, as documented below. For more information [official documentation](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles). +func (o ServicePrincipalOutput) AppRoles() ServicePrincipalAppRoleArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) ServicePrincipalAppRoleArrayOutput { return v.AppRoles }).(ServicePrincipalAppRoleArrayOutput) +} + +// The application ID (client ID) of the application for which to create a service principal. +func (o ServicePrincipalOutput) ApplicationId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) +} + +// The tenant ID where the associated application is registered. +func (o ServicePrincipalOutput) ApplicationTenantId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.ApplicationTenantId }).(pulumi.StringOutput) +} + +// A description of the service principal provided for internal end-users. +func (o ServicePrincipalOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Display name for the app role that appears during app role assignment and in consent experiences. +func (o ServicePrincipalOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// A `featureTags` block as described below. Cannot be used together with the `tags` property. +func (o ServicePrincipalOutput) FeatureTags() ServicePrincipalFeatureTagArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) ServicePrincipalFeatureTagArrayOutput { return v.FeatureTags }).(ServicePrincipalFeatureTagArrayOutput) +} + +// Block of features to configure for this service principal using tags +// +// Deprecated: This block has been renamed to `feature_tags` and will be removed in version 3.0 of the provider +func (o ServicePrincipalOutput) Features() ServicePrincipalFeatureArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) ServicePrincipalFeatureArrayOutput { return v.Features }).(ServicePrincipalFeatureArrayOutput) +} + +// Home page or landing page of the associated application. +func (o ServicePrincipalOutput) HomepageUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.HomepageUrl }).(pulumi.StringOutput) +} + +// The URL where the service provider redirects the user to Azure AD to authenticate. Azure AD uses the URL to launch the application from Microsoft 365 or the Azure AD My Apps. When blank, Azure AD performs IdP-initiated sign-on for applications configured with SAML-based single sign-on. +func (o ServicePrincipalOutput) LoginUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringPtrOutput { return v.LoginUrl }).(pulumi.StringPtrOutput) +} + +// The URL that will be used by Microsoft's authorization service to log out an user using OpenId Connect front-channel, back-channel or SAML logout protocols, taken from the associated application. +func (o ServicePrincipalOutput) LogoutUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.LogoutUrl }).(pulumi.StringOutput) +} + +// A free text field to capture information about the service principal, typically used for operational purposes. +func (o ServicePrincipalOutput) Notes() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringPtrOutput { return v.Notes }).(pulumi.StringPtrOutput) +} + +// A set of email addresses where Azure AD sends a notification when the active certificate is near the expiration date. This is only for the certificates used to sign the SAML token issued for Azure AD Gallery applications. +func (o ServicePrincipalOutput) NotificationEmailAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringArrayOutput { return v.NotificationEmailAddresses }).(pulumi.StringArrayOutput) +} + +// A mapping of OAuth2.0 permission scope values to scope IDs, as exposed by the associated application, intended to be useful when referencing permission scopes in other resources in your configuration. +func (o ServicePrincipalOutput) Oauth2PermissionScopeIds() pulumi.StringMapOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringMapOutput { return v.Oauth2PermissionScopeIds }).(pulumi.StringMapOutput) +} + +// A list of OAuth 2.0 delegated permission scopes exposed by the associated application, as documented below. +func (o ServicePrincipalOutput) Oauth2PermissionScopes() ServicePrincipalOauth2PermissionScopeArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) ServicePrincipalOauth2PermissionScopeArrayOutput { + return v.Oauth2PermissionScopes + }).(ServicePrincipalOauth2PermissionScopeArrayOutput) +} + +// The object ID of the service principal. +func (o ServicePrincipalOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// A set of object IDs of principals that will be granted ownership of the service principal. Supported object types are users or service principals. By default, no owners are assigned. +func (o ServicePrincipalOutput) Owners() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringArrayOutput { return v.Owners }).(pulumi.StringArrayOutput) +} + +// The single sign-on mode configured for this application. Azure AD uses the preferred single sign-on mode to launch the application from Microsoft 365 or the Azure AD My Apps. Supported values are `oidc`, `password`, `saml` or `notSupported`. Omit this property or specify a blank string to unset. +func (o ServicePrincipalOutput) PreferredSingleSignOnMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringPtrOutput { return v.PreferredSingleSignOnMode }).(pulumi.StringPtrOutput) +} + +// A list of URLs where user tokens are sent for sign-in with the associated application, or the redirect URIs where OAuth 2.0 authorization codes and access tokens are sent for the associated application. +func (o ServicePrincipalOutput) RedirectUris() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringArrayOutput { return v.RedirectUris }).(pulumi.StringArrayOutput) +} + +// The URL where the service exposes SAML metadata for federation. +func (o ServicePrincipalOutput) SamlMetadataUrl() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.SamlMetadataUrl }).(pulumi.StringOutput) +} + +// A `samlSingleSignOn` block as documented below. +func (o ServicePrincipalOutput) SamlSingleSignOn() ServicePrincipalSamlSingleSignOnPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) ServicePrincipalSamlSingleSignOnPtrOutput { return v.SamlSingleSignOn }).(ServicePrincipalSamlSingleSignOnPtrOutput) +} + +// A list of identifier URI(s), copied over from the associated application. +func (o ServicePrincipalOutput) ServicePrincipalNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringArrayOutput { return v.ServicePrincipalNames }).(pulumi.StringArrayOutput) +} + +// The Microsoft account types that are supported for the associated application. Possible values include `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`. +func (o ServicePrincipalOutput) SignInAudience() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.SignInAudience }).(pulumi.StringOutput) +} + +// A set of tags to apply to the service principal. Cannot be used together with the `featureTags` block. +func (o ServicePrincipalOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput) +} + +// Whether this delegated permission should be considered safe for non-admin users to consent to on behalf of themselves, or whether an administrator should be required for consent to the permissions. Possible values are `User` or `Admin`. +func (o ServicePrincipalOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// When true, any existing service principal linked to the same application will be automatically imported. When false, an import error will be raised for any pre-existing service principal. +func (o ServicePrincipalOutput) UseExisting() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ServicePrincipal) pulumi.BoolPtrOutput { return v.UseExisting }).(pulumi.BoolPtrOutput) +} + type ServicePrincipalArrayOutput struct{ *pulumi.OutputState } func (ServicePrincipalArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/servicePrincipalCertificate.go b/sdk/go/azuread/servicePrincipalCertificate.go index 99925848b..916a1b32f 100644 --- a/sdk/go/azuread/servicePrincipalCertificate.go +++ b/sdk/go/azuread/servicePrincipalCertificate.go @@ -253,6 +253,46 @@ func (o ServicePrincipalCertificateOutput) ToServicePrincipalCertificateOutputWi return o } +// Specifies the encoding used for the supplied certificate data. Must be one of `pem`, `base64` or `hex`. Defaults to `pem`. +func (o ServicePrincipalCertificateOutput) Encoding() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringPtrOutput { return v.Encoding }).(pulumi.StringPtrOutput) +} + +// The end date until which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). Changing this field forces a new resource to be created. +func (o ServicePrincipalCertificateOutput) EndDate() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringOutput { return v.EndDate }).(pulumi.StringOutput) +} + +// A relative duration for which the certificate is valid until, for example `240h` (10 days) or `2400h30m`. Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". Changing this field forces a new resource to be created. +func (o ServicePrincipalCertificateOutput) EndDateRelative() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringPtrOutput { return v.EndDateRelative }).(pulumi.StringPtrOutput) +} + +// A UUID used to uniquely identify this certificate. If not specified a UUID will be automatically generated. Changing this field forces a new resource to be created. +func (o ServicePrincipalCertificateOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringOutput { return v.KeyId }).(pulumi.StringOutput) +} + +// The object ID of the service principal for which this certificate should be created. Changing this field forces a new resource to be created. +func (o ServicePrincipalCertificateOutput) ServicePrincipalId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringOutput { return v.ServicePrincipalId }).(pulumi.StringOutput) +} + +// The start date from which the certificate is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used. Changing this field forces a new resource to be created. +func (o ServicePrincipalCertificateOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput) +} + +// The type of key/certificate. Must be one of `AsymmetricX509Cert` or `Symmetric`. Changing this fields forces a new resource to be created. +func (o ServicePrincipalCertificateOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) +} + +// The certificate data, which can be PEM encoded, base64 encoded DER or hexadecimal encoded DER. See also the `encoding` argument. +func (o ServicePrincipalCertificateOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalCertificate) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + type ServicePrincipalCertificateArrayOutput struct{ *pulumi.OutputState } func (ServicePrincipalCertificateArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/servicePrincipalClaimsMappingPolicyAssignment.go b/sdk/go/azuread/servicePrincipalClaimsMappingPolicyAssignment.go index 89f43e55c..4af3ad7b2 100644 --- a/sdk/go/azuread/servicePrincipalClaimsMappingPolicyAssignment.go +++ b/sdk/go/azuread/servicePrincipalClaimsMappingPolicyAssignment.go @@ -215,6 +215,20 @@ func (o ServicePrincipalClaimsMappingPolicyAssignmentOutput) ToServicePrincipalC return o } +// The ID of the claims mapping policy to assign. +func (o ServicePrincipalClaimsMappingPolicyAssignmentOutput) ClaimsMappingPolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalClaimsMappingPolicyAssignment) pulumi.StringOutput { + return v.ClaimsMappingPolicyId + }).(pulumi.StringOutput) +} + +// The object ID of the service principal for the policy assignment. +func (o ServicePrincipalClaimsMappingPolicyAssignmentOutput) ServicePrincipalId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalClaimsMappingPolicyAssignment) pulumi.StringOutput { + return v.ServicePrincipalId + }).(pulumi.StringOutput) +} + type ServicePrincipalClaimsMappingPolicyAssignmentArrayOutput struct{ *pulumi.OutputState } func (ServicePrincipalClaimsMappingPolicyAssignmentArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/servicePrincipalDelegatedPermissionGrant.go b/sdk/go/azuread/servicePrincipalDelegatedPermissionGrant.go index 1df505cc6..307a0d32c 100644 --- a/sdk/go/azuread/servicePrincipalDelegatedPermissionGrant.go +++ b/sdk/go/azuread/servicePrincipalDelegatedPermissionGrant.go @@ -366,6 +366,30 @@ func (o ServicePrincipalDelegatedPermissionGrantOutput) ToServicePrincipalDelega return o } +// - A set of claim values for delegated permission scopes which should be included in access tokens for the resource. +func (o ServicePrincipalDelegatedPermissionGrantOutput) ClaimValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServicePrincipalDelegatedPermissionGrant) pulumi.StringArrayOutput { return v.ClaimValues }).(pulumi.StringArrayOutput) +} + +// The object ID of the service principal representing the resource to be accessed. Changing this forces a new resource to be created. +func (o ServicePrincipalDelegatedPermissionGrantOutput) ResourceServicePrincipalObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalDelegatedPermissionGrant) pulumi.StringOutput { + return v.ResourceServicePrincipalObjectId + }).(pulumi.StringOutput) +} + +// The object ID of the service principal for which this delegated permission grant should be created. Changing this forces a new resource to be created. +func (o ServicePrincipalDelegatedPermissionGrantOutput) ServicePrincipalObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalDelegatedPermissionGrant) pulumi.StringOutput { + return v.ServicePrincipalObjectId + }).(pulumi.StringOutput) +} + +// - The object ID of the user on behalf of whom the service principal is authorized to access the resource. When omitted, the delegated permission grant will be consented for all users. Changing this forces a new resource to be created. +func (o ServicePrincipalDelegatedPermissionGrantOutput) UserObjectId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipalDelegatedPermissionGrant) pulumi.StringPtrOutput { return v.UserObjectId }).(pulumi.StringPtrOutput) +} + type ServicePrincipalDelegatedPermissionGrantArrayOutput struct{ *pulumi.OutputState } func (ServicePrincipalDelegatedPermissionGrantArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/servicePrincipalPassword.go b/sdk/go/azuread/servicePrincipalPassword.go index 20ba4e162..aa6b5b714 100644 --- a/sdk/go/azuread/servicePrincipalPassword.go +++ b/sdk/go/azuread/servicePrincipalPassword.go @@ -236,6 +236,46 @@ func (o ServicePrincipalPasswordOutput) ToServicePrincipalPasswordOutputWithCont return o } +// A display name for the password. +func (o ServicePrincipalPasswordOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The end date until which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). Changing this field forces a new resource to be created. +func (o ServicePrincipalPasswordOutput) EndDate() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringOutput { return v.EndDate }).(pulumi.StringOutput) +} + +// A relative duration for which the password is valid until, for example `240h` (10 days) or `2400h30m`. Changing this field forces a new resource to be created. +func (o ServicePrincipalPasswordOutput) EndDateRelative() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringPtrOutput { return v.EndDateRelative }).(pulumi.StringPtrOutput) +} + +// A UUID used to uniquely identify this password credential. +func (o ServicePrincipalPasswordOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringOutput { return v.KeyId }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that will force recreation of the password when they change, enabling password rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o ServicePrincipalPasswordOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + +// The object ID of the service principal for which this password should be created. Changing this field forces a new resource to be created. +func (o ServicePrincipalPasswordOutput) ServicePrincipalId() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringOutput { return v.ServicePrincipalId }).(pulumi.StringOutput) +} + +// The start date from which the password is valid, formatted as an RFC3339 date string (e.g. `2018-01-01T01:02:03Z`). If this isn't specified, the current date is used. Changing this field forces a new resource to be created. +func (o ServicePrincipalPasswordOutput) StartDate() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput) +} + +// The password for this service principal, which is generated by Azure Active Directory. +func (o ServicePrincipalPasswordOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v *ServicePrincipalPassword) pulumi.StringOutput { return v.Value }).(pulumi.StringOutput) +} + type ServicePrincipalPasswordArrayOutput struct{ *pulumi.OutputState } func (ServicePrincipalPasswordArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/azuread/user.go b/sdk/go/azuread/user.go index 69588a9bb..c997ba26f 100644 --- a/sdk/go/azuread/user.go +++ b/sdk/go/azuread/user.go @@ -625,6 +625,246 @@ func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput { return o } +// A freeform field for the user to describe themselves +func (o UserOutput) AboutMe() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.AboutMe }).(pulumi.StringOutput) +} + +// Whether or not the account should be enabled. +func (o UserOutput) AccountEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.AccountEnabled }).(pulumi.BoolPtrOutput) +} + +// The age group of the user. Supported values are `Adult`, `NotAdult` and `Minor`. Omit this property or specify a blank string to unset. +func (o UserOutput) AgeGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.AgeGroup }).(pulumi.StringPtrOutput) +} + +// A list of telephone numbers for the user. Only one number can be set for this property. Read-only for users synced with Azure AD Connect. +func (o UserOutput) BusinessPhones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.BusinessPhones }).(pulumi.StringArrayOutput) +} + +// The city in which the user is located. +func (o UserOutput) City() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.City }).(pulumi.StringPtrOutput) +} + +// The company name which the user is associated. This property can be useful for describing the company that an external user comes from. +func (o UserOutput) CompanyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.CompanyName }).(pulumi.StringPtrOutput) +} + +// Whether consent has been obtained for minors. Supported values are `Granted`, `Denied` and `NotRequired`. Omit this property or specify a blank string to unset. +func (o UserOutput) ConsentProvidedForMinor() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.ConsentProvidedForMinor }).(pulumi.StringPtrOutput) +} + +// The cost center associated with the user. +func (o UserOutput) CostCenter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.CostCenter }).(pulumi.StringPtrOutput) +} + +// The country/region in which the user is located, e.g. `US` or `UK`. +func (o UserOutput) Country() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Country }).(pulumi.StringPtrOutput) +} + +// Indicates whether the user account was created as a regular school or work account (`null`), an external account (`Invitation`), a local account for an Azure Active Directory B2C tenant (`LocalAccount`) or self-service sign-up using email verification (`EmailVerified`). +func (o UserOutput) CreationType() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.CreationType }).(pulumi.StringOutput) +} + +// The name for the department in which the user works. +func (o UserOutput) Department() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Department }).(pulumi.StringPtrOutput) +} + +// Whether the user's password is exempt from expiring. Defaults to `false`. +func (o UserOutput) DisablePasswordExpiration() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.DisablePasswordExpiration }).(pulumi.BoolPtrOutput) +} + +// Whether the user is allowed weaker passwords than the default policy to be specified. Defaults to `false`. +func (o UserOutput) DisableStrongPassword() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.DisableStrongPassword }).(pulumi.BoolPtrOutput) +} + +// The name to display in the address book for the user. +func (o UserOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The name of the division in which the user works. +func (o UserOutput) Division() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Division }).(pulumi.StringPtrOutput) +} + +// The employee identifier assigned to the user by the organisation. +func (o UserOutput) EmployeeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.EmployeeId }).(pulumi.StringPtrOutput) +} + +// Captures enterprise worker type. For example, Employee, Contractor, Consultant, or Vendor. +func (o UserOutput) EmployeeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.EmployeeType }).(pulumi.StringPtrOutput) +} + +// For an external user invited to the tenant, this property represents the invited user's invitation status. Possible values are `PendingAcceptance` or `Accepted`. +func (o UserOutput) ExternalUserState() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.ExternalUserState }).(pulumi.StringOutput) +} + +// The fax number of the user. +func (o UserOutput) FaxNumber() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.FaxNumber }).(pulumi.StringPtrOutput) +} + +// Whether the user is forced to change the password during the next sign-in. Only takes effect when also changing the password. Defaults to `false`. +func (o UserOutput) ForcePasswordChange() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.ForcePasswordChange }).(pulumi.BoolPtrOutput) +} + +// The given name (first name) of the user. +func (o UserOutput) GivenName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.GivenName }).(pulumi.StringPtrOutput) +} + +// A list of instant message voice over IP (VOIP) session initiation protocol (SIP) addresses for the user. +func (o UserOutput) ImAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.ImAddresses }).(pulumi.StringArrayOutput) +} + +// The user’s job title. +func (o UserOutput) JobTitle() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.JobTitle }).(pulumi.StringPtrOutput) +} + +// The SMTP address for the user. This property cannot be unset once specified. +func (o UserOutput) Mail() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Mail }).(pulumi.StringOutput) +} + +// The mail alias for the user. Defaults to the user name part of the user principal name (UPN). +func (o UserOutput) MailNickname() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.MailNickname }).(pulumi.StringOutput) +} + +// The object ID of the user's manager. +func (o UserOutput) ManagerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.ManagerId }).(pulumi.StringPtrOutput) +} + +// The primary cellular telephone number for the user. +func (o UserOutput) MobilePhone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.MobilePhone }).(pulumi.StringPtrOutput) +} + +// The object ID of the user. +func (o UserOutput) ObjectId() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.ObjectId }).(pulumi.StringOutput) +} + +// The office location in the user's place of business. +func (o UserOutput) OfficeLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.OfficeLocation }).(pulumi.StringPtrOutput) +} + +// The on-premises distinguished name (DN) of the user, synchronised from the on-premises directory when Azure AD Connect is used. +func (o UserOutput) OnpremisesDistinguishedName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.OnpremisesDistinguishedName }).(pulumi.StringOutput) +} + +// The on-premises FQDN, also called dnsDomainName, synchronised from the on-premises directory when Azure AD Connect is used. +func (o UserOutput) OnpremisesDomainName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.OnpremisesDomainName }).(pulumi.StringOutput) +} + +// The value used to associate an on-premise Active Directory user account with their Azure AD user object. This must be specified if you are using a federated domain for the user's `userPrincipalName` property when creating a new user account. +func (o UserOutput) OnpremisesImmutableId() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.OnpremisesImmutableId }).(pulumi.StringOutput) +} + +// The on-premise SAM account name of the user. +func (o UserOutput) OnpremisesSamAccountName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.OnpremisesSamAccountName }).(pulumi.StringOutput) +} + +// The on-premises security identifier (SID), synchronised from the on-premises directory when Azure AD Connect is used. +func (o UserOutput) OnpremisesSecurityIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.OnpremisesSecurityIdentifier }).(pulumi.StringOutput) +} + +// Whether this user is synchronised from an on-premises directory (`true`), no longer synchronised (`false`), or has never been synchronised (`null`). +func (o UserOutput) OnpremisesSyncEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *User) pulumi.BoolOutput { return v.OnpremisesSyncEnabled }).(pulumi.BoolOutput) +} + +// The on-premise user principal name of the user. +func (o UserOutput) OnpremisesUserPrincipalName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.OnpremisesUserPrincipalName }).(pulumi.StringOutput) +} + +// A list of additional email addresses for the user. +func (o UserOutput) OtherMails() pulumi.StringArrayOutput { + return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.OtherMails }).(pulumi.StringArrayOutput) +} + +// The password for the user. The password must satisfy minimum requirements as specified by the password policy. The maximum length is 256 characters. This property is required when creating a new user. +func (o UserOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// The postal code for the user's postal address. The postal code is specific to the user's country/region. In the United States of America, this attribute contains the ZIP code. +func (o UserOutput) PostalCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.PostalCode }).(pulumi.StringPtrOutput) +} + +// The user's preferred language, in ISO 639-1 notation. +func (o UserOutput) PreferredLanguage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.PreferredLanguage }).(pulumi.StringPtrOutput) +} + +// List of email addresses for the user that direct to the same mailbox. +func (o UserOutput) ProxyAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.ProxyAddresses }).(pulumi.StringArrayOutput) +} + +// Whether or not the Outlook global address list should include this user. Defaults to `true`. +func (o UserOutput) ShowInAddressList() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *User) pulumi.BoolPtrOutput { return v.ShowInAddressList }).(pulumi.BoolPtrOutput) +} + +// The state or province in the user's address. +func (o UserOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.State }).(pulumi.StringPtrOutput) +} + +// The street address of the user's place of business. +func (o UserOutput) StreetAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.StreetAddress }).(pulumi.StringPtrOutput) +} + +// The user's surname (family name or last name). +func (o UserOutput) Surname() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Surname }).(pulumi.StringPtrOutput) +} + +// The usage location of the user. Required for users that will be assigned licenses due to legal requirement to check for availability of services in countries. The usage location is a two letter country code (ISO standard 3166). Examples include: `NO`, `JP`, and `GB`. Cannot be reset to null once set. +func (o UserOutput) UsageLocation() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.UsageLocation }).(pulumi.StringPtrOutput) +} + +// The user principal name (UPN) of the user. +func (o UserOutput) UserPrincipalName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.UserPrincipalName }).(pulumi.StringOutput) +} + +// The user type in the directory. Possible values are `Guest` or `Member`. +func (o UserOutput) UserType() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.UserType }).(pulumi.StringOutput) +} + type UserArrayOutput struct{ *pulumi.OutputState } func (UserArrayOutput) ElementType() reflect.Type {