management

package
v4.33.0 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2022 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.
	//
	// Deprecated: Deprecated in favour of `name`
	GroupId pulumi.StringOutput `pulumi:"groupId"`
	// 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. Changing this forces a new resource to be created.
	ParentManagementGroupId pulumi.StringOutput `pulumi:"parentManagementGroupId"`
	// A list of Subscription GUIDs which should be assigned to the Management Group.
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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

func (*Group) ToGroupPtrOutput

func (i *Group) ToGroupPtrOutput() GroupPtrOutput

func (*Group) ToGroupPtrOutputWithContext

func (i *Group) ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput

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.
	//
	// Deprecated: Deprecated in favour of `name`
	GroupId 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. Changing this forces a new resource to be created.
	ParentManagementGroupId pulumi.StringPtrInput
	// A list of Subscription GUIDs which should be assigned to the Management Group.
	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) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

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

func (GroupOutput) ToGroupPtrOutput

func (o GroupOutput) ToGroupPtrOutput() GroupPtrOutput

func (GroupOutput) ToGroupPtrOutputWithContext

func (o GroupOutput) ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput

type GroupPolicyAssignment added in v4.9.0

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?
	Enforce pulumi.BoolPtrOutput `pulumi:"enforce"`
	// An `identity` block as defined below.
	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. 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"`
	// A JSON mapping of any Parameters for this Policy. Changing this forces a new Management Group Policy Assignment to be created.
	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"`
}

Manages a Policy Assignment to a Management Group.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/management"
"github.com/pulumi/pulumi-azure/sdk/v4/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"),
			ManagementGroupId: exampleGroup.GroupId,
			PolicyRule: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v", "	{\n", "    \"if\": {\n", "      \"not\": {\n", "        \"field\": \"location\",\n", "        \"equals\": \"westeurope\"\n", "      }\n", "    },\n", "    \"then\": {\n", "      \"effect\": \"Deny\"\n", "    }\n", "  }\n")),
		})
		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 added in v4.9.0

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 added in v4.9.0

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 added in v4.9.0

func (*GroupPolicyAssignment) ElementType() reflect.Type

func (*GroupPolicyAssignment) ToGroupPolicyAssignmentOutput added in v4.9.0

func (i *GroupPolicyAssignment) ToGroupPolicyAssignmentOutput() GroupPolicyAssignmentOutput

func (*GroupPolicyAssignment) ToGroupPolicyAssignmentOutputWithContext added in v4.9.0

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

func (*GroupPolicyAssignment) ToGroupPolicyAssignmentPtrOutput added in v4.9.0

func (i *GroupPolicyAssignment) ToGroupPolicyAssignmentPtrOutput() GroupPolicyAssignmentPtrOutput

func (*GroupPolicyAssignment) ToGroupPolicyAssignmentPtrOutputWithContext added in v4.9.0

func (i *GroupPolicyAssignment) ToGroupPolicyAssignmentPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentPtrOutput

type GroupPolicyAssignmentArgs added in v4.9.0

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?
	Enforce pulumi.BoolPtrInput
	// An `identity` block as defined below.
	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. 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
	// A JSON mapping of any Parameters for this Policy. Changing this forces a new Management Group Policy Assignment to be created.
	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
}

The set of arguments for constructing a GroupPolicyAssignment resource.

func (GroupPolicyAssignmentArgs) ElementType added in v4.9.0

func (GroupPolicyAssignmentArgs) ElementType() reflect.Type

type GroupPolicyAssignmentArray added in v4.9.0

type GroupPolicyAssignmentArray []GroupPolicyAssignmentInput

func (GroupPolicyAssignmentArray) ElementType added in v4.9.0

func (GroupPolicyAssignmentArray) ElementType() reflect.Type

