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" CreateTimeout = 180 UpdateTimeout = 180 ReadTimeout = 180 DeleteTimeout = 180 )
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"` }