azurermLighthouseDefinition
Manages a Lighthouse Definition.
Example Usage
/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
const dataAzurermRoleDefinitionContributor =
new azurerm.dataAzurermRoleDefinition.DataAzurermRoleDefinition(
this,
"contributor",
{
role_definition_id: "b24988ac-6180-42a0-ab88-20f7382dd24c",
}
);
new azurerm.lighthouseDefinition.LighthouseDefinition(this, "example", {
authorization: [
{
principal_display_name: "Tier 1 Support",
principal_id: "00000000-0000-0000-0000-000000000000",
role_definition_id: dataAzurermRoleDefinitionContributor.roleDefinitionId,
},
],
description: "This is a lighthouse definition created via Terraform",
managing_tenant_id: "00000000-0000-0000-0000-000000000000",
name: "Sample definition",
scope: "/subscriptions/00000000-0000-0000-0000-000000000000",
});
Argument Reference
The following arguments are supported:
-
lighthouseDefinitionId
- (Optional) A unique UUID/GUID which identifies this lighthouse definition - one will be generated if not specified. Changing this forces a new resource to be created. -
name
- (Required) The name of the Lighthouse Definition. Changing this forces a new resource to be created. -
managingTenantId
- (Required) The ID of the managing tenant. Changing this forces a new resource to be created. -
scope
- (Required) The ID of the managed subscription. Changing this forces a new resource to be created. -
authorization
- (Required) An authorization block as defined below. -
description
- (Optional) A description of the Lighthouse Definition. -
eligibleAuthorization
- (Optional) AneligibleAuthorization
block as defined below. -
plan
- (Optional) Aplan
block as defined below.
An authorization
block supports the following:
-
principalId
- (Required) Principal ID of the security group/service principal/user that would be assigned permissions to the projected subscription. -
roleDefinitionId
- (Required) The role definition identifier. This role will define the permissions that are granted to the principal. This cannot be anowner
role. -
delegatedRoleDefinitionIds
- (Optional) The set of role definition ids which define all the permissions that the principal id can assign. -
principalDisplayName
- (Optional) The display name of the security group/service principal/user that would be assigned permissions to the projected subscription.
An eligibleAuthorization
block supports the following:
-
principalId
- (Required) The Principal ID of the Azure Active Directory. -
roleDefinitionId
- (Required) The Principal ID of the Azure built-in role that defines the permissions that the Azure Active Directory will have on the projected scope. -
justInTimeAccessPolicy
- (Optional) AjustInTimeAccessPolicy
block as defined below. -
principalDisplayName
- (Optional) The display name of the Azure Active Directory Principal.
A justInTimeAccessPolicy
block supports the following:
multiFactorAuthProvider
- (Optional) The multi-factor authorization provider to be used for just-in-time access requests. Possible value isazure
.
\~> Note: When this property isn't set, it would be set to none
.
-
maximumActivationDuration
- (Optional) The maximum access duration in ISO 8601 format for just-in-time access requests. Defaults topt8H
. -
approver
- (Optional) Anapprover
block as defined below.
An approver
block supports the following:
-
principalId
- (Required) The Principal ID of the Azure Active Directory principal for the approver. -
principalDisplayName
- (Optional) The display name of the Azure Active Directory Principal for the approver.
A plan
block supports the following:
-
name
- (Required) The plan name of the marketplace offer. -
publisher
- (Required) The publisher ID of the plan. -
product
- (Required) The product code of the plan. -
version
- (Required) The version of the plan.
Attributes Reference
The following attributes are exported:
id
- the fully qualified ID of the Lighthouse Definition.
Timeouts
The timeouts
block allows you to specify timeouts for certain actions:
create
- (Defaults to 30 minutes) Used when creating the Lighthouse Definition.update
- (Defaults to 30 minutes) Used when updating the Lighthouse Definition.read
- (Defaults to 5 minutes) Used when retrieving the Lighthouse Definition.delete
- (Defaults to 30 minutes) Used when deleting the Lighthouse Definition.
Import
Lighthouse Definitions can be imported using the resourceId
, e.g.