policy

package
v5.57.0 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 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 Definition

type Definition struct {
	pulumi.CustomResourceState

	// The description of the policy definition.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The display name of the policy definition.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrOutput `pulumi:"managementGroupId"`
	// The metadata for the policy definition. This is a JSON string representing additional metadata that should be stored with the policy definition.
	Metadata pulumi.StringOutput `pulumi:"metadata"`
	// The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.
	//
	// > **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.
	Mode pulumi.StringOutput `pulumi:"mode"`
	// The name of the policy definition. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition.
	Parameters pulumi.StringPtrOutput `pulumi:"parameters"`
	// The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.
	PolicyRule pulumi.StringPtrOutput `pulumi:"policyRule"`
	// The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringOutput `pulumi:"policyType"`
	// A list of role definition id extracted from `policyRule` required for remediation.
	RoleDefinitionIds pulumi.StringArrayOutput `pulumi:"roleDefinitionIds"`
}

Manages a policy rule definition on a management group or your provider subscription.

Policy definitions do not take effect until they are assigned to a scope using a Policy Assignment.

## Example Usage

```go package main

import (

"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 {
		_, err := policy.NewDefinition(ctx, "policy", &policy.DefinitionArgs{
			DisplayName: pulumi.String("acceptance test policy definition"),
			Metadata:    pulumi.String("    {\n    \"category\": \"General\"\n    }\n\n\n"),
			Mode:        pulumi.String("Indexed"),
			Parameters: pulumi.String(` {
    "allowedLocations": {
      "type": "Array",
      "metadata": {
        "description": "The list of allowed locations for resources.",
        "displayName": "Allowed locations",
        "strongType": "location"
      }
    }
  }

`),

			PolicyRule: pulumi.String(` {
    "if": {
      "not": {
        "field": "location",
        "in": "[parameters('allowedLocations')]"
      }
    },
    "then": {
      "effect": "audit"
    }
  }

`),

			PolicyType: pulumi.String("Custom"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Policy Definitions can be imported using the `policy name`, e.g.

```sh

$ pulumi import azure:policy/definition:Definition examplePolicy /subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/policyDefinitions/<POLICY_NAME>

```

or

```sh

$ pulumi import azure:policy/definition:Definition examplePolicy /providers/Microsoft.Management/managementgroups/<MANGAGEMENT_GROUP_ID>/providers/Microsoft.Authorization/policyDefinitions/<POLICY_NAME>

```

func GetDefinition

func GetDefinition(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefinitionState, opts ...pulumi.ResourceOption) (*Definition, error)

GetDefinition gets an existing Definition 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 NewDefinition

func NewDefinition(ctx *pulumi.Context,
	name string, args *DefinitionArgs, opts ...pulumi.ResourceOption) (*Definition, error)

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

func (*Definition) ElementType

func (*Definition) ElementType() reflect.Type

func (*Definition) ToDefinitionOutput

func (i *Definition) ToDefinitionOutput() DefinitionOutput

func (*Definition) ToDefinitionOutputWithContext

func (i *Definition) ToDefinitionOutputWithContext(ctx context.Context) DefinitionOutput

type DefinitionArgs

type DefinitionArgs struct {
	// The description of the policy definition.
	Description pulumi.StringPtrInput
	// The display name of the policy definition.
	DisplayName pulumi.StringInput
	// The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The metadata for the policy definition. This is a JSON string representing additional metadata that should be stored with the policy definition.
	Metadata pulumi.StringPtrInput
	// The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.
	//
	// > **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.
	Mode pulumi.StringInput
	// The name of the policy definition. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition.
	Parameters pulumi.StringPtrInput
	// The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.
	PolicyRule pulumi.StringPtrInput
	// The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringInput
}

The set of arguments for constructing a Definition resource.

func (DefinitionArgs) ElementType

func (DefinitionArgs) ElementType() reflect.Type

type DefinitionArray

type DefinitionArray []DefinitionInput

func (DefinitionArray) ElementType

func (DefinitionArray) ElementType() reflect.Type

func (DefinitionArray) ToDefinitionArrayOutput

func (i DefinitionArray) ToDefinitionArrayOutput() DefinitionArrayOutput

func (DefinitionArray) ToDefinitionArrayOutputWithContext

func (i DefinitionArray) ToDefinitionArrayOutputWithContext(ctx context.Context) DefinitionArrayOutput

type DefinitionArrayInput

type DefinitionArrayInput interface {
	pulumi.Input

	ToDefinitionArrayOutput() DefinitionArrayOutput
	ToDefinitionArrayOutputWithContext(context.Context) DefinitionArrayOutput
}

DefinitionArrayInput is an input type that accepts DefinitionArray and DefinitionArrayOutput values. You can construct a concrete instance of `DefinitionArrayInput` via:

DefinitionArray{ DefinitionArgs{...} }

type DefinitionArrayOutput

type DefinitionArrayOutput struct{ *pulumi.OutputState }

func (DefinitionArrayOutput) ElementType

func (DefinitionArrayOutput) ElementType() reflect.Type

func (DefinitionArrayOutput) Index

func (DefinitionArrayOutput) ToDefinitionArrayOutput

func (o DefinitionArrayOutput) ToDefinitionArrayOutput() DefinitionArrayOutput

func (DefinitionArrayOutput) ToDefinitionArrayOutputWithContext

func (o DefinitionArrayOutput) ToDefinitionArrayOutputWithContext(ctx context.Context) DefinitionArrayOutput

type DefinitionInput

type DefinitionInput interface {
	pulumi.Input

	ToDefinitionOutput() DefinitionOutput
	ToDefinitionOutputWithContext(ctx context.Context) DefinitionOutput
}

type DefinitionMap

type DefinitionMap map[string]DefinitionInput

func (DefinitionMap) ElementType

func (DefinitionMap) ElementType() reflect.Type

func (DefinitionMap) ToDefinitionMapOutput

func (i DefinitionMap) ToDefinitionMapOutput() DefinitionMapOutput

func (DefinitionMap) ToDefinitionMapOutputWithContext

func (i DefinitionMap) ToDefinitionMapOutputWithContext(ctx context.Context) DefinitionMapOutput

type DefinitionMapInput

type DefinitionMapInput interface {
	pulumi.Input

	ToDefinitionMapOutput() DefinitionMapOutput
	ToDefinitionMapOutputWithContext(context.Context) DefinitionMapOutput
}

DefinitionMapInput is an input type that accepts DefinitionMap and DefinitionMapOutput values. You can construct a concrete instance of `DefinitionMapInput` via:

DefinitionMap{ "key": DefinitionArgs{...} }

type DefinitionMapOutput

type DefinitionMapOutput struct{ *pulumi.OutputState }

func (DefinitionMapOutput) ElementType

func (DefinitionMapOutput) ElementType() reflect.Type

func (DefinitionMapOutput) MapIndex

func (DefinitionMapOutput) ToDefinitionMapOutput

func (o DefinitionMapOutput) ToDefinitionMapOutput() DefinitionMapOutput

func (DefinitionMapOutput) ToDefinitionMapOutputWithContext

func (o DefinitionMapOutput) ToDefinitionMapOutputWithContext(ctx context.Context) DefinitionMapOutput

type DefinitionOutput

type DefinitionOutput struct{ *pulumi.OutputState }

func (DefinitionOutput) Description added in v5.5.0

func (o DefinitionOutput) Description() pulumi.StringPtrOutput

The description of the policy definition.

func (DefinitionOutput) DisplayName added in v5.5.0

func (o DefinitionOutput) DisplayName() pulumi.StringOutput

The display name of the policy definition.

func (DefinitionOutput) ElementType

func (DefinitionOutput) ElementType() reflect.Type

func (DefinitionOutput) ManagementGroupId added in v5.5.0

func (o DefinitionOutput) ManagementGroupId() pulumi.StringPtrOutput

The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.

func (DefinitionOutput) Metadata added in v5.5.0

func (o DefinitionOutput) Metadata() pulumi.StringOutput

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

func (DefinitionOutput) Mode added in v5.5.0

The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.

> **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.

func (DefinitionOutput) Name added in v5.5.0

The name of the policy definition. Changing this forces a new resource to be created.

func (DefinitionOutput) Parameters added in v5.5.0

func (o DefinitionOutput) Parameters() pulumi.StringPtrOutput

Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition.

func (DefinitionOutput) PolicyRule added in v5.5.0

func (o DefinitionOutput) PolicyRule() pulumi.StringPtrOutput

The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.

func (DefinitionOutput) PolicyType added in v5.5.0

func (o DefinitionOutput) PolicyType() pulumi.StringOutput

The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.

func (DefinitionOutput) RoleDefinitionIds added in v5.18.0

func (o DefinitionOutput) RoleDefinitionIds() pulumi.StringArrayOutput

A list of role definition id extracted from `policyRule` required for remediation.

func (DefinitionOutput) ToDefinitionOutput

func (o DefinitionOutput) ToDefinitionOutput() DefinitionOutput

func (DefinitionOutput) ToDefinitionOutputWithContext

func (o DefinitionOutput) ToDefinitionOutputWithContext(ctx context.Context) DefinitionOutput

type DefinitionState

type DefinitionState struct {
	// The description of the policy definition.
	Description pulumi.StringPtrInput
	// The display name of the policy definition.
	DisplayName pulumi.StringPtrInput
	// The id of the Management Group where this policy should be defined. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The metadata for the policy definition. This is a JSON string representing additional metadata that should be stored with the policy definition.
	Metadata pulumi.StringPtrInput
	// The policy resource manager mode that allows you to specify which resource types will be evaluated. Possible values are `All`, `Indexed`, `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`.
	//
	// > **Note:** Other resource provider modes only support built-in policy definitions but may later become available in custom definitions, these include; `Microsoft.ContainerService.Data`, `Microsoft.CustomerLockbox.Data`, `Microsoft.DataCatalog.Data`, `Microsoft.KeyVault.Data`, `Microsoft.Kubernetes.Data`, `Microsoft.MachineLearningServices.Data`, `Microsoft.Network.Data` and `Microsoft.Synapse.Data`. [See here](https://docs.microsoft.com/en-us/azure/governance/policy/concepts/definition-structure#resource-provider-modes) for more details.
	Mode pulumi.StringPtrInput
	// The name of the policy definition. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Parameters for the policy definition. This field is a JSON string that allows you to parameterize your policy definition.
	Parameters pulumi.StringPtrInput
	// The policy rule for the policy definition. This is a JSON string representing the rule that contains an if and a then block.
	PolicyRule pulumi.StringPtrInput
	// The policy type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringPtrInput
	// A list of role definition id extracted from `policyRule` required for remediation.
	RoleDefinitionIds pulumi.StringArrayInput
}

func (DefinitionState) ElementType

func (DefinitionState) ElementType() reflect.Type

type GetPolicyAssignmentArgs added in v5.11.0

type GetPolicyAssignmentArgs struct {
	// The name of this Policy Assignment. Changing this forces a new Policy Assignment to be created.
	Name string `pulumi:"name"`
	// The ID of the scope this Policy Assignment is assigned to. The `scopeId` can be a subscription id, a resource group id, a management group id, or an ID of any resource that is assigned with a policy. Changing this forces a new Policy Assignment to be created.
	ScopeId string `pulumi:"scopeId"`
}

A collection of arguments for invoking getPolicyAssignment.

type GetPolicyAssignmentIdentity added in v5.11.0

type GetPolicyAssignmentIdentity struct {
	// A `identityIds` block as defined below.
	IdentityIds []string `pulumi:"identityIds"`
	// The Principal ID of the Policy Assignment for this Resource.
	PrincipalId string `pulumi:"principalId"`
	// The Tenant ID of the Policy Assignment for this Resource.
	TenantId string `pulumi:"tenantId"`
	// The Type of Managed Identity which is added to this Policy Assignment.
	Type string `pulumi:"type"`
}

type GetPolicyAssignmentIdentityArgs added in v5.11.0

type GetPolicyAssignmentIdentityArgs struct {
	// A `identityIds` block as defined below.
	IdentityIds pulumi.StringArrayInput `pulumi:"identityIds"`
	// The Principal ID of the Policy Assignment for this Resource.
	PrincipalId pulumi.StringInput `pulumi:"principalId"`
	// The Tenant ID of the Policy Assignment for this Resource.
	TenantId pulumi.StringInput `pulumi:"tenantId"`
	// The Type of Managed Identity which is added to this Policy Assignment.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetPolicyAssignmentIdentityArgs) ElementType added in v5.11.0

func (GetPolicyAssignmentIdentityArgs) ToGetPolicyAssignmentIdentityOutput added in v5.11.0

func (i GetPolicyAssignmentIdentityArgs) ToGetPolicyAssignmentIdentityOutput() GetPolicyAssignmentIdentityOutput

func (GetPolicyAssignmentIdentityArgs) ToGetPolicyAssignmentIdentityOutputWithContext added in v5.11.0

func (i GetPolicyAssignmentIdentityArgs) ToGetPolicyAssignmentIdentityOutputWithContext(ctx context.Context) GetPolicyAssignmentIdentityOutput

type GetPolicyAssignmentIdentityArray added in v5.11.0

type GetPolicyAssignmentIdentityArray []GetPolicyAssignmentIdentityInput

func (GetPolicyAssignmentIdentityArray) ElementType added in v5.11.0

func (GetPolicyAssignmentIdentityArray) ToGetPolicyAssignmentIdentityArrayOutput added in v5.11.0

func (i GetPolicyAssignmentIdentityArray) ToGetPolicyAssignmentIdentityArrayOutput() GetPolicyAssignmentIdentityArrayOutput

func (GetPolicyAssignmentIdentityArray) ToGetPolicyAssignmentIdentityArrayOutputWithContext added in v5.11.0

func (i GetPolicyAssignmentIdentityArray) ToGetPolicyAssignmentIdentityArrayOutputWithContext(ctx context.Context) GetPolicyAssignmentIdentityArrayOutput

type GetPolicyAssignmentIdentityArrayInput added in v5.11.0

type GetPolicyAssignmentIdentityArrayInput interface {
	pulumi.Input

	ToGetPolicyAssignmentIdentityArrayOutput() GetPolicyAssignmentIdentityArrayOutput
	ToGetPolicyAssignmentIdentityArrayOutputWithContext(context.Context) GetPolicyAssignmentIdentityArrayOutput
}

GetPolicyAssignmentIdentityArrayInput is an input type that accepts GetPolicyAssignmentIdentityArray and GetPolicyAssignmentIdentityArrayOutput values. You can construct a concrete instance of `GetPolicyAssignmentIdentityArrayInput` via:

GetPolicyAssignmentIdentityArray{ GetPolicyAssignmentIdentityArgs{...} }

type GetPolicyAssignmentIdentityArrayOutput added in v5.11.0

type GetPolicyAssignmentIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetPolicyAssignmentIdentityArrayOutput) ElementType added in v5.11.0

func (GetPolicyAssignmentIdentityArrayOutput) Index added in v5.11.0

func (GetPolicyAssignmentIdentityArrayOutput) ToGetPolicyAssignmentIdentityArrayOutput added in v5.11.0

func (o GetPolicyAssignmentIdentityArrayOutput) ToGetPolicyAssignmentIdentityArrayOutput() GetPolicyAssignmentIdentityArrayOutput

func (GetPolicyAssignmentIdentityArrayOutput) ToGetPolicyAssignmentIdentityArrayOutputWithContext added in v5.11.0

func (o GetPolicyAssignmentIdentityArrayOutput) ToGetPolicyAssignmentIdentityArrayOutputWithContext(ctx context.Context) GetPolicyAssignmentIdentityArrayOutput

type GetPolicyAssignmentIdentityInput added in v5.11.0

type GetPolicyAssignmentIdentityInput interface {
	pulumi.Input

	ToGetPolicyAssignmentIdentityOutput() GetPolicyAssignmentIdentityOutput
	ToGetPolicyAssignmentIdentityOutputWithContext(context.Context) GetPolicyAssignmentIdentityOutput
}

GetPolicyAssignmentIdentityInput is an input type that accepts GetPolicyAssignmentIdentityArgs and GetPolicyAssignmentIdentityOutput values. You can construct a concrete instance of `GetPolicyAssignmentIdentityInput` via:

GetPolicyAssignmentIdentityArgs{...}

type GetPolicyAssignmentIdentityOutput added in v5.11.0

type GetPolicyAssignmentIdentityOutput struct{ *pulumi.OutputState }

func (GetPolicyAssignmentIdentityOutput) ElementType added in v5.11.0

func (GetPolicyAssignmentIdentityOutput) IdentityIds added in v5.11.0

A `identityIds` block as defined below.

func (GetPolicyAssignmentIdentityOutput) PrincipalId added in v5.11.0

The Principal ID of the Policy Assignment for this Resource.

func (GetPolicyAssignmentIdentityOutput) TenantId added in v5.11.0

The Tenant ID of the Policy Assignment for this Resource.

func (GetPolicyAssignmentIdentityOutput) ToGetPolicyAssignmentIdentityOutput added in v5.11.0

func (o GetPolicyAssignmentIdentityOutput) ToGetPolicyAssignmentIdentityOutput() GetPolicyAssignmentIdentityOutput

func (GetPolicyAssignmentIdentityOutput) ToGetPolicyAssignmentIdentityOutputWithContext added in v5.11.0

func (o GetPolicyAssignmentIdentityOutput) ToGetPolicyAssignmentIdentityOutputWithContext(ctx context.Context) GetPolicyAssignmentIdentityOutput

func (GetPolicyAssignmentIdentityOutput) Type added in v5.11.0

The Type of Managed Identity which is added to this Policy Assignment.

type GetPolicyAssignmentNonComplianceMessage added in v5.11.0

type GetPolicyAssignmentNonComplianceMessage struct {
	// The non-compliance message text.
	Content string `pulumi:"content"`
	// The ID of the Policy Definition that the non-compliance message applies to.
	PolicyDefinitionReferenceId string `pulumi:"policyDefinitionReferenceId"`
}

type GetPolicyAssignmentNonComplianceMessageArgs added in v5.11.0

type GetPolicyAssignmentNonComplianceMessageArgs struct {
	// The non-compliance message text.
	Content pulumi.StringInput `pulumi:"content"`
	// The ID of the Policy Definition that the non-compliance message applies to.
	PolicyDefinitionReferenceId pulumi.StringInput `pulumi:"policyDefinitionReferenceId"`
}

func (GetPolicyAssignmentNonComplianceMessageArgs) ElementType added in v5.11.0

func (GetPolicyAssignmentNonComplianceMessageArgs) ToGetPolicyAssignmentNonComplianceMessageOutput added in v5.11.0

func (i GetPolicyAssignmentNonComplianceMessageArgs) ToGetPolicyAssignmentNonComplianceMessageOutput() GetPolicyAssignmentNonComplianceMessageOutput

func (GetPolicyAssignmentNonComplianceMessageArgs) ToGetPolicyAssignmentNonComplianceMessageOutputWithContext added in v5.11.0

func (i GetPolicyAssignmentNonComplianceMessageArgs) ToGetPolicyAssignmentNonComplianceMessageOutputWithContext(ctx context.Context) GetPolicyAssignmentNonComplianceMessageOutput

type GetPolicyAssignmentNonComplianceMessageArray added in v5.11.0

type GetPolicyAssignmentNonComplianceMessageArray []GetPolicyAssignmentNonComplianceMessageInput

func (GetPolicyAssignmentNonComplianceMessageArray) ElementType added in v5.11.0

func (GetPolicyAssignmentNonComplianceMessageArray) ToGetPolicyAssignmentNonComplianceMessageArrayOutput added in v5.11.0

func (i GetPolicyAssignmentNonComplianceMessageArray) ToGetPolicyAssignmentNonComplianceMessageArrayOutput() GetPolicyAssignmentNonComplianceMessageArrayOutput

func (GetPolicyAssignmentNonComplianceMessageArray) ToGetPolicyAssignmentNonComplianceMessageArrayOutputWithContext added in v5.11.0

func (i GetPolicyAssignmentNonComplianceMessageArray) ToGetPolicyAssignmentNonComplianceMessageArrayOutputWithContext(ctx context.Context) GetPolicyAssignmentNonComplianceMessageArrayOutput

type GetPolicyAssignmentNonComplianceMessageArrayInput added in v5.11.0

type GetPolicyAssignmentNonComplianceMessageArrayInput interface {
	pulumi.Input

	ToGetPolicyAssignmentNonComplianceMessageArrayOutput() GetPolicyAssignmentNonComplianceMessageArrayOutput
	ToGetPolicyAssignmentNonComplianceMessageArrayOutputWithContext(context.Context) GetPolicyAssignmentNonComplianceMessageArrayOutput
}

GetPolicyAssignmentNonComplianceMessageArrayInput is an input type that accepts GetPolicyAssignmentNonComplianceMessageArray and GetPolicyAssignmentNonComplianceMessageArrayOutput values. You can construct a concrete instance of `GetPolicyAssignmentNonComplianceMessageArrayInput` via:

GetPolicyAssignmentNonComplianceMessageArray{ GetPolicyAssignmentNonComplianceMessageArgs{...} }

type GetPolicyAssignmentNonComplianceMessageArrayOutput added in v5.11.0

type GetPolicyAssignmentNonComplianceMessageArrayOutput struct{ *pulumi.OutputState }

func (GetPolicyAssignmentNonComplianceMessageArrayOutput) ElementType added in v5.11.0

func (GetPolicyAssignmentNonComplianceMessageArrayOutput) Index added in v5.11.0

func (GetPolicyAssignmentNonComplianceMessageArrayOutput) ToGetPolicyAssignmentNonComplianceMessageArrayOutput added in v5.11.0

func (o GetPolicyAssignmentNonComplianceMessageArrayOutput) ToGetPolicyAssignmentNonComplianceMessageArrayOutput() GetPolicyAssignmentNonComplianceMessageArrayOutput

func (GetPolicyAssignmentNonComplianceMessageArrayOutput) ToGetPolicyAssignmentNonComplianceMessageArrayOutputWithContext added in v5.11.0

func (o GetPolicyAssignmentNonComplianceMessageArrayOutput) ToGetPolicyAssignmentNonComplianceMessageArrayOutputWithContext(ctx context.Context) GetPolicyAssignmentNonComplianceMessageArrayOutput

type GetPolicyAssignmentNonComplianceMessageInput added in v5.11.0

type GetPolicyAssignmentNonComplianceMessageInput interface {
	pulumi.Input

	ToGetPolicyAssignmentNonComplianceMessageOutput() GetPolicyAssignmentNonComplianceMessageOutput
	ToGetPolicyAssignmentNonComplianceMessageOutputWithContext(context.Context) GetPolicyAssignmentNonComplianceMessageOutput
}

GetPolicyAssignmentNonComplianceMessageInput is an input type that accepts GetPolicyAssignmentNonComplianceMessageArgs and GetPolicyAssignmentNonComplianceMessageOutput values. You can construct a concrete instance of `GetPolicyAssignmentNonComplianceMessageInput` via:

GetPolicyAssignmentNonComplianceMessageArgs{...}

type GetPolicyAssignmentNonComplianceMessageOutput added in v5.11.0

type GetPolicyAssignmentNonComplianceMessageOutput struct{ *pulumi.OutputState }

func (GetPolicyAssignmentNonComplianceMessageOutput) Content added in v5.11.0

The non-compliance message text.

func (GetPolicyAssignmentNonComplianceMessageOutput) ElementType added in v5.11.0

func (GetPolicyAssignmentNonComplianceMessageOutput) PolicyDefinitionReferenceId added in v5.11.0

func (o GetPolicyAssignmentNonComplianceMessageOutput) PolicyDefinitionReferenceId() pulumi.StringOutput

The ID of the Policy Definition that the non-compliance message applies to.

func (GetPolicyAssignmentNonComplianceMessageOutput) ToGetPolicyAssignmentNonComplianceMessageOutput added in v5.11.0

func (o GetPolicyAssignmentNonComplianceMessageOutput) ToGetPolicyAssignmentNonComplianceMessageOutput() GetPolicyAssignmentNonComplianceMessageOutput

func (GetPolicyAssignmentNonComplianceMessageOutput) ToGetPolicyAssignmentNonComplianceMessageOutputWithContext added in v5.11.0

func (o GetPolicyAssignmentNonComplianceMessageOutput) ToGetPolicyAssignmentNonComplianceMessageOutputWithContext(ctx context.Context) GetPolicyAssignmentNonComplianceMessageOutput

type GetPolicyAssignmentOutputArgs added in v5.11.0

type GetPolicyAssignmentOutputArgs struct {
	// The name of this Policy Assignment. Changing this forces a new Policy Assignment to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the scope this Policy Assignment is assigned to. The `scopeId` can be a subscription id, a resource group id, a management group id, or an ID of any resource that is assigned with a policy. Changing this forces a new Policy Assignment to be created.
	ScopeId pulumi.StringInput `pulumi:"scopeId"`
}

A collection of arguments for invoking getPolicyAssignment.

func (GetPolicyAssignmentOutputArgs) ElementType added in v5.11.0

type GetPolicyAssignmentResult added in v5.11.0

type GetPolicyAssignmentResult struct {
	// The description of this Policy Assignment.
	Description string `pulumi:"description"`
	// The display name of this Policy Assignment.
	DisplayName string `pulumi:"displayName"`
	// Whether this Policy is enforced or not?
	Enforce bool `pulumi:"enforce"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A `identity` block as defined below.
	Identities []GetPolicyAssignmentIdentity `pulumi:"identities"`
	// The Azure Region where the Policy Assignment exists.
	Location string `pulumi:"location"`
	// A JSON mapping of any Metadata for this Policy.
	Metadata string `pulumi:"metadata"`
	Name     string `pulumi:"name"`
	// A `nonComplianceMessage` block as defined below.
	NonComplianceMessages []GetPolicyAssignmentNonComplianceMessage `pulumi:"nonComplianceMessages"`
	// A `notScopes` block as defined below.
	NotScopes []string `pulumi:"notScopes"`
	// A JSON mapping of any Parameters for this Policy.
	Parameters string `pulumi:"parameters"`
	// The ID of the assigned Policy Definition.
	PolicyDefinitionId string `pulumi:"policyDefinitionId"`
	ScopeId            string `pulumi:"scopeId"`
}

A collection of values returned by getPolicyAssignment.

func GetPolicyAssignment added in v5.11.0

func GetPolicyAssignment(ctx *pulumi.Context, args *GetPolicyAssignmentArgs, opts ...pulumi.InvokeOption) (*GetPolicyAssignmentResult, error)

Use this data source to access information about an existing Policy Assignment.

## Example Usage

```go package main

import (

"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 {
		example, err := policy.GetPolicyAssignment(ctx, &policy.GetPolicyAssignmentArgs{
			Name:    "existing",
			ScopeId: data.Azurerm_resource_group.Example.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type GetPolicyAssignmentResultOutput added in v5.11.0

type GetPolicyAssignmentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyAssignment.

func GetPolicyAssignmentOutput added in v5.11.0

func (GetPolicyAssignmentResultOutput) Description added in v5.11.0

The description of this Policy Assignment.

func (GetPolicyAssignmentResultOutput) DisplayName added in v5.11.0

The display name of this Policy Assignment.

func (GetPolicyAssignmentResultOutput) ElementType added in v5.11.0

func (GetPolicyAssignmentResultOutput) Enforce added in v5.11.0

Whether this Policy is enforced or not?

func (GetPolicyAssignmentResultOutput) Id added in v5.11.0

The provider-assigned unique ID for this managed resource.

func (GetPolicyAssignmentResultOutput) Identities added in v5.11.0

A `identity` block as defined below.

func (GetPolicyAssignmentResultOutput) Location added in v5.11.0

The Azure Region where the Policy Assignment exists.

func (GetPolicyAssignmentResultOutput) Metadata added in v5.11.0

A JSON mapping of any Metadata for this Policy.

func (GetPolicyAssignmentResultOutput) Name added in v5.11.0

func (GetPolicyAssignmentResultOutput) NonComplianceMessages added in v5.11.0

A `nonComplianceMessage` block as defined below.

func (GetPolicyAssignmentResultOutput) NotScopes added in v5.11.0

A `notScopes` block as defined below.

func (GetPolicyAssignmentResultOutput) Parameters added in v5.11.0

A JSON mapping of any Parameters for this Policy.

func (GetPolicyAssignmentResultOutput) PolicyDefinitionId added in v5.11.0

func (o GetPolicyAssignmentResultOutput) PolicyDefinitionId() pulumi.StringOutput

The ID of the assigned Policy Definition.

func (GetPolicyAssignmentResultOutput) ScopeId added in v5.11.0

func (GetPolicyAssignmentResultOutput) ToGetPolicyAssignmentResultOutput added in v5.11.0

func (o GetPolicyAssignmentResultOutput) ToGetPolicyAssignmentResultOutput() GetPolicyAssignmentResultOutput

func (GetPolicyAssignmentResultOutput) ToGetPolicyAssignmentResultOutputWithContext added in v5.11.0

func (o GetPolicyAssignmentResultOutput) ToGetPolicyAssignmentResultOutputWithContext(ctx context.Context) GetPolicyAssignmentResultOutput

type GetPolicyDefintionArgs

type GetPolicyDefintionArgs struct {
	// Specifies the display name of the Policy Definition. Conflicts with `name`.
	//
	// > **NOTE** Looking up policies by `displayName` is not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the `name` property instead.
	DisplayName *string `pulumi:"displayName"`
	// Only retrieve Policy Definitions from this Management Group.
	ManagementGroupName *string `pulumi:"managementGroupName"`
	// Specifies the name of the Policy Definition. Conflicts with `displayName`.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getPolicyDefintion.

type GetPolicyDefintionBuiltInArgs added in v5.36.0

type GetPolicyDefintionBuiltInArgs struct {
	// Specifies the display name of the Policy Definition. Conflicts with `name`.
	//
	// > **NOTE** As `displayName` is not unique errors may occur when there are multiple policy definitions with same display name.
	DisplayName *string `pulumi:"displayName"`
	// Only retrieve Policy Definitions from this Management Group.
	ManagementGroupName *string `pulumi:"managementGroupName"`
	// Specifies the name of the Policy Definition. Conflicts with `displayName`.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getPolicyDefintionBuiltIn.

type GetPolicyDefintionBuiltInOutputArgs added in v5.36.0

type GetPolicyDefintionBuiltInOutputArgs struct {
	// Specifies the display name of the Policy Definition. Conflicts with `name`.
	//
	// > **NOTE** As `displayName` is not unique errors may occur when there are multiple policy definitions with same display name.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Only retrieve Policy Definitions from this Management Group.
	ManagementGroupName pulumi.StringPtrInput `pulumi:"managementGroupName"`
	// Specifies the name of the Policy Definition. Conflicts with `displayName`.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getPolicyDefintionBuiltIn.

func (GetPolicyDefintionBuiltInOutputArgs) ElementType added in v5.36.0

type GetPolicyDefintionBuiltInResult added in v5.36.0

type GetPolicyDefintionBuiltInResult struct {
	// The Description of the Policy.
	Description string `pulumi:"description"`
	DisplayName string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id                  string  `pulumi:"id"`
	ManagementGroupName *string `pulumi:"managementGroupName"`
	// Any Metadata defined in the Policy.
	Metadata string `pulumi:"metadata"`
	// The Mode of the Policy.
	Mode string `pulumi:"mode"`
	Name string `pulumi:"name"`
	// Any Parameters defined in the Policy.
	Parameters string `pulumi:"parameters"`
	// The Rule as defined (in JSON) in the Policy.
	PolicyRule string `pulumi:"policyRule"`
	// The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.
	PolicyType string `pulumi:"policyType"`
	// A list of role definition id extracted from `policyRule` required for remediation.
	RoleDefinitionIds []string `pulumi:"roleDefinitionIds"`
	// The Type of Policy.
	Type string `pulumi:"type"`
}

A collection of values returned by getPolicyDefintionBuiltIn.

func GetPolicyDefintionBuiltIn added in v5.36.0

func GetPolicyDefintionBuiltIn(ctx *pulumi.Context, args *GetPolicyDefintionBuiltInArgs, opts ...pulumi.InvokeOption) (*GetPolicyDefintionBuiltInResult, error)

Use this data source to access information about a Built-In Policy Definition. Retrieves Policy Definitions from your current subscription by default.

## Example Usage

```go package main

import (

"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 {
		example, err := policy.GetPolicyDefintionBuiltIn(ctx, &policy.GetPolicyDefintionBuiltInArgs{
			DisplayName: pulumi.StringRef("Allowed resource types"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type GetPolicyDefintionBuiltInResultOutput added in v5.36.0

type GetPolicyDefintionBuiltInResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyDefintionBuiltIn.

func (GetPolicyDefintionBuiltInResultOutput) Description added in v5.36.0

The Description of the Policy.

func (GetPolicyDefintionBuiltInResultOutput) DisplayName added in v5.36.0

func (GetPolicyDefintionBuiltInResultOutput) ElementType added in v5.36.0

func (GetPolicyDefintionBuiltInResultOutput) Id added in v5.36.0

The provider-assigned unique ID for this managed resource.

func (GetPolicyDefintionBuiltInResultOutput) ManagementGroupName added in v5.36.0

func (GetPolicyDefintionBuiltInResultOutput) Metadata added in v5.36.0

Any Metadata defined in the Policy.

func (GetPolicyDefintionBuiltInResultOutput) Mode added in v5.36.0

The Mode of the Policy.

func (GetPolicyDefintionBuiltInResultOutput) Name added in v5.36.0

func (GetPolicyDefintionBuiltInResultOutput) Parameters added in v5.36.0

Any Parameters defined in the Policy.

func (GetPolicyDefintionBuiltInResultOutput) PolicyRule added in v5.36.0

The Rule as defined (in JSON) in the Policy.

func (GetPolicyDefintionBuiltInResultOutput) PolicyType added in v5.36.0

The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.

func (GetPolicyDefintionBuiltInResultOutput) RoleDefinitionIds added in v5.36.0

A list of role definition id extracted from `policyRule` required for remediation.

func (GetPolicyDefintionBuiltInResultOutput) ToGetPolicyDefintionBuiltInResultOutput added in v5.36.0

func (o GetPolicyDefintionBuiltInResultOutput) ToGetPolicyDefintionBuiltInResultOutput() GetPolicyDefintionBuiltInResultOutput

func (GetPolicyDefintionBuiltInResultOutput) ToGetPolicyDefintionBuiltInResultOutputWithContext added in v5.36.0

func (o GetPolicyDefintionBuiltInResultOutput) ToGetPolicyDefintionBuiltInResultOutputWithContext(ctx context.Context) GetPolicyDefintionBuiltInResultOutput

func (GetPolicyDefintionBuiltInResultOutput) Type added in v5.36.0

The Type of Policy.

type GetPolicyDefintionOutputArgs

type GetPolicyDefintionOutputArgs struct {
	// Specifies the display name of the Policy Definition. Conflicts with `name`.
	//
	// > **NOTE** Looking up policies by `displayName` is not recommended by the Azure Policy team as the property is not unique nor immutable. As such errors may occur when there are multiple policy definitions with same display name or the display name is changed. To avoid these types of errors you may wish to use the `name` property instead.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Only retrieve Policy Definitions from this Management Group.
	ManagementGroupName pulumi.StringPtrInput `pulumi:"managementGroupName"`
	// Specifies the name of the Policy Definition. Conflicts with `displayName`.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getPolicyDefintion.

func (GetPolicyDefintionOutputArgs) ElementType

type GetPolicyDefintionResult

type GetPolicyDefintionResult struct {
	// The Description of the Policy.
	Description string `pulumi:"description"`
	DisplayName string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id                  string  `pulumi:"id"`
	ManagementGroupName *string `pulumi:"managementGroupName"`
	// Any Metadata defined in the Policy.
	Metadata string `pulumi:"metadata"`
	// The Mode of the Policy.
	Mode string `pulumi:"mode"`
	Name string `pulumi:"name"`
	// Any Parameters defined in the Policy.
	Parameters string `pulumi:"parameters"`
	// The Rule as defined (in JSON) in the Policy.
	PolicyRule string `pulumi:"policyRule"`
	// The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.
	PolicyType string `pulumi:"policyType"`
	// A list of role definition id extracted from `policyRule` required for remediation.
	RoleDefinitionIds []string `pulumi:"roleDefinitionIds"`
	// The Type of Policy.
	Type string `pulumi:"type"`
}

A collection of values returned by getPolicyDefintion.

func GetPolicyDefintion

func GetPolicyDefintion(ctx *pulumi.Context, args *GetPolicyDefintionArgs, opts ...pulumi.InvokeOption) (*GetPolicyDefintionResult, error)

Use this data source to access information about a Policy Definition, both custom and built in. Retrieves Policy Definitions from your current subscription by default.

## Example Usage

```go package main

import (

"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 {
		example, err := policy.GetPolicyDefintion(ctx, &policy.GetPolicyDefintionArgs{
			DisplayName: pulumi.StringRef("Allowed resource types"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type GetPolicyDefintionResultOutput

type GetPolicyDefintionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicyDefintion.

func (GetPolicyDefintionResultOutput) Description

The Description of the Policy.

func (GetPolicyDefintionResultOutput) DisplayName

func (GetPolicyDefintionResultOutput) ElementType

func (GetPolicyDefintionResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetPolicyDefintionResultOutput) ManagementGroupName

func (o GetPolicyDefintionResultOutput) ManagementGroupName() pulumi.StringPtrOutput

func (GetPolicyDefintionResultOutput) Metadata

Any Metadata defined in the Policy.

func (GetPolicyDefintionResultOutput) Mode added in v5.36.0

The Mode of the Policy.

func (GetPolicyDefintionResultOutput) Name

func (GetPolicyDefintionResultOutput) Parameters

Any Parameters defined in the Policy.

func (GetPolicyDefintionResultOutput) PolicyRule

The Rule as defined (in JSON) in the Policy.

func (GetPolicyDefintionResultOutput) PolicyType

The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.

func (GetPolicyDefintionResultOutput) RoleDefinitionIds added in v5.18.0

A list of role definition id extracted from `policyRule` required for remediation.

func (GetPolicyDefintionResultOutput) ToGetPolicyDefintionResultOutput

func (o GetPolicyDefintionResultOutput) ToGetPolicyDefintionResultOutput() GetPolicyDefintionResultOutput

func (GetPolicyDefintionResultOutput) ToGetPolicyDefintionResultOutputWithContext

func (o GetPolicyDefintionResultOutput) ToGetPolicyDefintionResultOutputWithContext(ctx context.Context) GetPolicyDefintionResultOutput

func (GetPolicyDefintionResultOutput) Type

The Type of Policy.

type GetPolicySetDefinitionPolicyDefinitionGroup

type GetPolicySetDefinitionPolicyDefinitionGroup struct {
	// The ID of a resource that contains additional metadata about this policy definition group.
	AdditionalMetadataResourceId string `pulumi:"additionalMetadataResourceId"`
	// The category of this policy definition group.
	Category string `pulumi:"category"`
	// The description of this policy definition group.
	Description string `pulumi:"description"`
	// Specifies the display name of the Policy Set Definition. Conflicts with `name`.
	//
	// **NOTE** As `displayName` is not unique errors may occur when there are multiple policy set definitions with same display name.
	DisplayName string `pulumi:"displayName"`
	// Specifies the name of the Policy Set Definition. Conflicts with `displayName`.
	Name string `pulumi:"name"`
}

type GetPolicySetDefinitionPolicyDefinitionGroupArgs

type GetPolicySetDefinitionPolicyDefinitionGroupArgs struct {
	// The ID of a resource that contains additional metadata about this policy definition group.
	AdditionalMetadataResourceId pulumi.StringInput `pulumi:"additionalMetadataResourceId"`
	// The category of this policy definition group.
	Category pulumi.StringInput `pulumi:"category"`
	// The description of this policy definition group.
	Description pulumi.StringInput `pulumi:"description"`
	// Specifies the display name of the Policy Set Definition. Conflicts with `name`.
	//
	// **NOTE** As `displayName` is not unique errors may occur when there are multiple policy set definitions with same display name.
	DisplayName pulumi.StringInput `pulumi:"displayName"`
	// Specifies the name of the Policy Set Definition. Conflicts with `displayName`.
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetPolicySetDefinitionPolicyDefinitionGroupArgs) ElementType

func (GetPolicySetDefinitionPolicyDefinitionGroupArgs) ToGetPolicySetDefinitionPolicyDefinitionGroupOutput

func (i GetPolicySetDefinitionPolicyDefinitionGroupArgs) ToGetPolicySetDefinitionPolicyDefinitionGroupOutput() GetPolicySetDefinitionPolicyDefinitionGroupOutput

func (GetPolicySetDefinitionPolicyDefinitionGroupArgs) ToGetPolicySetDefinitionPolicyDefinitionGroupOutputWithContext

func (i GetPolicySetDefinitionPolicyDefinitionGroupArgs) ToGetPolicySetDefinitionPolicyDefinitionGroupOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionGroupOutput

type GetPolicySetDefinitionPolicyDefinitionGroupArray

type GetPolicySetDefinitionPolicyDefinitionGroupArray []GetPolicySetDefinitionPolicyDefinitionGroupInput

func (GetPolicySetDefinitionPolicyDefinitionGroupArray) ElementType

func (GetPolicySetDefinitionPolicyDefinitionGroupArray) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (i GetPolicySetDefinitionPolicyDefinitionGroupArray) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutput() GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (GetPolicySetDefinitionPolicyDefinitionGroupArray) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext

func (i GetPolicySetDefinitionPolicyDefinitionGroupArray) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput

type GetPolicySetDefinitionPolicyDefinitionGroupArrayInput

type GetPolicySetDefinitionPolicyDefinitionGroupArrayInput interface {
	pulumi.Input

	ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutput() GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput
	ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext(context.Context) GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput
}

GetPolicySetDefinitionPolicyDefinitionGroupArrayInput is an input type that accepts GetPolicySetDefinitionPolicyDefinitionGroupArray and GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput values. You can construct a concrete instance of `GetPolicySetDefinitionPolicyDefinitionGroupArrayInput` via:

GetPolicySetDefinitionPolicyDefinitionGroupArray{ GetPolicySetDefinitionPolicyDefinitionGroupArgs{...} }

type GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput

type GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput struct{ *pulumi.OutputState }

func (GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput) ElementType

func (GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput) Index

func (GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext

func (o GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionGroupArrayOutput

type GetPolicySetDefinitionPolicyDefinitionGroupInput

type GetPolicySetDefinitionPolicyDefinitionGroupInput interface {
	pulumi.Input

	ToGetPolicySetDefinitionPolicyDefinitionGroupOutput() GetPolicySetDefinitionPolicyDefinitionGroupOutput
	ToGetPolicySetDefinitionPolicyDefinitionGroupOutputWithContext(context.Context) GetPolicySetDefinitionPolicyDefinitionGroupOutput
}

GetPolicySetDefinitionPolicyDefinitionGroupInput is an input type that accepts GetPolicySetDefinitionPolicyDefinitionGroupArgs and GetPolicySetDefinitionPolicyDefinitionGroupOutput values. You can construct a concrete instance of `GetPolicySetDefinitionPolicyDefinitionGroupInput` via:

GetPolicySetDefinitionPolicyDefinitionGroupArgs{...}

type GetPolicySetDefinitionPolicyDefinitionGroupOutput

type GetPolicySetDefinitionPolicyDefinitionGroupOutput struct{ *pulumi.OutputState }

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) AdditionalMetadataResourceId

The ID of a resource that contains additional metadata about this policy definition group.

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) Category

The category of this policy definition group.

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) Description

The description of this policy definition group.

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) DisplayName

Specifies the display name of the Policy Set Definition. Conflicts with `name`.

**NOTE** As `displayName` is not unique errors may occur when there are multiple policy set definitions with same display name.

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) ElementType

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) Name

Specifies the name of the Policy Set Definition. Conflicts with `displayName`.

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupOutput

func (o GetPolicySetDefinitionPolicyDefinitionGroupOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupOutput() GetPolicySetDefinitionPolicyDefinitionGroupOutput

func (GetPolicySetDefinitionPolicyDefinitionGroupOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupOutputWithContext

func (o GetPolicySetDefinitionPolicyDefinitionGroupOutput) ToGetPolicySetDefinitionPolicyDefinitionGroupOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionGroupOutput

type GetPolicySetDefinitionPolicyDefinitionReference

type GetPolicySetDefinitionPolicyDefinitionReference struct {
	// The parameter values for the referenced policy rule. This field is a JSON object.
	ParameterValues string `pulumi:"parameterValues"`
	// The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.
	Parameters map[string]string `pulumi:"parameters"`
	// The ID of the policy definition or policy set definition that is included in this policy set definition.
	PolicyDefinitionId string `pulumi:"policyDefinitionId"`
	// The list of names of the policy definition groups that this policy definition reference belongs to.
	PolicyGroupNames []string `pulumi:"policyGroupNames"`
	// The unique ID within this policy set definition for this policy definition reference.
	ReferenceId string `pulumi:"referenceId"`
}

type GetPolicySetDefinitionPolicyDefinitionReferenceArgs

type GetPolicySetDefinitionPolicyDefinitionReferenceArgs struct {
	// The parameter values for the referenced policy rule. This field is a JSON object.
	ParameterValues pulumi.StringInput `pulumi:"parameterValues"`
	// The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.
	Parameters pulumi.StringMapInput `pulumi:"parameters"`
	// The ID of the policy definition or policy set definition that is included in this policy set definition.
	PolicyDefinitionId pulumi.StringInput `pulumi:"policyDefinitionId"`
	// The list of names of the policy definition groups that this policy definition reference belongs to.
	PolicyGroupNames pulumi.StringArrayInput `pulumi:"policyGroupNames"`
	// The unique ID within this policy set definition for this policy definition reference.
	ReferenceId pulumi.StringInput `pulumi:"referenceId"`
}

func (GetPolicySetDefinitionPolicyDefinitionReferenceArgs) ElementType

func (GetPolicySetDefinitionPolicyDefinitionReferenceArgs) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutput

func (i GetPolicySetDefinitionPolicyDefinitionReferenceArgs) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutput() GetPolicySetDefinitionPolicyDefinitionReferenceOutput

func (GetPolicySetDefinitionPolicyDefinitionReferenceArgs) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext

func (i GetPolicySetDefinitionPolicyDefinitionReferenceArgs) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionReferenceOutput

type GetPolicySetDefinitionPolicyDefinitionReferenceArray

type GetPolicySetDefinitionPolicyDefinitionReferenceArray []GetPolicySetDefinitionPolicyDefinitionReferenceInput

func (GetPolicySetDefinitionPolicyDefinitionReferenceArray) ElementType

func (GetPolicySetDefinitionPolicyDefinitionReferenceArray) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

func (i GetPolicySetDefinitionPolicyDefinitionReferenceArray) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput() GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

func (GetPolicySetDefinitionPolicyDefinitionReferenceArray) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext

func (i GetPolicySetDefinitionPolicyDefinitionReferenceArray) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

type GetPolicySetDefinitionPolicyDefinitionReferenceArrayInput

type GetPolicySetDefinitionPolicyDefinitionReferenceArrayInput interface {
	pulumi.Input

	ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput() GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput
	ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext(context.Context) GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput
}

GetPolicySetDefinitionPolicyDefinitionReferenceArrayInput is an input type that accepts GetPolicySetDefinitionPolicyDefinitionReferenceArray and GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput values. You can construct a concrete instance of `GetPolicySetDefinitionPolicyDefinitionReferenceArrayInput` via:

GetPolicySetDefinitionPolicyDefinitionReferenceArray{ GetPolicySetDefinitionPolicyDefinitionReferenceArgs{...} }

type GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

type GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput struct{ *pulumi.OutputState }

func (GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ElementType

func (GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput) Index

func (GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

func (GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext

func (o GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ToGetPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

type GetPolicySetDefinitionPolicyDefinitionReferenceInput

type GetPolicySetDefinitionPolicyDefinitionReferenceInput interface {
	pulumi.Input

	ToGetPolicySetDefinitionPolicyDefinitionReferenceOutput() GetPolicySetDefinitionPolicyDefinitionReferenceOutput
	ToGetPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext(context.Context) GetPolicySetDefinitionPolicyDefinitionReferenceOutput
}

GetPolicySetDefinitionPolicyDefinitionReferenceInput is an input type that accepts GetPolicySetDefinitionPolicyDefinitionReferenceArgs and GetPolicySetDefinitionPolicyDefinitionReferenceOutput values. You can construct a concrete instance of `GetPolicySetDefinitionPolicyDefinitionReferenceInput` via:

GetPolicySetDefinitionPolicyDefinitionReferenceArgs{...}

type GetPolicySetDefinitionPolicyDefinitionReferenceOutput

type GetPolicySetDefinitionPolicyDefinitionReferenceOutput struct{ *pulumi.OutputState }

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) ElementType

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) ParameterValues

The parameter values for the referenced policy rule. This field is a JSON object.

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) Parameters

The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) PolicyDefinitionId

The ID of the policy definition or policy set definition that is included in this policy set definition.

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) PolicyGroupNames

The list of names of the policy definition groups that this policy definition reference belongs to.

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) ReferenceId

The unique ID within this policy set definition for this policy definition reference.

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutput

func (GetPolicySetDefinitionPolicyDefinitionReferenceOutput) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext

func (o GetPolicySetDefinitionPolicyDefinitionReferenceOutput) ToGetPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext(ctx context.Context) GetPolicySetDefinitionPolicyDefinitionReferenceOutput

type LookupPolicySetDefinitionArgs

type LookupPolicySetDefinitionArgs struct {
	// Specifies the display name of the Policy Set Definition. Conflicts with `name`.
	//
	// **NOTE** As `displayName` is not unique errors may occur when there are multiple policy set definitions with same display name.
	DisplayName *string `pulumi:"displayName"`
	// Only retrieve Policy Set Definitions from this Management Group.
	ManagementGroupName *string `pulumi:"managementGroupName"`
	// Specifies the name of the Policy Set Definition. Conflicts with `displayName`.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getPolicySetDefinition.

type LookupPolicySetDefinitionOutputArgs

type LookupPolicySetDefinitionOutputArgs struct {
	// Specifies the display name of the Policy Set Definition. Conflicts with `name`.
	//
	// **NOTE** As `displayName` is not unique errors may occur when there are multiple policy set definitions with same display name.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Only retrieve Policy Set Definitions from this Management Group.
	ManagementGroupName pulumi.StringPtrInput `pulumi:"managementGroupName"`
	// Specifies the name of the Policy Set Definition. Conflicts with `displayName`.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getPolicySetDefinition.

func (LookupPolicySetDefinitionOutputArgs) ElementType

type LookupPolicySetDefinitionResult

type LookupPolicySetDefinitionResult struct {
	// The description of this policy definition group.
	Description string `pulumi:"description"`
	// The display name of this policy definition group.
	DisplayName string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id                  string  `pulumi:"id"`
	ManagementGroupName *string `pulumi:"managementGroupName"`
	// Any Metadata defined in the Policy Set Definition.
	Metadata string `pulumi:"metadata"`
	// The name of this policy definition group.
	Name string `pulumi:"name"`
	// The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.
	Parameters string `pulumi:"parameters"`
	// One or more `policyDefinitionGroup` blocks as defined below.
	PolicyDefinitionGroups []GetPolicySetDefinitionPolicyDefinitionGroup `pulumi:"policyDefinitionGroups"`
	// One or more `policyDefinitionReference` blocks as defined below.
	PolicyDefinitionReferences []GetPolicySetDefinitionPolicyDefinitionReference `pulumi:"policyDefinitionReferences"`
	// The policy definitions contained within the policy set definition.
	PolicyDefinitions string `pulumi:"policyDefinitions"`
	// The Type of the Policy Set Definition.
	PolicyType string `pulumi:"policyType"`
}

A collection of values returned by getPolicySetDefinition.

func LookupPolicySetDefinition

func LookupPolicySetDefinition(ctx *pulumi.Context, args *LookupPolicySetDefinitionArgs, opts ...pulumi.InvokeOption) (*LookupPolicySetDefinitionResult, error)

Use this data source to access information about an existing Policy Set Definition.

## Example Usage

```go package main

import (

"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 {
		example, err := policy.LookupPolicySetDefinition(ctx, &policy.LookupPolicySetDefinitionArgs{
			DisplayName: pulumi.StringRef("Policy Set Definition Example"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupPolicySetDefinitionResultOutput

type LookupPolicySetDefinitionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPolicySetDefinition.

func (LookupPolicySetDefinitionResultOutput) Description

The description of this policy definition group.

func (LookupPolicySetDefinitionResultOutput) DisplayName

The display name of this policy definition group.

func (LookupPolicySetDefinitionResultOutput) ElementType

func (LookupPolicySetDefinitionResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPolicySetDefinitionResultOutput) ManagementGroupName

func (LookupPolicySetDefinitionResultOutput) Metadata

Any Metadata defined in the Policy Set Definition.

func (LookupPolicySetDefinitionResultOutput) Name

The name of this policy definition group.

func (LookupPolicySetDefinitionResultOutput) Parameters

The mapping of the parameter values for the referenced policy rule. The keys are the parameter names.

func (LookupPolicySetDefinitionResultOutput) PolicyDefinitionGroups

One or more `policyDefinitionGroup` blocks as defined below.

func (LookupPolicySetDefinitionResultOutput) PolicyDefinitionReferences

One or more `policyDefinitionReference` blocks as defined below.

func (LookupPolicySetDefinitionResultOutput) PolicyDefinitions

The policy definitions contained within the policy set definition.

func (LookupPolicySetDefinitionResultOutput) PolicyType

The Type of the Policy Set Definition.

func (LookupPolicySetDefinitionResultOutput) ToLookupPolicySetDefinitionResultOutput

func (o LookupPolicySetDefinitionResultOutput) ToLookupPolicySetDefinitionResultOutput() LookupPolicySetDefinitionResultOutput

func (LookupPolicySetDefinitionResultOutput) ToLookupPolicySetDefinitionResultOutputWithContext

func (o LookupPolicySetDefinitionResultOutput) ToLookupPolicySetDefinitionResultOutputWithContext(ctx context.Context) LookupPolicySetDefinitionResultOutput

type LookupVirtualMachineConfigurationAssignmentArgs

type LookupVirtualMachineConfigurationAssignmentArgs struct {
	// Specifies the name of the Guest Configuration Assignment.
	Name string `pulumi:"name"`
	// Specifies the Name of the Resource Group where the Guest Configuration Assignment exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// Only retrieve Policy Set Definitions from this Management Group.
	VirtualMachineName string `pulumi:"virtualMachineName"`
}

A collection of arguments for invoking getVirtualMachineConfigurationAssignment.

type LookupVirtualMachineConfigurationAssignmentOutputArgs

type LookupVirtualMachineConfigurationAssignmentOutputArgs struct {
	// Specifies the name of the Guest Configuration Assignment.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the Name of the Resource Group where the Guest Configuration Assignment exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
	// Only retrieve Policy Set Definitions from this Management Group.
	VirtualMachineName pulumi.StringInput `pulumi:"virtualMachineName"`
}

A collection of arguments for invoking getVirtualMachineConfigurationAssignment.

func (LookupVirtualMachineConfigurationAssignmentOutputArgs) ElementType

type LookupVirtualMachineConfigurationAssignmentResult

type LookupVirtualMachineConfigurationAssignmentResult struct {
	// Combined hash of the configuration package and parameters.
	AssignmentHash string `pulumi:"assignmentHash"`
	// A value indicating compliance status of the machine for the assigned guest configuration. Possible return values are `Compliant`, `NonCompliant` and `Pending`.
	ComplianceStatus string `pulumi:"complianceStatus"`
	// The content hash for the Guest Configuration package.
	ContentHash string `pulumi:"contentHash"`
	// The content URI where the Guest Configuration package is stored.
	ContentUri string `pulumi:"contentUri"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Date and time, in RFC3339 format, when the machines compliance status was last checked.
	LastComplianceStatusChecked string `pulumi:"lastComplianceStatusChecked"`
	// The ID of the latest report for the guest configuration assignment.
	LatestReportId     string `pulumi:"latestReportId"`
	Name               string `pulumi:"name"`
	ResourceGroupName  string `pulumi:"resourceGroupName"`
	VirtualMachineName string `pulumi:"virtualMachineName"`
}

A collection of values returned by getVirtualMachineConfigurationAssignment.

func LookupVirtualMachineConfigurationAssignment

Use this data source to access information about an existing Guest Configuration Policy.

## Example Usage

```go package main

import (

"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 {
		example, err := policy.LookupVirtualMachineConfigurationAssignment(ctx, &policy.LookupVirtualMachineConfigurationAssignmentArgs{
			Name:               "AzureWindowsBaseline",
			ResourceGroupName:  "example-RG",
			VirtualMachineName: "example-vm",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("complianceStatus", example.ComplianceStatus)
		return nil
	})
}

```

type LookupVirtualMachineConfigurationAssignmentResultOutput

type LookupVirtualMachineConfigurationAssignmentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVirtualMachineConfigurationAssignment.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) AssignmentHash

Combined hash of the configuration package and parameters.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ComplianceStatus

A value indicating compliance status of the machine for the assigned guest configuration. Possible return values are `Compliant`, `NonCompliant` and `Pending`.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ContentHash

The content hash for the Guest Configuration package.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ContentUri

The content URI where the Guest Configuration package is stored.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ElementType

func (LookupVirtualMachineConfigurationAssignmentResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) LastComplianceStatusChecked

Date and time, in RFC3339 format, when the machines compliance status was last checked.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) LatestReportId

The ID of the latest report for the guest configuration assignment.

func (LookupVirtualMachineConfigurationAssignmentResultOutput) Name

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ResourceGroupName

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ToLookupVirtualMachineConfigurationAssignmentResultOutput

func (LookupVirtualMachineConfigurationAssignmentResultOutput) ToLookupVirtualMachineConfigurationAssignmentResultOutputWithContext

func (o LookupVirtualMachineConfigurationAssignmentResultOutput) ToLookupVirtualMachineConfigurationAssignmentResultOutputWithContext(ctx context.Context) LookupVirtualMachineConfigurationAssignmentResultOutput

func (LookupVirtualMachineConfigurationAssignmentResultOutput) VirtualMachineName

type PolicySetDefinition

type PolicySetDefinition struct {
	pulumi.CustomResourceState

	// The description of the policy set definition.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The display name of the policy set definition.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// The id of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrOutput `pulumi:"managementGroupId"`
	// The metadata for the policy set definition. This is a JSON object representing additional metadata that should be stored with the policy definition.
	Metadata pulumi.StringOutput `pulumi:"metadata"`
	// The name of the policy set definition. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Parameters for the policy set definition. This field is a JSON object that allows you to parameterize your policy definition.
	Parameters pulumi.StringPtrOutput `pulumi:"parameters"`
	// One or more `policyDefinitionGroup` blocks as defined below.
	PolicyDefinitionGroups PolicySetDefinitionPolicyDefinitionGroupArrayOutput `pulumi:"policyDefinitionGroups"`
	// One or more `policyDefinitionReference` blocks as defined below.
	PolicyDefinitionReferences PolicySetDefinitionPolicyDefinitionReferenceArrayOutput `pulumi:"policyDefinitionReferences"`
	// The policy set type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringOutput `pulumi:"policyType"`
}

Manages a policy set definition.

> **NOTE:** Policy set definitions (also known as policy initiatives) do not take effect until they are assigned to a scope using a Policy Set Assignment.

## Example Usage

```go package main

import (

"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 {
		_, err := policy.NewPolicySetDefinition(ctx, "example", &policy.PolicySetDefinitionArgs{
			DisplayName: pulumi.String("Test Policy Set"),
			Parameters: pulumi.String(`    {
        "allowedLocations": {
            "type": "Array",
            "metadata": {
                "description": "The list of allowed locations for resources.",
                "displayName": "Allowed locations",
                "strongType": "location"
            }
        }
    }

`),

			PolicyDefinitionReferences: policy.PolicySetDefinitionPolicyDefinitionReferenceArray{
				&policy.PolicySetDefinitionPolicyDefinitionReferenceArgs{
					ParameterValues:    pulumi.String("    {\n      \"listOfAllowedLocations\": {\"value\": \"[parameters('allowedLocations')]\"}\n    }\n    \n"),
					PolicyDefinitionId: pulumi.String("/providers/Microsoft.Authorization/policyDefinitions/e765b5de-1225-4ba3-bd56-1ac6695af988"),
				},
			},
			PolicyType: pulumi.String("Custom"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import azure:policy/policySetDefinition:PolicySetDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/policySetDefinitions/testPolicySet

```

or

```sh

$ pulumi import azure:policy/policySetDefinition:PolicySetDefinition example /providers/Microsoft.Management/managementGroups/my-mgmt-group-id/providers/Microsoft.Authorization/policySetDefinitions/testPolicySet

```

func GetPolicySetDefinition

func GetPolicySetDefinition(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicySetDefinitionState, opts ...pulumi.ResourceOption) (*PolicySetDefinition, error)

GetPolicySetDefinition gets an existing PolicySetDefinition 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 NewPolicySetDefinition

func NewPolicySetDefinition(ctx *pulumi.Context,
	name string, args *PolicySetDefinitionArgs, opts ...pulumi.ResourceOption) (*PolicySetDefinition, error)

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

func (*PolicySetDefinition) ElementType

func (*PolicySetDefinition) ElementType() reflect.Type

func (*PolicySetDefinition) ToPolicySetDefinitionOutput

func (i *PolicySetDefinition) ToPolicySetDefinitionOutput() PolicySetDefinitionOutput

func (*PolicySetDefinition) ToPolicySetDefinitionOutputWithContext

func (i *PolicySetDefinition) ToPolicySetDefinitionOutputWithContext(ctx context.Context) PolicySetDefinitionOutput

type PolicySetDefinitionArgs

type PolicySetDefinitionArgs struct {
	// The description of the policy set definition.
	Description pulumi.StringPtrInput
	// The display name of the policy set definition.
	DisplayName pulumi.StringInput
	// The id of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The metadata for the policy set definition. This is a JSON object representing additional metadata that should be stored with the policy definition.
	Metadata pulumi.StringPtrInput
	// The name of the policy set definition. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Parameters for the policy set definition. This field is a JSON object that allows you to parameterize your policy definition.
	Parameters pulumi.StringPtrInput
	// One or more `policyDefinitionGroup` blocks as defined below.
	PolicyDefinitionGroups PolicySetDefinitionPolicyDefinitionGroupArrayInput
	// One or more `policyDefinitionReference` blocks as defined below.
	PolicyDefinitionReferences PolicySetDefinitionPolicyDefinitionReferenceArrayInput
	// The policy set type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringInput
}

The set of arguments for constructing a PolicySetDefinition resource.

func (PolicySetDefinitionArgs) ElementType

func (PolicySetDefinitionArgs) ElementType() reflect.Type

type PolicySetDefinitionArray

type PolicySetDefinitionArray []PolicySetDefinitionInput

func (PolicySetDefinitionArray) ElementType

func (PolicySetDefinitionArray) ElementType() reflect.Type

func (PolicySetDefinitionArray) ToPolicySetDefinitionArrayOutput

func (i PolicySetDefinitionArray) ToPolicySetDefinitionArrayOutput() PolicySetDefinitionArrayOutput

func (PolicySetDefinitionArray) ToPolicySetDefinitionArrayOutputWithContext

func (i PolicySetDefinitionArray) ToPolicySetDefinitionArrayOutputWithContext(ctx context.Context) PolicySetDefinitionArrayOutput

type PolicySetDefinitionArrayInput

type PolicySetDefinitionArrayInput interface {
	pulumi.Input

	ToPolicySetDefinitionArrayOutput() PolicySetDefinitionArrayOutput
	ToPolicySetDefinitionArrayOutputWithContext(context.Context) PolicySetDefinitionArrayOutput
}

PolicySetDefinitionArrayInput is an input type that accepts PolicySetDefinitionArray and PolicySetDefinitionArrayOutput values. You can construct a concrete instance of `PolicySetDefinitionArrayInput` via:

PolicySetDefinitionArray{ PolicySetDefinitionArgs{...} }

type PolicySetDefinitionArrayOutput

type PolicySetDefinitionArrayOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionArrayOutput) ElementType

func (PolicySetDefinitionArrayOutput) Index

func (PolicySetDefinitionArrayOutput) ToPolicySetDefinitionArrayOutput

func (o PolicySetDefinitionArrayOutput) ToPolicySetDefinitionArrayOutput() PolicySetDefinitionArrayOutput

func (PolicySetDefinitionArrayOutput) ToPolicySetDefinitionArrayOutputWithContext

func (o PolicySetDefinitionArrayOutput) ToPolicySetDefinitionArrayOutputWithContext(ctx context.Context) PolicySetDefinitionArrayOutput

type PolicySetDefinitionInput

type PolicySetDefinitionInput interface {
	pulumi.Input

	ToPolicySetDefinitionOutput() PolicySetDefinitionOutput
	ToPolicySetDefinitionOutputWithContext(ctx context.Context) PolicySetDefinitionOutput
}

type PolicySetDefinitionMap

type PolicySetDefinitionMap map[string]PolicySetDefinitionInput

func (PolicySetDefinitionMap) ElementType

func (PolicySetDefinitionMap) ElementType() reflect.Type

func (PolicySetDefinitionMap) ToPolicySetDefinitionMapOutput

func (i PolicySetDefinitionMap) ToPolicySetDefinitionMapOutput() PolicySetDefinitionMapOutput

func (PolicySetDefinitionMap) ToPolicySetDefinitionMapOutputWithContext

func (i PolicySetDefinitionMap) ToPolicySetDefinitionMapOutputWithContext(ctx context.Context) PolicySetDefinitionMapOutput

type PolicySetDefinitionMapInput

type PolicySetDefinitionMapInput interface {
	pulumi.Input

	ToPolicySetDefinitionMapOutput() PolicySetDefinitionMapOutput
	ToPolicySetDefinitionMapOutputWithContext(context.Context) PolicySetDefinitionMapOutput
}

PolicySetDefinitionMapInput is an input type that accepts PolicySetDefinitionMap and PolicySetDefinitionMapOutput values. You can construct a concrete instance of `PolicySetDefinitionMapInput` via:

PolicySetDefinitionMap{ "key": PolicySetDefinitionArgs{...} }

type PolicySetDefinitionMapOutput

type PolicySetDefinitionMapOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionMapOutput) ElementType

func (PolicySetDefinitionMapOutput) MapIndex

func (PolicySetDefinitionMapOutput) ToPolicySetDefinitionMapOutput

func (o PolicySetDefinitionMapOutput) ToPolicySetDefinitionMapOutput() PolicySetDefinitionMapOutput

func (PolicySetDefinitionMapOutput) ToPolicySetDefinitionMapOutputWithContext

func (o PolicySetDefinitionMapOutput) ToPolicySetDefinitionMapOutputWithContext(ctx context.Context) PolicySetDefinitionMapOutput

type PolicySetDefinitionOutput

type PolicySetDefinitionOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionOutput) Description added in v5.5.0

The description of the policy set definition.

func (PolicySetDefinitionOutput) DisplayName added in v5.5.0

The display name of the policy set definition.

func (PolicySetDefinitionOutput) ElementType

func (PolicySetDefinitionOutput) ElementType() reflect.Type

func (PolicySetDefinitionOutput) ManagementGroupId added in v5.5.0

func (o PolicySetDefinitionOutput) ManagementGroupId() pulumi.StringPtrOutput

The id of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.

func (PolicySetDefinitionOutput) Metadata added in v5.5.0

The metadata for the policy set definition. This is a JSON object representing additional metadata that should be stored with the policy definition.

func (PolicySetDefinitionOutput) Name added in v5.5.0

The name of the policy set definition. Changing this forces a new resource to be created.

func (PolicySetDefinitionOutput) Parameters added in v5.5.0

Parameters for the policy set definition. This field is a JSON object that allows you to parameterize your policy definition.

func (PolicySetDefinitionOutput) PolicyDefinitionGroups added in v5.5.0

One or more `policyDefinitionGroup` blocks as defined below.

func (PolicySetDefinitionOutput) PolicyDefinitionReferences added in v5.5.0

One or more `policyDefinitionReference` blocks as defined below.

func (PolicySetDefinitionOutput) PolicyType added in v5.5.0

The policy set type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.

func (PolicySetDefinitionOutput) ToPolicySetDefinitionOutput

func (o PolicySetDefinitionOutput) ToPolicySetDefinitionOutput() PolicySetDefinitionOutput

func (PolicySetDefinitionOutput) ToPolicySetDefinitionOutputWithContext

func (o PolicySetDefinitionOutput) ToPolicySetDefinitionOutputWithContext(ctx context.Context) PolicySetDefinitionOutput

type PolicySetDefinitionPolicyDefinitionGroup

type PolicySetDefinitionPolicyDefinitionGroup struct {
	// The ID of a resource that contains additional metadata about this policy definition group.
	AdditionalMetadataResourceId *string `pulumi:"additionalMetadataResourceId"`
	// The category of this policy definition group.
	Category *string `pulumi:"category"`
	// The description of this policy definition group.
	Description *string `pulumi:"description"`
	// The display name of this policy definition group.
	DisplayName *string `pulumi:"displayName"`
	// The name of this policy definition group.
	Name string `pulumi:"name"`
}

type PolicySetDefinitionPolicyDefinitionGroupArgs

type PolicySetDefinitionPolicyDefinitionGroupArgs struct {
	// The ID of a resource that contains additional metadata about this policy definition group.
	AdditionalMetadataResourceId pulumi.StringPtrInput `pulumi:"additionalMetadataResourceId"`
	// The category of this policy definition group.
	Category pulumi.StringPtrInput `pulumi:"category"`
	// The description of this policy definition group.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The display name of this policy definition group.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// The name of this policy definition group.
	Name pulumi.StringInput `pulumi:"name"`
}

func (PolicySetDefinitionPolicyDefinitionGroupArgs) ElementType

func (PolicySetDefinitionPolicyDefinitionGroupArgs) ToPolicySetDefinitionPolicyDefinitionGroupOutput

func (i PolicySetDefinitionPolicyDefinitionGroupArgs) ToPolicySetDefinitionPolicyDefinitionGroupOutput() PolicySetDefinitionPolicyDefinitionGroupOutput

func (PolicySetDefinitionPolicyDefinitionGroupArgs) ToPolicySetDefinitionPolicyDefinitionGroupOutputWithContext

func (i PolicySetDefinitionPolicyDefinitionGroupArgs) ToPolicySetDefinitionPolicyDefinitionGroupOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionGroupOutput

type PolicySetDefinitionPolicyDefinitionGroupArray

type PolicySetDefinitionPolicyDefinitionGroupArray []PolicySetDefinitionPolicyDefinitionGroupInput

func (PolicySetDefinitionPolicyDefinitionGroupArray) ElementType

func (PolicySetDefinitionPolicyDefinitionGroupArray) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (i PolicySetDefinitionPolicyDefinitionGroupArray) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutput() PolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (PolicySetDefinitionPolicyDefinitionGroupArray) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext

func (i PolicySetDefinitionPolicyDefinitionGroupArray) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionGroupArrayOutput

type PolicySetDefinitionPolicyDefinitionGroupArrayInput

type PolicySetDefinitionPolicyDefinitionGroupArrayInput interface {
	pulumi.Input

	ToPolicySetDefinitionPolicyDefinitionGroupArrayOutput() PolicySetDefinitionPolicyDefinitionGroupArrayOutput
	ToPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext(context.Context) PolicySetDefinitionPolicyDefinitionGroupArrayOutput
}

PolicySetDefinitionPolicyDefinitionGroupArrayInput is an input type that accepts PolicySetDefinitionPolicyDefinitionGroupArray and PolicySetDefinitionPolicyDefinitionGroupArrayOutput values. You can construct a concrete instance of `PolicySetDefinitionPolicyDefinitionGroupArrayInput` via:

PolicySetDefinitionPolicyDefinitionGroupArray{ PolicySetDefinitionPolicyDefinitionGroupArgs{...} }

type PolicySetDefinitionPolicyDefinitionGroupArrayOutput

type PolicySetDefinitionPolicyDefinitionGroupArrayOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionPolicyDefinitionGroupArrayOutput) ElementType

func (PolicySetDefinitionPolicyDefinitionGroupArrayOutput) Index

func (PolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (o PolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutput() PolicySetDefinitionPolicyDefinitionGroupArrayOutput

func (PolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext

func (o PolicySetDefinitionPolicyDefinitionGroupArrayOutput) ToPolicySetDefinitionPolicyDefinitionGroupArrayOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionGroupArrayOutput

type PolicySetDefinitionPolicyDefinitionGroupInput

type PolicySetDefinitionPolicyDefinitionGroupInput interface {
	pulumi.Input

	ToPolicySetDefinitionPolicyDefinitionGroupOutput() PolicySetDefinitionPolicyDefinitionGroupOutput
	ToPolicySetDefinitionPolicyDefinitionGroupOutputWithContext(context.Context) PolicySetDefinitionPolicyDefinitionGroupOutput
}

PolicySetDefinitionPolicyDefinitionGroupInput is an input type that accepts PolicySetDefinitionPolicyDefinitionGroupArgs and PolicySetDefinitionPolicyDefinitionGroupOutput values. You can construct a concrete instance of `PolicySetDefinitionPolicyDefinitionGroupInput` via:

PolicySetDefinitionPolicyDefinitionGroupArgs{...}

type PolicySetDefinitionPolicyDefinitionGroupOutput

type PolicySetDefinitionPolicyDefinitionGroupOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionPolicyDefinitionGroupOutput) AdditionalMetadataResourceId

The ID of a resource that contains additional metadata about this policy definition group.

func (PolicySetDefinitionPolicyDefinitionGroupOutput) Category

The category of this policy definition group.

func (PolicySetDefinitionPolicyDefinitionGroupOutput) Description

The description of this policy definition group.

func (PolicySetDefinitionPolicyDefinitionGroupOutput) DisplayName

The display name of this policy definition group.

func (PolicySetDefinitionPolicyDefinitionGroupOutput) ElementType

func (PolicySetDefinitionPolicyDefinitionGroupOutput) Name

The name of this policy definition group.

func (PolicySetDefinitionPolicyDefinitionGroupOutput) ToPolicySetDefinitionPolicyDefinitionGroupOutput

func (o PolicySetDefinitionPolicyDefinitionGroupOutput) ToPolicySetDefinitionPolicyDefinitionGroupOutput() PolicySetDefinitionPolicyDefinitionGroupOutput

func (PolicySetDefinitionPolicyDefinitionGroupOutput) ToPolicySetDefinitionPolicyDefinitionGroupOutputWithContext

func (o PolicySetDefinitionPolicyDefinitionGroupOutput) ToPolicySetDefinitionPolicyDefinitionGroupOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionGroupOutput

type PolicySetDefinitionPolicyDefinitionReference

type PolicySetDefinitionPolicyDefinitionReference struct {
	// Parameter values for the referenced policy rule. This field is a JSON string that allows you to assign parameters to this policy rule.
	ParameterValues *string `pulumi:"parameterValues"`
	// The ID of the policy definition that will be included in this policy set definition.
	PolicyDefinitionId string `pulumi:"policyDefinitionId"`
	// A list of names of the policy definition groups that this policy definition reference belongs to.
	PolicyGroupNames []string `pulumi:"policyGroupNames"`
	// A unique ID within this policy set definition for this policy definition reference.
	ReferenceId *string `pulumi:"referenceId"`
}

type PolicySetDefinitionPolicyDefinitionReferenceArgs

type PolicySetDefinitionPolicyDefinitionReferenceArgs struct {
	// Parameter values for the referenced policy rule. This field is a JSON string that allows you to assign parameters to this policy rule.
	ParameterValues pulumi.StringPtrInput `pulumi:"parameterValues"`
	// The ID of the policy definition that will be included in this policy set definition.
	PolicyDefinitionId pulumi.StringInput `pulumi:"policyDefinitionId"`
	// A list of names of the policy definition groups that this policy definition reference belongs to.
	PolicyGroupNames pulumi.StringArrayInput `pulumi:"policyGroupNames"`
	// A unique ID within this policy set definition for this policy definition reference.
	ReferenceId pulumi.StringPtrInput `pulumi:"referenceId"`
}

func (PolicySetDefinitionPolicyDefinitionReferenceArgs) ElementType

func (PolicySetDefinitionPolicyDefinitionReferenceArgs) ToPolicySetDefinitionPolicyDefinitionReferenceOutput

func (i PolicySetDefinitionPolicyDefinitionReferenceArgs) ToPolicySetDefinitionPolicyDefinitionReferenceOutput() PolicySetDefinitionPolicyDefinitionReferenceOutput

func (PolicySetDefinitionPolicyDefinitionReferenceArgs) ToPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext

func (i PolicySetDefinitionPolicyDefinitionReferenceArgs) ToPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionReferenceOutput

type PolicySetDefinitionPolicyDefinitionReferenceArray

type PolicySetDefinitionPolicyDefinitionReferenceArray []PolicySetDefinitionPolicyDefinitionReferenceInput

func (PolicySetDefinitionPolicyDefinitionReferenceArray) ElementType

func (PolicySetDefinitionPolicyDefinitionReferenceArray) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

func (i PolicySetDefinitionPolicyDefinitionReferenceArray) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutput() PolicySetDefinitionPolicyDefinitionReferenceArrayOutput

func (PolicySetDefinitionPolicyDefinitionReferenceArray) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext

func (i PolicySetDefinitionPolicyDefinitionReferenceArray) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionReferenceArrayOutput

type PolicySetDefinitionPolicyDefinitionReferenceArrayInput

type PolicySetDefinitionPolicyDefinitionReferenceArrayInput interface {
	pulumi.Input

	ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutput() PolicySetDefinitionPolicyDefinitionReferenceArrayOutput
	ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext(context.Context) PolicySetDefinitionPolicyDefinitionReferenceArrayOutput
}

PolicySetDefinitionPolicyDefinitionReferenceArrayInput is an input type that accepts PolicySetDefinitionPolicyDefinitionReferenceArray and PolicySetDefinitionPolicyDefinitionReferenceArrayOutput values. You can construct a concrete instance of `PolicySetDefinitionPolicyDefinitionReferenceArrayInput` via:

PolicySetDefinitionPolicyDefinitionReferenceArray{ PolicySetDefinitionPolicyDefinitionReferenceArgs{...} }

type PolicySetDefinitionPolicyDefinitionReferenceArrayOutput

type PolicySetDefinitionPolicyDefinitionReferenceArrayOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ElementType

func (PolicySetDefinitionPolicyDefinitionReferenceArrayOutput) Index

func (PolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutput

func (PolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext

func (o PolicySetDefinitionPolicyDefinitionReferenceArrayOutput) ToPolicySetDefinitionPolicyDefinitionReferenceArrayOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionReferenceArrayOutput

type PolicySetDefinitionPolicyDefinitionReferenceInput

type PolicySetDefinitionPolicyDefinitionReferenceInput interface {
	pulumi.Input

	ToPolicySetDefinitionPolicyDefinitionReferenceOutput() PolicySetDefinitionPolicyDefinitionReferenceOutput
	ToPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext(context.Context) PolicySetDefinitionPolicyDefinitionReferenceOutput
}

PolicySetDefinitionPolicyDefinitionReferenceInput is an input type that accepts PolicySetDefinitionPolicyDefinitionReferenceArgs and PolicySetDefinitionPolicyDefinitionReferenceOutput values. You can construct a concrete instance of `PolicySetDefinitionPolicyDefinitionReferenceInput` via:

PolicySetDefinitionPolicyDefinitionReferenceArgs{...}

type PolicySetDefinitionPolicyDefinitionReferenceOutput

type PolicySetDefinitionPolicyDefinitionReferenceOutput struct{ *pulumi.OutputState }

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) ElementType

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) ParameterValues

Parameter values for the referenced policy rule. This field is a JSON string that allows you to assign parameters to this policy rule.

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) PolicyDefinitionId

The ID of the policy definition that will be included in this policy set definition.

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) PolicyGroupNames

A list of names of the policy definition groups that this policy definition reference belongs to.

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) ReferenceId

A unique ID within this policy set definition for this policy definition reference.

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) ToPolicySetDefinitionPolicyDefinitionReferenceOutput

func (o PolicySetDefinitionPolicyDefinitionReferenceOutput) ToPolicySetDefinitionPolicyDefinitionReferenceOutput() PolicySetDefinitionPolicyDefinitionReferenceOutput

func (PolicySetDefinitionPolicyDefinitionReferenceOutput) ToPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext

func (o PolicySetDefinitionPolicyDefinitionReferenceOutput) ToPolicySetDefinitionPolicyDefinitionReferenceOutputWithContext(ctx context.Context) PolicySetDefinitionPolicyDefinitionReferenceOutput

type PolicySetDefinitionState

type PolicySetDefinitionState struct {
	// The description of the policy set definition.
	Description pulumi.StringPtrInput
	// The display name of the policy set definition.
	DisplayName pulumi.StringPtrInput
	// The id of the Management Group where this policy set definition should be defined. Changing this forces a new resource to be created.
	ManagementGroupId pulumi.StringPtrInput
	// The metadata for the policy set definition. This is a JSON object representing additional metadata that should be stored with the policy definition.
	Metadata pulumi.StringPtrInput
	// The name of the policy set definition. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Parameters for the policy set definition. This field is a JSON object that allows you to parameterize your policy definition.
	Parameters pulumi.StringPtrInput
	// One or more `policyDefinitionGroup` blocks as defined below.
	PolicyDefinitionGroups PolicySetDefinitionPolicyDefinitionGroupArrayInput
	// One or more `policyDefinitionReference` blocks as defined below.
	PolicyDefinitionReferences PolicySetDefinitionPolicyDefinitionReferenceArrayInput
	// The policy set type. Possible values are `BuiltIn`, `Custom`, `NotSpecified` and `Static`. Changing this forces a new resource to be created.
	PolicyType pulumi.StringPtrInput
}

func (PolicySetDefinitionState) ElementType

func (PolicySetDefinitionState) ElementType() reflect.Type

type VirtualMachineConfigurationAssignment

type VirtualMachineConfigurationAssignment struct {
	pulumi.CustomResourceState

	// A `configuration` block as defined below.
	Configuration VirtualMachineConfigurationAssignmentConfigurationOutput `pulumi:"configuration"`
	// The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

Applies a Guest Configuration Policy to a Virtual Machine.

> **NOTE:** You can create Guest Configuration Policies without defining a `compute.Extension` resource, however the policies will not be executed until a `compute.Extension` has been provisioned to the virtual machine.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"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 {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "exampleNetworkInterface", &network.NetworkInterfaceArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("internal"),
					SubnetId:                   exampleSubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
				},
			},
		})
		if err != nil {
			return err
		}
		exampleWindowsVirtualMachine, err := compute.NewWindowsVirtualMachine(ctx, "exampleWindowsVirtualMachine", &compute.WindowsVirtualMachineArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			Size:              pulumi.String("Standard_F2"),
			AdminUsername:     pulumi.String("adminuser"),
			AdminPassword:     pulumi.String("P@$$w0rd1234!"),
			NetworkInterfaceIds: pulumi.StringArray{
				exampleNetworkInterface.ID(),
			},
			Identity: &compute.WindowsVirtualMachineIdentityArgs{
				Type: pulumi.String("SystemAssigned"),
			},
			OsDisk: &compute.WindowsVirtualMachineOsDiskArgs{
				Caching:            pulumi.String("ReadWrite"),
				StorageAccountType: pulumi.String("Standard_LRS"),
			},
			SourceImageReference: &compute.WindowsVirtualMachineSourceImageReferenceArgs{
				Publisher: pulumi.String("MicrosoftWindowsServer"),
				Offer:     pulumi.String("WindowsServer"),
				Sku:       pulumi.String("2019-Datacenter"),
				Version:   pulumi.String("latest"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewExtension(ctx, "exampleExtension", &compute.ExtensionArgs{
			VirtualMachineId:        exampleWindowsVirtualMachine.ID(),
			Publisher:               pulumi.String("Microsoft.GuestConfiguration"),
			Type:                    pulumi.String("ConfigurationforWindows"),
			TypeHandlerVersion:      pulumi.String("1.29"),
			AutoUpgradeMinorVersion: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = policy.NewVirtualMachineConfigurationAssignment(ctx, "exampleVirtualMachineConfigurationAssignment", &policy.VirtualMachineConfigurationAssignmentArgs{
			Location:         exampleWindowsVirtualMachine.Location,
			VirtualMachineId: exampleWindowsVirtualMachine.ID(),
			Configuration: &policy.VirtualMachineConfigurationAssignmentConfigurationArgs{
				AssignmentType: pulumi.String("ApplyAndMonitor"),
				Version:        pulumi.String("1.*"),
				Parameters: policy.VirtualMachineConfigurationAssignmentConfigurationParameterArray{
					&policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{
						Name:  pulumi.String("Minimum Password Length;ExpectedValue"),
						Value: pulumi.String("16"),
					},
					&policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{
						Name:  pulumi.String("Minimum Password Age;ExpectedValue"),
						Value: pulumi.String("0"),
					},
					&policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{
						Name:  pulumi.String("Maximum Password Age;ExpectedValue"),
						Value: pulumi.String("30,45"),
					},
					&policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{
						Name:  pulumi.String("Enforce Password History;ExpectedValue"),
						Value: pulumi.String("10"),
					},
					&policy.VirtualMachineConfigurationAssignmentConfigurationParameterArgs{
						Name:  pulumi.String("Password Must Meet Complexity Requirements;ExpectedValue"),
						Value: pulumi.String("1"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Policy Virtual Machine Configuration Assignments can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:policy/virtualMachineConfigurationAssignment:VirtualMachineConfigurationAssignment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/assignment1

```

func GetVirtualMachineConfigurationAssignment

func GetVirtualMachineConfigurationAssignment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualMachineConfigurationAssignmentState, opts ...pulumi.ResourceOption) (*VirtualMachineConfigurationAssignment, error)

GetVirtualMachineConfigurationAssignment gets an existing VirtualMachineConfigurationAssignment 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 NewVirtualMachineConfigurationAssignment

func NewVirtualMachineConfigurationAssignment(ctx *pulumi.Context,
	name string, args *VirtualMachineConfigurationAssignmentArgs, opts ...pulumi.ResourceOption) (*VirtualMachineConfigurationAssignment, error)

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

func (*VirtualMachineConfigurationAssignment) ElementType

func (*VirtualMachineConfigurationAssignment) ToVirtualMachineConfigurationAssignmentOutput

func (i *VirtualMachineConfigurationAssignment) ToVirtualMachineConfigurationAssignmentOutput() VirtualMachineConfigurationAssignmentOutput

func (*VirtualMachineConfigurationAssignment) ToVirtualMachineConfigurationAssignmentOutputWithContext

func (i *VirtualMachineConfigurationAssignment) ToVirtualMachineConfigurationAssignmentOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentOutput

type VirtualMachineConfigurationAssignmentArgs

type VirtualMachineConfigurationAssignmentArgs struct {
	// A `configuration` block as defined below.
	Configuration VirtualMachineConfigurationAssignmentConfigurationInput
	// The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a VirtualMachineConfigurationAssignment resource.

func (VirtualMachineConfigurationAssignmentArgs) ElementType

type VirtualMachineConfigurationAssignmentArray

type VirtualMachineConfigurationAssignmentArray []VirtualMachineConfigurationAssignmentInput

func (VirtualMachineConfigurationAssignmentArray) ElementType

func (VirtualMachineConfigurationAssignmentArray) ToVirtualMachineConfigurationAssignmentArrayOutput

func (i VirtualMachineConfigurationAssignmentArray) ToVirtualMachineConfigurationAssignmentArrayOutput() VirtualMachineConfigurationAssignmentArrayOutput

func (VirtualMachineConfigurationAssignmentArray) ToVirtualMachineConfigurationAssignmentArrayOutputWithContext

func (i VirtualMachineConfigurationAssignmentArray) ToVirtualMachineConfigurationAssignmentArrayOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentArrayOutput

type VirtualMachineConfigurationAssignmentArrayInput

type VirtualMachineConfigurationAssignmentArrayInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentArrayOutput() VirtualMachineConfigurationAssignmentArrayOutput
	ToVirtualMachineConfigurationAssignmentArrayOutputWithContext(context.Context) VirtualMachineConfigurationAssignmentArrayOutput
}

VirtualMachineConfigurationAssignmentArrayInput is an input type that accepts VirtualMachineConfigurationAssignmentArray and VirtualMachineConfigurationAssignmentArrayOutput values. You can construct a concrete instance of `VirtualMachineConfigurationAssignmentArrayInput` via:

VirtualMachineConfigurationAssignmentArray{ VirtualMachineConfigurationAssignmentArgs{...} }

type VirtualMachineConfigurationAssignmentArrayOutput

type VirtualMachineConfigurationAssignmentArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentArrayOutput) ElementType

func (VirtualMachineConfigurationAssignmentArrayOutput) Index

func (VirtualMachineConfigurationAssignmentArrayOutput) ToVirtualMachineConfigurationAssignmentArrayOutput

func (o VirtualMachineConfigurationAssignmentArrayOutput) ToVirtualMachineConfigurationAssignmentArrayOutput() VirtualMachineConfigurationAssignmentArrayOutput

func (VirtualMachineConfigurationAssignmentArrayOutput) ToVirtualMachineConfigurationAssignmentArrayOutputWithContext

func (o VirtualMachineConfigurationAssignmentArrayOutput) ToVirtualMachineConfigurationAssignmentArrayOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentArrayOutput

type VirtualMachineConfigurationAssignmentConfiguration

type VirtualMachineConfigurationAssignmentConfiguration struct {
	// The assignment type for the Guest Configuration Assignment. Possible values are `Audit`, `ApplyAndAutoCorrect`, `ApplyAndMonitor` and `DeployAndAutoCorrect`.
	AssignmentType *string `pulumi:"assignmentType"`
	// The content hash for the Guest Configuration package.
	ContentHash *string `pulumi:"contentHash"`
	// The content URI where the Guest Configuration package is stored.
	//
	// > **NOTE:** When deploying a Custom Guest Configuration package the `contentHash` and `contentUri` fields must be defined. For Built-in Guest Configuration packages, such as the `AzureWindowsBaseline` package, the `contentHash` and `contentUri` should not be defined, rather these fields will be returned after the Built-in Guest Configuration package has been provisioned. For more information on guest configuration assignments please see the [product documentation](https://docs.microsoft.com/azure/governance/policy/concepts/guest-configuration-assignments).
	ContentUri *string `pulumi:"contentUri"`
	// One or more `parameter` blocks as defined below which define what configuration parameters and values against.
	Parameters []VirtualMachineConfigurationAssignmentConfigurationParameter `pulumi:"parameters"`
	// The version of the Guest Configuration that will be assigned in this Guest Configuration Assignment.
	Version *string `pulumi:"version"`
}

type VirtualMachineConfigurationAssignmentConfigurationArgs

type VirtualMachineConfigurationAssignmentConfigurationArgs struct {
	// The assignment type for the Guest Configuration Assignment. Possible values are `Audit`, `ApplyAndAutoCorrect`, `ApplyAndMonitor` and `DeployAndAutoCorrect`.
	AssignmentType pulumi.StringPtrInput `pulumi:"assignmentType"`
	// The content hash for the Guest Configuration package.
	ContentHash pulumi.StringPtrInput `pulumi:"contentHash"`
	// The content URI where the Guest Configuration package is stored.
	//
	// > **NOTE:** When deploying a Custom Guest Configuration package the `contentHash` and `contentUri` fields must be defined. For Built-in Guest Configuration packages, such as the `AzureWindowsBaseline` package, the `contentHash` and `contentUri` should not be defined, rather these fields will be returned after the Built-in Guest Configuration package has been provisioned. For more information on guest configuration assignments please see the [product documentation](https://docs.microsoft.com/azure/governance/policy/concepts/guest-configuration-assignments).
	ContentUri pulumi.StringPtrInput `pulumi:"contentUri"`
	// One or more `parameter` blocks as defined below which define what configuration parameters and values against.
	Parameters VirtualMachineConfigurationAssignmentConfigurationParameterArrayInput `pulumi:"parameters"`
	// The version of the Guest Configuration that will be assigned in this Guest Configuration Assignment.
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (VirtualMachineConfigurationAssignmentConfigurationArgs) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationOutput

func (VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationOutputWithContext

func (i VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationOutput

func (VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutput

func (i VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutput() VirtualMachineConfigurationAssignmentConfigurationPtrOutput

func (VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext

func (i VirtualMachineConfigurationAssignmentConfigurationArgs) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationPtrOutput

type VirtualMachineConfigurationAssignmentConfigurationInput

type VirtualMachineConfigurationAssignmentConfigurationInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentConfigurationOutput() VirtualMachineConfigurationAssignmentConfigurationOutput
	ToVirtualMachineConfigurationAssignmentConfigurationOutputWithContext(context.Context) VirtualMachineConfigurationAssignmentConfigurationOutput
}

VirtualMachineConfigurationAssignmentConfigurationInput is an input type that accepts VirtualMachineConfigurationAssignmentConfigurationArgs and VirtualMachineConfigurationAssignmentConfigurationOutput values. You can construct a concrete instance of `VirtualMachineConfigurationAssignmentConfigurationInput` via:

VirtualMachineConfigurationAssignmentConfigurationArgs{...}

type VirtualMachineConfigurationAssignmentConfigurationOutput

type VirtualMachineConfigurationAssignmentConfigurationOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentConfigurationOutput) AssignmentType

The assignment type for the Guest Configuration Assignment. Possible values are `Audit`, `ApplyAndAutoCorrect`, `ApplyAndMonitor` and `DeployAndAutoCorrect`.

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ContentHash

The content hash for the Guest Configuration package.

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ContentUri

The content URI where the Guest Configuration package is stored.

> **NOTE:** When deploying a Custom Guest Configuration package the `contentHash` and `contentUri` fields must be defined. For Built-in Guest Configuration packages, such as the `AzureWindowsBaseline` package, the `contentHash` and `contentUri` should not be defined, rather these fields will be returned after the Built-in Guest Configuration package has been provisioned. For more information on guest configuration assignments please see the [product documentation](https://docs.microsoft.com/azure/governance/policy/concepts/guest-configuration-assignments).

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationOutput) Parameters

One or more `parameter` blocks as defined below which define what configuration parameters and values against.

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ToVirtualMachineConfigurationAssignmentConfigurationOutput

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ToVirtualMachineConfigurationAssignmentConfigurationOutputWithContext

func (o VirtualMachineConfigurationAssignmentConfigurationOutput) ToVirtualMachineConfigurationAssignmentConfigurationOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationOutput

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutput

func (VirtualMachineConfigurationAssignmentConfigurationOutput) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext

func (o VirtualMachineConfigurationAssignmentConfigurationOutput) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationPtrOutput

func (VirtualMachineConfigurationAssignmentConfigurationOutput) Version

The version of the Guest Configuration that will be assigned in this Guest Configuration Assignment.

type VirtualMachineConfigurationAssignmentConfigurationParameter

type VirtualMachineConfigurationAssignmentConfigurationParameter struct {
	// The name of the configuration parameter to check.
	Name string `pulumi:"name"`
	// The value to check the configuration parameter with.
	Value string `pulumi:"value"`
}

type VirtualMachineConfigurationAssignmentConfigurationParameterArgs

type VirtualMachineConfigurationAssignmentConfigurationParameterArgs struct {
	// The name of the configuration parameter to check.
	Name pulumi.StringInput `pulumi:"name"`
	// The value to check the configuration parameter with.
	Value pulumi.StringInput `pulumi:"value"`
}

func (VirtualMachineConfigurationAssignmentConfigurationParameterArgs) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationParameterArgs) ToVirtualMachineConfigurationAssignmentConfigurationParameterOutput

func (VirtualMachineConfigurationAssignmentConfigurationParameterArgs) ToVirtualMachineConfigurationAssignmentConfigurationParameterOutputWithContext

func (i VirtualMachineConfigurationAssignmentConfigurationParameterArgs) ToVirtualMachineConfigurationAssignmentConfigurationParameterOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationParameterOutput

type VirtualMachineConfigurationAssignmentConfigurationParameterArray

type VirtualMachineConfigurationAssignmentConfigurationParameterArray []VirtualMachineConfigurationAssignmentConfigurationParameterInput

func (VirtualMachineConfigurationAssignmentConfigurationParameterArray) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationParameterArray) ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput

func (VirtualMachineConfigurationAssignmentConfigurationParameterArray) ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutputWithContext

func (i VirtualMachineConfigurationAssignmentConfigurationParameterArray) ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput

type VirtualMachineConfigurationAssignmentConfigurationParameterArrayInput

type VirtualMachineConfigurationAssignmentConfigurationParameterArrayInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput() VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput
	ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutputWithContext(context.Context) VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput
}

VirtualMachineConfigurationAssignmentConfigurationParameterArrayInput is an input type that accepts VirtualMachineConfigurationAssignmentConfigurationParameterArray and VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput values. You can construct a concrete instance of `VirtualMachineConfigurationAssignmentConfigurationParameterArrayInput` via:

VirtualMachineConfigurationAssignmentConfigurationParameterArray{ VirtualMachineConfigurationAssignmentConfigurationParameterArgs{...} }

type VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput

type VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput) ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput

func (VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput) ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutputWithContext

func (o VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput) ToVirtualMachineConfigurationAssignmentConfigurationParameterArrayOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationParameterArrayOutput

type VirtualMachineConfigurationAssignmentConfigurationParameterInput

type VirtualMachineConfigurationAssignmentConfigurationParameterInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentConfigurationParameterOutput() VirtualMachineConfigurationAssignmentConfigurationParameterOutput
	ToVirtualMachineConfigurationAssignmentConfigurationParameterOutputWithContext(context.Context) VirtualMachineConfigurationAssignmentConfigurationParameterOutput
}

VirtualMachineConfigurationAssignmentConfigurationParameterInput is an input type that accepts VirtualMachineConfigurationAssignmentConfigurationParameterArgs and VirtualMachineConfigurationAssignmentConfigurationParameterOutput values. You can construct a concrete instance of `VirtualMachineConfigurationAssignmentConfigurationParameterInput` via:

VirtualMachineConfigurationAssignmentConfigurationParameterArgs{...}

type VirtualMachineConfigurationAssignmentConfigurationParameterOutput

type VirtualMachineConfigurationAssignmentConfigurationParameterOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentConfigurationParameterOutput) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationParameterOutput) Name

The name of the configuration parameter to check.

func (VirtualMachineConfigurationAssignmentConfigurationParameterOutput) ToVirtualMachineConfigurationAssignmentConfigurationParameterOutput

func (VirtualMachineConfigurationAssignmentConfigurationParameterOutput) ToVirtualMachineConfigurationAssignmentConfigurationParameterOutputWithContext

func (o VirtualMachineConfigurationAssignmentConfigurationParameterOutput) ToVirtualMachineConfigurationAssignmentConfigurationParameterOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationParameterOutput

func (VirtualMachineConfigurationAssignmentConfigurationParameterOutput) Value

The value to check the configuration parameter with.

type VirtualMachineConfigurationAssignmentConfigurationPtrInput

type VirtualMachineConfigurationAssignmentConfigurationPtrInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentConfigurationPtrOutput() VirtualMachineConfigurationAssignmentConfigurationPtrOutput
	ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext(context.Context) VirtualMachineConfigurationAssignmentConfigurationPtrOutput
}

VirtualMachineConfigurationAssignmentConfigurationPtrInput is an input type that accepts VirtualMachineConfigurationAssignmentConfigurationArgs, VirtualMachineConfigurationAssignmentConfigurationPtr and VirtualMachineConfigurationAssignmentConfigurationPtrOutput values. You can construct a concrete instance of `VirtualMachineConfigurationAssignmentConfigurationPtrInput` via:

        VirtualMachineConfigurationAssignmentConfigurationArgs{...}

or:

        nil

type VirtualMachineConfigurationAssignmentConfigurationPtrOutput

type VirtualMachineConfigurationAssignmentConfigurationPtrOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) AssignmentType

The assignment type for the Guest Configuration Assignment. Possible values are `Audit`, `ApplyAndAutoCorrect`, `ApplyAndMonitor` and `DeployAndAutoCorrect`.

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) ContentHash

The content hash for the Guest Configuration package.

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) ContentUri

The content URI where the Guest Configuration package is stored.

> **NOTE:** When deploying a Custom Guest Configuration package the `contentHash` and `contentUri` fields must be defined. For Built-in Guest Configuration packages, such as the `AzureWindowsBaseline` package, the `contentHash` and `contentUri` should not be defined, rather these fields will be returned after the Built-in Guest Configuration package has been provisioned. For more information on guest configuration assignments please see the [product documentation](https://docs.microsoft.com/azure/governance/policy/concepts/guest-configuration-assignments).

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) Elem

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) ElementType

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) Parameters

One or more `parameter` blocks as defined below which define what configuration parameters and values against.

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutput

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext

func (o VirtualMachineConfigurationAssignmentConfigurationPtrOutput) ToVirtualMachineConfigurationAssignmentConfigurationPtrOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentConfigurationPtrOutput

func (VirtualMachineConfigurationAssignmentConfigurationPtrOutput) Version

The version of the Guest Configuration that will be assigned in this Guest Configuration Assignment.

type VirtualMachineConfigurationAssignmentInput

type VirtualMachineConfigurationAssignmentInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentOutput() VirtualMachineConfigurationAssignmentOutput
	ToVirtualMachineConfigurationAssignmentOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentOutput
}

type VirtualMachineConfigurationAssignmentMap

type VirtualMachineConfigurationAssignmentMap map[string]VirtualMachineConfigurationAssignmentInput

func (VirtualMachineConfigurationAssignmentMap) ElementType

func (VirtualMachineConfigurationAssignmentMap) ToVirtualMachineConfigurationAssignmentMapOutput

func (i VirtualMachineConfigurationAssignmentMap) ToVirtualMachineConfigurationAssignmentMapOutput() VirtualMachineConfigurationAssignmentMapOutput

func (VirtualMachineConfigurationAssignmentMap) ToVirtualMachineConfigurationAssignmentMapOutputWithContext

func (i VirtualMachineConfigurationAssignmentMap) ToVirtualMachineConfigurationAssignmentMapOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentMapOutput

type VirtualMachineConfigurationAssignmentMapInput

type VirtualMachineConfigurationAssignmentMapInput interface {
	pulumi.Input

	ToVirtualMachineConfigurationAssignmentMapOutput() VirtualMachineConfigurationAssignmentMapOutput
	ToVirtualMachineConfigurationAssignmentMapOutputWithContext(context.Context) VirtualMachineConfigurationAssignmentMapOutput
}

VirtualMachineConfigurationAssignmentMapInput is an input type that accepts VirtualMachineConfigurationAssignmentMap and VirtualMachineConfigurationAssignmentMapOutput values. You can construct a concrete instance of `VirtualMachineConfigurationAssignmentMapInput` via:

VirtualMachineConfigurationAssignmentMap{ "key": VirtualMachineConfigurationAssignmentArgs{...} }

type VirtualMachineConfigurationAssignmentMapOutput

type VirtualMachineConfigurationAssignmentMapOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentMapOutput) ElementType

func (VirtualMachineConfigurationAssignmentMapOutput) MapIndex

func (VirtualMachineConfigurationAssignmentMapOutput) ToVirtualMachineConfigurationAssignmentMapOutput

func (o VirtualMachineConfigurationAssignmentMapOutput) ToVirtualMachineConfigurationAssignmentMapOutput() VirtualMachineConfigurationAssignmentMapOutput

func (VirtualMachineConfigurationAssignmentMapOutput) ToVirtualMachineConfigurationAssignmentMapOutputWithContext

func (o VirtualMachineConfigurationAssignmentMapOutput) ToVirtualMachineConfigurationAssignmentMapOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentMapOutput

type VirtualMachineConfigurationAssignmentOutput

type VirtualMachineConfigurationAssignmentOutput struct{ *pulumi.OutputState }

func (VirtualMachineConfigurationAssignmentOutput) Configuration added in v5.5.0

A `configuration` block as defined below.

func (VirtualMachineConfigurationAssignmentOutput) ElementType

func (VirtualMachineConfigurationAssignmentOutput) Location added in v5.5.0

The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.

func (VirtualMachineConfigurationAssignmentOutput) Name added in v5.5.0

The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.

func (VirtualMachineConfigurationAssignmentOutput) ToVirtualMachineConfigurationAssignmentOutput

func (o VirtualMachineConfigurationAssignmentOutput) ToVirtualMachineConfigurationAssignmentOutput() VirtualMachineConfigurationAssignmentOutput

func (VirtualMachineConfigurationAssignmentOutput) ToVirtualMachineConfigurationAssignmentOutputWithContext

func (o VirtualMachineConfigurationAssignmentOutput) ToVirtualMachineConfigurationAssignmentOutputWithContext(ctx context.Context) VirtualMachineConfigurationAssignmentOutput

func (VirtualMachineConfigurationAssignmentOutput) VirtualMachineId added in v5.5.0

The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.

type VirtualMachineConfigurationAssignmentState

type VirtualMachineConfigurationAssignmentState struct {
	// A `configuration` block as defined below.
	Configuration VirtualMachineConfigurationAssignmentConfigurationPtrInput
	// The Azure location where the Policy Virtual Machine Configuration Assignment should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Guest Configuration that will be assigned in this Guest Configuration Assignment. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The resource ID of the Policy Virtual Machine which this Guest Configuration Assignment should apply to. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringPtrInput
}

func (VirtualMachineConfigurationAssignmentState) ElementType

Jump to

Keyboard shortcuts

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