rolemanagementpolicy

package
v13.3.0 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2024 License: MPL-2.0 Imports: 7 Imported by: 0

README

azurerm_role_management_policy

Refer to the Terraform Registry for docs: azurerm_role_management_policy.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRoleManagementPolicyActivationRulesApprovalStageOutputReference_Override

func NewRoleManagementPolicyActivationRulesApprovalStageOutputReference_Override(r RoleManagementPolicyActivationRulesApprovalStageOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList_Override

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList_Override(r RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference_Override

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference_Override(r RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewRoleManagementPolicyActivationRulesOutputReference_Override

func NewRoleManagementPolicyActivationRulesOutputReference_Override(r RoleManagementPolicyActivationRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyActiveAssignmentRulesOutputReference_Override

func NewRoleManagementPolicyActiveAssignmentRulesOutputReference_Override(r RoleManagementPolicyActiveAssignmentRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyEligibleAssignmentRulesOutputReference_Override

func NewRoleManagementPolicyEligibleAssignmentRulesOutputReference_Override(r RoleManagementPolicyEligibleAssignmentRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference_Override(r RoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleActivationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleActivationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleActivationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference_Override

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference_Override(r RoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyNotificationRulesOutputReference_Override

func NewRoleManagementPolicyNotificationRulesOutputReference_Override(r RoleManagementPolicyNotificationRulesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicyTimeoutsOutputReference_Override

func NewRoleManagementPolicyTimeoutsOutputReference_Override(r RoleManagementPolicyTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewRoleManagementPolicy_Override

func NewRoleManagementPolicy_Override(r RoleManagementPolicy, scope constructs.Construct, id *string, config *RoleManagementPolicyConfig)

Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy azurerm_role_management_policy} Resource.

func RoleManagementPolicy_GenerateConfigForImport

func RoleManagementPolicy_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource

Generates CDKTF code for importing a RoleManagementPolicy resource upon running "cdktf plan <stack-name>".

func RoleManagementPolicy_IsConstruct

func RoleManagementPolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func RoleManagementPolicy_IsTerraformElement

func RoleManagementPolicy_IsTerraformElement(x interface{}) *bool

Experimental.

func RoleManagementPolicy_IsTerraformResource

func RoleManagementPolicy_IsTerraformResource(x interface{}) *bool

Experimental.

func RoleManagementPolicy_TfResourceType

func RoleManagementPolicy_TfResourceType() *string

Types

type RoleManagementPolicy

type RoleManagementPolicy interface {
	cdktf.TerraformResource
	ActivationRules() RoleManagementPolicyActivationRulesOutputReference
	ActivationRulesInput() *RoleManagementPolicyActivationRules
	ActiveAssignmentRules() RoleManagementPolicyActiveAssignmentRulesOutputReference
	ActiveAssignmentRulesInput() *RoleManagementPolicyActiveAssignmentRules
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	Description() *string
	EligibleAssignmentRules() RoleManagementPolicyEligibleAssignmentRulesOutputReference
	EligibleAssignmentRulesInput() *RoleManagementPolicyEligibleAssignmentRules
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Id() *string
	SetId(val *string)
	IdInput() *string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	Name() *string
	// The tree node.
	Node() constructs.Node
	NotificationRules() RoleManagementPolicyNotificationRulesOutputReference
	NotificationRulesInput() *RoleManagementPolicyNotificationRules
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	// Experimental.
	RawOverrides() interface{}
	RoleDefinitionId() *string
	SetRoleDefinitionId(val *string)
	RoleDefinitionIdInput() *string
	Scope() *string
	SetScope(val *string)
	ScopeInput() *string
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	Timeouts() RoleManagementPolicyTimeoutsOutputReference
	TimeoutsInput() interface{}
	// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
	// Experimental.
	AddMoveTarget(moveTarget *string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	HasResourceMove() interface{}
	// Experimental.
	ImportFrom(id *string, provider cdktf.TerraformProvider)
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Move the resource corresponding to "id" to this resource.
	//
	// Note that the resource being moved from must be marked as moved using it's instance function.
	// Experimental.
	MoveFromId(id *string)
	// Moves this resource to the target resource given by moveTarget.
	// Experimental.
	MoveTo(moveTarget *string, index interface{})
	// Moves this resource to the resource corresponding to "id".
	// Experimental.
	MoveToId(id *string)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutActivationRules(value *RoleManagementPolicyActivationRules)
	PutActiveAssignmentRules(value *RoleManagementPolicyActiveAssignmentRules)
	PutEligibleAssignmentRules(value *RoleManagementPolicyEligibleAssignmentRules)
	PutNotificationRules(value *RoleManagementPolicyNotificationRules)
	PutTimeouts(value *RoleManagementPolicyTimeouts)
	ResetActivationRules()
	ResetActiveAssignmentRules()
	ResetEligibleAssignmentRules()
	ResetId()
	ResetNotificationRules()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetTimeouts()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy azurerm_role_management_policy}.

func NewRoleManagementPolicy

func NewRoleManagementPolicy(scope constructs.Construct, id *string, config *RoleManagementPolicyConfig) RoleManagementPolicy

Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy azurerm_role_management_policy} Resource.

type RoleManagementPolicyActivationRules

type RoleManagementPolicyActivationRules struct {
	// approval_stage block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#approval_stage RoleManagementPolicy#approval_stage}
	ApprovalStage *RoleManagementPolicyActivationRulesApprovalStage `field:"optional" json:"approvalStage" yaml:"approvalStage"`
	// The time after which the an activation can be valid for.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#maximum_duration RoleManagementPolicy#maximum_duration}
	MaximumDuration *string `field:"optional" json:"maximumDuration" yaml:"maximumDuration"`
	// Whether an approval is required for activation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_approval RoleManagementPolicy#require_approval}
	RequireApproval interface{} `field:"optional" json:"requireApproval" yaml:"requireApproval"`
	// Whether a conditional access context is required during activation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#required_conditional_access_authentication_context RoleManagementPolicy#required_conditional_access_authentication_context}
	RequiredConditionalAccessAuthenticationContext *string `field:"optional" json:"requiredConditionalAccessAuthenticationContext" yaml:"requiredConditionalAccessAuthenticationContext"`
	// Whether a justification is required during activation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_justification RoleManagementPolicy#require_justification}
	RequireJustification interface{} `field:"optional" json:"requireJustification" yaml:"requireJustification"`
	// Whether multi-factor authentication is required during activation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_multifactor_authentication RoleManagementPolicy#require_multifactor_authentication}
	RequireMultifactorAuthentication interface{} `field:"optional" json:"requireMultifactorAuthentication" yaml:"requireMultifactorAuthentication"`
	// Whether ticket information is required during activation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_ticket_info RoleManagementPolicy#require_ticket_info}
	RequireTicketInfo interface{} `field:"optional" json:"requireTicketInfo" yaml:"requireTicketInfo"`
}

type RoleManagementPolicyActivationRulesApprovalStage

type RoleManagementPolicyActivationRulesApprovalStage struct {
	// primary_approver block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#primary_approver RoleManagementPolicy#primary_approver}
	PrimaryApprover interface{} `field:"required" json:"primaryApprover" yaml:"primaryApprover"`
}

type RoleManagementPolicyActivationRulesApprovalStageOutputReference

type RoleManagementPolicyActivationRulesApprovalStageOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyActivationRulesApprovalStage
	SetInternalValue(val *RoleManagementPolicyActivationRulesApprovalStage)
	PrimaryApprover() RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList
	PrimaryApproverInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutPrimaryApprover(value interface{})
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyActivationRulesApprovalStageOutputReference

func NewRoleManagementPolicyActivationRulesApprovalStageOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyActivationRulesApprovalStageOutputReference

type RoleManagementPolicyActivationRulesApprovalStagePrimaryApprover

type RoleManagementPolicyActivationRulesApprovalStagePrimaryApprover struct {
	// The ID of the object to act as an approver.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#object_id RoleManagementPolicy#object_id}
	ObjectId *string `field:"required" json:"objectId" yaml:"objectId"`
	// The type of object acting as an approver.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#type RoleManagementPolicy#type}
	Type *string `field:"required" json:"type" yaml:"type"`
}

type RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList

type RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverList

type RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference

type RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	ObjectId() *string
	SetObjectId(val *string)
	ObjectIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Type() *string
	SetType(val *string)
	TypeInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference

func NewRoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) RoleManagementPolicyActivationRulesApprovalStagePrimaryApproverOutputReference

type RoleManagementPolicyActivationRulesOutputReference

type RoleManagementPolicyActivationRulesOutputReference interface {
	cdktf.ComplexObject
	ApprovalStage() RoleManagementPolicyActivationRulesApprovalStageOutputReference
	ApprovalStageInput() *RoleManagementPolicyActivationRulesApprovalStage
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyActivationRules
	SetInternalValue(val *RoleManagementPolicyActivationRules)
	MaximumDuration() *string
	SetMaximumDuration(val *string)
	MaximumDurationInput() *string
	RequireApproval() interface{}
	SetRequireApproval(val interface{})
	RequireApprovalInput() interface{}
	RequiredConditionalAccessAuthenticationContext() *string
	SetRequiredConditionalAccessAuthenticationContext(val *string)
	RequiredConditionalAccessAuthenticationContextInput() *string
	RequireJustification() interface{}
	SetRequireJustification(val interface{})
	RequireJustificationInput() interface{}
	RequireMultifactorAuthentication() interface{}
	SetRequireMultifactorAuthentication(val interface{})
	RequireMultifactorAuthenticationInput() interface{}
	RequireTicketInfo() interface{}
	SetRequireTicketInfo(val interface{})
	RequireTicketInfoInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutApprovalStage(value *RoleManagementPolicyActivationRulesApprovalStage)
	ResetApprovalStage()
	ResetMaximumDuration()
	ResetRequireApproval()
	ResetRequiredConditionalAccessAuthenticationContext()
	ResetRequireJustification()
	ResetRequireMultifactorAuthentication()
	ResetRequireTicketInfo()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyActivationRulesOutputReference

func NewRoleManagementPolicyActivationRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyActivationRulesOutputReference

type RoleManagementPolicyActiveAssignmentRules

type RoleManagementPolicyActiveAssignmentRules struct {
	// Must the assignment have an expiry date.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#expiration_required RoleManagementPolicy#expiration_required}
	ExpirationRequired interface{} `field:"optional" json:"expirationRequired" yaml:"expirationRequired"`
	// The duration after which assignments expire.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#expire_after RoleManagementPolicy#expire_after}
	ExpireAfter *string `field:"optional" json:"expireAfter" yaml:"expireAfter"`
	// Whether a justification is required to make an assignment.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_justification RoleManagementPolicy#require_justification}
	RequireJustification interface{} `field:"optional" json:"requireJustification" yaml:"requireJustification"`
	// Whether multi-factor authentication is required to make an assignment.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_multifactor_authentication RoleManagementPolicy#require_multifactor_authentication}
	RequireMultifactorAuthentication interface{} `field:"optional" json:"requireMultifactorAuthentication" yaml:"requireMultifactorAuthentication"`
	// Whether ticket information is required to make an assignment.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#require_ticket_info RoleManagementPolicy#require_ticket_info}
	RequireTicketInfo interface{} `field:"optional" json:"requireTicketInfo" yaml:"requireTicketInfo"`
}

type RoleManagementPolicyActiveAssignmentRulesOutputReference

type RoleManagementPolicyActiveAssignmentRulesOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	ExpirationRequired() interface{}
	SetExpirationRequired(val interface{})
	ExpirationRequiredInput() interface{}
	ExpireAfter() *string
	SetExpireAfter(val *string)
	ExpireAfterInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyActiveAssignmentRules
	SetInternalValue(val *RoleManagementPolicyActiveAssignmentRules)
	RequireJustification() interface{}
	SetRequireJustification(val interface{})
	RequireJustificationInput() interface{}
	RequireMultifactorAuthentication() interface{}
	SetRequireMultifactorAuthentication(val interface{})
	RequireMultifactorAuthenticationInput() interface{}
	RequireTicketInfo() interface{}
	SetRequireTicketInfo(val interface{})
	RequireTicketInfoInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetExpirationRequired()
	ResetExpireAfter()
	ResetRequireJustification()
	ResetRequireMultifactorAuthentication()
	ResetRequireTicketInfo()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyActiveAssignmentRulesOutputReference

func NewRoleManagementPolicyActiveAssignmentRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyActiveAssignmentRulesOutputReference

type RoleManagementPolicyConfig

type RoleManagementPolicyConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// ID of the Azure Role to which this policy is assigned.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#role_definition_id RoleManagementPolicy#role_definition_id}
	RoleDefinitionId *string `field:"required" json:"roleDefinitionId" yaml:"roleDefinitionId"`
	// The scope of the role to which this policy will apply.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#scope RoleManagementPolicy#scope}
	Scope *string `field:"required" json:"scope" yaml:"scope"`
	// activation_rules block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#activation_rules RoleManagementPolicy#activation_rules}
	ActivationRules *RoleManagementPolicyActivationRules `field:"optional" json:"activationRules" yaml:"activationRules"`
	// active_assignment_rules block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#active_assignment_rules RoleManagementPolicy#active_assignment_rules}
	ActiveAssignmentRules *RoleManagementPolicyActiveAssignmentRules `field:"optional" json:"activeAssignmentRules" yaml:"activeAssignmentRules"`
	// eligible_assignment_rules block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#eligible_assignment_rules RoleManagementPolicy#eligible_assignment_rules}
	EligibleAssignmentRules *RoleManagementPolicyEligibleAssignmentRules `field:"optional" json:"eligibleAssignmentRules" yaml:"eligibleAssignmentRules"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#id RoleManagementPolicy#id}.
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"optional" json:"id" yaml:"id"`
	// notification_rules block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_rules RoleManagementPolicy#notification_rules}
	NotificationRules *RoleManagementPolicyNotificationRules `field:"optional" json:"notificationRules" yaml:"notificationRules"`
	// timeouts block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#timeouts RoleManagementPolicy#timeouts}
	Timeouts *RoleManagementPolicyTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
}

type RoleManagementPolicyEligibleAssignmentRules

type RoleManagementPolicyEligibleAssignmentRules struct {
	// Must the assignment have an expiry date.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#expiration_required RoleManagementPolicy#expiration_required}
	ExpirationRequired interface{} `field:"optional" json:"expirationRequired" yaml:"expirationRequired"`
	// The duration after which assignments expire.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#expire_after RoleManagementPolicy#expire_after}
	ExpireAfter *string `field:"optional" json:"expireAfter" yaml:"expireAfter"`
}

type RoleManagementPolicyEligibleAssignmentRulesOutputReference

type RoleManagementPolicyEligibleAssignmentRulesOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	ExpirationRequired() interface{}
	SetExpirationRequired(val interface{})
	ExpirationRequiredInput() interface{}
	ExpireAfter() *string
	SetExpireAfter(val *string)
	ExpireAfterInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyEligibleAssignmentRules
	SetInternalValue(val *RoleManagementPolicyEligibleAssignmentRules)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetExpirationRequired()
	ResetExpireAfter()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyEligibleAssignmentRulesOutputReference

func NewRoleManagementPolicyEligibleAssignmentRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyEligibleAssignmentRulesOutputReference

type RoleManagementPolicyNotificationRules

type RoleManagementPolicyNotificationRules struct {
	// active_assignments block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#active_assignments RoleManagementPolicy#active_assignments}
	ActiveAssignments *RoleManagementPolicyNotificationRulesActiveAssignments `field:"optional" json:"activeAssignments" yaml:"activeAssignments"`
	// eligible_activations block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#eligible_activations RoleManagementPolicy#eligible_activations}
	EligibleActivations *RoleManagementPolicyNotificationRulesEligibleActivations `field:"optional" json:"eligibleActivations" yaml:"eligibleActivations"`
	// eligible_assignments block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#eligible_assignments RoleManagementPolicy#eligible_assignments}
	EligibleAssignments *RoleManagementPolicyNotificationRulesEligibleAssignments `field:"optional" json:"eligibleAssignments" yaml:"eligibleAssignments"`
}

type RoleManagementPolicyNotificationRulesActiveAssignments

type RoleManagementPolicyNotificationRulesActiveAssignments struct {
	// admin_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#admin_notifications RoleManagementPolicy#admin_notifications}
	AdminNotifications *RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications `field:"optional" json:"adminNotifications" yaml:"adminNotifications"`
	// approver_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#approver_notifications RoleManagementPolicy#approver_notifications}
	ApproverNotifications *RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications `field:"optional" json:"approverNotifications" yaml:"approverNotifications"`
	// assignee_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#assignee_notifications RoleManagementPolicy#assignee_notifications}
	AssigneeNotifications *RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications `field:"optional" json:"assigneeNotifications" yaml:"assigneeNotifications"`
}

type RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications

type RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications

type RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications

type RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference

type RoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference interface {
	cdktf.ComplexObject
	AdminNotifications() RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotificationsOutputReference
	AdminNotificationsInput() *RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications
	ApproverNotifications() RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotificationsOutputReference
	ApproverNotificationsInput() *RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications
	AssigneeNotifications() RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotificationsOutputReference
	AssigneeNotificationsInput() *RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesActiveAssignments
	SetInternalValue(val *RoleManagementPolicyNotificationRulesActiveAssignments)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAdminNotifications(value *RoleManagementPolicyNotificationRulesActiveAssignmentsAdminNotifications)
	PutApproverNotifications(value *RoleManagementPolicyNotificationRulesActiveAssignmentsApproverNotifications)
	PutAssigneeNotifications(value *RoleManagementPolicyNotificationRulesActiveAssignmentsAssigneeNotifications)
	ResetAdminNotifications()
	ResetApproverNotifications()
	ResetAssigneeNotifications()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference

func NewRoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivations

type RoleManagementPolicyNotificationRulesEligibleActivations struct {
	// admin_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#admin_notifications RoleManagementPolicy#admin_notifications}
	AdminNotifications *RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications `field:"optional" json:"adminNotifications" yaml:"adminNotifications"`
	// approver_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#approver_notifications RoleManagementPolicy#approver_notifications}
	ApproverNotifications *RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications `field:"optional" json:"approverNotifications" yaml:"approverNotifications"`
	// assignee_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#assignee_notifications RoleManagementPolicy#assignee_notifications}
	AssigneeNotifications *RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications `field:"optional" json:"assigneeNotifications" yaml:"assigneeNotifications"`
}

type RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications

type RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications

type RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications

type RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleActivationsOutputReference interface {
	cdktf.ComplexObject
	AdminNotifications() RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotificationsOutputReference
	AdminNotificationsInput() *RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications
	ApproverNotifications() RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotificationsOutputReference
	ApproverNotificationsInput() *RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications
	AssigneeNotifications() RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotificationsOutputReference
	AssigneeNotificationsInput() *RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleActivations
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleActivations)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAdminNotifications(value *RoleManagementPolicyNotificationRulesEligibleActivationsAdminNotifications)
	PutApproverNotifications(value *RoleManagementPolicyNotificationRulesEligibleActivationsApproverNotifications)
	PutAssigneeNotifications(value *RoleManagementPolicyNotificationRulesEligibleActivationsAssigneeNotifications)
	ResetAdminNotifications()
	ResetApproverNotifications()
	ResetAssigneeNotifications()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleActivationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleActivationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleActivationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignments

type RoleManagementPolicyNotificationRulesEligibleAssignments struct {
	// admin_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#admin_notifications RoleManagementPolicy#admin_notifications}
	AdminNotifications *RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications `field:"optional" json:"adminNotifications" yaml:"adminNotifications"`
	// approver_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#approver_notifications RoleManagementPolicy#approver_notifications}
	ApproverNotifications *RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications `field:"optional" json:"approverNotifications" yaml:"approverNotifications"`
	// assignee_notifications block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#assignee_notifications RoleManagementPolicy#assignee_notifications}
	AssigneeNotifications *RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications `field:"optional" json:"assigneeNotifications" yaml:"assigneeNotifications"`
}

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications

type RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications struct {
	// Whether the default recipients are notified.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#default_recipients RoleManagementPolicy#default_recipients}
	DefaultRecipients interface{} `field:"required" json:"defaultRecipients" yaml:"defaultRecipients"`
	// What level of notifications are sent.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#notification_level RoleManagementPolicy#notification_level}
	NotificationLevel *string `field:"required" json:"notificationLevel" yaml:"notificationLevel"`
	// The additional recipients to notify.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#additional_recipients RoleManagementPolicy#additional_recipients}
	AdditionalRecipients *[]*string `field:"optional" json:"additionalRecipients" yaml:"additionalRecipients"`
}

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference interface {
	cdktf.ComplexObject
	AdditionalRecipients() *[]*string
	SetAdditionalRecipients(val *[]*string)
	AdditionalRecipientsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRecipients() interface{}
	SetDefaultRecipients(val interface{})
	DefaultRecipientsInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications)
	NotificationLevel() *string
	SetNotificationLevel(val *string)
	NotificationLevelInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdditionalRecipients()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference

type RoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference interface {
	cdktf.ComplexObject
	AdminNotifications() RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotificationsOutputReference
	AdminNotificationsInput() *RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications
	ApproverNotifications() RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotificationsOutputReference
	ApproverNotificationsInput() *RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications
	AssigneeNotifications() RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotificationsOutputReference
	AssigneeNotificationsInput() *RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRulesEligibleAssignments
	SetInternalValue(val *RoleManagementPolicyNotificationRulesEligibleAssignments)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAdminNotifications(value *RoleManagementPolicyNotificationRulesEligibleAssignmentsAdminNotifications)
	PutApproverNotifications(value *RoleManagementPolicyNotificationRulesEligibleAssignmentsApproverNotifications)
	PutAssigneeNotifications(value *RoleManagementPolicyNotificationRulesEligibleAssignmentsAssigneeNotifications)
	ResetAdminNotifications()
	ResetApproverNotifications()
	ResetAssigneeNotifications()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference

func NewRoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference

type RoleManagementPolicyNotificationRulesOutputReference

type RoleManagementPolicyNotificationRulesOutputReference interface {
	cdktf.ComplexObject
	ActiveAssignments() RoleManagementPolicyNotificationRulesActiveAssignmentsOutputReference
	ActiveAssignmentsInput() *RoleManagementPolicyNotificationRulesActiveAssignments
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EligibleActivations() RoleManagementPolicyNotificationRulesEligibleActivationsOutputReference
	EligibleActivationsInput() *RoleManagementPolicyNotificationRulesEligibleActivations
	EligibleAssignments() RoleManagementPolicyNotificationRulesEligibleAssignmentsOutputReference
	EligibleAssignmentsInput() *RoleManagementPolicyNotificationRulesEligibleAssignments
	// Experimental.
	Fqn() *string
	InternalValue() *RoleManagementPolicyNotificationRules
	SetInternalValue(val *RoleManagementPolicyNotificationRules)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutActiveAssignments(value *RoleManagementPolicyNotificationRulesActiveAssignments)
	PutEligibleActivations(value *RoleManagementPolicyNotificationRulesEligibleActivations)
	PutEligibleAssignments(value *RoleManagementPolicyNotificationRulesEligibleAssignments)
	ResetActiveAssignments()
	ResetEligibleActivations()
	ResetEligibleAssignments()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyNotificationRulesOutputReference

func NewRoleManagementPolicyNotificationRulesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyNotificationRulesOutputReference

type RoleManagementPolicyTimeouts

type RoleManagementPolicyTimeouts struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#create RoleManagementPolicy#create}.
	Create *string `field:"optional" json:"create" yaml:"create"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#delete RoleManagementPolicy#delete}.
	Delete *string `field:"optional" json:"delete" yaml:"delete"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#read RoleManagementPolicy#read}.
	Read *string `field:"optional" json:"read" yaml:"read"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/4.3.0/docs/resources/role_management_policy#update RoleManagementPolicy#update}.
	Update *string `field:"optional" json:"update" yaml:"update"`
}

type RoleManagementPolicyTimeoutsOutputReference

type RoleManagementPolicyTimeoutsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	Create() *string
	SetCreate(val *string)
	CreateInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Delete() *string
	SetDelete(val *string)
	DeleteInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Read() *string
	SetRead(val *string)
	ReadInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Update() *string
	SetUpdate(val *string)
	UpdateInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCreate()
	ResetDelete()
	ResetRead()
	ResetUpdate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewRoleManagementPolicyTimeoutsOutputReference

func NewRoleManagementPolicyTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) RoleManagementPolicyTimeoutsOutputReference

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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