Documentation
¶
Index ¶
- func New(version string) func() provider.Provider
- func NewDomainDataSource() datasource.DataSource
- func NewDomainResource() resource.Resource
- func NewSocialProviderResource() resource.Resource
- type APIError
- type APIErrorResponse
- type AuthavaProvider
- func (p *AuthavaProvider) Configure(ctx context.Context, req provider.ConfigureRequest, ...)
- func (p *AuthavaProvider) DataSources(_ context.Context) []func() datasource.DataSource
- func (p *AuthavaProvider) Metadata(_ context.Context, _ provider.MetadataRequest, resp *provider.MetadataResponse)
- func (p *AuthavaProvider) Resources(_ context.Context) []func() resource.Resource
- func (p *AuthavaProvider) Schema(_ context.Context, _ provider.SchemaRequest, resp *provider.SchemaResponse)
- type AuthavaProviderModel
- type Client
- func (c *Client) CreateDomain(domain string) (*Domain, error)
- func (c *Client) CreateSocialProvider(domainID string, provider *SocialProvider) (*SocialProvider, error)
- func (c *Client) DeleteDomain(id string) error
- func (c *Client) DeleteSocialProvider(domainID, providerID string) error
- func (c *Client) GetDomain(id string) (*Domain, error)
- func (c *Client) GetEmailSettings(domainID string) (*EmailSettings, error)
- func (c *Client) GetSocialProvider(domainID, providerID string) (*SocialProvider, error)
- func (c *Client) GetWhitelabelSettings(domainID string) (*WhitelabelSettings, error)
- func (c *Client) ListOrigins(domainID string) ([]string, error)
- func (c *Client) SyncOrigins(domainID string, origins []string) error
- func (c *Client) UpdateEmailSettings(domainID string, settings *EmailSettings) (*EmailSettings, error)
- func (c *Client) UpdateSocialProvider(domainID string, provider *SocialProvider) error
- func (c *Client) UpdateWhitelabelSettings(domainID string, settings *WhitelabelSettings) error
- func (c *Client) VerifyEmailSettings(domainID string) error
- type Domain
- type DomainDataSource
- func (d *DomainDataSource) Configure(_ context.Context, req datasource.ConfigureRequest, ...)
- func (d *DomainDataSource) Metadata(_ context.Context, req datasource.MetadataRequest, ...)
- func (d *DomainDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse)
- func (d *DomainDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, resp *datasource.SchemaResponse)
- type DomainDataSourceModel
- type DomainResource
- func (r *DomainResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *DomainResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *DomainResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *DomainResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *DomainResource) Metadata(_ context.Context, req resource.MetadataRequest, ...)
- func (r *DomainResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *DomainResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *DomainResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type DomainResourceModel
- type EmailSettings
- type EmailTheme
- type EmailThemeModel
- type Origin
- type SMTPConfig
- type SMTPConfigModel
- type SocialProvider
- type SocialProviderResource
- func (r *SocialProviderResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *SocialProviderResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *SocialProviderResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *SocialProviderResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *SocialProviderResource) Metadata(_ context.Context, req resource.MetadataRequest, ...)
- func (r *SocialProviderResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *SocialProviderResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *SocialProviderResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type SocialProviderResourceModel
- type WhitelabelSettings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDomainDataSource ¶
func NewDomainDataSource() datasource.DataSource
func NewDomainResource ¶
Types ¶
type APIErrorResponse ¶
type AuthavaProvider ¶
type AuthavaProvider struct {
// contains filtered or unexported fields
}
func (*AuthavaProvider) Configure ¶
func (p *AuthavaProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse)
func (*AuthavaProvider) DataSources ¶
func (p *AuthavaProvider) DataSources(_ context.Context) []func() datasource.DataSource
func (*AuthavaProvider) Metadata ¶
func (p *AuthavaProvider) Metadata(_ context.Context, _ provider.MetadataRequest, resp *provider.MetadataResponse)
func (*AuthavaProvider) Resources ¶
func (p *AuthavaProvider) Resources(_ context.Context) []func() resource.Resource
func (*AuthavaProvider) Schema ¶
func (p *AuthavaProvider) Schema(_ context.Context, _ provider.SchemaRequest, resp *provider.SchemaResponse)
type AuthavaProviderModel ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) CreateDomain ¶
CreateDomain creates a new domain
func (*Client) CreateSocialProvider ¶
func (c *Client) CreateSocialProvider(domainID string, provider *SocialProvider) (*SocialProvider, error)
CreateSocialProvider creates a new social provider for a domain
func (*Client) DeleteDomain ¶
DeleteDomain deletes a domain by ID
func (*Client) DeleteSocialProvider ¶
DeleteSocialProvider deletes a social provider by ID
func (*Client) GetEmailSettings ¶
func (c *Client) GetEmailSettings(domainID string) (*EmailSettings, error)
GetEmailSettings retrieves email settings for a domain
func (*Client) GetSocialProvider ¶
func (c *Client) GetSocialProvider(domainID, providerID string) (*SocialProvider, error)
GetSocialProvider retrieves a social provider by ID
func (*Client) GetWhitelabelSettings ¶
func (c *Client) GetWhitelabelSettings(domainID string) (*WhitelabelSettings, error)
GetWhitelabelSettings retrieves whitelabel settings for a domain
func (*Client) ListOrigins ¶
ListOrigins retrieves all origins for a domain
func (*Client) UpdateEmailSettings ¶
func (c *Client) UpdateEmailSettings(domainID string, settings *EmailSettings) (*EmailSettings, error)
UpdateEmailSettings updates email settings for a domain
func (*Client) UpdateSocialProvider ¶
func (c *Client) UpdateSocialProvider(domainID string, provider *SocialProvider) error
UpdateSocialProvider updates a social provider
func (*Client) UpdateWhitelabelSettings ¶
func (c *Client) UpdateWhitelabelSettings(domainID string, settings *WhitelabelSettings) error
UpdateWhitelabelSettings updates whitelabel settings for a domain
func (*Client) VerifyEmailSettings ¶
VerifyEmailSettings triggers DNS verification for a domain's email settings
type Domain ¶
type Domain struct {
ID string `json:"id"`
Domain string `json:"domain"`
Status string `json:"status"`
UserID string `json:"user_id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Domain represents an Authava domain
type DomainDataSource ¶
type DomainDataSource struct {
// contains filtered or unexported fields
}
func (*DomainDataSource) Configure ¶
func (d *DomainDataSource) Configure(_ context.Context, req datasource.ConfigureRequest, resp *datasource.ConfigureResponse)
func (*DomainDataSource) Metadata ¶
func (d *DomainDataSource) Metadata(_ context.Context, req datasource.MetadataRequest, resp *datasource.MetadataResponse)
func (*DomainDataSource) Read ¶
func (d *DomainDataSource) Read(ctx context.Context, req datasource.ReadRequest, resp *datasource.ReadResponse)
func (*DomainDataSource) Schema ¶
func (d *DomainDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, resp *datasource.SchemaResponse)
type DomainDataSourceModel ¶
type DomainResource ¶
type DomainResource struct {
// contains filtered or unexported fields
}
func (*DomainResource) Configure ¶
func (r *DomainResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*DomainResource) Create ¶
func (r *DomainResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create domain and email settings together
func (*DomainResource) Delete ¶
func (r *DomainResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*DomainResource) ImportState ¶
func (r *DomainResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
func (*DomainResource) Metadata ¶
func (r *DomainResource) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*DomainResource) Read ¶
func (r *DomainResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
func (*DomainResource) Schema ¶
func (r *DomainResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
func (*DomainResource) Update ¶
func (r *DomainResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
type DomainResourceModel ¶
type DomainResourceModel struct {
ID types.String `tfsdk:"id"`
Domain types.String `tfsdk:"domain"`
Status types.String `tfsdk:"status"`
UserID types.String `tfsdk:"user_id"`
CreatedAt types.String `tfsdk:"created_at"`
UpdatedAt types.String `tfsdk:"updated_at"`
// Email settings
EmailProvider types.String `tfsdk:"email_provider"`
FromEmail types.String `tfsdk:"from_email"`
FromName types.String `tfsdk:"from_name"`
Theme types.Object `tfsdk:"email_theme"`
SMTP *SMTPConfigModel `tfsdk:"smtp"`
DKIMTokens types.List `tfsdk:"dkim_tokens"`
VerificationToken types.String `tfsdk:"verification_token"`
// Origins
Origins types.List `tfsdk:"origins"`
// Whitelabel settings
CompanyName types.String `tfsdk:"company_name"`
LogoURL types.String `tfsdk:"logo_url"`
FaviconURL types.String `tfsdk:"favicon_url"`
PrimaryColor types.String `tfsdk:"primary_color"`
SecondaryColor types.String `tfsdk:"secondary_color"`
TermsURL types.String `tfsdk:"terms_url"`
PrivacyURL types.String `tfsdk:"privacy_url"`
}
type EmailSettings ¶
type EmailSettings struct {
EmailProvider string `json:"provider"`
FromEmail string `json:"from_email"`
FromName string `json:"from_name,omitempty"`
Theme *EmailTheme `json:"theme,omitempty"`
SMTP *SMTPConfig `json:"smtp,omitempty"`
DKIMTokens []string `json:"dkim_tokens,omitempty"`
VerificationToken string `json:"verification_token,omitempty"`
}
EmailSettings represents email configuration for a domain
type EmailTheme ¶
type EmailTheme struct {
Style string `json:"style,omitempty"`
BrandColor string `json:"brandColor,omitempty"`
SecondaryColor string `json:"secondaryColor,omitempty"`
ButtonStyle string `json:"buttonStyle,omitempty"`
FontFamily string `json:"fontFamily,omitempty"`
CustomCSS string `json:"customCss,omitempty"`
}
type EmailThemeModel ¶
type EmailThemeModel struct {
Style types.String `tfsdk:"style"`
BrandColor types.String `tfsdk:"brand_color"`
SecondaryColor types.String `tfsdk:"secondary_color"`
ButtonStyle types.String `tfsdk:"button_style"`
FontFamily types.String `tfsdk:"font_family"`
CustomCSS types.String `tfsdk:"custom_css"`
}
EmailThemeModel represents the email theme configuration
type Origin ¶
type Origin struct {
ID string `json:"id"`
DomainID string `json:"domain_id"`
Origin string `json:"origin"`
IsActive bool `json:"is_active"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Origin represents a CORS origin configuration
type SMTPConfig ¶
type SMTPConfigModel ¶
type SMTPConfigModel struct {
Host types.String `tfsdk:"host"`
Port types.Int64 `tfsdk:"port"`
Username types.String `tfsdk:"username"`
Password types.String `tfsdk:"password"`
Encryption types.String `tfsdk:"encryption"`
IsActive types.Bool `tfsdk:"is_active"`
}
func (*SMTPConfigModel) Equal ¶
func (s *SMTPConfigModel) Equal(other *SMTPConfigModel) bool
type SocialProvider ¶
type SocialProvider struct {
ID string `json:"id"`
AuthProvider string `json:"provider_type"`
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret"`
IsActive bool `json:"is_active"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
SocialProvider represents a social login provider configuration
type SocialProviderResource ¶
type SocialProviderResource struct {
// contains filtered or unexported fields
}
func (*SocialProviderResource) Configure ¶
func (r *SocialProviderResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
func (*SocialProviderResource) Create ¶
func (r *SocialProviderResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
func (*SocialProviderResource) Delete ¶
func (r *SocialProviderResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
func (*SocialProviderResource) ImportState ¶
func (r *SocialProviderResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
func (*SocialProviderResource) Metadata ¶
func (r *SocialProviderResource) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
func (*SocialProviderResource) Read ¶
func (r *SocialProviderResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
func (*SocialProviderResource) Schema ¶
func (r *SocialProviderResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
func (*SocialProviderResource) Update ¶
func (r *SocialProviderResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
type SocialProviderResourceModel ¶
type SocialProviderResourceModel struct {
ID types.String `tfsdk:"id"`
DomainID types.String `tfsdk:"domain_id"`
AuthProvider types.String `tfsdk:"auth_provider"`
ClientID types.String `tfsdk:"client_id"`
ClientSecret types.String `tfsdk:"client_secret"`
IsActive types.Bool `tfsdk:"is_active"`
CreatedAt types.String `tfsdk:"created_at"`
UpdatedAt types.String `tfsdk:"updated_at"`
}
type WhitelabelSettings ¶
type WhitelabelSettings struct {
CompanyName string `json:"company_name,omitempty"`
LogoURL string `json:"logo_url,omitempty"`
FaviconURL string `json:"favicon_url,omitempty"`
PrimaryColor string `json:"primary_color,omitempty"`
SecondaryColor string `json:"secondary_color,omitempty"`
TermsURL string `json:"terms_url,omitempty"`
PrivacyURL string `json:"privacy_url,omitempty"`
}
WhitelabelSettings represents whitelabel configuration