management

package
v6.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Group

type Group struct {
	pulumi.CustomResourceState

	// A friendly name for this Management Group. If not specified, this will be the same as the `name`.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Parent Management Group.
	ParentManagementGroupId pulumi.StringOutput `pulumi:"parentManagementGroupId"`
	// A list of Subscription GUIDs which should be assigned to the Management Group.
	//
	// > **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list
	SubscriptionIds pulumi.StringArrayOutput `pulumi:"subscriptionIds"`
	// The Management Group ID with the Tenant ID prefix.
	TenantScopedId pulumi.StringOutput `pulumi:"tenantScopedId"`
}

Manages a Management Group.

!> **Note:** Configuring `subscriptionIds` is not supported when using the `management.GroupSubscriptionAssociation` resource, results will be unpredictable.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.LookupSubscription(ctx, &core.LookupSubscriptionArgs{}, nil)
		if err != nil {
			return err
		}
		exampleParent, err := management.NewGroup(ctx, "example_parent", &management.GroupArgs{
			DisplayName: pulumi.String("ParentGroup"),
			SubscriptionIds: pulumi.StringArray{
				pulumi.String(current.SubscriptionId),
			},
		})
		if err != nil {
			return err
		}
		_, err = management.NewGroup(ctx, "example_child", &management.GroupArgs{
			DisplayName:             pulumi.String("ChildGroup"),
			ParentManagementGroupId: exampleParent.ID(),
			SubscriptionIds: pulumi.StringArray{
				pulumi.String(current.SubscriptionId),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Management Groups can be imported using the `management group resource id`, e.g.

```sh $ pulumi import azure:management/group:Group example /providers/Microsoft.Management/managementGroups/group1 ```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

NewGroup registers a new resource with the given unique name, arguments, and options.

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// A friendly name for this Management Group. If not specified, this will be the same as the `name`.
	DisplayName pulumi.StringPtrInput
	// The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Parent Management Group.
	ParentManagementGroupId pulumi.StringPtrInput
	// A list of Subscription GUIDs which should be assigned to the Management Group.
	//
	// > **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list
	SubscriptionIds pulumi.StringArrayInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) DisplayName

func (o GroupOutput) DisplayName() pulumi.StringOutput

A friendly name for this Management Group. If not specified, this will be the same as the `name`.

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) Name

func (o GroupOutput) Name() pulumi.StringOutput

The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.

func (GroupOutput) ParentManagementGroupId

func (o GroupOutput) ParentManagementGroupId() pulumi.StringOutput

The ID of the Parent Management Group.

func (GroupOutput) SubscriptionIds

func (o GroupOutput) SubscriptionIds() pulumi.StringArrayOutput

A list of Subscription GUIDs which should be assigned to the Management Group.

> **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list

func (GroupOutput) TenantScopedId

func (o GroupOutput) TenantScopedId() pulumi.StringOutput

The Management Group ID with the Tenant ID prefix.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupPolicyAssignment

type GroupPolicyAssignment struct {
	pulumi.CustomResourceState

	// A description which should be used for this Policy Assignment.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Display Name for this Policy Assignment.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Specifies if this Policy should be enforced or not? Defaults to `true`.
	Enforce pulumi.BoolPtrOutput `pulumi:"enforce"`
	// An `identity` block as defined below.
	//
	// > **Note:** The `location` field must also be specified when `identity` is specified.
	Identity GroupPolicyAssignmentIdentityPtrOutput `pulumi:"identity"`
	// The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The ID of the Management Group. Changing this forces a new Policy Assignment to be created.
	ManagementGroupId pulumi.StringOutput `pulumi:"managementGroupId"`
	// A JSON mapping of any Metadata for this Policy.
	Metadata pulumi.StringOutput `pulumi:"metadata"`
	// The name which should be used for this Policy Assignment. Possible values must be between 3 and 24 characters in length. Changing this forces a new Policy Assignment to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// One or more `nonComplianceMessage` blocks as defined below.
	NonComplianceMessages GroupPolicyAssignmentNonComplianceMessageArrayOutput `pulumi:"nonComplianceMessages"`
	// Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.
	NotScopes pulumi.StringArrayOutput `pulumi:"notScopes"`
	// One or more `overrides` blocks as defined below. More detail about `overrides` and `resourceSelectors` see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure#resource-selectors-preview)
	Overrides GroupPolicyAssignmentOverrideArrayOutput `pulumi:"overrides"`
	// A JSON mapping of any Parameters for this Policy.
	Parameters pulumi.StringPtrOutput `pulumi:"parameters"`
	// The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.
	PolicyDefinitionId pulumi.StringOutput `pulumi:"policyDefinitionId"`
	// One or more `resourceSelectors` blocks as defined below to filter polices by resource properties.
	ResourceSelectors GroupPolicyAssignmentResourceSelectorArrayOutput `pulumi:"resourceSelectors"`
}

Manages a Policy Assignment to a Management Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := management.NewGroup(ctx, "example", &management.GroupArgs{
			DisplayName: pulumi.String("Some Management Group"),
		})
		if err != nil {
			return err
		}
		exampleDefinition, err := policy.NewDefinition(ctx, "example", &policy.DefinitionArgs{
			Name:              pulumi.String("only-deploy-in-westeurope"),
			PolicyType:        pulumi.String("Custom"),
			Mode:              pulumi.String("All"),
			DisplayName:       pulumi.String("my-policy-definition"),
			ManagementGroupId: example.ID(),
			PolicyRule: pulumi.String(` {
    "if": {
      "not": {
        "field": "location",
        "equals": "westeurope"
      }
    },
    "then": {
      "effect": "Deny"
    }
  }

`),

		})
		if err != nil {
			return err
		}
		_, err = management.NewGroupPolicyAssignment(ctx, "example", &management.GroupPolicyAssignmentArgs{
			Name:               pulumi.String("example-policy"),
			PolicyDefinitionId: exampleDefinition.ID(),
			ManagementGroupId:  example.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Management Group Policy Assignments can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:management/groupPolicyAssignment:GroupPolicyAssignment example /providers/Microsoft.Management/managementGroups/group1/providers/Microsoft.Authorization/policyAssignments/assignment1 ```

func GetGroupPolicyAssignment

func GetGroupPolicyAssignment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupPolicyAssignmentState, opts ...pulumi.ResourceOption) (*GroupPolicyAssignment, error)

GetGroupPolicyAssignment gets an existing GroupPolicyAssignment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroupPolicyAssignment

func NewGroupPolicyAssignment(ctx *pulumi.Context,
	name string, args *GroupPolicyAssignmentArgs, opts ...pulumi.ResourceOption) (*GroupPolicyAssignment, error)

NewGroupPolicyAssignment registers a new resource with the given unique name, arguments, and options.

func (*GroupPolicyAssignment) ElementType

func (*GroupPolicyAssignment) ElementType() reflect.Type

func (*GroupPolicyAssignment) ToGroupPolicyAssignmentOutput

func (i *GroupPolicyAssignment) ToGroupPolicyAssignmentOutput() GroupPolicyAssignmentOutput

func (*GroupPolicyAssignment) ToGroupPolicyAssignmentOutputWithContext

func (i *GroupPolicyAssignment) ToGroupPolicyAssignmentOutputWithContext(ctx context.Context) GroupPolicyAssignmentOutput

type GroupPolicyAssignmentArgs

type GroupPolicyAssignmentArgs struct {
	// A description which should be used for this Policy Assignment.
	Description pulumi.StringPtrInput
	// The Display Name for this Policy Assignment.
	DisplayName pulumi.StringPtrInput
	// Specifies if this Policy should be enforced or not? Defaults to `true`.
	Enforce pulumi.BoolPtrInput
	// An `identity` block as defined below.
	//
	// > **Note:** The `location` field must also be specified when `identity` is specified.
	Identity GroupPolicyAssignmentIdentityPtrInput
	// The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.
	Location pulumi.StringPtrInput
	// The ID of the Management Group. Changing this forces a new Policy Assignment to be created.
	ManagementGroupId pulumi.StringInput
	// A JSON mapping of any Metadata for this Policy.
	Metadata pulumi.StringPtrInput
	// The name which should be used for this Policy Assignment. Possible values must be between 3 and 24 characters in length. Changing this forces a new Policy Assignment to be created.
	Name pulumi.StringPtrInput
	// One or more `nonComplianceMessage` blocks as defined below.
	NonComplianceMessages GroupPolicyAssignmentNonComplianceMessageArrayInput
	// Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.
	NotScopes pulumi.StringArrayInput
	// One or more `overrides` blocks as defined below. More detail about `overrides` and `resourceSelectors` see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure#resource-selectors-preview)
	Overrides GroupPolicyAssignmentOverrideArrayInput
	// A JSON mapping of any Parameters for this Policy.
	Parameters pulumi.StringPtrInput
	// The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.
	PolicyDefinitionId pulumi.StringInput
	// One or more `resourceSelectors` blocks as defined below to filter polices by resource properties.
	ResourceSelectors GroupPolicyAssignmentResourceSelectorArrayInput
}

The set of arguments for constructing a GroupPolicyAssignment resource.

func (GroupPolicyAssignmentArgs) ElementType

func (GroupPolicyAssignmentArgs) ElementType() reflect.Type

type GroupPolicyAssignmentArray

type GroupPolicyAssignmentArray []GroupPolicyAssignmentInput

func (GroupPolicyAssignmentArray) ElementType

func (GroupPolicyAssignmentArray) ElementType() reflect.Type

func (GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutput

func (i GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutput() GroupPolicyAssignmentArrayOutput

func (GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutputWithContext

func (i GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentArrayOutput

type GroupPolicyAssignmentArrayInput

type GroupPolicyAssignmentArrayInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentArrayOutput() GroupPolicyAssignmentArrayOutput
	ToGroupPolicyAssignmentArrayOutputWithContext(context.Context) GroupPolicyAssignmentArrayOutput
}

GroupPolicyAssignmentArrayInput is an input type that accepts GroupPolicyAssignmentArray and GroupPolicyAssignmentArrayOutput values. You can construct a concrete instance of `GroupPolicyAssignmentArrayInput` via:

GroupPolicyAssignmentArray{ GroupPolicyAssignmentArgs{...} }

type GroupPolicyAssignmentArrayOutput

type GroupPolicyAssignmentArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentArrayOutput) ElementType

func (GroupPolicyAssignmentArrayOutput) Index

func (GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutput

func (o GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutput() GroupPolicyAssignmentArrayOutput

func (GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutputWithContext

func (o GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentArrayOutput

type GroupPolicyAssignmentIdentity

type GroupPolicyAssignmentIdentity struct {
	// A list of User Managed Identity IDs which should be assigned to the Policy Definition.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned`.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID of the Policy Assignment for this Management Group.
	PrincipalId *string `pulumi:"principalId"`
	// The Tenant ID of the Policy Assignment for this Management Group.
	TenantId *string `pulumi:"tenantId"`
	// The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.
	Type string `pulumi:"type"`
}

type GroupPolicyAssignmentIdentityArgs

type GroupPolicyAssignmentIdentityArgs struct {
	// A list of User Managed Identity IDs which should be assigned to the Policy Definition.
	//
	// > **NOTE:** This is required when `type` is set to `UserAssigned`.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID of the Policy Assignment for this Management Group.
	PrincipalId pulumi.StringPtrInput `pulumi:"principalId"`
	// The Tenant ID of the Policy Assignment for this Management Group.
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
	// The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GroupPolicyAssignmentIdentityArgs) ElementType

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutput

func (i GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutput() GroupPolicyAssignmentIdentityOutput

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutputWithContext

func (i GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutputWithContext(ctx context.Context) GroupPolicyAssignmentIdentityOutput

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutput

func (i GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutputWithContext

func (i GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentIdentityPtrOutput

type GroupPolicyAssignmentIdentityInput

type GroupPolicyAssignmentIdentityInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentIdentityOutput() GroupPolicyAssignmentIdentityOutput
	ToGroupPolicyAssignmentIdentityOutputWithContext(context.Context) GroupPolicyAssignmentIdentityOutput
}

GroupPolicyAssignmentIdentityInput is an input type that accepts GroupPolicyAssignmentIdentityArgs and GroupPolicyAssignmentIdentityOutput values. You can construct a concrete instance of `GroupPolicyAssignmentIdentityInput` via:

GroupPolicyAssignmentIdentityArgs{...}

type GroupPolicyAssignmentIdentityOutput

type GroupPolicyAssignmentIdentityOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentIdentityOutput) ElementType

func (GroupPolicyAssignmentIdentityOutput) IdentityIds

A list of User Managed Identity IDs which should be assigned to the Policy Definition.

> **NOTE:** This is required when `type` is set to `UserAssigned`.

func (GroupPolicyAssignmentIdentityOutput) PrincipalId

The Principal ID of the Policy Assignment for this Management Group.

func (GroupPolicyAssignmentIdentityOutput) TenantId

The Tenant ID of the Policy Assignment for this Management Group.

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutput

func (o GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutput() GroupPolicyAssignmentIdentityOutput

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutputWithContext

func (o GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutputWithContext(ctx context.Context) GroupPolicyAssignmentIdentityOutput

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutput

func (o GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutputWithContext

func (o GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityOutput) Type

The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.

type GroupPolicyAssignmentIdentityPtrInput

type GroupPolicyAssignmentIdentityPtrInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput
	ToGroupPolicyAssignmentIdentityPtrOutputWithContext(context.Context) GroupPolicyAssignmentIdentityPtrOutput
}

GroupPolicyAssignmentIdentityPtrInput is an input type that accepts GroupPolicyAssignmentIdentityArgs, GroupPolicyAssignmentIdentityPtr and GroupPolicyAssignmentIdentityPtrOutput values. You can construct a concrete instance of `GroupPolicyAssignmentIdentityPtrInput` via:

        GroupPolicyAssignmentIdentityArgs{...}

or:

        nil

type GroupPolicyAssignmentIdentityPtrOutput

type GroupPolicyAssignmentIdentityPtrOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentIdentityPtrOutput) Elem

func (GroupPolicyAssignmentIdentityPtrOutput) ElementType

func (GroupPolicyAssignmentIdentityPtrOutput) IdentityIds

A list of User Managed Identity IDs which should be assigned to the Policy Definition.

> **NOTE:** This is required when `type` is set to `UserAssigned`.

func (GroupPolicyAssignmentIdentityPtrOutput) PrincipalId

The Principal ID of the Policy Assignment for this Management Group.

func (GroupPolicyAssignmentIdentityPtrOutput) TenantId

The Tenant ID of the Policy Assignment for this Management Group.

func (GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutput

func (o GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutputWithContext

func (o GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityPtrOutput) Type

The Type of Managed Identity which should be added to this Policy Definition. Possible values are `SystemAssigned` and `UserAssigned`.

type GroupPolicyAssignmentInput

type GroupPolicyAssignmentInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentOutput() GroupPolicyAssignmentOutput
	ToGroupPolicyAssignmentOutputWithContext(ctx context.Context) GroupPolicyAssignmentOutput
}

type GroupPolicyAssignmentMap

type GroupPolicyAssignmentMap map[string]GroupPolicyAssignmentInput

func (GroupPolicyAssignmentMap) ElementType

func (GroupPolicyAssignmentMap) ElementType() reflect.Type

func (GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutput

func (i GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutput() GroupPolicyAssignmentMapOutput

func (GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutputWithContext

func (i GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutputWithContext(ctx context.Context) GroupPolicyAssignmentMapOutput

type GroupPolicyAssignmentMapInput

type GroupPolicyAssignmentMapInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentMapOutput() GroupPolicyAssignmentMapOutput
	ToGroupPolicyAssignmentMapOutputWithContext(context.Context) GroupPolicyAssignmentMapOutput
}

GroupPolicyAssignmentMapInput is an input type that accepts GroupPolicyAssignmentMap and GroupPolicyAssignmentMapOutput values. You can construct a concrete instance of `GroupPolicyAssignmentMapInput` via:

GroupPolicyAssignmentMap{ "key": GroupPolicyAssignmentArgs{...} }

type GroupPolicyAssignmentMapOutput

type GroupPolicyAssignmentMapOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentMapOutput) ElementType

func (GroupPolicyAssignmentMapOutput) MapIndex

func (GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutput

func (o GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutput() GroupPolicyAssignmentMapOutput

func (GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutputWithContext

func (o GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutputWithContext(ctx context.Context) GroupPolicyAssignmentMapOutput

type GroupPolicyAssignmentNonComplianceMessage

type GroupPolicyAssignmentNonComplianceMessage struct {
	// The non-compliance message text. When assigning policy sets (initiatives), unless `policyDefinitionReferenceId` is specified then this message will be the default for all policies.
	Content string `pulumi:"content"`
	// When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.
	PolicyDefinitionReferenceId *string `pulumi:"policyDefinitionReferenceId"`
}

type GroupPolicyAssignmentNonComplianceMessageArgs

type GroupPolicyAssignmentNonComplianceMessageArgs struct {
	// The non-compliance message text. When assigning policy sets (initiatives), unless `policyDefinitionReferenceId` is specified then this message will be the default for all policies.
	Content pulumi.StringInput `pulumi:"content"`
	// When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.
	PolicyDefinitionReferenceId pulumi.StringPtrInput `pulumi:"policyDefinitionReferenceId"`
}

func (GroupPolicyAssignmentNonComplianceMessageArgs) ElementType

func (GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutput

func (i GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutput() GroupPolicyAssignmentNonComplianceMessageOutput

func (GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext

func (i GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext(ctx context.Context) GroupPolicyAssignmentNonComplianceMessageOutput

type GroupPolicyAssignmentNonComplianceMessageArray

type GroupPolicyAssignmentNonComplianceMessageArray []GroupPolicyAssignmentNonComplianceMessageInput

func (GroupPolicyAssignmentNonComplianceMessageArray) ElementType

func (GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutput

func (i GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutput() GroupPolicyAssignmentNonComplianceMessageArrayOutput

func (GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext

func (i GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentNonComplianceMessageArrayOutput

type GroupPolicyAssignmentNonComplianceMessageArrayInput

type GroupPolicyAssignmentNonComplianceMessageArrayInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentNonComplianceMessageArrayOutput() GroupPolicyAssignmentNonComplianceMessageArrayOutput
	ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext(context.Context) GroupPolicyAssignmentNonComplianceMessageArrayOutput
}

GroupPolicyAssignmentNonComplianceMessageArrayInput is an input type that accepts GroupPolicyAssignmentNonComplianceMessageArray and GroupPolicyAssignmentNonComplianceMessageArrayOutput values. You can construct a concrete instance of `GroupPolicyAssignmentNonComplianceMessageArrayInput` via:

GroupPolicyAssignmentNonComplianceMessageArray{ GroupPolicyAssignmentNonComplianceMessageArgs{...} }

type GroupPolicyAssignmentNonComplianceMessageArrayOutput

type GroupPolicyAssignmentNonComplianceMessageArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) ElementType

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) Index

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) ToGroupPolicyAssignmentNonComplianceMessageArrayOutput

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext

func (o GroupPolicyAssignmentNonComplianceMessageArrayOutput) ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentNonComplianceMessageArrayOutput

type GroupPolicyAssignmentNonComplianceMessageInput

type GroupPolicyAssignmentNonComplianceMessageInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentNonComplianceMessageOutput() GroupPolicyAssignmentNonComplianceMessageOutput
	ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext(context.Context) GroupPolicyAssignmentNonComplianceMessageOutput
}

GroupPolicyAssignmentNonComplianceMessageInput is an input type that accepts GroupPolicyAssignmentNonComplianceMessageArgs and GroupPolicyAssignmentNonComplianceMessageOutput values. You can construct a concrete instance of `GroupPolicyAssignmentNonComplianceMessageInput` via:

GroupPolicyAssignmentNonComplianceMessageArgs{...}

type GroupPolicyAssignmentNonComplianceMessageOutput

type GroupPolicyAssignmentNonComplianceMessageOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentNonComplianceMessageOutput) Content

The non-compliance message text. When assigning policy sets (initiatives), unless `policyDefinitionReferenceId` is specified then this message will be the default for all policies.

func (GroupPolicyAssignmentNonComplianceMessageOutput) ElementType

func (GroupPolicyAssignmentNonComplianceMessageOutput) PolicyDefinitionReferenceId

When assigning policy sets (initiatives), this is the ID of the policy definition that the non-compliance message applies to.

func (GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutput

func (o GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutput() GroupPolicyAssignmentNonComplianceMessageOutput

func (GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext

func (o GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext(ctx context.Context) GroupPolicyAssignmentNonComplianceMessageOutput

type GroupPolicyAssignmentOutput

type GroupPolicyAssignmentOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOutput) Description

A description which should be used for this Policy Assignment.

func (GroupPolicyAssignmentOutput) DisplayName

The Display Name for this Policy Assignment.

func (GroupPolicyAssignmentOutput) ElementType

func (GroupPolicyAssignmentOutput) Enforce

Specifies if this Policy should be enforced or not? Defaults to `true`.

func (GroupPolicyAssignmentOutput) Identity

An `identity` block as defined below.

> **Note:** The `location` field must also be specified when `identity` is specified.

func (GroupPolicyAssignmentOutput) Location

The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.

func (GroupPolicyAssignmentOutput) ManagementGroupId

func (o GroupPolicyAssignmentOutput) ManagementGroupId() pulumi.StringOutput

The ID of the Management Group. Changing this forces a new Policy Assignment to be created.

func (GroupPolicyAssignmentOutput) Metadata

A JSON mapping of any Metadata for this Policy.

func (GroupPolicyAssignmentOutput) Name

The name which should be used for this Policy Assignment. Possible values must be between 3 and 24 characters in length. Changing this forces a new Policy Assignment to be created.

func (GroupPolicyAssignmentOutput) NonComplianceMessages

One or more `nonComplianceMessage` blocks as defined below.

func (GroupPolicyAssignmentOutput) NotScopes

Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.

func (GroupPolicyAssignmentOutput) Overrides

One or more `overrides` blocks as defined below. More detail about `overrides` and `resourceSelectors` see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure#resource-selectors-preview)

func (GroupPolicyAssignmentOutput) Parameters

A JSON mapping of any Parameters for this Policy.

func (GroupPolicyAssignmentOutput) PolicyDefinitionId

func (o GroupPolicyAssignmentOutput) PolicyDefinitionId() pulumi.StringOutput

The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.

func (GroupPolicyAssignmentOutput) ResourceSelectors

One or more `resourceSelectors` blocks as defined below to filter polices by resource properties.

func (GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutput

func (o GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutput() GroupPolicyAssignmentOutput

func (GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutputWithContext

func (o GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutputWithContext(ctx context.Context) GroupPolicyAssignmentOutput

type GroupPolicyAssignmentOverride

type GroupPolicyAssignmentOverride struct {
	// One or more `overrideSelector` block as defined below.
	Selectors []GroupPolicyAssignmentOverrideSelector `pulumi:"selectors"`
	// Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).
	Value string `pulumi:"value"`
}

type GroupPolicyAssignmentOverrideArgs

type GroupPolicyAssignmentOverrideArgs struct {
	// One or more `overrideSelector` block as defined below.
	Selectors GroupPolicyAssignmentOverrideSelectorArrayInput `pulumi:"selectors"`
	// Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).
	Value pulumi.StringInput `pulumi:"value"`
}

func (GroupPolicyAssignmentOverrideArgs) ElementType

func (GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutput

func (i GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutput() GroupPolicyAssignmentOverrideOutput

func (GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutputWithContext

func (i GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideOutput

type GroupPolicyAssignmentOverrideArray

type GroupPolicyAssignmentOverrideArray []GroupPolicyAssignmentOverrideInput

func (GroupPolicyAssignmentOverrideArray) ElementType

func (GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutput

func (i GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutput() GroupPolicyAssignmentOverrideArrayOutput

func (GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutputWithContext

func (i GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideArrayOutput

type GroupPolicyAssignmentOverrideArrayInput

type GroupPolicyAssignmentOverrideArrayInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentOverrideArrayOutput() GroupPolicyAssignmentOverrideArrayOutput
	ToGroupPolicyAssignmentOverrideArrayOutputWithContext(context.Context) GroupPolicyAssignmentOverrideArrayOutput
}

GroupPolicyAssignmentOverrideArrayInput is an input type that accepts GroupPolicyAssignmentOverrideArray and GroupPolicyAssignmentOverrideArrayOutput values. You can construct a concrete instance of `GroupPolicyAssignmentOverrideArrayInput` via:

GroupPolicyAssignmentOverrideArray{ GroupPolicyAssignmentOverrideArgs{...} }

type GroupPolicyAssignmentOverrideArrayOutput

type GroupPolicyAssignmentOverrideArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideArrayOutput) ElementType

func (GroupPolicyAssignmentOverrideArrayOutput) Index

func (GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutput

func (o GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutput() GroupPolicyAssignmentOverrideArrayOutput

func (GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutputWithContext

func (o GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideArrayOutput

type GroupPolicyAssignmentOverrideInput

type GroupPolicyAssignmentOverrideInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentOverrideOutput() GroupPolicyAssignmentOverrideOutput
	ToGroupPolicyAssignmentOverrideOutputWithContext(context.Context) GroupPolicyAssignmentOverrideOutput
}

GroupPolicyAssignmentOverrideInput is an input type that accepts GroupPolicyAssignmentOverrideArgs and GroupPolicyAssignmentOverrideOutput values. You can construct a concrete instance of `GroupPolicyAssignmentOverrideInput` via:

GroupPolicyAssignmentOverrideArgs{...}

type GroupPolicyAssignmentOverrideOutput

type GroupPolicyAssignmentOverrideOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideOutput) ElementType

func (GroupPolicyAssignmentOverrideOutput) Selectors

One or more `overrideSelector` block as defined below.

func (GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutput

func (o GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutput() GroupPolicyAssignmentOverrideOutput

func (GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutputWithContext

func (o GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideOutput

func (GroupPolicyAssignmentOverrideOutput) Value

Specifies the value to override the policy property. Possible values for `policyEffect` override listed [policy effects](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effects).

type GroupPolicyAssignmentOverrideSelector

type GroupPolicyAssignmentOverrideSelector struct {
	Ins []string `pulumi:"ins"`
	// Specifies which characteristic will narrow down the set of evaluated resources. Possible values are `resourceLocation`, `resourceType` and `resourceWithoutLocation`.
	Kind   *string  `pulumi:"kind"`
	NotIns []string `pulumi:"notIns"`
}

type GroupPolicyAssignmentOverrideSelectorArgs

type GroupPolicyAssignmentOverrideSelectorArgs struct {
	Ins pulumi.StringArrayInput `pulumi:"ins"`
	// Specifies which characteristic will narrow down the set of evaluated resources. Possible values are `resourceLocation`, `resourceType` and `resourceWithoutLocation`.
	Kind   pulumi.StringPtrInput   `pulumi:"kind"`
	NotIns pulumi.StringArrayInput `pulumi:"notIns"`
}

func (GroupPolicyAssignmentOverrideSelectorArgs) ElementType

func (GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutput

func (i GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutput() GroupPolicyAssignmentOverrideSelectorOutput

func (GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutputWithContext

func (i GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideSelectorOutput

type GroupPolicyAssignmentOverrideSelectorArray

type GroupPolicyAssignmentOverrideSelectorArray []GroupPolicyAssignmentOverrideSelectorInput

func (GroupPolicyAssignmentOverrideSelectorArray) ElementType

func (GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutput

func (i GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutput() GroupPolicyAssignmentOverrideSelectorArrayOutput

func (GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext

func (i GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideSelectorArrayOutput

type GroupPolicyAssignmentOverrideSelectorArrayInput

type GroupPolicyAssignmentOverrideSelectorArrayInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentOverrideSelectorArrayOutput() GroupPolicyAssignmentOverrideSelectorArrayOutput
	ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext(context.Context) GroupPolicyAssignmentOverrideSelectorArrayOutput
}

GroupPolicyAssignmentOverrideSelectorArrayInput is an input type that accepts GroupPolicyAssignmentOverrideSelectorArray and GroupPolicyAssignmentOverrideSelectorArrayOutput values. You can construct a concrete instance of `GroupPolicyAssignmentOverrideSelectorArrayInput` via:

GroupPolicyAssignmentOverrideSelectorArray{ GroupPolicyAssignmentOverrideSelectorArgs{...} }

type GroupPolicyAssignmentOverrideSelectorArrayOutput

type GroupPolicyAssignmentOverrideSelectorArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) ElementType

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) Index

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutput

func (o GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutput() GroupPolicyAssignmentOverrideSelectorArrayOutput

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext

func (o GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideSelectorArrayOutput

type GroupPolicyAssignmentOverrideSelectorInput

type GroupPolicyAssignmentOverrideSelectorInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentOverrideSelectorOutput() GroupPolicyAssignmentOverrideSelectorOutput
	ToGroupPolicyAssignmentOverrideSelectorOutputWithContext(context.Context) GroupPolicyAssignmentOverrideSelectorOutput
}

GroupPolicyAssignmentOverrideSelectorInput is an input type that accepts GroupPolicyAssignmentOverrideSelectorArgs and GroupPolicyAssignmentOverrideSelectorOutput values. You can construct a concrete instance of `GroupPolicyAssignmentOverrideSelectorInput` via:

GroupPolicyAssignmentOverrideSelectorArgs{...}

type GroupPolicyAssignmentOverrideSelectorOutput

type GroupPolicyAssignmentOverrideSelectorOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideSelectorOutput) ElementType

func (GroupPolicyAssignmentOverrideSelectorOutput) Ins

func (GroupPolicyAssignmentOverrideSelectorOutput) Kind

Specifies which characteristic will narrow down the set of evaluated resources. Possible values are `resourceLocation`, `resourceType` and `resourceWithoutLocation`.

func (GroupPolicyAssignmentOverrideSelectorOutput) NotIns

func (GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutput

func (o GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutput() GroupPolicyAssignmentOverrideSelectorOutput

func (GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutputWithContext

func (o GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutputWithContext(ctx context.Context) GroupPolicyAssignmentOverrideSelectorOutput

type GroupPolicyAssignmentResourceSelector

type GroupPolicyAssignmentResourceSelector struct {
	// Specifies a name for the resource selector.
	Name *string `pulumi:"name"`
	// One or more `resourceSelector` block as defined below.
	Selectors []GroupPolicyAssignmentResourceSelectorSelector `pulumi:"selectors"`
}

type GroupPolicyAssignmentResourceSelectorArgs

type GroupPolicyAssignmentResourceSelectorArgs struct {
	// Specifies a name for the resource selector.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// One or more `resourceSelector` block as defined below.
	Selectors GroupPolicyAssignmentResourceSelectorSelectorArrayInput `pulumi:"selectors"`
}

func (GroupPolicyAssignmentResourceSelectorArgs) ElementType

func (GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutput

func (i GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutput() GroupPolicyAssignmentResourceSelectorOutput

func (GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutputWithContext

func (i GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorOutput

type GroupPolicyAssignmentResourceSelectorArray

type GroupPolicyAssignmentResourceSelectorArray []GroupPolicyAssignmentResourceSelectorInput

func (GroupPolicyAssignmentResourceSelectorArray) ElementType

func (GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutput

func (i GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext

func (i GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorArrayOutput

type GroupPolicyAssignmentResourceSelectorArrayInput

type GroupPolicyAssignmentResourceSelectorArrayInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentResourceSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorArrayOutput
	ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext(context.Context) GroupPolicyAssignmentResourceSelectorArrayOutput
}

GroupPolicyAssignmentResourceSelectorArrayInput is an input type that accepts GroupPolicyAssignmentResourceSelectorArray and GroupPolicyAssignmentResourceSelectorArrayOutput values. You can construct a concrete instance of `GroupPolicyAssignmentResourceSelectorArrayInput` via:

GroupPolicyAssignmentResourceSelectorArray{ GroupPolicyAssignmentResourceSelectorArgs{...} }

type GroupPolicyAssignmentResourceSelectorArrayOutput

type GroupPolicyAssignmentResourceSelectorArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorArrayOutput) ElementType

func (GroupPolicyAssignmentResourceSelectorArrayOutput) Index

func (GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutput

func (o GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext

func (o GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorArrayOutput

type GroupPolicyAssignmentResourceSelectorInput

type GroupPolicyAssignmentResourceSelectorInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentResourceSelectorOutput() GroupPolicyAssignmentResourceSelectorOutput
	ToGroupPolicyAssignmentResourceSelectorOutputWithContext(context.Context) GroupPolicyAssignmentResourceSelectorOutput
}

GroupPolicyAssignmentResourceSelectorInput is an input type that accepts GroupPolicyAssignmentResourceSelectorArgs and GroupPolicyAssignmentResourceSelectorOutput values. You can construct a concrete instance of `GroupPolicyAssignmentResourceSelectorInput` via:

GroupPolicyAssignmentResourceSelectorArgs{...}

type GroupPolicyAssignmentResourceSelectorOutput

type GroupPolicyAssignmentResourceSelectorOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorOutput) ElementType

func (GroupPolicyAssignmentResourceSelectorOutput) Name

Specifies a name for the resource selector.

func (GroupPolicyAssignmentResourceSelectorOutput) Selectors

One or more `resourceSelector` block as defined below.

func (GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutput

func (o GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutput() GroupPolicyAssignmentResourceSelectorOutput

func (GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutputWithContext

func (o GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorOutput

type GroupPolicyAssignmentResourceSelectorSelector

type GroupPolicyAssignmentResourceSelectorSelector struct {
	Ins []string `pulumi:"ins"`
	// Specifies which characteristic will narrow down the set of evaluated resources. Possible values are `resourceLocation`, `resourceType` and `resourceWithoutLocation`.
	Kind   string   `pulumi:"kind"`
	NotIns []string `pulumi:"notIns"`
}

type GroupPolicyAssignmentResourceSelectorSelectorArgs

type GroupPolicyAssignmentResourceSelectorSelectorArgs struct {
	Ins pulumi.StringArrayInput `pulumi:"ins"`
	// Specifies which characteristic will narrow down the set of evaluated resources. Possible values are `resourceLocation`, `resourceType` and `resourceWithoutLocation`.
	Kind   pulumi.StringInput      `pulumi:"kind"`
	NotIns pulumi.StringArrayInput `pulumi:"notIns"`
}

func (GroupPolicyAssignmentResourceSelectorSelectorArgs) ElementType

func (GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutput

func (i GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutput() GroupPolicyAssignmentResourceSelectorSelectorOutput

func (GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext

func (i GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorSelectorOutput

type GroupPolicyAssignmentResourceSelectorSelectorArray

type GroupPolicyAssignmentResourceSelectorSelectorArray []GroupPolicyAssignmentResourceSelectorSelectorInput

func (GroupPolicyAssignmentResourceSelectorSelectorArray) ElementType

func (GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput

func (i GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext

func (i GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorSelectorArrayOutput

type GroupPolicyAssignmentResourceSelectorSelectorArrayInput

type GroupPolicyAssignmentResourceSelectorSelectorArrayInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorSelectorArrayOutput
	ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext(context.Context) GroupPolicyAssignmentResourceSelectorSelectorArrayOutput
}

GroupPolicyAssignmentResourceSelectorSelectorArrayInput is an input type that accepts GroupPolicyAssignmentResourceSelectorSelectorArray and GroupPolicyAssignmentResourceSelectorSelectorArrayOutput values. You can construct a concrete instance of `GroupPolicyAssignmentResourceSelectorSelectorArrayInput` via:

GroupPolicyAssignmentResourceSelectorSelectorArray{ GroupPolicyAssignmentResourceSelectorSelectorArgs{...} }

type GroupPolicyAssignmentResourceSelectorSelectorArrayOutput

type GroupPolicyAssignmentResourceSelectorSelectorArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ElementType

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) Index

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext

func (o GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorSelectorArrayOutput

type GroupPolicyAssignmentResourceSelectorSelectorInput

type GroupPolicyAssignmentResourceSelectorSelectorInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentResourceSelectorSelectorOutput() GroupPolicyAssignmentResourceSelectorSelectorOutput
	ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext(context.Context) GroupPolicyAssignmentResourceSelectorSelectorOutput
}

GroupPolicyAssignmentResourceSelectorSelectorInput is an input type that accepts GroupPolicyAssignmentResourceSelectorSelectorArgs and GroupPolicyAssignmentResourceSelectorSelectorOutput values. You can construct a concrete instance of `GroupPolicyAssignmentResourceSelectorSelectorInput` via:

GroupPolicyAssignmentResourceSelectorSelectorArgs{...}

type GroupPolicyAssignmentResourceSelectorSelectorOutput

type GroupPolicyAssignmentResourceSelectorSelectorOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) ElementType

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) Ins

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) Kind

Specifies which characteristic will narrow down the set of evaluated resources. Possible values are `resourceLocation`, `resourceType` and `resourceWithoutLocation`.

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) NotIns

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutput

func (o GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutput() GroupPolicyAssignmentResourceSelectorSelectorOutput

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext

func (o GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext(ctx context.Context) GroupPolicyAssignmentResourceSelectorSelectorOutput

type GroupPolicyAssignmentState

type GroupPolicyAssignmentState struct {
	// A description which should be used for this Policy Assignment.
	Description pulumi.StringPtrInput
	// The Display Name for this Policy Assignment.
	DisplayName pulumi.StringPtrInput
	// Specifies if this Policy should be enforced or not? Defaults to `true`.
	Enforce pulumi.BoolPtrInput
	// An `identity` block as defined below.
	//
	// > **Note:** The `location` field must also be specified when `identity` is specified.
	Identity GroupPolicyAssignmentIdentityPtrInput
	// The Azure Region where the Policy Assignment should exist. Changing this forces a new Policy Assignment to be created.
	Location pulumi.StringPtrInput
	// The ID of the Management Group. Changing this forces a new Policy Assignment to be created.
	ManagementGroupId pulumi.StringPtrInput
	// A JSON mapping of any Metadata for this Policy.
	Metadata pulumi.StringPtrInput
	// The name which should be used for this Policy Assignment. Possible values must be between 3 and 24 characters in length. Changing this forces a new Policy Assignment to be created.
	Name pulumi.StringPtrInput
	// One or more `nonComplianceMessage` blocks as defined below.
	NonComplianceMessages GroupPolicyAssignmentNonComplianceMessageArrayInput
	// Specifies a list of Resource Scopes (for example a Subscription, or a Resource Group) within this Management Group which are excluded from this Policy.
	NotScopes pulumi.StringArrayInput
	// One or more `overrides` blocks as defined below. More detail about `overrides` and `resourceSelectors` see [policy assignment structure](https://learn.microsoft.com/en-us/azure/governance/policy/concepts/assignment-structure#resource-selectors-preview)
	Overrides GroupPolicyAssignmentOverrideArrayInput
	// A JSON mapping of any Parameters for this Policy.
	Parameters pulumi.StringPtrInput
	// The ID of the Policy Definition or Policy Definition Set. Changing this forces a new Policy Assignment to be created.
	PolicyDefinitionId pulumi.StringPtrInput
	// One or more `resourceSelectors` blocks as defined below to filter polices by resource properties.
	ResourceSelectors GroupPolicyAssignmentResourceSelectorArrayInput
}

func (GroupPolicyAssignmentState) ElementType

func (GroupPolicyAssignmentState) ElementType() reflect.Type

type GroupPolicyExemption

type GroupPolicyExemption struct {
	pulumi.CustomResourceState

	// A description to use for this Policy Exemption.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A friendly display name to use for this Policy Exemption.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.
	ExemptionCategory pulumi.StringOutput `pulumi:"exemptionCategory"`
	// The expiration date and time in UTC ISO 8601 format of this policy exemption.
	ExpiresOn pulumi.StringPtrOutput `pulumi:"expiresOn"`
	// The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringOutput `pulumi:"managementGroupId"`
	// The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.
	Metadata pulumi.StringOutput `pulumi:"metadata"`
	// The name of the Policy Exemption. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Policy Assignment to be exempted at the specified Scope.
	PolicyAssignmentId pulumi.StringOutput `pulumi:"policyAssignmentId"`
	// The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
	PolicyDefinitionReferenceIds pulumi.StringArrayOutput `pulumi:"policyDefinitionReferenceIds"`
}

Manages a Management Group Policy Exemption.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGroup, err := management.NewGroup(ctx, "example", &management.GroupArgs{
			DisplayName: pulumi.String("Example MgmtGroup"),
		})
		if err != nil {
			return err
		}
		example, err := policy.LookupPolicySetDefinition(ctx, &policy.LookupPolicySetDefinitionArgs{
			DisplayName: pulumi.StringRef("Audit machines with insecure password security settings"),
		}, nil)
		if err != nil {
			return err
		}
		exampleGroupPolicyAssignment, err := management.NewGroupPolicyAssignment(ctx, "example", &management.GroupPolicyAssignmentArgs{
			Name:               pulumi.String("assignment1"),
			ManagementGroupId:  exampleGroup.ID(),
			PolicyDefinitionId: pulumi.String(example.Id),
			Location:           pulumi.String("westus"),
			Identity: &management.GroupPolicyAssignmentIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = management.NewGroupPolicyExemption(ctx, "example", &management.GroupPolicyExemptionArgs{
			Name:               pulumi.String("exemption1"),
			ManagementGroupId:  exampleGroup.ID(),
			PolicyAssignmentId: exampleGroupPolicyAssignment.ID(),
			ExemptionCategory:  pulumi.String("Mitigated"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Policy Exemptions can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:management/groupPolicyExemption:GroupPolicyExemption exemption1 /providers/Microsoft.Management/managementGroups/group1/providers/Microsoft.Authorization/policyExemptions/exemption1 ```

func GetGroupPolicyExemption

func GetGroupPolicyExemption(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupPolicyExemptionState, opts ...pulumi.ResourceOption) (*GroupPolicyExemption, error)

GetGroupPolicyExemption gets an existing GroupPolicyExemption resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroupPolicyExemption

func NewGroupPolicyExemption(ctx *pulumi.Context,
	name string, args *GroupPolicyExemptionArgs, opts ...pulumi.ResourceOption) (*GroupPolicyExemption, error)

NewGroupPolicyExemption registers a new resource with the given unique name, arguments, and options.

func (*GroupPolicyExemption) ElementType

func (*GroupPolicyExemption) ElementType() reflect.Type

func (*GroupPolicyExemption) ToGroupPolicyExemptionOutput

func (i *GroupPolicyExemption) ToGroupPolicyExemptionOutput() GroupPolicyExemptionOutput

func (*GroupPolicyExemption) ToGroupPolicyExemptionOutputWithContext

func (i *GroupPolicyExemption) ToGroupPolicyExemptionOutputWithContext(ctx context.Context) GroupPolicyExemptionOutput

type GroupPolicyExemptionArgs

type GroupPolicyExemptionArgs struct {
	// A description to use for this Policy Exemption.
	Description pulumi.StringPtrInput
	// A friendly display name to use for this Policy Exemption.
	DisplayName pulumi.StringPtrInput
	// The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.
	ExemptionCategory pulumi.StringInput
	// The expiration date and time in UTC ISO 8601 format of this policy exemption.
	ExpiresOn pulumi.StringPtrInput
	// The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringInput
	// The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.
	Metadata pulumi.StringPtrInput
	// The name of the Policy Exemption. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Policy Assignment to be exempted at the specified Scope.
	PolicyAssignmentId pulumi.StringInput
	// The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
	PolicyDefinitionReferenceIds pulumi.StringArrayInput
}

The set of arguments for constructing a GroupPolicyExemption resource.

func (GroupPolicyExemptionArgs) ElementType

func (GroupPolicyExemptionArgs) ElementType() reflect.Type

type GroupPolicyExemptionArray

type GroupPolicyExemptionArray []GroupPolicyExemptionInput

func (GroupPolicyExemptionArray) ElementType

func (GroupPolicyExemptionArray) ElementType() reflect.Type

func (GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutput

func (i GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutput() GroupPolicyExemptionArrayOutput

func (GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutputWithContext

func (i GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutputWithContext(ctx context.Context) GroupPolicyExemptionArrayOutput

type GroupPolicyExemptionArrayInput

type GroupPolicyExemptionArrayInput interface {
	pulumi.Input

	ToGroupPolicyExemptionArrayOutput() GroupPolicyExemptionArrayOutput
	ToGroupPolicyExemptionArrayOutputWithContext(context.Context) GroupPolicyExemptionArrayOutput
}

GroupPolicyExemptionArrayInput is an input type that accepts GroupPolicyExemptionArray and GroupPolicyExemptionArrayOutput values. You can construct a concrete instance of `GroupPolicyExemptionArrayInput` via:

GroupPolicyExemptionArray{ GroupPolicyExemptionArgs{...} }

type GroupPolicyExemptionArrayOutput

type GroupPolicyExemptionArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyExemptionArrayOutput) ElementType

func (GroupPolicyExemptionArrayOutput) Index

func (GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutput

func (o GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutput() GroupPolicyExemptionArrayOutput

func (GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutputWithContext

func (o GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutputWithContext(ctx context.Context) GroupPolicyExemptionArrayOutput

type GroupPolicyExemptionInput

type GroupPolicyExemptionInput interface {
	pulumi.Input

	ToGroupPolicyExemptionOutput() GroupPolicyExemptionOutput
	ToGroupPolicyExemptionOutputWithContext(ctx context.Context) GroupPolicyExemptionOutput
}

type GroupPolicyExemptionMap

type GroupPolicyExemptionMap map[string]GroupPolicyExemptionInput

func (GroupPolicyExemptionMap) ElementType

func (GroupPolicyExemptionMap) ElementType() reflect.Type

func (GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutput

func (i GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutput() GroupPolicyExemptionMapOutput

func (GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutputWithContext

func (i GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutputWithContext(ctx context.Context) GroupPolicyExemptionMapOutput

type GroupPolicyExemptionMapInput

type GroupPolicyExemptionMapInput interface {
	pulumi.Input

	ToGroupPolicyExemptionMapOutput() GroupPolicyExemptionMapOutput
	ToGroupPolicyExemptionMapOutputWithContext(context.Context) GroupPolicyExemptionMapOutput
}

GroupPolicyExemptionMapInput is an input type that accepts GroupPolicyExemptionMap and GroupPolicyExemptionMapOutput values. You can construct a concrete instance of `GroupPolicyExemptionMapInput` via:

GroupPolicyExemptionMap{ "key": GroupPolicyExemptionArgs{...} }

type GroupPolicyExemptionMapOutput

type GroupPolicyExemptionMapOutput struct{ *pulumi.OutputState }

func (GroupPolicyExemptionMapOutput) ElementType

func (GroupPolicyExemptionMapOutput) MapIndex

func (GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutput

func (o GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutput() GroupPolicyExemptionMapOutput

func (GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutputWithContext

func (o GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutputWithContext(ctx context.Context) GroupPolicyExemptionMapOutput

type GroupPolicyExemptionOutput

type GroupPolicyExemptionOutput struct{ *pulumi.OutputState }

func (GroupPolicyExemptionOutput) Description

A description to use for this Policy Exemption.

func (GroupPolicyExemptionOutput) DisplayName

A friendly display name to use for this Policy Exemption.

func (GroupPolicyExemptionOutput) ElementType

func (GroupPolicyExemptionOutput) ElementType() reflect.Type

func (GroupPolicyExemptionOutput) ExemptionCategory

func (o GroupPolicyExemptionOutput) ExemptionCategory() pulumi.StringOutput

The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.

func (GroupPolicyExemptionOutput) ExpiresOn

The expiration date and time in UTC ISO 8601 format of this policy exemption.

func (GroupPolicyExemptionOutput) ManagementGroupId

func (o GroupPolicyExemptionOutput) ManagementGroupId() pulumi.StringOutput

The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.

func (GroupPolicyExemptionOutput) Metadata

The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.

func (GroupPolicyExemptionOutput) Name

The name of the Policy Exemption. Changing this forces a new resource to be created.

func (GroupPolicyExemptionOutput) PolicyAssignmentId

func (o GroupPolicyExemptionOutput) PolicyAssignmentId() pulumi.StringOutput

The ID of the Policy Assignment to be exempted at the specified Scope.

func (GroupPolicyExemptionOutput) PolicyDefinitionReferenceIds

func (o GroupPolicyExemptionOutput) PolicyDefinitionReferenceIds() pulumi.StringArrayOutput

The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.

func (GroupPolicyExemptionOutput) ToGroupPolicyExemptionOutput

func (o GroupPolicyExemptionOutput) ToGroupPolicyExemptionOutput() GroupPolicyExemptionOutput

func (GroupPolicyExemptionOutput) ToGroupPolicyExemptionOutputWithContext

func (o GroupPolicyExemptionOutput) ToGroupPolicyExemptionOutputWithContext(ctx context.Context) GroupPolicyExemptionOutput

type GroupPolicyExemptionState

type GroupPolicyExemptionState struct {
	// A description to use for this Policy Exemption.
	Description pulumi.StringPtrInput
	// A friendly display name to use for this Policy Exemption.
	DisplayName pulumi.StringPtrInput
	// The category of this policy exemption. Possible values are `Waiver` and `Mitigated`.
	ExemptionCategory pulumi.StringPtrInput
	// The expiration date and time in UTC ISO 8601 format of this policy exemption.
	ExpiresOn pulumi.StringPtrInput
	// The Management Group ID where the Policy Exemption should be applied. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The metadata for this policy exemption. This is a JSON string representing additional metadata that should be stored with the policy exemption.
	Metadata pulumi.StringPtrInput
	// The name of the Policy Exemption. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Policy Assignment to be exempted at the specified Scope.
	PolicyAssignmentId pulumi.StringPtrInput
	// The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition.
	PolicyDefinitionReferenceIds pulumi.StringArrayInput
}

func (GroupPolicyExemptionState) ElementType

func (GroupPolicyExemptionState) ElementType() reflect.Type

type GroupPolicyRemediation

type GroupPolicyRemediation struct {
	pulumi.CustomResourceState

	// A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.
	FailurePercentage pulumi.Float64PtrOutput `pulumi:"failurePercentage"`
	// A list of the resource locations that will be remediated.
	LocationFilters pulumi.StringArrayOutput `pulumi:"locationFilters"`
	// The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringOutput `pulumi:"managementGroupId"`
	// The name of the Policy Remediation. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
	ParallelDeployments pulumi.IntPtrOutput `pulumi:"parallelDeployments"`
	// The ID of the Policy Assignment that should be remediated.
	PolicyAssignmentId pulumi.StringOutput `pulumi:"policyAssignmentId"`
	// The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
	PolicyDefinitionReferenceId pulumi.StringPtrOutput `pulumi:"policyDefinitionReferenceId"`
	// Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
	ResourceCount pulumi.IntPtrOutput `pulumi:"resourceCount"`
}

Manages an Azure Management Group Policy Remediation.

## Example Usage

```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/policy"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGroup, err := management.NewGroup(ctx, "example", &management.GroupArgs{
			DisplayName: pulumi.String("Example Management Group"),
		})
		if err != nil {
			return err
		}
		example, err := policy.GetPolicyDefintion(ctx, &policy.GetPolicyDefintionArgs{
			DisplayName: pulumi.StringRef("Allowed locations"),
		}, nil)
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"listOfAllowedLocations": map[string]interface{}{
				"value": []string{
					"East US",
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		exampleGroupPolicyAssignment, err := management.NewGroupPolicyAssignment(ctx, "example", &management.GroupPolicyAssignmentArgs{
			Name:               pulumi.String("exampleAssignment"),
			ManagementGroupId:  exampleGroup.ID(),
			PolicyDefinitionId: pulumi.String(example.Id),
			Parameters:         pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		_, err = management.NewGroupPolicyRemediation(ctx, "example", &management.GroupPolicyRemediationArgs{
			Name:               pulumi.String("example"),
			ManagementGroupId:  exampleGroup.ID(),
			PolicyAssignmentId: exampleGroupPolicyAssignment.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Policy Remediations can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:management/groupPolicyRemediation:GroupPolicyRemediation example /providers/Microsoft.Management/managementGroups/my-mgmt-group-id/providers/Microsoft.PolicyInsights/remediations/remediation1 ```

func GetGroupPolicyRemediation

func GetGroupPolicyRemediation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupPolicyRemediationState, opts ...pulumi.ResourceOption) (*GroupPolicyRemediation, error)

GetGroupPolicyRemediation gets an existing GroupPolicyRemediation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroupPolicyRemediation

func NewGroupPolicyRemediation(ctx *pulumi.Context,
	name string, args *GroupPolicyRemediationArgs, opts ...pulumi.ResourceOption) (*GroupPolicyRemediation, error)

NewGroupPolicyRemediation registers a new resource with the given unique name, arguments, and options.

func (*GroupPolicyRemediation) ElementType

func (*GroupPolicyRemediation) ElementType() reflect.Type

func (*GroupPolicyRemediation) ToGroupPolicyRemediationOutput

func (i *GroupPolicyRemediation) ToGroupPolicyRemediationOutput() GroupPolicyRemediationOutput

func (*GroupPolicyRemediation) ToGroupPolicyRemediationOutputWithContext

func (i *GroupPolicyRemediation) ToGroupPolicyRemediationOutputWithContext(ctx context.Context) GroupPolicyRemediationOutput

type GroupPolicyRemediationArgs

type GroupPolicyRemediationArgs struct {
	// A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.
	FailurePercentage pulumi.Float64PtrInput
	// A list of the resource locations that will be remediated.
	LocationFilters pulumi.StringArrayInput
	// The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringInput
	// The name of the Policy Remediation. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
	ParallelDeployments pulumi.IntPtrInput
	// The ID of the Policy Assignment that should be remediated.
	PolicyAssignmentId pulumi.StringInput
	// The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
	PolicyDefinitionReferenceId pulumi.StringPtrInput
	// Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
	ResourceCount pulumi.IntPtrInput
}

The set of arguments for constructing a GroupPolicyRemediation resource.

func (GroupPolicyRemediationArgs) ElementType

func (GroupPolicyRemediationArgs) ElementType() reflect.Type

type GroupPolicyRemediationArray

type GroupPolicyRemediationArray []GroupPolicyRemediationInput

func (GroupPolicyRemediationArray) ElementType

func (GroupPolicyRemediationArray) ToGroupPolicyRemediationArrayOutput

func (i GroupPolicyRemediationArray) ToGroupPolicyRemediationArrayOutput() GroupPolicyRemediationArrayOutput

func (GroupPolicyRemediationArray) ToGroupPolicyRemediationArrayOutputWithContext

func (i GroupPolicyRemediationArray) ToGroupPolicyRemediationArrayOutputWithContext(ctx context.Context) GroupPolicyRemediationArrayOutput

type GroupPolicyRemediationArrayInput

type GroupPolicyRemediationArrayInput interface {
	pulumi.Input

	ToGroupPolicyRemediationArrayOutput() GroupPolicyRemediationArrayOutput
	ToGroupPolicyRemediationArrayOutputWithContext(context.Context) GroupPolicyRemediationArrayOutput
}

GroupPolicyRemediationArrayInput is an input type that accepts GroupPolicyRemediationArray and GroupPolicyRemediationArrayOutput values. You can construct a concrete instance of `GroupPolicyRemediationArrayInput` via:

GroupPolicyRemediationArray{ GroupPolicyRemediationArgs{...} }

type GroupPolicyRemediationArrayOutput

type GroupPolicyRemediationArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyRemediationArrayOutput) ElementType

func (GroupPolicyRemediationArrayOutput) Index

func (GroupPolicyRemediationArrayOutput) ToGroupPolicyRemediationArrayOutput

func (o GroupPolicyRemediationArrayOutput) ToGroupPolicyRemediationArrayOutput() GroupPolicyRemediationArrayOutput

func (GroupPolicyRemediationArrayOutput) ToGroupPolicyRemediationArrayOutputWithContext

func (o GroupPolicyRemediationArrayOutput) ToGroupPolicyRemediationArrayOutputWithContext(ctx context.Context) GroupPolicyRemediationArrayOutput

type GroupPolicyRemediationInput

type GroupPolicyRemediationInput interface {
	pulumi.Input

	ToGroupPolicyRemediationOutput() GroupPolicyRemediationOutput
	ToGroupPolicyRemediationOutputWithContext(ctx context.Context) GroupPolicyRemediationOutput
}

type GroupPolicyRemediationMap

type GroupPolicyRemediationMap map[string]GroupPolicyRemediationInput

func (GroupPolicyRemediationMap) ElementType

func (GroupPolicyRemediationMap) ElementType() reflect.Type

func (GroupPolicyRemediationMap) ToGroupPolicyRemediationMapOutput

func (i GroupPolicyRemediationMap) ToGroupPolicyRemediationMapOutput() GroupPolicyRemediationMapOutput

func (GroupPolicyRemediationMap) ToGroupPolicyRemediationMapOutputWithContext

func (i GroupPolicyRemediationMap) ToGroupPolicyRemediationMapOutputWithContext(ctx context.Context) GroupPolicyRemediationMapOutput

type GroupPolicyRemediationMapInput

type GroupPolicyRemediationMapInput interface {
	pulumi.Input

	ToGroupPolicyRemediationMapOutput() GroupPolicyRemediationMapOutput
	ToGroupPolicyRemediationMapOutputWithContext(context.Context) GroupPolicyRemediationMapOutput
}

GroupPolicyRemediationMapInput is an input type that accepts GroupPolicyRemediationMap and GroupPolicyRemediationMapOutput values. You can construct a concrete instance of `GroupPolicyRemediationMapInput` via:

GroupPolicyRemediationMap{ "key": GroupPolicyRemediationArgs{...} }

type GroupPolicyRemediationMapOutput

type GroupPolicyRemediationMapOutput struct{ *pulumi.OutputState }

func (GroupPolicyRemediationMapOutput) ElementType

func (GroupPolicyRemediationMapOutput) MapIndex

func (GroupPolicyRemediationMapOutput) ToGroupPolicyRemediationMapOutput

func (o GroupPolicyRemediationMapOutput) ToGroupPolicyRemediationMapOutput() GroupPolicyRemediationMapOutput

func (GroupPolicyRemediationMapOutput) ToGroupPolicyRemediationMapOutputWithContext

func (o GroupPolicyRemediationMapOutput) ToGroupPolicyRemediationMapOutputWithContext(ctx context.Context) GroupPolicyRemediationMapOutput

type GroupPolicyRemediationOutput

type GroupPolicyRemediationOutput struct{ *pulumi.OutputState }

func (GroupPolicyRemediationOutput) ElementType

func (GroupPolicyRemediationOutput) FailurePercentage

A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.

func (GroupPolicyRemediationOutput) LocationFilters

A list of the resource locations that will be remediated.

func (GroupPolicyRemediationOutput) ManagementGroupId

func (o GroupPolicyRemediationOutput) ManagementGroupId() pulumi.StringOutput

The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.

func (GroupPolicyRemediationOutput) Name

The name of the Policy Remediation. Changing this forces a new resource to be created.

func (GroupPolicyRemediationOutput) ParallelDeployments

func (o GroupPolicyRemediationOutput) ParallelDeployments() pulumi.IntPtrOutput

Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.

func (GroupPolicyRemediationOutput) PolicyAssignmentId

func (o GroupPolicyRemediationOutput) PolicyAssignmentId() pulumi.StringOutput

The ID of the Policy Assignment that should be remediated.

func (GroupPolicyRemediationOutput) PolicyDefinitionReferenceId

func (o GroupPolicyRemediationOutput) PolicyDefinitionReferenceId() pulumi.StringPtrOutput

The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.

func (GroupPolicyRemediationOutput) ResourceCount

Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.

func (GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutput

func (o GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutput() GroupPolicyRemediationOutput

func (GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutputWithContext

func (o GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutputWithContext(ctx context.Context) GroupPolicyRemediationOutput

type GroupPolicyRemediationState

type GroupPolicyRemediationState struct {
	// A number between 0.0 to 1.0 representing the percentage failure threshold. The remediation will fail if the percentage of failed remediation operations (i.e. failed deployments) exceeds this threshold.
	FailurePercentage pulumi.Float64PtrInput
	// A list of the resource locations that will be remediated.
	LocationFilters pulumi.StringArrayInput
	// The Management Group ID at which the Policy Remediation should be applied. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The name of the Policy Remediation. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
	ParallelDeployments pulumi.IntPtrInput
	// The ID of the Policy Assignment that should be remediated.
	PolicyAssignmentId pulumi.StringPtrInput
	// The unique ID for the policy definition reference within the policy set definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
	PolicyDefinitionReferenceId pulumi.StringPtrInput
	// Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
	ResourceCount pulumi.IntPtrInput
}

func (GroupPolicyRemediationState) ElementType

type GroupState

type GroupState struct {
	// A friendly name for this Management Group. If not specified, this will be the same as the `name`.
	DisplayName pulumi.StringPtrInput
	// The name or UUID for this Management Group, which needs to be unique across your tenant. A new UUID will be generated if not provided. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Parent Management Group.
	ParentManagementGroupId pulumi.StringPtrInput
	// A list of Subscription GUIDs which should be assigned to the Management Group.
	//
	// > **Note:** To clear all Subscriptions from the Management Group set `subscriptionIds` to an empty list
	SubscriptionIds pulumi.StringArrayInput
	// The Management Group ID with the Tenant ID prefix.
	TenantScopedId pulumi.StringPtrInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type GroupSubscriptionAssociation

type GroupSubscriptionAssociation struct {
	pulumi.CustomResourceState

	// The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.
	ManagementGroupId pulumi.StringOutput `pulumi:"managementGroupId"`
	// The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.
	SubscriptionId pulumi.StringOutput `pulumi:"subscriptionId"`
}

Manages a Management Group Subscription Association.

!> **Note:** When using this resource, configuring `subscriptionIds` on the `management.Group` resource is not supported.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("exampleManagementGroup"),
		}, nil)
		if err != nil {
			return err
		}
		exampleGetSubscription, err := core.LookupSubscription(ctx, &core.LookupSubscriptionArgs{
			SubscriptionId: pulumi.StringRef("12345678-1234-1234-1234-123456789012"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupSubscriptionAssociation(ctx, "example", &management.GroupSubscriptionAssociationArgs{
			ManagementGroupId: pulumi.String(example.Id),
			SubscriptionId:    pulumi.String(exampleGetSubscription.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Managements can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:management/groupSubscriptionAssociation:GroupSubscriptionAssociation example /providers/Microsoft.Management/managementGroups/MyManagementGroup/subscriptions/12345678-1234-1234-1234-123456789012 ```

func GetGroupSubscriptionAssociation

func GetGroupSubscriptionAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupSubscriptionAssociationState, opts ...pulumi.ResourceOption) (*GroupSubscriptionAssociation, error)

GetGroupSubscriptionAssociation gets an existing GroupSubscriptionAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroupSubscriptionAssociation

func NewGroupSubscriptionAssociation(ctx *pulumi.Context,
	name string, args *GroupSubscriptionAssociationArgs, opts ...pulumi.ResourceOption) (*GroupSubscriptionAssociation, error)

NewGroupSubscriptionAssociation registers a new resource with the given unique name, arguments, and options.

func (*GroupSubscriptionAssociation) ElementType

func (*GroupSubscriptionAssociation) ElementType() reflect.Type

func (*GroupSubscriptionAssociation) ToGroupSubscriptionAssociationOutput

func (i *GroupSubscriptionAssociation) ToGroupSubscriptionAssociationOutput() GroupSubscriptionAssociationOutput

func (*GroupSubscriptionAssociation) ToGroupSubscriptionAssociationOutputWithContext

func (i *GroupSubscriptionAssociation) ToGroupSubscriptionAssociationOutputWithContext(ctx context.Context) GroupSubscriptionAssociationOutput

type GroupSubscriptionAssociationArgs

type GroupSubscriptionAssociationArgs struct {
	// The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.
	ManagementGroupId pulumi.StringInput
	// The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.
	SubscriptionId pulumi.StringInput
}

The set of arguments for constructing a GroupSubscriptionAssociation resource.

func (GroupSubscriptionAssociationArgs) ElementType

type GroupSubscriptionAssociationArray

type GroupSubscriptionAssociationArray []GroupSubscriptionAssociationInput

func (GroupSubscriptionAssociationArray) ElementType

func (GroupSubscriptionAssociationArray) ToGroupSubscriptionAssociationArrayOutput

func (i GroupSubscriptionAssociationArray) ToGroupSubscriptionAssociationArrayOutput() GroupSubscriptionAssociationArrayOutput

func (GroupSubscriptionAssociationArray) ToGroupSubscriptionAssociationArrayOutputWithContext

func (i GroupSubscriptionAssociationArray) ToGroupSubscriptionAssociationArrayOutputWithContext(ctx context.Context) GroupSubscriptionAssociationArrayOutput

type GroupSubscriptionAssociationArrayInput

type GroupSubscriptionAssociationArrayInput interface {
	pulumi.Input

	ToGroupSubscriptionAssociationArrayOutput() GroupSubscriptionAssociationArrayOutput
	ToGroupSubscriptionAssociationArrayOutputWithContext(context.Context) GroupSubscriptionAssociationArrayOutput
}

GroupSubscriptionAssociationArrayInput is an input type that accepts GroupSubscriptionAssociationArray and GroupSubscriptionAssociationArrayOutput values. You can construct a concrete instance of `GroupSubscriptionAssociationArrayInput` via:

GroupSubscriptionAssociationArray{ GroupSubscriptionAssociationArgs{...} }

type GroupSubscriptionAssociationArrayOutput

type GroupSubscriptionAssociationArrayOutput struct{ *pulumi.OutputState }

func (GroupSubscriptionAssociationArrayOutput) ElementType

func (GroupSubscriptionAssociationArrayOutput) Index

func (GroupSubscriptionAssociationArrayOutput) ToGroupSubscriptionAssociationArrayOutput

func (o GroupSubscriptionAssociationArrayOutput) ToGroupSubscriptionAssociationArrayOutput() GroupSubscriptionAssociationArrayOutput

func (GroupSubscriptionAssociationArrayOutput) ToGroupSubscriptionAssociationArrayOutputWithContext

func (o GroupSubscriptionAssociationArrayOutput) ToGroupSubscriptionAssociationArrayOutputWithContext(ctx context.Context) GroupSubscriptionAssociationArrayOutput

type GroupSubscriptionAssociationInput

type GroupSubscriptionAssociationInput interface {
	pulumi.Input

	ToGroupSubscriptionAssociationOutput() GroupSubscriptionAssociationOutput
	ToGroupSubscriptionAssociationOutputWithContext(ctx context.Context) GroupSubscriptionAssociationOutput
}

type GroupSubscriptionAssociationMap

type GroupSubscriptionAssociationMap map[string]GroupSubscriptionAssociationInput

func (GroupSubscriptionAssociationMap) ElementType

func (GroupSubscriptionAssociationMap) ToGroupSubscriptionAssociationMapOutput

func (i GroupSubscriptionAssociationMap) ToGroupSubscriptionAssociationMapOutput() GroupSubscriptionAssociationMapOutput

func (GroupSubscriptionAssociationMap) ToGroupSubscriptionAssociationMapOutputWithContext

func (i GroupSubscriptionAssociationMap) ToGroupSubscriptionAssociationMapOutputWithContext(ctx context.Context) GroupSubscriptionAssociationMapOutput

type GroupSubscriptionAssociationMapInput

type GroupSubscriptionAssociationMapInput interface {
	pulumi.Input

	ToGroupSubscriptionAssociationMapOutput() GroupSubscriptionAssociationMapOutput
	ToGroupSubscriptionAssociationMapOutputWithContext(context.Context) GroupSubscriptionAssociationMapOutput
}

GroupSubscriptionAssociationMapInput is an input type that accepts GroupSubscriptionAssociationMap and GroupSubscriptionAssociationMapOutput values. You can construct a concrete instance of `GroupSubscriptionAssociationMapInput` via:

GroupSubscriptionAssociationMap{ "key": GroupSubscriptionAssociationArgs{...} }

type GroupSubscriptionAssociationMapOutput

type GroupSubscriptionAssociationMapOutput struct{ *pulumi.OutputState }

func (GroupSubscriptionAssociationMapOutput) ElementType

func (GroupSubscriptionAssociationMapOutput) MapIndex

func (GroupSubscriptionAssociationMapOutput) ToGroupSubscriptionAssociationMapOutput

func (o GroupSubscriptionAssociationMapOutput) ToGroupSubscriptionAssociationMapOutput() GroupSubscriptionAssociationMapOutput

func (GroupSubscriptionAssociationMapOutput) ToGroupSubscriptionAssociationMapOutputWithContext

func (o GroupSubscriptionAssociationMapOutput) ToGroupSubscriptionAssociationMapOutputWithContext(ctx context.Context) GroupSubscriptionAssociationMapOutput

type GroupSubscriptionAssociationOutput

type GroupSubscriptionAssociationOutput struct{ *pulumi.OutputState }

func (GroupSubscriptionAssociationOutput) ElementType

func (GroupSubscriptionAssociationOutput) ManagementGroupId

The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.

func (GroupSubscriptionAssociationOutput) SubscriptionId

The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.

func (GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationOutput

func (o GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationOutput() GroupSubscriptionAssociationOutput

func (GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationOutputWithContext

func (o GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationOutputWithContext(ctx context.Context) GroupSubscriptionAssociationOutput

type GroupSubscriptionAssociationState

type GroupSubscriptionAssociationState struct {
	// The ID of the Management Group to associate the Subscription with. Changing this forces a new Management to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The ID of the Subscription to be associated with the Management Group. Changing this forces a new Management to be created.
	SubscriptionId pulumi.StringPtrInput
}

func (GroupSubscriptionAssociationState) ElementType

type GroupTemplateDeployment

type GroupTemplateDeployment struct {
	pulumi.CustomResourceState

	// The Debug Level which should be used for this Resource Group Template Deployment. Possible values are `none`, `requestContent`, `responseContent` and `requestContent, responseContent`.
	DebugLevel pulumi.StringPtrOutput `pulumi:"debugLevel"`
	// The Azure Region where the Template should exist. Changing this forces a new Template to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringOutput `pulumi:"managementGroupId"`
	// The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The JSON Content of the Outputs of the ARM Template Deployment.
	OutputContent pulumi.StringOutput `pulumi:"outputContent"`
	// The contents of the ARM Template parameters file - containing a JSON list of parameters.
	ParametersContent pulumi.StringOutput `pulumi:"parametersContent"`
	// A mapping of tags which should be assigned to the Template.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with `templateSpecVersionId`.
	TemplateContent pulumi.StringOutput `pulumi:"templateContent"`
	// The ID of the Template Spec Version to deploy. Cannot be specified with `templateContent`.
	TemplateSpecVersionId pulumi.StringPtrOutput `pulumi:"templateSpecVersionId"`
}

Manages a Template Deployment at a Management Group Scope.

> **Note:** Deleting a Deployment at the Management Group Scope will not delete any resources created by the deployment.

> **Note:** Deployments to a Management Group are always Incrementally applied. Existing resources that are not part of the template will not be removed.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("00000000-0000-0000-0000-000000000000"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupTemplateDeployment(ctx, "example", &management.GroupTemplateDeploymentArgs{
			Name:              pulumi.String("example"),
			Location:          pulumi.String("West Europe"),
			ManagementGroupId: pulumi.String(example.Id),
			TemplateContent: pulumi.String(`{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "policyAssignmentName": {
      "type": "string",
      "defaultValue": "[guid(parameters('policyDefinitionID'), resourceGroup().name)]",
      "metadata": {
        "description": "Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides."
      }
    },
    "policyDefinitionID": {
      "type": "string",
      "metadata": {
        "description": "Specifies the ID of the policy definition or policy set definition being assigned."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/policyAssignments",
      "name": "[parameters('policyAssignmentName')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "scope": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]",
        "policyDefinitionId": "[parameters('policyDefinitionID')]"
      }
    }
  ]
}

`),

			ParametersContent: pulumi.String(`{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "policyDefinitionID": {
      "value": "/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a"
    }
  }
}

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("00000000-0000-0000-0000-000000000000"),
		}, nil)
		if err != nil {
			return err
		}
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: "templates/example-deploy-template.json",
		}, nil)
		if err != nil {
			return err
		}
		invokeFile1, err := std.File(ctx, &std.FileArgs{
			Input: "templates/example-deploy-params.json",
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupTemplateDeployment(ctx, "example", &management.GroupTemplateDeploymentArgs{
			Name:              pulumi.String("example"),
			Location:          pulumi.String("West Europe"),
			ManagementGroupId: pulumi.String(example.Id),
			TemplateContent:   pulumi.String(invokeFile.Result),
			ParametersContent: pulumi.String(invokeFile1.Result),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("00000000-0000-0000-0000-000000000000"),
		}, nil)
		if err != nil {
			return err
		}
		exampleGetTemplateSpecVersion, err := core.GetTemplateSpecVersion(ctx, &core.GetTemplateSpecVersionArgs{
			Name:              "exampleTemplateForManagementGroup",
			ResourceGroupName: "exampleResourceGroup",
			Version:           "v1.0.9",
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupTemplateDeployment(ctx, "example", &management.GroupTemplateDeploymentArgs{
			Name:                  pulumi.String("example"),
			Location:              pulumi.String("West Europe"),
			ManagementGroupId:     pulumi.String(example.Id),
			TemplateSpecVersionId: pulumi.String(exampleGetTemplateSpecVersion.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Management Group Template Deployments can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:management/groupTemplateDeployment:GroupTemplateDeployment example /providers/Microsoft.Management/managementGroups/my-management-group-id/providers/Microsoft.Resources/deployments/deploy1 ```

func GetGroupTemplateDeployment

func GetGroupTemplateDeployment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupTemplateDeploymentState, opts ...pulumi.ResourceOption) (*GroupTemplateDeployment, error)

GetGroupTemplateDeployment gets an existing GroupTemplateDeployment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGroupTemplateDeployment

func NewGroupTemplateDeployment(ctx *pulumi.Context,
	name string, args *GroupTemplateDeploymentArgs, opts ...pulumi.ResourceOption) (*GroupTemplateDeployment, error)

NewGroupTemplateDeployment registers a new resource with the given unique name, arguments, and options.

func (*GroupTemplateDeployment) ElementType

func (*GroupTemplateDeployment) ElementType() reflect.Type

func (*GroupTemplateDeployment) ToGroupTemplateDeploymentOutput

func (i *GroupTemplateDeployment) ToGroupTemplateDeploymentOutput() GroupTemplateDeploymentOutput

func (*GroupTemplateDeployment) ToGroupTemplateDeploymentOutputWithContext

func (i *GroupTemplateDeployment) ToGroupTemplateDeploymentOutputWithContext(ctx context.Context) GroupTemplateDeploymentOutput

type GroupTemplateDeploymentArgs

type GroupTemplateDeploymentArgs struct {
	// The Debug Level which should be used for this Resource Group Template Deployment. Possible values are `none`, `requestContent`, `responseContent` and `requestContent, responseContent`.
	DebugLevel pulumi.StringPtrInput
	// The Azure Region where the Template should exist. Changing this forces a new Template to be created.
	Location pulumi.StringPtrInput
	// The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringInput
	// The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.
	Name pulumi.StringPtrInput
	// The contents of the ARM Template parameters file - containing a JSON list of parameters.
	ParametersContent pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Template.
	Tags pulumi.StringMapInput
	// The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with `templateSpecVersionId`.
	TemplateContent pulumi.StringPtrInput
	// The ID of the Template Spec Version to deploy. Cannot be specified with `templateContent`.
	TemplateSpecVersionId pulumi.StringPtrInput
}

The set of arguments for constructing a GroupTemplateDeployment resource.

func (GroupTemplateDeploymentArgs) ElementType

type GroupTemplateDeploymentArray

type GroupTemplateDeploymentArray []GroupTemplateDeploymentInput

func (GroupTemplateDeploymentArray) ElementType

func (GroupTemplateDeploymentArray) ToGroupTemplateDeploymentArrayOutput

func (i GroupTemplateDeploymentArray) ToGroupTemplateDeploymentArrayOutput() GroupTemplateDeploymentArrayOutput

func (GroupTemplateDeploymentArray) ToGroupTemplateDeploymentArrayOutputWithContext

func (i GroupTemplateDeploymentArray) ToGroupTemplateDeploymentArrayOutputWithContext(ctx context.Context) GroupTemplateDeploymentArrayOutput

type GroupTemplateDeploymentArrayInput

type GroupTemplateDeploymentArrayInput interface {
	pulumi.Input

	ToGroupTemplateDeploymentArrayOutput() GroupTemplateDeploymentArrayOutput
	ToGroupTemplateDeploymentArrayOutputWithContext(context.Context) GroupTemplateDeploymentArrayOutput
}

GroupTemplateDeploymentArrayInput is an input type that accepts GroupTemplateDeploymentArray and GroupTemplateDeploymentArrayOutput values. You can construct a concrete instance of `GroupTemplateDeploymentArrayInput` via:

GroupTemplateDeploymentArray{ GroupTemplateDeploymentArgs{...} }

type GroupTemplateDeploymentArrayOutput

type GroupTemplateDeploymentArrayOutput struct{ *pulumi.OutputState }

func (GroupTemplateDeploymentArrayOutput) ElementType

func (GroupTemplateDeploymentArrayOutput) Index

func (GroupTemplateDeploymentArrayOutput) ToGroupTemplateDeploymentArrayOutput

func (o GroupTemplateDeploymentArrayOutput) ToGroupTemplateDeploymentArrayOutput() GroupTemplateDeploymentArrayOutput

func (GroupTemplateDeploymentArrayOutput) ToGroupTemplateDeploymentArrayOutputWithContext

func (o GroupTemplateDeploymentArrayOutput) ToGroupTemplateDeploymentArrayOutputWithContext(ctx context.Context) GroupTemplateDeploymentArrayOutput

type GroupTemplateDeploymentInput

type GroupTemplateDeploymentInput interface {
	pulumi.Input

	ToGroupTemplateDeploymentOutput() GroupTemplateDeploymentOutput
	ToGroupTemplateDeploymentOutputWithContext(ctx context.Context) GroupTemplateDeploymentOutput
}

type GroupTemplateDeploymentMap

type GroupTemplateDeploymentMap map[string]GroupTemplateDeploymentInput

func (GroupTemplateDeploymentMap) ElementType

func (GroupTemplateDeploymentMap) ElementType() reflect.Type

func (GroupTemplateDeploymentMap) ToGroupTemplateDeploymentMapOutput

func (i GroupTemplateDeploymentMap) ToGroupTemplateDeploymentMapOutput() GroupTemplateDeploymentMapOutput

func (GroupTemplateDeploymentMap) ToGroupTemplateDeploymentMapOutputWithContext

func (i GroupTemplateDeploymentMap) ToGroupTemplateDeploymentMapOutputWithContext(ctx context.Context) GroupTemplateDeploymentMapOutput

type GroupTemplateDeploymentMapInput

type GroupTemplateDeploymentMapInput interface {
	pulumi.Input

	ToGroupTemplateDeploymentMapOutput() GroupTemplateDeploymentMapOutput
	ToGroupTemplateDeploymentMapOutputWithContext(context.Context) GroupTemplateDeploymentMapOutput
}

GroupTemplateDeploymentMapInput is an input type that accepts GroupTemplateDeploymentMap and GroupTemplateDeploymentMapOutput values. You can construct a concrete instance of `GroupTemplateDeploymentMapInput` via:

GroupTemplateDeploymentMap{ "key": GroupTemplateDeploymentArgs{...} }

type GroupTemplateDeploymentMapOutput

type GroupTemplateDeploymentMapOutput struct{ *pulumi.OutputState }

func (GroupTemplateDeploymentMapOutput) ElementType

func (GroupTemplateDeploymentMapOutput) MapIndex

func (GroupTemplateDeploymentMapOutput) ToGroupTemplateDeploymentMapOutput

func (o GroupTemplateDeploymentMapOutput) ToGroupTemplateDeploymentMapOutput() GroupTemplateDeploymentMapOutput

func (GroupTemplateDeploymentMapOutput) ToGroupTemplateDeploymentMapOutputWithContext

func (o GroupTemplateDeploymentMapOutput) ToGroupTemplateDeploymentMapOutputWithContext(ctx context.Context) GroupTemplateDeploymentMapOutput

type GroupTemplateDeploymentOutput

type GroupTemplateDeploymentOutput struct{ *pulumi.OutputState }

func (GroupTemplateDeploymentOutput) DebugLevel

The Debug Level which should be used for this Resource Group Template Deployment. Possible values are `none`, `requestContent`, `responseContent` and `requestContent, responseContent`.

func (GroupTemplateDeploymentOutput) ElementType

func (GroupTemplateDeploymentOutput) Location

The Azure Region where the Template should exist. Changing this forces a new Template to be created.

func (GroupTemplateDeploymentOutput) ManagementGroupId

func (o GroupTemplateDeploymentOutput) ManagementGroupId() pulumi.StringOutput

The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.

func (GroupTemplateDeploymentOutput) Name

The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.

func (GroupTemplateDeploymentOutput) OutputContent

The JSON Content of the Outputs of the ARM Template Deployment.

func (GroupTemplateDeploymentOutput) ParametersContent

func (o GroupTemplateDeploymentOutput) ParametersContent() pulumi.StringOutput

The contents of the ARM Template parameters file - containing a JSON list of parameters.

func (GroupTemplateDeploymentOutput) Tags

A mapping of tags which should be assigned to the Template.

func (GroupTemplateDeploymentOutput) TemplateContent

The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with `templateSpecVersionId`.

func (GroupTemplateDeploymentOutput) TemplateSpecVersionId

func (o GroupTemplateDeploymentOutput) TemplateSpecVersionId() pulumi.StringPtrOutput

The ID of the Template Spec Version to deploy. Cannot be specified with `templateContent`.

func (GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutput

func (o GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutput() GroupTemplateDeploymentOutput

func (GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutputWithContext

func (o GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutputWithContext(ctx context.Context) GroupTemplateDeploymentOutput

type GroupTemplateDeploymentState

type GroupTemplateDeploymentState struct {
	// The Debug Level which should be used for this Resource Group Template Deployment. Possible values are `none`, `requestContent`, `responseContent` and `requestContent, responseContent`.
	DebugLevel pulumi.StringPtrInput
	// The Azure Region where the Template should exist. Changing this forces a new Template to be created.
	Location pulumi.StringPtrInput
	// The ID of the Management Group to apply the Deployment Template to. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The name which should be used for this Template Deployment. Changing this forces a new Template Deployment to be created.
	Name pulumi.StringPtrInput
	// The JSON Content of the Outputs of the ARM Template Deployment.
	OutputContent pulumi.StringPtrInput
	// The contents of the ARM Template parameters file - containing a JSON list of parameters.
	ParametersContent pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Template.
	Tags pulumi.StringMapInput
	// The contents of the ARM Template which should be deployed into this Resource Group. Cannot be specified with `templateSpecVersionId`.
	TemplateContent pulumi.StringPtrInput
	// The ID of the Template Spec Version to deploy. Cannot be specified with `templateContent`.
	TemplateSpecVersionId pulumi.StringPtrInput
}

func (GroupTemplateDeploymentState) ElementType

type Lock

type Lock struct {
	pulumi.CustomResourceState

	// Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.
	//
	// > **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.
	LockLevel pulumi.StringOutput `pulumi:"lockLevel"`
	// Specifies the name of the Management Lock. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.
	Notes pulumi.StringPtrOutput `pulumi:"notes"`
	// Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.
	Scope pulumi.StringOutput `pulumi:"scope"`
}

Manages a Management Lock which is scoped to a Subscription, Resource Group or Resource.

## Example Usage

### Subscription Level Lock)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.LookupSubscription(ctx, &core.LookupSubscriptionArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewLock(ctx, "subscription-level", &management.LockArgs{
			Name:      pulumi.String("subscription-level"),
			Scope:     pulumi.String(current.Id),
			LockLevel: pulumi.String("CanNotDelete"),
			Notes:     pulumi.String("Items can't be deleted in this subscription!"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Resource Group Level Lock)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("locked-resource-group"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = management.NewLock(ctx, "resource-group-level", &management.LockArgs{
			Name:      pulumi.String("resource-group-level"),
			Scope:     example.ID(),
			LockLevel: pulumi.String("ReadOnly"),
			Notes:     pulumi.String("This Resource Group is Read-Only"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Resource Level Lock)

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("locked-resource-group"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		examplePublicIp, err := network.NewPublicIp(ctx, "example", &network.PublicIpArgs{
			Name:                 pulumi.String("locked-publicip"),
			Location:             example.Location,
			ResourceGroupName:    example.Name,
			AllocationMethod:     pulumi.String("Static"),
			IdleTimeoutInMinutes: pulumi.Int(30),
		})
		if err != nil {
			return err
		}
		_, err = management.NewLock(ctx, "public-ip", &management.LockArgs{
			Name:      pulumi.String("resource-ip"),
			Scope:     examplePublicIp.ID(),
			LockLevel: pulumi.String("CanNotDelete"),
			Notes:     pulumi.String("Locked because it's needed by a third-party"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Management Locks can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:management/lock:Lock lock1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Authorization/locks/lock1 ```

func GetLock

func GetLock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LockState, opts ...pulumi.ResourceOption) (*Lock, error)

GetLock gets an existing Lock resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLock

func NewLock(ctx *pulumi.Context,
	name string, args *LockArgs, opts ...pulumi.ResourceOption) (*Lock, error)

NewLock registers a new resource with the given unique name, arguments, and options.

func (*Lock) ElementType

func (*Lock) ElementType() reflect.Type

func (*Lock) ToLockOutput

func (i *Lock) ToLockOutput() LockOutput

func (*Lock) ToLockOutputWithContext

func (i *Lock) ToLockOutputWithContext(ctx context.Context) LockOutput

type LockArgs

type LockArgs struct {
	// Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.
	//
	// > **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.
	LockLevel pulumi.StringInput
	// Specifies the name of the Management Lock. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.
	Notes pulumi.StringPtrInput
	// Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.
	Scope pulumi.StringInput
}

The set of arguments for constructing a Lock resource.

func (LockArgs) ElementType

func (LockArgs) ElementType() reflect.Type

type LockArray

type LockArray []LockInput

func (LockArray) ElementType

func (LockArray) ElementType() reflect.Type

func (LockArray) ToLockArrayOutput

func (i LockArray) ToLockArrayOutput() LockArrayOutput

func (LockArray) ToLockArrayOutputWithContext

func (i LockArray) ToLockArrayOutputWithContext(ctx context.Context) LockArrayOutput

type LockArrayInput

type LockArrayInput interface {
	pulumi.Input

	ToLockArrayOutput() LockArrayOutput
	ToLockArrayOutputWithContext(context.Context) LockArrayOutput
}

LockArrayInput is an input type that accepts LockArray and LockArrayOutput values. You can construct a concrete instance of `LockArrayInput` via:

LockArray{ LockArgs{...} }

type LockArrayOutput

type LockArrayOutput struct{ *pulumi.OutputState }

func (LockArrayOutput) ElementType

func (LockArrayOutput) ElementType() reflect.Type

func (LockArrayOutput) Index

func (LockArrayOutput) ToLockArrayOutput

func (o LockArrayOutput) ToLockArrayOutput() LockArrayOutput

func (LockArrayOutput) ToLockArrayOutputWithContext

func (o LockArrayOutput) ToLockArrayOutputWithContext(ctx context.Context) LockArrayOutput

type LockInput

type LockInput interface {
	pulumi.Input

	ToLockOutput() LockOutput
	ToLockOutputWithContext(ctx context.Context) LockOutput
}

type LockMap

type LockMap map[string]LockInput

func (LockMap) ElementType

func (LockMap) ElementType() reflect.Type

func (LockMap) ToLockMapOutput

func (i LockMap) ToLockMapOutput() LockMapOutput

func (LockMap) ToLockMapOutputWithContext

func (i LockMap) ToLockMapOutputWithContext(ctx context.Context) LockMapOutput

type LockMapInput

type LockMapInput interface {
	pulumi.Input

	ToLockMapOutput() LockMapOutput
	ToLockMapOutputWithContext(context.Context) LockMapOutput
}

LockMapInput is an input type that accepts LockMap and LockMapOutput values. You can construct a concrete instance of `LockMapInput` via:

LockMap{ "key": LockArgs{...} }

type LockMapOutput

type LockMapOutput struct{ *pulumi.OutputState }

func (LockMapOutput) ElementType

func (LockMapOutput) ElementType() reflect.Type

func (LockMapOutput) MapIndex

func (LockMapOutput) ToLockMapOutput

func (o LockMapOutput) ToLockMapOutput() LockMapOutput

func (LockMapOutput) ToLockMapOutputWithContext

func (o LockMapOutput) ToLockMapOutputWithContext(ctx context.Context) LockMapOutput

type LockOutput

type LockOutput struct{ *pulumi.OutputState }

func (LockOutput) ElementType

func (LockOutput) ElementType() reflect.Type

func (LockOutput) LockLevel

func (o LockOutput) LockLevel() pulumi.StringOutput

Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.

> **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.

func (LockOutput) Name

func (o LockOutput) Name() pulumi.StringOutput

Specifies the name of the Management Lock. Changing this forces a new resource to be created.

func (LockOutput) Notes

func (o LockOutput) Notes() pulumi.StringPtrOutput

Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.

func (LockOutput) Scope

func (o LockOutput) Scope() pulumi.StringOutput

Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.

func (LockOutput) ToLockOutput

func (o LockOutput) ToLockOutput() LockOutput

func (LockOutput) ToLockOutputWithContext

func (o LockOutput) ToLockOutputWithContext(ctx context.Context) LockOutput

type LockState

type LockState struct {
	// Specifies the Level to be used for this Lock. Possible values are `CanNotDelete` and `ReadOnly`. Changing this forces a new resource to be created.
	//
	// > **Note:** `CanNotDelete` means authorized users are able to read and modify the resources, but not delete. `ReadOnly` means authorized users can only read from a resource, but they can't modify or delete it.
	LockLevel pulumi.StringPtrInput
	// Specifies the name of the Management Lock. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies some notes about the lock. Maximum of 512 characters. Changing this forces a new resource to be created.
	Notes pulumi.StringPtrInput
	// Specifies the scope at which the Management Lock should be created. Changing this forces a new resource to be created.
	Scope pulumi.StringPtrInput
}

func (LockState) ElementType

func (LockState) ElementType() reflect.Type

type LookupGroupArgs

type LookupGroupArgs struct {
	// Specifies the display name of this Management Group.
	//
	// > **NOTE** Whilst multiple management groups may share the same display name, when filtering, the provider expects a single management group to be found with this name.
	DisplayName *string `pulumi:"displayName"`
	// Specifies the name or UUID of this Management Group.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

type LookupGroupOutputArgs

type LookupGroupOutputArgs struct {
	// Specifies the display name of this Management Group.
	//
	// > **NOTE** Whilst multiple management groups may share the same display name, when filtering, the provider expects a single management group to be found with this name.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Specifies the name or UUID of this Management Group.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

func (LookupGroupOutputArgs) ElementType

func (LookupGroupOutputArgs) ElementType() reflect.Type

type LookupGroupResult

type LookupGroupResult struct {
	// A list of Management Group IDs which directly or indirectly belong to this Management Group.
	AllManagementGroupIds []string `pulumi:"allManagementGroupIds"`
	// A list of Subscription IDs which are assigned to this Management Group or its children Management Groups.
	AllSubscriptionIds []string `pulumi:"allSubscriptionIds"`
	DisplayName        string   `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of Management Group IDs which directly belong to this Management Group.
	ManagementGroupIds []string `pulumi:"managementGroupIds"`
	Name               string   `pulumi:"name"`
	// The ID of any Parent Management Group.
	ParentManagementGroupId string `pulumi:"parentManagementGroupId"`
	// A list of Subscription IDs which are directly assigned to this Management Group.
	SubscriptionIds []string `pulumi:"subscriptionIds"`
	// The Management Group ID with the Tenant ID prefix.
	TenantScopedId string `pulumi:"tenantScopedId"`
}

A collection of values returned by getGroup.

func LookupGroup

func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.InvokeOption) (*LookupGroupResult, error)

Use this data source to access information about an existing Management Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("00000000-0000-0000-0000-000000000000"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("displayName", example.DisplayName)
		return nil
	})
}

```

type LookupGroupResultOutput

type LookupGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroup.

func (LookupGroupResultOutput) AllManagementGroupIds

func (o LookupGroupResultOutput) AllManagementGroupIds() pulumi.StringArrayOutput

A list of Management Group IDs which directly or indirectly belong to this Management Group.

func (LookupGroupResultOutput) AllSubscriptionIds

func (o LookupGroupResultOutput) AllSubscriptionIds() pulumi.StringArrayOutput

A list of Subscription IDs which are assigned to this Management Group or its children Management Groups.

func (LookupGroupResultOutput) DisplayName

func (LookupGroupResultOutput) ElementType

func (LookupGroupResultOutput) ElementType() reflect.Type

func (LookupGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupGroupResultOutput) ManagementGroupIds

func (o LookupGroupResultOutput) ManagementGroupIds() pulumi.StringArrayOutput

A list of Management Group IDs which directly belong to this Management Group.

func (LookupGroupResultOutput) Name

func (LookupGroupResultOutput) ParentManagementGroupId

func (o LookupGroupResultOutput) ParentManagementGroupId() pulumi.StringOutput

The ID of any Parent Management Group.

func (LookupGroupResultOutput) SubscriptionIds

func (o LookupGroupResultOutput) SubscriptionIds() pulumi.StringArrayOutput

A list of Subscription IDs which are directly assigned to this Management Group.

func (LookupGroupResultOutput) TenantScopedId

func (o LookupGroupResultOutput) TenantScopedId() pulumi.StringOutput

The Management Group ID with the Tenant ID prefix.

func (LookupGroupResultOutput) ToLookupGroupResultOutput

func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput

func (LookupGroupResultOutput) ToLookupGroupResultOutputWithContext

func (o LookupGroupResultOutput) ToLookupGroupResultOutputWithContext(ctx context.Context) LookupGroupResultOutput

type LookupGroupTemplateDeploymentArgs

type LookupGroupTemplateDeploymentArgs struct {
	// The ID of the Management Group to which this template was applied.
	ManagementGroupId string `pulumi:"managementGroupId"`
	// The name of this Management Group Template Deployment.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getGroupTemplateDeployment.

type LookupGroupTemplateDeploymentOutputArgs

type LookupGroupTemplateDeploymentOutputArgs struct {
	// The ID of the Management Group to which this template was applied.
	ManagementGroupId pulumi.StringInput `pulumi:"managementGroupId"`
	// The name of this Management Group Template Deployment.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getGroupTemplateDeployment.

func (LookupGroupTemplateDeploymentOutputArgs) ElementType

type LookupGroupTemplateDeploymentResult

type LookupGroupTemplateDeploymentResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                string `pulumi:"id"`
	ManagementGroupId string `pulumi:"managementGroupId"`
	Name              string `pulumi:"name"`
	// The JSON Content of the Outputs of the ARM Template Deployment.
	OutputContent string `pulumi:"outputContent"`
}

A collection of values returned by getGroupTemplateDeployment.

func LookupGroupTemplateDeployment

Use this data source to access information about an existing Management Group Template Deployment.

type LookupGroupTemplateDeploymentResultOutput

type LookupGroupTemplateDeploymentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroupTemplateDeployment.

func (LookupGroupTemplateDeploymentResultOutput) ElementType

func (LookupGroupTemplateDeploymentResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupGroupTemplateDeploymentResultOutput) ManagementGroupId

func (LookupGroupTemplateDeploymentResultOutput) Name

func (LookupGroupTemplateDeploymentResultOutput) OutputContent

The JSON Content of the Outputs of the ARM Template Deployment.

func (LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutput

func (o LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutput() LookupGroupTemplateDeploymentResultOutput

func (LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutputWithContext

func (o LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutputWithContext(ctx context.Context) LookupGroupTemplateDeploymentResultOutput
type PrivateLink struct {
	pulumi.CustomResourceState

	// The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
}

Manages a Resource Management Private Link to restrict access for managing resources in the tenant.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = management.NewPrivateLink(ctx, "example", &management.PrivateLinkArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

An existing Resource Management Private Link can be imported into Pulumi using the `resource id`, e.g.

```sh $ pulumi import azure:management/privateLink:PrivateLink example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Authorization/resourceManagementPrivateLinks/link1 ```

func GetPrivateLink(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivateLinkState, opts ...pulumi.ResourceOption) (*PrivateLink, error)

GetPrivateLink gets an existing PrivateLink resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPrivateLink(ctx *pulumi.Context,
	name string, args *PrivateLinkArgs, opts ...pulumi.ResourceOption) (*PrivateLink, error)

NewPrivateLink registers a new resource with the given unique name, arguments, and options.

func (*PrivateLink) ElementType

func (*PrivateLink) ElementType() reflect.Type

func (*PrivateLink) ToPrivateLinkOutput

func (i *PrivateLink) ToPrivateLinkOutput() PrivateLinkOutput

func (*PrivateLink) ToPrivateLinkOutputWithContext

func (i *PrivateLink) ToPrivateLinkOutputWithContext(ctx context.Context) PrivateLinkOutput

type PrivateLinkArgs

type PrivateLinkArgs struct {
	// The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.
	ResourceGroupName pulumi.StringInput
}

The set of arguments for constructing a PrivateLink resource.

func (PrivateLinkArgs) ElementType

func (PrivateLinkArgs) ElementType() reflect.Type

type PrivateLinkArray

type PrivateLinkArray []PrivateLinkInput

func (PrivateLinkArray) ElementType

func (PrivateLinkArray) ElementType() reflect.Type

func (PrivateLinkArray) ToPrivateLinkArrayOutput

func (i PrivateLinkArray) ToPrivateLinkArrayOutput() PrivateLinkArrayOutput

func (PrivateLinkArray) ToPrivateLinkArrayOutputWithContext

func (i PrivateLinkArray) ToPrivateLinkArrayOutputWithContext(ctx context.Context) PrivateLinkArrayOutput

type PrivateLinkArrayInput

type PrivateLinkArrayInput interface {
	pulumi.Input

	ToPrivateLinkArrayOutput() PrivateLinkArrayOutput
	ToPrivateLinkArrayOutputWithContext(context.Context) PrivateLinkArrayOutput
}

PrivateLinkArrayInput is an input type that accepts PrivateLinkArray and PrivateLinkArrayOutput values. You can construct a concrete instance of `PrivateLinkArrayInput` via:

PrivateLinkArray{ PrivateLinkArgs{...} }

type PrivateLinkArrayOutput

type PrivateLinkArrayOutput struct{ *pulumi.OutputState }

func (PrivateLinkArrayOutput) ElementType

func (PrivateLinkArrayOutput) ElementType() reflect.Type

func (PrivateLinkArrayOutput) Index

func (PrivateLinkArrayOutput) ToPrivateLinkArrayOutput

func (o PrivateLinkArrayOutput) ToPrivateLinkArrayOutput() PrivateLinkArrayOutput

func (PrivateLinkArrayOutput) ToPrivateLinkArrayOutputWithContext

func (o PrivateLinkArrayOutput) ToPrivateLinkArrayOutputWithContext(ctx context.Context) PrivateLinkArrayOutput

type PrivateLinkAssociation

type PrivateLinkAssociation struct {
	pulumi.CustomResourceState

	// Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.
	//
	// > **Note:** For now, `managementGroupId` must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).
	ManagementGroupId pulumi.StringOutput `pulumi:"managementGroupId"`
	// Specifies the name of this Private Link Association, which should be a UUID. If `name` is not provided, a UUID will be generated, you should use the `ignoreChanges` attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := management.NewPrivateLinkAssociation(ctx, "example", &management.PrivateLinkAssociationArgs{
	// 			ManagementGroupId:               pulumi.Any(exampleAzurermManagementGroup.Id),
	// 			ResourceManagementPrivateLinkId: pulumi.Any(exampleAzurermResourceManagementPrivateLink.Id),
	// 			PublicNetworkAccessEnabled:      pulumi.Bool(true),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether public network access is allowed. Changing this forces a new Private Link Association to be created.
	PublicNetworkAccessEnabled pulumi.BoolOutput `pulumi:"publicNetworkAccessEnabled"`
	// The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.
	ResourceManagementPrivateLinkId pulumi.StringOutput `pulumi:"resourceManagementPrivateLinkId"`
	// The Tenant ID.
	TenantId pulumi.StringOutput `pulumi:"tenantId"`
}

Manages a Resource Management Private Link Association.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
		if err != nil {
			return err
		}
		_, err = management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef(example.TenantId),
		}, nil)
		if err != nil {
			return err
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		examplePrivateLink, err := management.NewPrivateLink(ctx, "example", &management.PrivateLinkArgs{
			Name:              pulumi.String("example"),
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
		})
		if err != nil {
			return err
		}
		exampleRandomUuid, err := random.NewRandomUuid(ctx, "example", nil)
		if err != nil {
			return err
		}
		_, err = management.NewPrivateLinkAssociation(ctx, "example", &management.PrivateLinkAssociationArgs{
			Name:                            exampleRandomUuid.Result,
			ManagementGroupId:               pulumi.Any(exampleAzurermManagementGroup.Id),
			ResourceManagementPrivateLinkId: examplePrivateLink.ID(),
			PublicNetworkAccessEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

An existing Private Link Association can be imported into Pulumi using the `resource id`, e.g.

```sh $ pulumi import azure:management/privateLinkAssociation:PrivateLinkAssociation example /providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/privateLinkAssociations/00000000-0000-0000-0000-000000000000 ```

func GetPrivateLinkAssociation

func GetPrivateLinkAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivateLinkAssociationState, opts ...pulumi.ResourceOption) (*PrivateLinkAssociation, error)

GetPrivateLinkAssociation gets an existing PrivateLinkAssociation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPrivateLinkAssociation

func NewPrivateLinkAssociation(ctx *pulumi.Context,
	name string, args *PrivateLinkAssociationArgs, opts ...pulumi.ResourceOption) (*PrivateLinkAssociation, error)

NewPrivateLinkAssociation registers a new resource with the given unique name, arguments, and options.

func (*PrivateLinkAssociation) ElementType

func (*PrivateLinkAssociation) ElementType() reflect.Type

func (*PrivateLinkAssociation) ToPrivateLinkAssociationOutput

func (i *PrivateLinkAssociation) ToPrivateLinkAssociationOutput() PrivateLinkAssociationOutput

func (*PrivateLinkAssociation) ToPrivateLinkAssociationOutputWithContext

func (i *PrivateLinkAssociation) ToPrivateLinkAssociationOutputWithContext(ctx context.Context) PrivateLinkAssociationOutput

type PrivateLinkAssociationArgs

type PrivateLinkAssociationArgs struct {
	// Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.
	//
	// > **Note:** For now, `managementGroupId` must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).
	ManagementGroupId pulumi.StringInput
	// Specifies the name of this Private Link Association, which should be a UUID. If `name` is not provided, a UUID will be generated, you should use the `ignoreChanges` attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := management.NewPrivateLinkAssociation(ctx, "example", &management.PrivateLinkAssociationArgs{
	// 			ManagementGroupId:               pulumi.Any(exampleAzurermManagementGroup.Id),
	// 			ResourceManagementPrivateLinkId: pulumi.Any(exampleAzurermResourceManagementPrivateLink.Id),
	// 			PublicNetworkAccessEnabled:      pulumi.Bool(true),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Name pulumi.StringPtrInput
	// Whether public network access is allowed. Changing this forces a new Private Link Association to be created.
	PublicNetworkAccessEnabled pulumi.BoolInput
	// The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.
	ResourceManagementPrivateLinkId pulumi.StringInput
}

The set of arguments for constructing a PrivateLinkAssociation resource.

func (PrivateLinkAssociationArgs) ElementType

func (PrivateLinkAssociationArgs) ElementType() reflect.Type

type PrivateLinkAssociationArray

type PrivateLinkAssociationArray []PrivateLinkAssociationInput

func (PrivateLinkAssociationArray) ElementType

func (PrivateLinkAssociationArray) ToPrivateLinkAssociationArrayOutput

func (i PrivateLinkAssociationArray) ToPrivateLinkAssociationArrayOutput() PrivateLinkAssociationArrayOutput

func (PrivateLinkAssociationArray) ToPrivateLinkAssociationArrayOutputWithContext

func (i PrivateLinkAssociationArray) ToPrivateLinkAssociationArrayOutputWithContext(ctx context.Context) PrivateLinkAssociationArrayOutput

type PrivateLinkAssociationArrayInput

type PrivateLinkAssociationArrayInput interface {
	pulumi.Input

	ToPrivateLinkAssociationArrayOutput() PrivateLinkAssociationArrayOutput
	ToPrivateLinkAssociationArrayOutputWithContext(context.Context) PrivateLinkAssociationArrayOutput
}

PrivateLinkAssociationArrayInput is an input type that accepts PrivateLinkAssociationArray and PrivateLinkAssociationArrayOutput values. You can construct a concrete instance of `PrivateLinkAssociationArrayInput` via:

PrivateLinkAssociationArray{ PrivateLinkAssociationArgs{...} }

type PrivateLinkAssociationArrayOutput

type PrivateLinkAssociationArrayOutput struct{ *pulumi.OutputState }

func (PrivateLinkAssociationArrayOutput) ElementType

func (PrivateLinkAssociationArrayOutput) Index

func (PrivateLinkAssociationArrayOutput) ToPrivateLinkAssociationArrayOutput

func (o PrivateLinkAssociationArrayOutput) ToPrivateLinkAssociationArrayOutput() PrivateLinkAssociationArrayOutput

func (PrivateLinkAssociationArrayOutput) ToPrivateLinkAssociationArrayOutputWithContext

func (o PrivateLinkAssociationArrayOutput) ToPrivateLinkAssociationArrayOutputWithContext(ctx context.Context) PrivateLinkAssociationArrayOutput

type PrivateLinkAssociationInput

type PrivateLinkAssociationInput interface {
	pulumi.Input

	ToPrivateLinkAssociationOutput() PrivateLinkAssociationOutput
	ToPrivateLinkAssociationOutputWithContext(ctx context.Context) PrivateLinkAssociationOutput
}

type PrivateLinkAssociationMap

type PrivateLinkAssociationMap map[string]PrivateLinkAssociationInput

func (PrivateLinkAssociationMap) ElementType

func (PrivateLinkAssociationMap) ElementType() reflect.Type

func (PrivateLinkAssociationMap) ToPrivateLinkAssociationMapOutput

func (i PrivateLinkAssociationMap) ToPrivateLinkAssociationMapOutput() PrivateLinkAssociationMapOutput

func (PrivateLinkAssociationMap) ToPrivateLinkAssociationMapOutputWithContext

func (i PrivateLinkAssociationMap) ToPrivateLinkAssociationMapOutputWithContext(ctx context.Context) PrivateLinkAssociationMapOutput

type PrivateLinkAssociationMapInput

type PrivateLinkAssociationMapInput interface {
	pulumi.Input

	ToPrivateLinkAssociationMapOutput() PrivateLinkAssociationMapOutput
	ToPrivateLinkAssociationMapOutputWithContext(context.Context) PrivateLinkAssociationMapOutput
}

PrivateLinkAssociationMapInput is an input type that accepts PrivateLinkAssociationMap and PrivateLinkAssociationMapOutput values. You can construct a concrete instance of `PrivateLinkAssociationMapInput` via:

PrivateLinkAssociationMap{ "key": PrivateLinkAssociationArgs{...} }

type PrivateLinkAssociationMapOutput

type PrivateLinkAssociationMapOutput struct{ *pulumi.OutputState }

func (PrivateLinkAssociationMapOutput) ElementType

func (PrivateLinkAssociationMapOutput) MapIndex

func (PrivateLinkAssociationMapOutput) ToPrivateLinkAssociationMapOutput

func (o PrivateLinkAssociationMapOutput) ToPrivateLinkAssociationMapOutput() PrivateLinkAssociationMapOutput

func (PrivateLinkAssociationMapOutput) ToPrivateLinkAssociationMapOutputWithContext

func (o PrivateLinkAssociationMapOutput) ToPrivateLinkAssociationMapOutputWithContext(ctx context.Context) PrivateLinkAssociationMapOutput

type PrivateLinkAssociationOutput

type PrivateLinkAssociationOutput struct{ *pulumi.OutputState }

func (PrivateLinkAssociationOutput) ElementType

func (PrivateLinkAssociationOutput) ManagementGroupId

func (o PrivateLinkAssociationOutput) ManagementGroupId() pulumi.StringOutput

Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.

> **Note:** For now, `managementGroupId` must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).

func (PrivateLinkAssociationOutput) Name

Specifies the name of this Private Link Association, which should be a UUID. If `name` is not provided, a UUID will be generated, you should use the `ignoreChanges` attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := management.NewPrivateLinkAssociation(ctx, "example", &management.PrivateLinkAssociationArgs{
			ManagementGroupId:               pulumi.Any(exampleAzurermManagementGroup.Id),
			ResourceManagementPrivateLinkId: pulumi.Any(exampleAzurermResourceManagementPrivateLink.Id),
			PublicNetworkAccessEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (PrivateLinkAssociationOutput) PublicNetworkAccessEnabled

func (o PrivateLinkAssociationOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Whether public network access is allowed. Changing this forces a new Private Link Association to be created.

func (PrivateLinkAssociationOutput) ResourceManagementPrivateLinkId

func (o PrivateLinkAssociationOutput) ResourceManagementPrivateLinkId() pulumi.StringOutput

The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.

func (PrivateLinkAssociationOutput) TenantId

The Tenant ID.

func (PrivateLinkAssociationOutput) ToPrivateLinkAssociationOutput

func (o PrivateLinkAssociationOutput) ToPrivateLinkAssociationOutput() PrivateLinkAssociationOutput

func (PrivateLinkAssociationOutput) ToPrivateLinkAssociationOutputWithContext

func (o PrivateLinkAssociationOutput) ToPrivateLinkAssociationOutputWithContext(ctx context.Context) PrivateLinkAssociationOutput

type PrivateLinkAssociationState

type PrivateLinkAssociationState struct {
	// Specifies the Management Group ID within which this Private Link Association should exist. Changing this forces a new Private Link Association to be created.
	//
	// > **Note:** For now, `managementGroupId` must be the ID of [Root Management Group](https://learn.microsoft.com/en-us/azure/governance/management-groups/overview#root-management-group-for-each-directory).
	ManagementGroupId pulumi.StringPtrInput
	// Specifies the name of this Private Link Association, which should be a UUID. If `name` is not provided, a UUID will be generated, you should use the `ignoreChanges` attribute to ignore changes to this field. Changing this forces a new Private Link Association to be created.
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/management"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := management.NewPrivateLinkAssociation(ctx, "example", &management.PrivateLinkAssociationArgs{
	// 			ManagementGroupId:               pulumi.Any(exampleAzurermManagementGroup.Id),
	// 			ResourceManagementPrivateLinkId: pulumi.Any(exampleAzurermResourceManagementPrivateLink.Id),
	// 			PublicNetworkAccessEnabled:      pulumi.Bool(true),
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Name pulumi.StringPtrInput
	// Whether public network access is allowed. Changing this forces a new Private Link Association to be created.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The Resource ID of Resource Management Private Link. Changing this forces a new Private Link Association to be created.
	ResourceManagementPrivateLinkId pulumi.StringPtrInput
	// The Tenant ID.
	TenantId pulumi.StringPtrInput
}

func (PrivateLinkAssociationState) ElementType

type PrivateLinkInput

type PrivateLinkInput interface {
	pulumi.Input

	ToPrivateLinkOutput() PrivateLinkOutput
	ToPrivateLinkOutputWithContext(ctx context.Context) PrivateLinkOutput
}

type PrivateLinkMap

type PrivateLinkMap map[string]PrivateLinkInput

func (PrivateLinkMap) ElementType

func (PrivateLinkMap) ElementType() reflect.Type

func (PrivateLinkMap) ToPrivateLinkMapOutput

func (i PrivateLinkMap) ToPrivateLinkMapOutput() PrivateLinkMapOutput

func (PrivateLinkMap) ToPrivateLinkMapOutputWithContext

func (i PrivateLinkMap) ToPrivateLinkMapOutputWithContext(ctx context.Context) PrivateLinkMapOutput

type PrivateLinkMapInput

type PrivateLinkMapInput interface {
	pulumi.Input

	ToPrivateLinkMapOutput() PrivateLinkMapOutput
	ToPrivateLinkMapOutputWithContext(context.Context) PrivateLinkMapOutput
}

PrivateLinkMapInput is an input type that accepts PrivateLinkMap and PrivateLinkMapOutput values. You can construct a concrete instance of `PrivateLinkMapInput` via:

PrivateLinkMap{ "key": PrivateLinkArgs{...} }

type PrivateLinkMapOutput

type PrivateLinkMapOutput struct{ *pulumi.OutputState }

func (PrivateLinkMapOutput) ElementType

func (PrivateLinkMapOutput) ElementType() reflect.Type

func (PrivateLinkMapOutput) MapIndex

func (PrivateLinkMapOutput) ToPrivateLinkMapOutput

func (o PrivateLinkMapOutput) ToPrivateLinkMapOutput() PrivateLinkMapOutput

func (PrivateLinkMapOutput) ToPrivateLinkMapOutputWithContext

func (o PrivateLinkMapOutput) ToPrivateLinkMapOutputWithContext(ctx context.Context) PrivateLinkMapOutput

type PrivateLinkOutput

type PrivateLinkOutput struct{ *pulumi.OutputState }

func (PrivateLinkOutput) ElementType

func (PrivateLinkOutput) ElementType() reflect.Type

func (PrivateLinkOutput) Location

func (o PrivateLinkOutput) Location() pulumi.StringOutput

The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.

func (PrivateLinkOutput) Name

Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.

func (PrivateLinkOutput) ResourceGroupName

func (o PrivateLinkOutput) ResourceGroupName() pulumi.StringOutput

Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.

func (PrivateLinkOutput) ToPrivateLinkOutput

func (o PrivateLinkOutput) ToPrivateLinkOutput() PrivateLinkOutput

func (PrivateLinkOutput) ToPrivateLinkOutputWithContext

func (o PrivateLinkOutput) ToPrivateLinkOutputWithContext(ctx context.Context) PrivateLinkOutput

type PrivateLinkState

type PrivateLinkState struct {
	// The Azure Region where the Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of this Resource Management Private Link. Changing this forces a new Resource Management Private Link to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Resource Group within which this Resource Management Private Link should exist. Changing this forces a new Resource Management Private Link to be created.
	ResourceGroupName pulumi.StringPtrInput
}

func (PrivateLinkState) ElementType

func (PrivateLinkState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL