Documentation
¶
Overview ¶
Index ¶
- func New(version string) func() provider.Provider
- type M365Provider
- func (p *M365Provider) Configure(ctx context.Context, req provider.ConfigureRequest, ...)
- func (p *M365Provider) DataSources(ctx context.Context) []func() datasource.DataSource
- func (p *M365Provider) Metadata(ctx context.Context, req provider.MetadataRequest, ...)
- func (p *M365Provider) Resources(ctx context.Context) []func() resource.Resource
- func (p *M365Provider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
- type M365ProviderModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type M365Provider ¶
type M365Provider struct {
// contains filtered or unexported fields
}
M365Provider defines the provider implementation.
func (*M365Provider) Configure ¶
func (p *M365Provider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse)
Configure sets up the Microsoft365 provider with the given configuration. It processes the provider schema, retrieves values from the configuration or environment variables, sets up authentication, and initializes the Microsoft Graph clients.
The function supports various authentication methods, proxy settings, and national cloud deployments. It performs the following main steps:
- Extracts and validates the configuration data.
- Sets up logging and context with relevant fields.
- Determines cloud-specific constants and endpoints.
- Configures the Entra ID client options.
- Obtains credentials based on the specified authentication method.
- Creates and configures the Microsoft Graph clients (stable and beta).
If any errors occur during these steps, appropriate diagnostics are added to the response.
func (*M365Provider) DataSources ¶
func (p *M365Provider) DataSources(ctx context.Context) []func() datasource.DataSource
DataSources returns a slice of functions that each return a datasource.DataSource. This function is a method of the M365Provider type and takes a context.Context as an argument. The returned slice is intended to hold the Microsoft 365 provider datasources.
Parameters:
- ctx: The context for controlling cancellation and timeout.
Returns:
[]func() datasource.DataSource: A slice of functions, each returning a datasource.DataSource.
func (*M365Provider) Metadata ¶
func (p *M365Provider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse)
func (*M365Provider) Resources ¶
func (p *M365Provider) Resources(ctx context.Context) []func() resource.Resource
Resources returns a slice of functions that each return a resource.Resource. This function is a method of the M365Provider type and takes a context.Context as an argument. The returned slice is intended to hold the Microsoft 365 provider resources.
Parameters:
- ctx: The context for controlling cancellation and timeout.
Returns:
[]func() resource.Resource: A slice of functions, each returning a resource.Resource.
Resources returns a slice of functions that each return a resource.Resource.
func (*M365Provider) Schema ¶
func (p *M365Provider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
type M365ProviderModel ¶
type M365ProviderModel struct { TenantID types.String `tfsdk:"tenant_id"` AuthMethod types.String `tfsdk:"auth_method"` ClientID types.String `tfsdk:"client_id"` ClientSecret types.String `tfsdk:"client_secret"` ClientCertificate types.String `tfsdk:"client_certificate"` ClientCertificatePassword types.String `tfsdk:"client_certificate_password"` Username types.String `tfsdk:"username"` Password types.String `tfsdk:"password"` RedirectURL types.String `tfsdk:"redirect_url"` UseProxy types.Bool `tfsdk:"use_proxy"` ProxyURL types.String `tfsdk:"proxy_url"` Cloud types.String `tfsdk:"cloud"` EnableChaos types.Bool `tfsdk:"enable_chaos"` TelemetryOptout types.Bool `tfsdk:"telemetry_optout"` DebugMode types.Bool `tfsdk:"debug_mode"` }
M365ProviderModel describes the provider data model.