func (GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutput added in v4.9.0

func (i GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutput() GroupPolicyAssignmentArrayOutput

func (GroupPolicyAssignmentArray) ToGroupPolicyAssignmentArrayOutputWithContext added in v4.9.0

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

type GroupPolicyAssignmentArrayInput added in v4.9.0

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 added in v4.9.0

type GroupPolicyAssignmentArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentArrayOutput) ElementType added in v4.9.0

func (GroupPolicyAssignmentArrayOutput) Index added in v4.9.0

func (GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutput added in v4.9.0

func (o GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutput() GroupPolicyAssignmentArrayOutput

func (GroupPolicyAssignmentArrayOutput) ToGroupPolicyAssignmentArrayOutputWithContext added in v4.9.0

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

type GroupPolicyAssignmentIdentity added in v4.9.0

type GroupPolicyAssignmentIdentity struct {
	// 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. The only possible value is `SystemAssigned`.
	Type *string `pulumi:"type"`
}

type GroupPolicyAssignmentIdentityArgs added in v4.9.0

type GroupPolicyAssignmentIdentityArgs struct {
	// 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. The only possible value is `SystemAssigned`.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (GroupPolicyAssignmentIdentityArgs) ElementType added in v4.9.0

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutput added in v4.9.0

func (i GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutput() GroupPolicyAssignmentIdentityOutput

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityOutputWithContext added in v4.9.0

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

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutput added in v4.9.0

func (i GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityArgs) ToGroupPolicyAssignmentIdentityPtrOutputWithContext added in v4.9.0

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

type GroupPolicyAssignmentIdentityInput added in v4.9.0

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 added in v4.9.0

type GroupPolicyAssignmentIdentityOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentIdentityOutput) ElementType added in v4.9.0

func (GroupPolicyAssignmentIdentityOutput) PrincipalId added in v4.9.0

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

func (GroupPolicyAssignmentIdentityOutput) TenantId added in v4.9.0

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

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutput added in v4.9.0

func (o GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutput() GroupPolicyAssignmentIdentityOutput

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityOutputWithContext added in v4.9.0

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

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutput added in v4.9.0

func (o GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityOutput) ToGroupPolicyAssignmentIdentityPtrOutputWithContext added in v4.9.0

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

func (GroupPolicyAssignmentIdentityOutput) Type added in v4.9.0

The Type of Managed Identity which should be added to this Policy Definition. The only possible value is `SystemAssigned`.

type GroupPolicyAssignmentIdentityPtrInput added in v4.9.0

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 added in v4.9.0

type GroupPolicyAssignmentIdentityPtrOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentIdentityPtrOutput) Elem added in v4.9.0

func (GroupPolicyAssignmentIdentityPtrOutput) ElementType added in v4.9.0

func (GroupPolicyAssignmentIdentityPtrOutput) PrincipalId added in v4.9.0

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

func (GroupPolicyAssignmentIdentityPtrOutput) TenantId added in v4.9.0

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

func (GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutput added in v4.9.0

func (o GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutput() GroupPolicyAssignmentIdentityPtrOutput

func (GroupPolicyAssignmentIdentityPtrOutput) ToGroupPolicyAssignmentIdentityPtrOutputWithContext added in v4.9.0

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

func (GroupPolicyAssignmentIdentityPtrOutput) Type added in v4.9.0

The Type of Managed Identity which should be added to this Policy Definition. The only possible value is `SystemAssigned`.

type GroupPolicyAssignmentInput added in v4.9.0

type GroupPolicyAssignmentInput interface {
	pulumi.Input

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

type GroupPolicyAssignmentMap added in v4.9.0

type GroupPolicyAssignmentMap map[string]GroupPolicyAssignmentInput

func (GroupPolicyAssignmentMap) ElementType added in v4.9.0

func (GroupPolicyAssignmentMap) ElementType() reflect.Type

func (GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutput added in v4.9.0

func (i GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutput() GroupPolicyAssignmentMapOutput

func (GroupPolicyAssignmentMap) ToGroupPolicyAssignmentMapOutputWithContext added in v4.9.0

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

type GroupPolicyAssignmentMapInput added in v4.9.0

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 added in v4.9.0

type GroupPolicyAssignmentMapOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentMapOutput) ElementType added in v4.9.0

func (GroupPolicyAssignmentMapOutput) MapIndex added in v4.9.0

func (GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutput added in v4.9.0

func (o GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutput() GroupPolicyAssignmentMapOutput

func (GroupPolicyAssignmentMapOutput) ToGroupPolicyAssignmentMapOutputWithContext added in v4.9.0

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

type GroupPolicyAssignmentNonComplianceMessage added in v4.32.0

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 added in v4.32.0

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 added in v4.32.0

func (GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutput added in v4.32.0

func (i GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutput() GroupPolicyAssignmentNonComplianceMessageOutput

func (GroupPolicyAssignmentNonComplianceMessageArgs) ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext added in v4.32.0

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

type GroupPolicyAssignmentNonComplianceMessageArray added in v4.32.0

type GroupPolicyAssignmentNonComplianceMessageArray []GroupPolicyAssignmentNonComplianceMessageInput

func (GroupPolicyAssignmentNonComplianceMessageArray) ElementType added in v4.32.0

func (GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutput added in v4.32.0

func (i GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutput() GroupPolicyAssignmentNonComplianceMessageArrayOutput

func (GroupPolicyAssignmentNonComplianceMessageArray) ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext added in v4.32.0

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

type GroupPolicyAssignmentNonComplianceMessageArrayInput added in v4.32.0

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 added in v4.32.0

type GroupPolicyAssignmentNonComplianceMessageArrayOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) ElementType added in v4.32.0

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) Index added in v4.32.0

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) ToGroupPolicyAssignmentNonComplianceMessageArrayOutput added in v4.32.0

func (GroupPolicyAssignmentNonComplianceMessageArrayOutput) ToGroupPolicyAssignmentNonComplianceMessageArrayOutputWithContext added in v4.32.0

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

type GroupPolicyAssignmentNonComplianceMessageInput added in v4.32.0

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 added in v4.32.0

type GroupPolicyAssignmentNonComplianceMessageOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentNonComplianceMessageOutput) Content added in v4.32.0

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 added in v4.32.0

func (GroupPolicyAssignmentNonComplianceMessageOutput) PolicyDefinitionReferenceId added in v4.32.0

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

func (GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutput added in v4.32.0

func (o GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutput() GroupPolicyAssignmentNonComplianceMessageOutput

func (GroupPolicyAssignmentNonComplianceMessageOutput) ToGroupPolicyAssignmentNonComplianceMessageOutputWithContext added in v4.32.0

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

type GroupPolicyAssignmentOutput added in v4.9.0

type GroupPolicyAssignmentOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentOutput) ElementType added in v4.9.0

func (GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutput added in v4.9.0

func (o GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutput() GroupPolicyAssignmentOutput

func (GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentOutputWithContext added in v4.9.0

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

func (GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentPtrOutput added in v4.9.0

func (o GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentPtrOutput() GroupPolicyAssignmentPtrOutput

func (GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentPtrOutputWithContext added in v4.9.0

func (o GroupPolicyAssignmentOutput) ToGroupPolicyAssignmentPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentPtrOutput

type GroupPolicyAssignmentPtrInput added in v4.9.0

type GroupPolicyAssignmentPtrInput interface {
	pulumi.Input

	ToGroupPolicyAssignmentPtrOutput() GroupPolicyAssignmentPtrOutput
	ToGroupPolicyAssignmentPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentPtrOutput
}

type GroupPolicyAssignmentPtrOutput added in v4.9.0

type GroupPolicyAssignmentPtrOutput struct{ *pulumi.OutputState }

func (GroupPolicyAssignmentPtrOutput) Elem added in v4.20.0

func (GroupPolicyAssignmentPtrOutput) ElementType added in v4.9.0

func (GroupPolicyAssignmentPtrOutput) ToGroupPolicyAssignmentPtrOutput added in v4.9.0

func (o GroupPolicyAssignmentPtrOutput) ToGroupPolicyAssignmentPtrOutput() GroupPolicyAssignmentPtrOutput

func (GroupPolicyAssignmentPtrOutput) ToGroupPolicyAssignmentPtrOutputWithContext added in v4.9.0

func (o GroupPolicyAssignmentPtrOutput) ToGroupPolicyAssignmentPtrOutputWithContext(ctx context.Context) GroupPolicyAssignmentPtrOutput

type GroupPolicyAssignmentState added in v4.9.0

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?
	Enforce pulumi.BoolPtrInput
	// An `identity` block as defined below.
	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. 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
	// A JSON mapping of any Parameters for this Policy. Changing this forces a new Management Group Policy Assignment to be created.
	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
}

func (GroupPolicyAssignmentState) ElementType added in v4.9.0

func (GroupPolicyAssignmentState) ElementType() reflect.Type

type GroupPtrInput

type GroupPtrInput interface {
	pulumi.Input

	ToGroupPtrOutput() GroupPtrOutput
	ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput
}

type GroupPtrOutput

type GroupPtrOutput struct{ *pulumi.OutputState }

func (GroupPtrOutput) Elem added in v4.20.0

func (o GroupPtrOutput) Elem() GroupOutput

func (GroupPtrOutput) ElementType

func (GroupPtrOutput) ElementType() reflect.Type

func (GroupPtrOutput) ToGroupPtrOutput

func (o GroupPtrOutput) ToGroupPtrOutput() GroupPtrOutput

func (GroupPtrOutput) ToGroupPtrOutputWithContext

func (o GroupPtrOutput) ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput

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.
	//
	// Deprecated: Deprecated in favour of `name`
	GroupId 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. Changing this forces a new resource to be created.
	ParentManagementGroupId pulumi.StringPtrInput
	// A list of Subscription GUIDs which should be assigned to the Management Group.
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "exampleManagementGroup"
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		opt1 := "12345678-1234-1234-1234-123456789012"
		exampleSubscription, err := core.LookupSubscription(ctx, &core.LookupSubscriptionArgs{
			SubscriptionId: &opt1,
		}, 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

func (*GroupSubscriptionAssociation) ToGroupSubscriptionAssociationPtrOutput

func (i *GroupSubscriptionAssociation) ToGroupSubscriptionAssociationPtrOutput() GroupSubscriptionAssociationPtrOutput

func (*GroupSubscriptionAssociation) ToGroupSubscriptionAssociationPtrOutputWithContext

func (i *GroupSubscriptionAssociation) ToGroupSubscriptionAssociationPtrOutputWithContext(ctx context.Context) GroupSubscriptionAssociationPtrOutput

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

func (o GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationOutput() GroupSubscriptionAssociationOutput

func (GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationOutputWithContext

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

func (GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationPtrOutput

func (o GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationPtrOutput() GroupSubscriptionAssociationPtrOutput

func (GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationPtrOutputWithContext

func (o GroupSubscriptionAssociationOutput) ToGroupSubscriptionAssociationPtrOutputWithContext(ctx context.Context) GroupSubscriptionAssociationPtrOutput

type GroupSubscriptionAssociationPtrInput

type GroupSubscriptionAssociationPtrInput interface {
	pulumi.Input

	ToGroupSubscriptionAssociationPtrOutput() GroupSubscriptionAssociationPtrOutput
	ToGroupSubscriptionAssociationPtrOutputWithContext(ctx context.Context) GroupSubscriptionAssociationPtrOutput
}

type GroupSubscriptionAssociationPtrOutput

type GroupSubscriptionAssociationPtrOutput struct{ *pulumi.OutputState }

func (GroupSubscriptionAssociationPtrOutput) Elem added in v4.20.0

func (GroupSubscriptionAssociationPtrOutput) ElementType

func (GroupSubscriptionAssociationPtrOutput) ToGroupSubscriptionAssociationPtrOutput

func (o GroupSubscriptionAssociationPtrOutput) ToGroupSubscriptionAssociationPtrOutput() GroupSubscriptionAssociationPtrOutput

func (GroupSubscriptionAssociationPtrOutput) ToGroupSubscriptionAssociationPtrOutputWithContext

func (o GroupSubscriptionAssociationPtrOutput) ToGroupSubscriptionAssociationPtrOutputWithContext(ctx context.Context) GroupSubscriptionAssociationPtrOutput

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

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "00000000-0000-0000-0000-000000000000"
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: &opt0,
		}, 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(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"", "$", "schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\n", "  \"contentVersion\": \"1.0.0.0\",\n", "  \"parameters\": {\n", "    \"policyAssignmentName\": {\n", "      \"type\": \"string\",\n", "      \"defaultValue\": \"[guid(parameters('policyDefinitionID'), resourceGroup().name)]\",\n", "      \"metadata\": {\n", "        \"description\": \"Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides.\"\n", "      }\n", "    },\n", "    \"policyDefinitionID\": {\n", "      \"type\": \"string\",\n", "      \"metadata\": {\n", "        \"description\": \"Specifies the ID of the policy definition or policy set definition being assigned.\"\n", "      }\n", "    }\n", "  },\n", "  \"resources\": [\n", "    {\n", "      \"type\": \"Microsoft.Authorization/policyAssignments\",\n", "      \"name\": \"[parameters('policyAssignmentName')]\",\n", "      \"apiVersion\": \"2019-09-01\",\n", "      \"properties\": {\n", "        \"scope\": \"[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]\",\n", "        \"policyDefinitionId\": \"[parameters('policyDefinitionID')]\"\n", "      }\n", "    }\n", "  ]\n", "}\n")),
			ParametersContent: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"", "$", "schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#\",\n", "  \"contentVersion\": \"1.0.0.0\",\n", "  \"parameters\": {\n", "    \"policyDefinitionID\": {\n", "      \"value\": \"/providers/Microsoft.Authorization/policyDefinitions/0a914e76-4921-4c19-b460-a2d36003525a\"\n", "    }\n", "  }\n", "}\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"io/ioutil"

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

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "00000000-0000-0000-0000-000000000000"
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: &opt0,
		}, 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "00000000-0000-0000-0000-000000000000"
		exampleGroup, err := management.LookupGroup(ctx, &management.LookupGroupArgs{
			Name: &opt0,
		}, 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

func (*GroupTemplateDeployment) ToGroupTemplateDeploymentPtrOutput

func (i *GroupTemplateDeployment) ToGroupTemplateDeploymentPtrOutput() GroupTemplateDeploymentPtrOutput

func (*GroupTemplateDeployment) ToGroupTemplateDeploymentPtrOutputWithContext

func (i *GroupTemplateDeployment) ToGroupTemplateDeploymentPtrOutputWithContext(ctx context.Context) GroupTemplateDeploymentPtrOutput

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

func (GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutput

func (o GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutput() GroupTemplateDeploymentOutput

func (GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentOutputWithContext

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

func (GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentPtrOutput

func (o GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentPtrOutput() GroupTemplateDeploymentPtrOutput

func (GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentPtrOutputWithContext

func (o GroupTemplateDeploymentOutput) ToGroupTemplateDeploymentPtrOutputWithContext(ctx context.Context) GroupTemplateDeploymentPtrOutput

type GroupTemplateDeploymentPtrInput

type GroupTemplateDeploymentPtrInput interface {
	pulumi.Input

	ToGroupTemplateDeploymentPtrOutput() GroupTemplateDeploymentPtrOutput
	ToGroupTemplateDeploymentPtrOutputWithContext(ctx context.Context) GroupTemplateDeploymentPtrOutput
}

type GroupTemplateDeploymentPtrOutput

type GroupTemplateDeploymentPtrOutput struct{ *pulumi.OutputState }

func (GroupTemplateDeploymentPtrOutput) Elem added in v4.20.0

func (GroupTemplateDeploymentPtrOutput) ElementType

func (GroupTemplateDeploymentPtrOutput) ToGroupTemplateDeploymentPtrOutput

func (o GroupTemplateDeploymentPtrOutput) ToGroupTemplateDeploymentPtrOutput() GroupTemplateDeploymentPtrOutput

func (GroupTemplateDeploymentPtrOutput) ToGroupTemplateDeploymentPtrOutputWithContext

func (o GroupTemplateDeploymentPtrOutput) ToGroupTemplateDeploymentPtrOutputWithContext(ctx context.Context) GroupTemplateDeploymentPtrOutput

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
	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.
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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
	})
}

```

## Example Usage (Resource Group Level Lock)

```go package main

import (

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

func (*Lock) ToLockPtrOutput

func (i *Lock) ToLockPtrOutput() LockPtrOutput

func (*Lock) ToLockPtrOutputWithContext

func (i *Lock) ToLockPtrOutputWithContext(ctx context.Context) LockPtrOutput

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.
	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) ToLockOutput

func (o LockOutput) ToLockOutput() LockOutput

func (LockOutput) ToLockOutputWithContext

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

func (LockOutput) ToLockPtrOutput

func (o LockOutput) ToLockPtrOutput() LockPtrOutput

func (LockOutput) ToLockPtrOutputWithContext

func (o LockOutput) ToLockPtrOutputWithContext(ctx context.Context) LockPtrOutput

type LockPtrInput

type LockPtrInput interface {
	pulumi.Input

	ToLockPtrOutput() LockPtrOutput
	ToLockPtrOutputWithContext(ctx context.Context) LockPtrOutput
}

type LockPtrOutput

type LockPtrOutput struct{ *pulumi.OutputState }

func (LockPtrOutput) Elem added in v4.20.0

func (o LockPtrOutput) Elem() LockOutput

func (LockPtrOutput) ElementType

func (LockPtrOutput) ElementType() reflect.Type

func (LockPtrOutput) ToLockPtrOutput

func (o LockPtrOutput) ToLockPtrOutput() LockPtrOutput

func (LockPtrOutput) ToLockPtrOutputWithContext

func (o LockPtrOutput) ToLockPtrOutputWithContext(ctx context.Context) LockPtrOutput

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.
	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.
	DisplayName *string `pulumi:"displayName"`
	// Specifies the name or UUID of this Management Group.
	//
	// Deprecated: Deprecated in favour of `name`
	GroupId *string `pulumi:"groupId"`
	// Specifies the name or UUID of this Management Group.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

type LookupGroupOutputArgs added in v4.20.0

type LookupGroupOutputArgs struct {
	// Specifies the display name of this Management Group.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Specifies the name or UUID of this Management Group.
	//
	// Deprecated: Deprecated in favour of `name`
	GroupId pulumi.StringPtrInput `pulumi:"groupId"`
	// Specifies the name or UUID of this Management Group.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

func (LookupGroupOutputArgs) ElementType added in v4.20.0

func (LookupGroupOutputArgs) ElementType() reflect.Type

type LookupGroupResult

type LookupGroupResult struct {
	DisplayName string `pulumi:"displayName"`
	// Deprecated: Deprecated in favour of `name`
	GroupId string `pulumi:"groupId"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The ID of any Parent Management Group.
	ParentManagementGroupId string `pulumi:"parentManagementGroupId"`
	// A list of Subscription IDs which are assigned to the 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/v4/go/azure/management"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type LookupGroupResultOutput added in v4.20.0

type LookupGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroup.

func LookupGroupOutput added in v4.20.0

func LookupGroupOutput(ctx *pulumi.Context, args LookupGroupOutputArgs, opts ...pulumi.InvokeOption) LookupGroupResultOutput

func (LookupGroupResultOutput) DisplayName added in v4.20.0

func (LookupGroupResultOutput) ElementType added in v4.20.0

func (LookupGroupResultOutput) ElementType() reflect.Type

func (LookupGroupResultOutput) GroupId deprecated added in v4.20.0

Deprecated: Deprecated in favour of `name`

func (LookupGroupResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupGroupResultOutput) Name added in v4.20.0

func (LookupGroupResultOutput) ParentManagementGroupId added in v4.20.0

func (o LookupGroupResultOutput) ParentManagementGroupId() pulumi.StringOutput

The ID of any Parent Management Group.

func (LookupGroupResultOutput) SubscriptionIds added in v4.20.0

func (o LookupGroupResultOutput) SubscriptionIds() pulumi.StringArrayOutput

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

func (LookupGroupResultOutput) ToLookupGroupResultOutput added in v4.20.0

func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput

func (LookupGroupResultOutput) ToLookupGroupResultOutputWithContext added in v4.20.0

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

Jump to

Keyboard shortcuts

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