management

package
v5.48.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2023 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"`
}

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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, nil, nil)
		if err != nil {
			return err
		}
		exampleParent, err := management.NewGroup(ctx, "exampleParent", &management.GroupArgs{
			DisplayName: pulumi.String("ParentGroup"),
			SubscriptionIds: pulumi.StringArray{
				*pulumi.String(current.SubscriptionId),
			},
		})
		if err != nil {
			return err
		}
		_, err = management.NewGroup(ctx, "exampleChild", &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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o GroupOutput) ParentManagementGroupId() pulumi.StringOutput

The ID of the Parent Management Group.

func (GroupOutput) SubscriptionIds added in v5.5.0

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) 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/v5/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v5/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, "exampleGroup", &management.GroupArgs{
			DisplayName: pulumi.String("Some Management Group"),
		})
		if err != nil {
			return err
		}
		exampleDefinition, err := policy.NewDefinition(ctx, "exampleDefinition", &policy.DefinitionArgs{
			PolicyType:        pulumi.String("Custom"),
			Mode:              pulumi.String("All"),
			DisplayName:       pulumi.String("my-policy-definition"),
			ManagementGroupId: exampleGroup.ID(),
			PolicyRule: pulumi.String(` {
    "if": {
      "not": {
        "field": "location",
        "equals": "westeurope"
      }
    },
    "then": {
      "effect": "Deny"
    }
  }

`),

		})
		if err != nil {
			return err
		}
		_, err = management.NewGroupPolicyAssignment(ctx, "exampleGroupPolicyAssignment", &management.GroupPolicyAssignmentArgs{
			PolicyDefinitionId: exampleDefinition.ID(),
			ManagementGroupId:  exampleGroup.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 added in v5.5.0

A description which should be used for this Policy Assignment.

func (GroupPolicyAssignmentOutput) DisplayName added in v5.5.0

The Display Name for this Policy Assignment.

func (GroupPolicyAssignmentOutput) ElementType

func (GroupPolicyAssignmentOutput) Enforce added in v5.5.0

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

func (GroupPolicyAssignmentOutput) Identity added in v5.5.0

An `identity` block as defined below.

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

func (GroupPolicyAssignmentOutput) Location added in v5.5.0

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

func (GroupPolicyAssignmentOutput) ManagementGroupId added in v5.5.0

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 added in v5.5.0

A JSON mapping of any Metadata for this Policy.

func (GroupPolicyAssignmentOutput) Name added in v5.5.0

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 added in v5.5.0

One or more `nonComplianceMessage` blocks as defined below.

func (GroupPolicyAssignmentOutput) NotScopes added in v5.5.0

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 added in v5.39.0

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 added in v5.5.0

A JSON mapping of any Parameters for this Policy.

func (GroupPolicyAssignmentOutput) PolicyDefinitionId added in v5.5.0

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 added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentOverride struct {
	// One or more `overrideSelector` 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 added in v5.39.0

type GroupPolicyAssignmentOverrideArgs struct {
	// One or more `overrideSelector` 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 added in v5.39.0

func (GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutput added in v5.39.0

func (i GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutput() GroupPolicyAssignmentOverrideOutput

func (GroupPolicyAssignmentOverrideArgs) ToGroupPolicyAssignmentOverrideOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentOverrideArray added in v5.39.0

type GroupPolicyAssignmentOverrideArray []GroupPolicyAssignmentOverrideInput

func (GroupPolicyAssignmentOverrideArray) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutput added in v5.39.0

func (i GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutput() GroupPolicyAssignmentOverrideArrayOutput

func (GroupPolicyAssignmentOverrideArray) ToGroupPolicyAssignmentOverrideArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentOverrideArrayInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentOverrideArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideArrayOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideArrayOutput) Index added in v5.39.0

func (GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutput added in v5.39.0

func (o GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutput() GroupPolicyAssignmentOverrideArrayOutput

func (GroupPolicyAssignmentOverrideArrayOutput) ToGroupPolicyAssignmentOverrideArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentOverrideInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentOverrideOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideOutput) Selectors added in v5.39.0

One or more `overrideSelector` as defined below.

func (GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutput added in v5.39.0

func (o GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutput() GroupPolicyAssignmentOverrideOutput

func (GroupPolicyAssignmentOverrideOutput) ToGroupPolicyAssignmentOverrideOutputWithContext added in v5.39.0

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

func (GroupPolicyAssignmentOverrideOutput) Value added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentOverrideSelector struct {
	// Specify the list of policy reference id values to filter in. Cannot be used with `notIn`.
	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"`
	// Specify the list of policy reference id values to filter out. Cannot be used with `in`.
	NotIns []string `pulumi:"notIns"`
}

type GroupPolicyAssignmentOverrideSelectorArgs added in v5.39.0

type GroupPolicyAssignmentOverrideSelectorArgs struct {
	// Specify the list of policy reference id values to filter in. Cannot be used with `notIn`.
	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"`
	// Specify the list of policy reference id values to filter out. Cannot be used with `in`.
	NotIns pulumi.StringArrayInput `pulumi:"notIns"`
}

func (GroupPolicyAssignmentOverrideSelectorArgs) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutput added in v5.39.0

func (i GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutput() GroupPolicyAssignmentOverrideSelectorOutput

func (GroupPolicyAssignmentOverrideSelectorArgs) ToGroupPolicyAssignmentOverrideSelectorOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentOverrideSelectorArray added in v5.39.0

type GroupPolicyAssignmentOverrideSelectorArray []GroupPolicyAssignmentOverrideSelectorInput

func (GroupPolicyAssignmentOverrideSelectorArray) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutput added in v5.39.0

func (i GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutput() GroupPolicyAssignmentOverrideSelectorArrayOutput

func (GroupPolicyAssignmentOverrideSelectorArray) ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentOverrideSelectorArrayInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentOverrideSelectorArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) Index added in v5.39.0

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutput added in v5.39.0

func (o GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutput() GroupPolicyAssignmentOverrideSelectorArrayOutput

func (GroupPolicyAssignmentOverrideSelectorArrayOutput) ToGroupPolicyAssignmentOverrideSelectorArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentOverrideSelectorInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentOverrideSelectorOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOverrideSelectorOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentOverrideSelectorOutput) Ins added in v5.39.0

Specify the list of policy reference id values to filter in. Cannot be used with `notIn`.

func (GroupPolicyAssignmentOverrideSelectorOutput) Kind added in v5.39.0

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

func (GroupPolicyAssignmentOverrideSelectorOutput) NotIns added in v5.39.0

Specify the list of policy reference id values to filter out. Cannot be used with `in`.

func (GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutput added in v5.39.0

func (o GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutput() GroupPolicyAssignmentOverrideSelectorOutput

func (GroupPolicyAssignmentOverrideSelectorOutput) ToGroupPolicyAssignmentOverrideSelectorOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelector added in v5.39.0

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 added in v5.39.0

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 added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutput added in v5.39.0

func (i GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutput() GroupPolicyAssignmentResourceSelectorOutput

func (GroupPolicyAssignmentResourceSelectorArgs) ToGroupPolicyAssignmentResourceSelectorOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorArray added in v5.39.0

type GroupPolicyAssignmentResourceSelectorArray []GroupPolicyAssignmentResourceSelectorInput

func (GroupPolicyAssignmentResourceSelectorArray) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutput added in v5.39.0

func (i GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorArray) ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorArrayInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentResourceSelectorArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorArrayOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorArrayOutput) Index added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutput added in v5.39.0

func (o GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentResourceSelectorOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorOutput) Name added in v5.39.0

Specifies a name for the resource selector.

func (GroupPolicyAssignmentResourceSelectorOutput) Selectors added in v5.39.0

One or more `resourceSelector` block as defined below.

func (GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutput added in v5.39.0

func (o GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutput() GroupPolicyAssignmentResourceSelectorOutput

func (GroupPolicyAssignmentResourceSelectorOutput) ToGroupPolicyAssignmentResourceSelectorOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorSelector added in v5.39.0

type GroupPolicyAssignmentResourceSelectorSelector struct {
	// Specify the list of policy reference id values to filter in. Cannot be used with `notIn`.
	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"`
	// Specify the list of policy reference id values to filter out. Cannot be used with `in`.
	NotIns []string `pulumi:"notIns"`
}

type GroupPolicyAssignmentResourceSelectorSelectorArgs added in v5.39.0

type GroupPolicyAssignmentResourceSelectorSelectorArgs struct {
	// Specify the list of policy reference id values to filter in. Cannot be used with `notIn`.
	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"`
	// Specify the list of policy reference id values to filter out. Cannot be used with `in`.
	NotIns pulumi.StringArrayInput `pulumi:"notIns"`
}

func (GroupPolicyAssignmentResourceSelectorSelectorArgs) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutput added in v5.39.0

func (i GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutput() GroupPolicyAssignmentResourceSelectorSelectorOutput

func (GroupPolicyAssignmentResourceSelectorSelectorArgs) ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorSelectorArray added in v5.39.0

type GroupPolicyAssignmentResourceSelectorSelectorArray []GroupPolicyAssignmentResourceSelectorSelectorInput

func (GroupPolicyAssignmentResourceSelectorSelectorArray) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput added in v5.39.0

func (i GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput() GroupPolicyAssignmentResourceSelectorSelectorArrayOutput

func (GroupPolicyAssignmentResourceSelectorSelectorArray) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorSelectorArrayInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentResourceSelectorSelectorArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) Index added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutput added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorSelectorArrayOutput) ToGroupPolicyAssignmentResourceSelectorSelectorArrayOutputWithContext added in v5.39.0

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

type GroupPolicyAssignmentResourceSelectorSelectorInput added in v5.39.0

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 added in v5.39.0

type GroupPolicyAssignmentResourceSelectorSelectorOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) ElementType added in v5.39.0

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) Ins added in v5.39.0

Specify the list of policy reference id values to filter in. Cannot be used with `notIn`.

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) Kind added in v5.39.0

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

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) NotIns added in v5.39.0

Specify the list of policy reference id values to filter out. Cannot be used with `in`.

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutput added in v5.39.0

func (o GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutput() GroupPolicyAssignmentResourceSelectorSelectorOutput

func (GroupPolicyAssignmentResourceSelectorSelectorOutput) ToGroupPolicyAssignmentResourceSelectorSelectorOutputWithContext added in v5.39.0

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 added in v5.2.0

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/v5/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v5/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, "exampleGroup", &management.GroupArgs{
			DisplayName: pulumi.String("Example MgmtGroup"),
		})
		if err != nil {
			return err
		}
		examplePolicySetDefinition, 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, "exampleGroupPolicyAssignment", &management.GroupPolicyAssignmentArgs{
			ManagementGroupId:  exampleGroup.ID(),
			PolicyDefinitionId: *pulumi.String(examplePolicySetDefinition.Id),
			Location:           pulumi.String("westus"),
			Identity: &management.GroupPolicyAssignmentIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
		})
		if err != nil {
			return err
		}
		_, err = management.NewGroupPolicyExemption(ctx, "exampleGroupPolicyExemption", &management.GroupPolicyExemptionArgs{
			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 added in v5.2.0

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 added in v5.2.0

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 added in v5.2.0

func (*GroupPolicyExemption) ElementType() reflect.Type

func (*GroupPolicyExemption) ToGroupPolicyExemptionOutput added in v5.2.0

func (i *GroupPolicyExemption) ToGroupPolicyExemptionOutput() GroupPolicyExemptionOutput

func (*GroupPolicyExemption) ToGroupPolicyExemptionOutputWithContext added in v5.2.0

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

type GroupPolicyExemptionArgs added in v5.2.0

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 added in v5.2.0

func (GroupPolicyExemptionArgs) ElementType() reflect.Type

type GroupPolicyExemptionArray added in v5.2.0

type GroupPolicyExemptionArray []GroupPolicyExemptionInput

func (GroupPolicyExemptionArray) ElementType added in v5.2.0

func (GroupPolicyExemptionArray) ElementType() reflect.Type

func (GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutput added in v5.2.0

func (i GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutput() GroupPolicyExemptionArrayOutput

func (GroupPolicyExemptionArray) ToGroupPolicyExemptionArrayOutputWithContext added in v5.2.0

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

type GroupPolicyExemptionArrayInput added in v5.2.0

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 added in v5.2.0

type GroupPolicyExemptionArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyExemptionArrayOutput) ElementType added in v5.2.0

func (GroupPolicyExemptionArrayOutput) Index added in v5.2.0

func (GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutput added in v5.2.0

func (o GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutput() GroupPolicyExemptionArrayOutput

func (GroupPolicyExemptionArrayOutput) ToGroupPolicyExemptionArrayOutputWithContext added in v5.2.0

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

type GroupPolicyExemptionInput added in v5.2.0

type GroupPolicyExemptionInput interface {
	pulumi.Input

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

type GroupPolicyExemptionMap added in v5.2.0

type GroupPolicyExemptionMap map[string]GroupPolicyExemptionInput

func (GroupPolicyExemptionMap) ElementType added in v5.2.0

func (GroupPolicyExemptionMap) ElementType() reflect.Type

func (GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutput added in v5.2.0

func (i GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutput() GroupPolicyExemptionMapOutput

func (GroupPolicyExemptionMap) ToGroupPolicyExemptionMapOutputWithContext added in v5.2.0

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

type GroupPolicyExemptionMapInput added in v5.2.0

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 added in v5.2.0

type GroupPolicyExemptionMapOutput struct{ *pulumi.OutputState }

func (GroupPolicyExemptionMapOutput) ElementType added in v5.2.0

func (GroupPolicyExemptionMapOutput) MapIndex added in v5.2.0

func (GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutput added in v5.2.0

func (o GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutput() GroupPolicyExemptionMapOutput

func (GroupPolicyExemptionMapOutput) ToGroupPolicyExemptionMapOutputWithContext added in v5.2.0

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

type GroupPolicyExemptionOutput added in v5.2.0

type GroupPolicyExemptionOutput struct{ *pulumi.OutputState }

func (GroupPolicyExemptionOutput) Description added in v5.5.0

A description to use for this Policy Exemption.

func (GroupPolicyExemptionOutput) DisplayName added in v5.5.0

A friendly display name to use for this Policy Exemption.

func (GroupPolicyExemptionOutput) ElementType added in v5.2.0

func (GroupPolicyExemptionOutput) ElementType() reflect.Type

func (GroupPolicyExemptionOutput) ExemptionCategory added in v5.5.0

func (o GroupPolicyExemptionOutput) ExemptionCategory() pulumi.StringOutput

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

func (GroupPolicyExemptionOutput) ExpiresOn added in v5.5.0

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

func (GroupPolicyExemptionOutput) ManagementGroupId added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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

func (GroupPolicyExemptionOutput) PolicyAssignmentId added in v5.5.0

func (o GroupPolicyExemptionOutput) PolicyAssignmentId() pulumi.StringOutput

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

func (GroupPolicyExemptionOutput) PolicyDefinitionReferenceIds added in v5.5.0

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 added in v5.2.0

func (o GroupPolicyExemptionOutput) ToGroupPolicyExemptionOutput() GroupPolicyExemptionOutput

func (GroupPolicyExemptionOutput) ToGroupPolicyExemptionOutputWithContext added in v5.2.0

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

type GroupPolicyExemptionState added in v5.2.0

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 added in v5.2.0

func (GroupPolicyExemptionState) ElementType() reflect.Type

type GroupPolicyRemediation

type GroupPolicyRemediation struct {
	pulumi.CustomResourceState

	FailurePercentage   pulumi.Float64PtrOutput  `pulumi:"failurePercentage"`
	LocationFilters     pulumi.StringArrayOutput `pulumi:"locationFilters"`
	ManagementGroupId   pulumi.StringOutput      `pulumi:"managementGroupId"`
	Name                pulumi.StringOutput      `pulumi:"name"`
	ParallelDeployments pulumi.IntPtrOutput      `pulumi:"parallelDeployments"`
	PolicyAssignmentId  pulumi.StringOutput      `pulumi:"policyAssignmentId"`
	// Deprecated: `policy_definition_id` will be removed in version 4.0 of the AzureRM Provider in favour of `policy_definition_reference_id`.
	PolicyDefinitionId          pulumi.StringPtrOutput `pulumi:"policyDefinitionId"`
	PolicyDefinitionReferenceId pulumi.StringPtrOutput `pulumi:"policyDefinitionReferenceId"`
	ResourceCount               pulumi.IntPtrOutput    `pulumi:"resourceCount"`
	// Deprecated: `resource_discovery_mode` will be removed in version 4.0 of the AzureRM Provider as evaluating compliance before remediation is only supported at subscription scope and below.
	ResourceDiscoveryMode pulumi.StringPtrOutput `pulumi:"resourceDiscoveryMode"`
}

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 {
	FailurePercentage   pulumi.Float64PtrInput
	LocationFilters     pulumi.StringArrayInput
	ManagementGroupId   pulumi.StringInput
	Name                pulumi.StringPtrInput
	ParallelDeployments pulumi.IntPtrInput
	PolicyAssignmentId  pulumi.StringInput
	// Deprecated: `policy_definition_id` will be removed in version 4.0 of the AzureRM Provider in favour of `policy_definition_reference_id`.
	PolicyDefinitionId          pulumi.StringPtrInput
	PolicyDefinitionReferenceId pulumi.StringPtrInput
	ResourceCount               pulumi.IntPtrInput
	// Deprecated: `resource_discovery_mode` will be removed in version 4.0 of the AzureRM Provider as evaluating compliance before remediation is only supported at subscription scope and below.
	ResourceDiscoveryMode pulumi.StringPtrInput
}

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 added in v5.18.0

func (GroupPolicyRemediationOutput) LocationFilters added in v5.5.0

func (GroupPolicyRemediationOutput) ManagementGroupId added in v5.5.0

func (o GroupPolicyRemediationOutput) ManagementGroupId() pulumi.StringOutput

func (GroupPolicyRemediationOutput) Name added in v5.5.0

func (GroupPolicyRemediationOutput) ParallelDeployments added in v5.18.0

func (o GroupPolicyRemediationOutput) ParallelDeployments() pulumi.IntPtrOutput

func (GroupPolicyRemediationOutput) PolicyAssignmentId added in v5.5.0

func (o GroupPolicyRemediationOutput) PolicyAssignmentId() pulumi.StringOutput

func (GroupPolicyRemediationOutput) PolicyDefinitionId deprecated added in v5.5.0

func (o GroupPolicyRemediationOutput) PolicyDefinitionId() pulumi.StringPtrOutput

Deprecated: `policy_definition_id` will be removed in version 4.0 of the AzureRM Provider in favour of `policy_definition_reference_id`.

func (GroupPolicyRemediationOutput) PolicyDefinitionReferenceId added in v5.21.0

func (o GroupPolicyRemediationOutput) PolicyDefinitionReferenceId() pulumi.StringPtrOutput

func (GroupPolicyRemediationOutput) ResourceCount added in v5.18.0

func (GroupPolicyRemediationOutput) ResourceDiscoveryMode deprecated added in v5.5.0

func (o GroupPolicyRemediationOutput) ResourceDiscoveryMode() pulumi.StringPtrOutput

Deprecated: `resource_discovery_mode` will be removed in version 4.0 of the AzureRM Provider as evaluating compliance before remediation is only supported at subscription scope and below.

func (GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutput

func (o GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutput() GroupPolicyRemediationOutput

func (GroupPolicyRemediationOutput) ToGroupPolicyRemediationOutputWithContext

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

type GroupPolicyRemediationState

type GroupPolicyRemediationState struct {
	FailurePercentage   pulumi.Float64PtrInput
	LocationFilters     pulumi.StringArrayInput
	ManagementGroupId   pulumi.StringPtrInput
	Name                pulumi.StringPtrInput
	ParallelDeployments pulumi.IntPtrInput
	PolicyAssignmentId  pulumi.StringPtrInput
	// Deprecated: `policy_definition_id` will be removed in version 4.0 of the AzureRM Provider in favour of `policy_definition_reference_id`.
	PolicyDefinitionId          pulumi.StringPtrInput
	PolicyDefinitionReferenceId pulumi.StringPtrInput
	ResourceCount               pulumi.IntPtrInput
	// Deprecated: `resource_discovery_mode` will be removed in version 4.0 of the AzureRM Provider as evaluating compliance before remediation is only supported at subscription scope and below.
	ResourceDiscoveryMode pulumi.StringPtrInput
}

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
}

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("exampleManagementGroup"),
		}, nil)
		if err != nil {
			return err
		}
		exampleSubscription, err := core.LookupSubscription(ctx, &core.LookupSubscriptionArgs{
			SubscriptionId: pulumi.StringRef("12345678-1234-1234-1234-123456789012"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupSubscriptionAssociation(ctx, "exampleGroupSubscriptionAssociation", &management.GroupSubscriptionAssociationArgs{
			ManagementGroupId: *pulumi.String(exampleGroup.Id),
			SubscriptionId:    *pulumi.String(exampleSubscription.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 /managementGroup/MyManagementGroup/subscription/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 added in v5.5.0

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

func (GroupSubscriptionAssociationOutput) SubscriptionId added in v5.5.0

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/v5/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("00000000-0000-0000-0000-000000000000"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupTemplateDeployment(ctx, "exampleGroupTemplateDeployment", &management.GroupTemplateDeploymentArgs{
			Location:          pulumi.String("West Europe"),
			ManagementGroupId: *pulumi.String(exampleGroup.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 (

"os"

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

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

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

```

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: pulumi.StringRef("00000000-0000-0000-0000-000000000000"),
		}, nil)
		if err != nil {
			return err
		}
		exampleTemplateSpecVersion, err := core.GetTemplateSpecVersion(ctx, &core.GetTemplateSpecVersionArgs{
			Name:              "exampleTemplateForManagementGroup",
			ResourceGroupName: "exampleResourceGroup",
			Version:           "v1.0.9",
		}, nil)
		if err != nil {
			return err
		}
		_, err = management.NewGroupTemplateDeployment(ctx, "exampleGroupTemplateDeployment", &management.GroupTemplateDeploymentArgs{
			Location:              pulumi.String("West Europe"),
			ManagementGroupId:     *pulumi.String(exampleGroup.Id),
			TemplateSpecVersionId: *pulumi.String(exampleTemplateSpecVersion.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 added in v5.5.0

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 added in v5.5.0

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

func (GroupTemplateDeploymentOutput) ManagementGroupId added in v5.5.0

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 added in v5.5.0

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

func (GroupTemplateDeploymentOutput) OutputContent added in v5.5.0

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

func (GroupTemplateDeploymentOutput) ParametersContent added in v5.5.0

func (o GroupTemplateDeploymentOutput) ParametersContent() pulumi.StringOutput

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

func (GroupTemplateDeploymentOutput) Tags added in v5.5.0

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

func (GroupTemplateDeploymentOutput) TemplateContent added in v5.5.0

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

func (GroupTemplateDeploymentOutput) TemplateSpecVersionId added in v5.5.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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, nil, nil)
		if err != nil {
			return err
		}
		_, err = management.NewLock(ctx, "subscription-level", &management.LockArgs{
			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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = management.NewLock(ctx, "resource-group-level", &management.LockArgs{
			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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
			Location:             exampleResourceGroup.Location,
			ResourceGroupName:    exampleResourceGroup.Name,
			AllocationMethod:     pulumi.String("Static"),
			IdleTimeoutInMinutes: pulumi.Int(30),
		})
		if err != nil {
			return err
		}
		_, err = management.NewLock(ctx, "public-ip", &management.LockArgs{
			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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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"`
}

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/v5/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 added in v5.16.0

func (o LookupGroupResultOutput) AllManagementGroupIds() pulumi.StringArrayOutput

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

func (LookupGroupResultOutput) AllSubscriptionIds added in v5.16.0

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 added in v5.16.0

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) ToLookupGroupResultOutput

func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput

func (LookupGroupResultOutput) ToLookupGroupResultOutputWithContext

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

type LookupGroupTemplateDeploymentArgs added in v5.11.0

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 added in v5.11.0

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 added in v5.11.0

type LookupGroupTemplateDeploymentResult added in v5.11.0

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 added in v5.11.0

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

type LookupGroupTemplateDeploymentResultOutput added in v5.11.0

type LookupGroupTemplateDeploymentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroupTemplateDeployment.

func (LookupGroupTemplateDeploymentResultOutput) ElementType added in v5.11.0

func (LookupGroupTemplateDeploymentResultOutput) Id added in v5.11.0

The provider-assigned unique ID for this managed resource.

func (LookupGroupTemplateDeploymentResultOutput) ManagementGroupId added in v5.11.0

func (LookupGroupTemplateDeploymentResultOutput) Name added in v5.11.0

func (LookupGroupTemplateDeploymentResultOutput) OutputContent added in v5.11.0

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

func (LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutput added in v5.11.0

func (o LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutput() LookupGroupTemplateDeploymentResultOutput

func (LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutputWithContext added in v5.11.0

func (o LookupGroupTemplateDeploymentResultOutput) ToLookupGroupTemplateDeploymentResultOutputWithContext(ctx context.Context) LookupGroupTemplateDeploymentResultOutput

Jump to

Keyboard shortcuts

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