Documentation
¶
Overview ¶
REF: https://learn.microsoft.com/en-us/graph/api/resources/conditionalaccesspolicy?view=graph-rest-beta
Index ¶
- Constants
- func MapRemoteStateToTerraform(ctx context.Context, data *ConditionalAccessPolicyResourceModel, ...)
- func NewConditionalAccessPolicyResource() resource.Resource
- type ApplicationEnforcedRestrictionsSessionControlModel
- type AuthenticationStrengthPolicyModel
- type CloudAppSecuritySessionControlModel
- type ConditionalAccessApplicationsModel
- type ConditionalAccessAuthenticationFlowsModel
- type ConditionalAccessClientApplicationsModel
- type ConditionalAccessConditionsModel
- type ConditionalAccessDeviceStatesModel
- type ConditionalAccessDevicesModel
- type ConditionalAccessExternalTenantsModel
- type ConditionalAccessFilterModel
- type ConditionalAccessGrantControlsModel
- type ConditionalAccessGuestsOrExternalUsersModel
- type ConditionalAccessLocationsModel
- type ConditionalAccessPlatformsModel
- type ConditionalAccessPolicyResource
- func (r *ConditionalAccessPolicyResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *ConditionalAccessPolicyResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ConditionalAccessPolicyResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *ConditionalAccessPolicyResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *ConditionalAccessPolicyResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *ConditionalAccessPolicyResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, ...)
- func (r *ConditionalAccessPolicyResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *ConditionalAccessPolicyResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ConditionalAccessPolicyResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type ConditionalAccessPolicyResourceModel
- type ConditionalAccessSessionControlsModel
- type ConditionalAccessUsersModel
- type ContinuousAccessEvaluationSessionControlModel
- type PersistentBrowserSessionControlModel
- type SecureSignInSessionControlModel
- type SignInFrequencySessionControlModel
Constants ¶
const (
ResourceName = "graph_beta_identity_and_access_conditional_access_policy"
)
Variables ¶
This section is empty.
Functions ¶
func MapRemoteStateToTerraform ¶
func MapRemoteStateToTerraform(ctx context.Context, data *ConditionalAccessPolicyResourceModel, remoteResource models.ConditionalAccessPolicyable)
MapRemoteStateToTerraform maps the remote state from the Graph API to the Terraform resource model for stating. It populates the ConditionalAccessPolicyResourceModel with data from the ConditionalAccessPolicy.
Types ¶
type AuthenticationStrengthPolicyModel ¶
type AuthenticationStrengthPolicyModel struct {
ID types.String `tfsdk:"id"`
CreatedDateTime types.String `tfsdk:"created_date_time"`
ModifiedDateTime types.String `tfsdk:"modified_date_time"`
DisplayName types.String `tfsdk:"display_name"`
Description types.String `tfsdk:"description"`
PolicyType types.String `tfsdk:"policy_type"`
RequirementsSatisfied types.String `tfsdk:"requirements_satisfied"`
AllowedCombinations []types.String `tfsdk:"allowed_combinations"`
}
type ConditionalAccessApplicationsModel ¶
type ConditionalAccessApplicationsModel struct {
IncludeApplications []types.String `tfsdk:"include_applications"`
ExcludeApplications []types.String `tfsdk:"exclude_applications"`
ApplicationFilter *ConditionalAccessFilterModel `tfsdk:"application_filter"`
IncludeUserActions []types.String `tfsdk:"include_user_actions"`
}
type ConditionalAccessClientApplicationsModel ¶
type ConditionalAccessClientApplicationsModel struct {
ExcludeServicePrincipals []types.String `tfsdk:"exclude_service_principals"`
IncludeServicePrincipals []types.String `tfsdk:"include_service_principals"`
ServicePrincipalFilter *ConditionalAccessFilterModel `tfsdk:"service_principal_filter"`
}
type ConditionalAccessConditionsModel ¶
type ConditionalAccessConditionsModel struct {
Applications *ConditionalAccessApplicationsModel `tfsdk:"applications"`
Users *ConditionalAccessUsersModel `tfsdk:"users"`
ClientApplications *ConditionalAccessClientApplicationsModel `tfsdk:"client_applications"`
ClientAppTypes []types.String `tfsdk:"client_app_types"`
DeviceStates *ConditionalAccessDeviceStatesModel `tfsdk:"device_states"`
Devices *ConditionalAccessDevicesModel `tfsdk:"devices"`
Locations *ConditionalAccessLocationsModel `tfsdk:"locations"`
Platforms *ConditionalAccessPlatformsModel `tfsdk:"platforms"`
ServicePrincipalRiskLevels []types.String `tfsdk:"service_principal_risk_levels"`
SignInRiskLevels []types.String `tfsdk:"sign_in_risk_levels"`
UserRiskLevels []types.String `tfsdk:"user_risk_levels"`
AuthenticationFlows *ConditionalAccessAuthenticationFlowsModel `tfsdk:"authentication_flows"`
InsiderRiskLevels types.String `tfsdk:"insider_risk_levels"`
}
type ConditionalAccessDevicesModel ¶
type ConditionalAccessDevicesModel struct {
IncludeDevices []types.String `tfsdk:"include_devices"`
ExcludeDevices []types.String `tfsdk:"exclude_devices"`
IncludeStates []types.String `tfsdk:"include_states"` // TODO - validate this. sdk different to msft docs
ExcludeStates []types.String `tfsdk:"exclude_states"` // TODO - validate this. sdk different to msft docs
DeviceFilter *ConditionalAccessFilterModel `tfsdk:"device_filter"`
}
type ConditionalAccessGrantControlsModel ¶
type ConditionalAccessGrantControlsModel struct {
BuiltInControls []types.String `tfsdk:"built_in_controls"`
CustomAuthenticationFactors []types.String `tfsdk:"custom_authentication_factors"`
Operator types.String `tfsdk:"operator"`
TermsOfUse []types.String `tfsdk:"terms_of_use"`
AuthenticationStrength *AuthenticationStrengthPolicyModel `tfsdk:"authentication_strength"`
}
type ConditionalAccessGuestsOrExternalUsersModel ¶
type ConditionalAccessGuestsOrExternalUsersModel struct {
ExternalTenants *ConditionalAccessExternalTenantsModel `tfsdk:"external_tenants"`
GuestOrExternalUserTypes types.String `tfsdk:"guest_or_external_user_types"`
}
type ConditionalAccessPolicyResource ¶
type ConditionalAccessPolicyResource struct {
ProviderTypeName string
TypeName string
ReadPermissions []string
WritePermissions []string
// contains filtered or unexported fields
}
func (*ConditionalAccessPolicyResource) Configure ¶
func (r *ConditionalAccessPolicyResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure sets the client for the resource.
func (*ConditionalAccessPolicyResource) Create ¶
func (r *ConditionalAccessPolicyResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create handles the Create operation.
func (*ConditionalAccessPolicyResource) Delete ¶
func (r *ConditionalAccessPolicyResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete handles the Delete operation.
func (*ConditionalAccessPolicyResource) ImportState ¶
func (r *ConditionalAccessPolicyResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState imports the resource state.
func (*ConditionalAccessPolicyResource) Metadata ¶
func (r *ConditionalAccessPolicyResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata returns the resource type name.
func (*ConditionalAccessPolicyResource) ModifyPlan ¶
func (r *ConditionalAccessPolicyResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse)
ModifyPlan handles plan modification for diff suppression
func (*ConditionalAccessPolicyResource) Read ¶
func (r *ConditionalAccessPolicyResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read handles the Read operation.
func (*ConditionalAccessPolicyResource) Schema ¶
func (r *ConditionalAccessPolicyResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
Schema returns the schema for the resource.
func (*ConditionalAccessPolicyResource) Update ¶
func (r *ConditionalAccessPolicyResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update handles the Update operation.
type ConditionalAccessPolicyResourceModel ¶
type ConditionalAccessPolicyResourceModel struct {
ID types.String `tfsdk:"id"`
Description types.String `tfsdk:"description"`
DisplayName types.String `tfsdk:"display_name"`
CreatedDateTime types.String `tfsdk:"created_date_time"`
ModifiedDateTime types.String `tfsdk:"modified_date_time"`
State types.String `tfsdk:"state"`
Conditions *ConditionalAccessConditionsModel `tfsdk:"conditions"`
GrantControls *ConditionalAccessGrantControlsModel `tfsdk:"grant_controls"`
SessionControls *ConditionalAccessSessionControlsModel `tfsdk:"session_controls"`
Timeouts timeouts.Value `tfsdk:"timeouts"`
}
type ConditionalAccessSessionControlsModel ¶
type ConditionalAccessSessionControlsModel struct {
ApplicationEnforcedRestrictions *ApplicationEnforcedRestrictionsSessionControlModel `tfsdk:"application_enforced_restrictions"`
CloudAppSecurity *CloudAppSecuritySessionControlModel `tfsdk:"cloud_app_security"`
ContinuousAccessEvaluation *ContinuousAccessEvaluationSessionControlModel `tfsdk:"continuous_access_evaluation"`
PersistentBrowser *PersistentBrowserSessionControlModel `tfsdk:"persistent_browser"`
SignInFrequency *SignInFrequencySessionControlModel `tfsdk:"sign_in_frequency"`
DisableResilienceDefaults types.Bool `tfsdk:"disable_resilience_defaults"`
SecureSignInSession *SecureSignInSessionControlModel `tfsdk:"secure_sign_in_session"`
}
type ConditionalAccessUsersModel ¶
type ConditionalAccessUsersModel struct {
ExcludeGroups []types.String `tfsdk:"exclude_groups"`
ExcludeGuestsOrExternalUsers *ConditionalAccessGuestsOrExternalUsersModel `tfsdk:"exclude_guests_or_external_users"`
ExcludeRoles []types.String `tfsdk:"exclude_roles"`
ExcludeUsers []types.String `tfsdk:"exclude_users"`
IncludeGroups []types.String `tfsdk:"include_groups"`
IncludeGuestsOrExternalUsers *ConditionalAccessGuestsOrExternalUsersModel `tfsdk:"include_guests_or_external_users"`
IncludeRoles []types.String `tfsdk:"include_roles"`
IncludeUsers []types.String `tfsdk:"include_users"`
}