Documentation ¶
Index ¶
- Constants
- Variables
- func New(version string) func() provider.Provider
- func NewFrameworkItemResource() resource.Resource
- func NewFrameworkResource() resource.Resource
- func NewGroupResource() resource.Resource
- func NewLibraryItemResource() resource.Resource
- func NewQuestionResource() resource.Resource
- func NewQuestionRuleResource() resource.Resource
- type ComplianceFrameworkItemModel
- type ComplianceFrameworkItemResource
- func (r *ComplianceFrameworkItemResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *ComplianceFrameworkItemResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ComplianceFrameworkItemResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (*ComplianceFrameworkItemResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (*ComplianceFrameworkItemResource) Metadata(_ context.Context, req resource.MetadataRequest, ...)
- func (r *ComplianceFrameworkItemResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (*ComplianceFrameworkItemResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ComplianceFrameworkItemResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type ComplianceFrameworkModel
- type ComplianceFrameworkResource
- func (r *ComplianceFrameworkResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *ComplianceFrameworkResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ComplianceFrameworkResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (*ComplianceFrameworkResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (*ComplianceFrameworkResource) Metadata(_ context.Context, req resource.MetadataRequest, ...)
- func (r *ComplianceFrameworkResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (*ComplianceFrameworkResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ComplianceFrameworkResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type ComplianceGroupModel
- type ComplianceGroupResource
- func (r *ComplianceGroupResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *ComplianceGroupResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ComplianceGroupResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (*ComplianceGroupResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (*ComplianceGroupResource) Metadata(_ context.Context, req resource.MetadataRequest, ...)
- func (r *ComplianceGroupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (*ComplianceGroupResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ComplianceGroupResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type ComplianceLibraryItemModel
- type ComplianceLibraryItemResource
- func (r *ComplianceLibraryItemResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *ComplianceLibraryItemResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *ComplianceLibraryItemResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (*ComplianceLibraryItemResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (*ComplianceLibraryItemResource) Metadata(_ context.Context, req resource.MetadataRequest, ...)
- func (r *ComplianceLibraryItemResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (*ComplianceLibraryItemResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *ComplianceLibraryItemResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type IdVersioner
- type J1QueryInputModel
- type JupiterOneProvider
- func (p *JupiterOneProvider) Configure(ctx context.Context, req provider.ConfigureRequest, ...)
- func (*JupiterOneProvider) DataSources(context.Context) []func() datasource.DataSource
- func (p *JupiterOneProvider) Metadata(ctx context.Context, req provider.MetadataRequest, ...)
- func (*JupiterOneProvider) Resources(context.Context) []func() resource.Resource
- func (*JupiterOneProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
- type JupiterOneProviderModel
- type QuestionComplianceModel
- type QuestionModel
- type QuestionQueryModel
- type QuestionResource
- func (r *QuestionResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *QuestionResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *QuestionResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (*QuestionResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (*QuestionResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (r *QuestionResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (*QuestionResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *QuestionResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type QuestionRuleResource
- func (*QuestionRuleResource) ConfigValidators(context.Context) []resource.ConfigValidator
- func (r *QuestionRuleResource) Configure(ctx context.Context, req resource.ConfigureRequest, ...)
- func (r *QuestionRuleResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *QuestionRuleResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (*QuestionRuleResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (*QuestionRuleResource) Metadata(ctx context.Context, req resource.MetadataRequest, ...)
- func (*QuestionRuleResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, ...)
- func (r *QuestionRuleResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (*QuestionRuleResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *QuestionRuleResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type RuleModel
- func (r *RuleModel) BuildCreateInlineQuestionRuleInstanceInput() (client.CreateInlineQuestionRuleInstanceInput, error)
- func (r *RuleModel) BuildCreateReferencedQuestionRuleInstanceInput() (client.CreateReferencedQuestionRuleInstanceInput, error)
- func (r *RuleModel) BuildUpdateInlineQuestionRuleInstanceInput() (client.UpdateInlineQuestionRuleInstanceInput, error)
- func (r *RuleModel) BuildUpdateReferencedQuestionRuleInstanceInput() (client.UpdateReferencedQuestionRuleInstanceInput, error)
- type RuleOperation
- type RuleQuestion
- type Versioner
Constants ¶
const MAX_RULE_NAME_LENGTH = 255
const MIN_JSON_LENGTH = 2
const MIN_RULE_NAME_LENGTH = 1
Variables ¶
var FrameworkTypes = []string{ string(client.ComplianceFrameworkTypeBenchmark), string(client.ComplianceFrameworkTypeStandard), string(client.ComplianceFrameworkTypeQuestionnaire), }
var PollingIntervals = []string{ string(client.SchedulerPollingIntervalDisabled), string(client.SchedulerPollingIntervalThirtyMinutes), string(client.SchedulerPollingIntervalOneHour), string(client.SchedulerPollingIntervalFourHours), string(client.SchedulerPollingIntervalEightHours), string(client.SchedulerPollingIntervalTwelveHours), string(client.SchedulerPollingIntervalOneDay), string(client.SchedulerPollingIntervalOneWeek), }
var QueryResultsAre = []string{ string(client.QueryResultsAreBad), string(client.QueryResultsAreGood), string(client.QueryResultsAreInformative), string(client.QueryResultsAreUnknown), }
Functions ¶
func NewFrameworkItemResource ¶ added in v1.0.0
func NewFrameworkResource ¶ added in v1.0.0
func NewGroupResource ¶ added in v1.0.0
func NewLibraryItemResource ¶ added in v1.0.0
func NewQuestionResource ¶ added in v1.0.0
func NewQuestionRuleResource ¶ added in v1.0.0
Types ¶
type ComplianceFrameworkItemModel ¶ added in v1.0.0
type ComplianceFrameworkItemModel struct { Id types.String `tfsdk:"id"` FrameworkId types.String `tfsdk:"framework_id"` GroupId types.String `tfsdk:"group_id"` Name types.String `tfsdk:"name"` Description types.String `tfsdk:"description"` DisplayCategory types.String `tfsdk:"display_category"` WebLink types.String `tfsdk:"web_link"` Ref types.String `tfsdk:"ref"` }
type ComplianceFrameworkItemResource ¶ added in v1.0.0
type ComplianceFrameworkItemResource struct {
// contains filtered or unexported fields
}
func (*ComplianceFrameworkItemResource) Configure ¶ added in v1.0.0
func (r *ComplianceFrameworkItemResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure
func (*ComplianceFrameworkItemResource) Create ¶ added in v1.0.0
func (r *ComplianceFrameworkItemResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource.Resource
func (*ComplianceFrameworkItemResource) Delete ¶ added in v1.0.0
func (r *ComplianceFrameworkItemResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource.Resource
func (*ComplianceFrameworkItemResource) ImportState ¶ added in v1.0.0
func (*ComplianceFrameworkItemResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource.ResourceWithImportState
func (*ComplianceFrameworkItemResource) Metadata ¶ added in v1.0.0
func (*ComplianceFrameworkItemResource) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource
func (*ComplianceFrameworkItemResource) Read ¶ added in v1.0.0
func (r *ComplianceFrameworkItemResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource.Resource
func (*ComplianceFrameworkItemResource) Schema ¶ added in v1.0.0
func (*ComplianceFrameworkItemResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource.Resource
func (*ComplianceFrameworkItemResource) Update ¶ added in v1.0.0
func (r *ComplianceFrameworkItemResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update implements resource.Resource
type ComplianceFrameworkModel ¶ added in v1.0.0
type ComplianceFrameworkModel struct { Id types.String `tfsdk:"id"` Name types.String `tfsdk:"name"` Version types.String `tfsdk:"version"` FrameworkType types.String `tfsdk:"framework_type"` WebLink types.String `tfsdk:"web_link"` ScopeFilters types.List `tfsdk:"scope_filters"` }
func (*ComplianceFrameworkModel) BuildScopeFilters ¶ added in v1.0.0
func (c *ComplianceFrameworkModel) BuildScopeFilters(ctx context.Context) ([]map[string]interface{}, diag.Diagnostics)
BuildScopeFilters builds the data model that is accepted by the J1 API for its `JSON` types
type ComplianceFrameworkResource ¶ added in v1.0.0
type ComplianceFrameworkResource struct {
// contains filtered or unexported fields
}
func (*ComplianceFrameworkResource) Configure ¶ added in v1.0.0
func (r *ComplianceFrameworkResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure
func (*ComplianceFrameworkResource) Create ¶ added in v1.0.0
func (r *ComplianceFrameworkResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource.Resource
func (*ComplianceFrameworkResource) Delete ¶ added in v1.0.0
func (r *ComplianceFrameworkResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource.Resource
func (*ComplianceFrameworkResource) ImportState ¶ added in v1.0.0
func (*ComplianceFrameworkResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource.ResourceWithImportState
func (*ComplianceFrameworkResource) Metadata ¶ added in v1.0.0
func (*ComplianceFrameworkResource) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource
func (*ComplianceFrameworkResource) Read ¶ added in v1.0.0
func (r *ComplianceFrameworkResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource.Resource
func (*ComplianceFrameworkResource) Schema ¶ added in v1.0.0
func (*ComplianceFrameworkResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource.Resource
func (*ComplianceFrameworkResource) Update ¶ added in v1.0.0
func (r *ComplianceFrameworkResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update implements resource.Resource
type ComplianceGroupModel ¶ added in v1.0.0
type ComplianceGroupResource ¶ added in v1.0.0
type ComplianceGroupResource struct {
// contains filtered or unexported fields
}
func (*ComplianceGroupResource) Configure ¶ added in v1.0.0
func (r *ComplianceGroupResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure
func (*ComplianceGroupResource) Create ¶ added in v1.0.0
func (r *ComplianceGroupResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource.Resource
func (*ComplianceGroupResource) Delete ¶ added in v1.0.0
func (r *ComplianceGroupResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource.Resource
func (*ComplianceGroupResource) ImportState ¶ added in v1.0.0
func (*ComplianceGroupResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource.ResourceWithImportState
func (*ComplianceGroupResource) Metadata ¶ added in v1.0.0
func (*ComplianceGroupResource) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource
func (*ComplianceGroupResource) Read ¶ added in v1.0.0
func (r *ComplianceGroupResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource.Resource
func (*ComplianceGroupResource) Schema ¶ added in v1.0.0
func (*ComplianceGroupResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource.Resource
func (*ComplianceGroupResource) Update ¶ added in v1.0.0
func (r *ComplianceGroupResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update implements resource.Resource
type ComplianceLibraryItemModel ¶ added in v1.0.0
type ComplianceLibraryItemModel struct { Id types.String `tfsdk:"id"` PolicyItemId types.String `tfsdk:"policy_item_id"` Name types.String `tfsdk:"name"` Description types.String `tfsdk:"description"` DisplayCategory types.String `tfsdk:"display_category"` WebLink types.String `tfsdk:"web_link"` Ref types.String `tfsdk:"ref"` }
type ComplianceLibraryItemResource ¶ added in v1.0.0
type ComplianceLibraryItemResource struct {
// contains filtered or unexported fields
}
func (*ComplianceLibraryItemResource) Configure ¶ added in v1.0.0
func (r *ComplianceLibraryItemResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure
func (*ComplianceLibraryItemResource) Create ¶ added in v1.0.0
func (r *ComplianceLibraryItemResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource.Resource
func (*ComplianceLibraryItemResource) Delete ¶ added in v1.0.0
func (r *ComplianceLibraryItemResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource.Resource
func (*ComplianceLibraryItemResource) ImportState ¶ added in v1.0.0
func (*ComplianceLibraryItemResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource.ResourceWithImportState
func (*ComplianceLibraryItemResource) Metadata ¶ added in v1.0.0
func (*ComplianceLibraryItemResource) Metadata(_ context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource
func (*ComplianceLibraryItemResource) Read ¶ added in v1.0.0
func (r *ComplianceLibraryItemResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource.Resource
func (*ComplianceLibraryItemResource) Schema ¶ added in v1.0.0
func (*ComplianceLibraryItemResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource.Resource
func (*ComplianceLibraryItemResource) Update ¶ added in v1.0.0
func (r *ComplianceLibraryItemResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update implements resource.Resource
type IdVersioner ¶ added in v1.0.0
type J1QueryInputModel ¶ added in v1.0.0
type J1QueryInputModel struct { // Query tests must be cleaned of carriage returns before being sent to // the server. Query string `json:"query" tfsdk:"query"` Version string `json:"version" tfsdk:"version"` Name string `json:"name" tfsdk:"name"` IncludedDeleted bool `json:"include_deleted" tfsdk:"include_deleted"` }
type JupiterOneProvider ¶ added in v1.0.0
JupiterOneProvider contains the initialized API client to communicate with the JupiterOne API
func (*JupiterOneProvider) Configure ¶ added in v1.0.0
func (p *JupiterOneProvider) Configure(ctx context.Context, req provider.ConfigureRequest, resp *provider.ConfigureResponse)
Configure implements provider.Provider
func (*JupiterOneProvider) DataSources ¶ added in v1.0.0
func (*JupiterOneProvider) DataSources(context.Context) []func() datasource.DataSource
DataSources implements provider.Provider
func (*JupiterOneProvider) Metadata ¶ added in v1.0.0
func (p *JupiterOneProvider) Metadata(ctx context.Context, req provider.MetadataRequest, resp *provider.MetadataResponse)
Metadata implements provider.Provider
func (*JupiterOneProvider) Resources ¶ added in v1.0.0
func (*JupiterOneProvider) Resources(context.Context) []func() resource.Resource
Resources implements provider.Provider
func (*JupiterOneProvider) Schema ¶ added in v1.0.0
func (*JupiterOneProvider) Schema(ctx context.Context, req provider.SchemaRequest, resp *provider.SchemaResponse)
Schema implements provider.Provider
type JupiterOneProviderModel ¶ added in v1.0.0
type JupiterOneProviderModel struct { APIKey basetypes.StringValue `tfsdk:"api_key"` AccountID basetypes.StringValue `tfsdk:"account_id"` Region basetypes.StringValue `tfsdk:"region"` }
type QuestionComplianceModel ¶ added in v1.0.0
type QuestionModel ¶ added in v1.0.0
type QuestionModel struct { Id types.String `json:"id,omitempty" tfsdk:"id"` Title types.String `json:"title,omitempty" tfsdk:"title"` Description types.String `json:"description,omitempty" tfsdk:"description"` ShowTrend types.Bool `json:"show_trend,omitempty" tfsdk:"show_trend"` PollingInterval types.String `json:"polling_interval,omitempty" tfsdk:"polling_interval"` Tags []string `json:"tags,omitempty" tfsdk:"tags"` Query []*QuestionQueryModel `json:"query,omitempty" tfsdk:"query"` Compliance []*QuestionComplianceModel `json:"compliance,omitempty" tfsdk:"compliance"` }
QuestionModel is the terraform HCL representation of a question. This currently has to be different from the `client.Question`:
- allow the use of the `types.String` for ID being computed and the optional values
- make it clearer where the line breaks are being stripped from the input and state
TODO: Unify the client types and the state model if possible
func (*QuestionModel) BuildCreateQuestionInput ¶ added in v1.0.0
func (qm *QuestionModel) BuildCreateQuestionInput() client.CreateQuestionInput
func (*QuestionModel) BuildQuestion ¶ added in v1.0.0
func (qm *QuestionModel) BuildQuestion() client.QuestionUpdate
type QuestionQueryModel ¶ added in v1.0.0
type QuestionQueryModel struct { // Query tests must be cleaned of carriage returns before being sent to // the server. Query string `json:"query" tfsdk:"query"` Version string `json:"version" tfsdk:"version"` Name string `json:"name" tfsdk:"name"` IncludedDeleted bool `json:"include_deleted" tfsdk:"include_deleted"` ResultsAre string `json:"results_are" tfsdk:"results_are"` }
QuestionQueryModel represents the terraform HCL `query` elements.
type QuestionResource ¶ added in v1.0.0
type QuestionResource struct {
// contains filtered or unexported fields
}
func (*QuestionResource) Configure ¶ added in v1.0.0
func (r *QuestionResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure
func (*QuestionResource) Create ¶ added in v1.0.0
func (r *QuestionResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource.Resource
func (*QuestionResource) Delete ¶ added in v1.0.0
func (r *QuestionResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource.Resource
func (*QuestionResource) ImportState ¶ added in v1.0.0
func (*QuestionResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource.ResourceWithImportState
func (*QuestionResource) Metadata ¶ added in v1.0.0
func (*QuestionResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource
func (*QuestionResource) Read ¶ added in v1.0.0
func (r *QuestionResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource.Resource
func (*QuestionResource) Schema ¶ added in v1.0.0
func (*QuestionResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource.Resource
func (*QuestionResource) Update ¶ added in v1.0.0
func (r *QuestionResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update implements resource.Resource
type QuestionRuleResource ¶ added in v1.0.0
type QuestionRuleResource struct {
// contains filtered or unexported fields
}
func (*QuestionRuleResource) ConfigValidators ¶ added in v1.0.0
func (*QuestionRuleResource) ConfigValidators(context.Context) []resource.ConfigValidator
ConfigValidators implements resource.ResourceWithConfigValidators
func (*QuestionRuleResource) Configure ¶ added in v1.0.0
func (r *QuestionRuleResource) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure
func (*QuestionRuleResource) Create ¶ added in v1.0.0
func (r *QuestionRuleResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource.ResourceWithConfigure
func (*QuestionRuleResource) Delete ¶ added in v1.0.0
func (r *QuestionRuleResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource.ResourceWithConfigure
func (*QuestionRuleResource) ImportState ¶ added in v1.0.0
func (*QuestionRuleResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource.ResourceWithImportState
func (*QuestionRuleResource) Metadata ¶ added in v1.0.0
func (*QuestionRuleResource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource
func (*QuestionRuleResource) ModifyPlan ¶ added in v1.0.0
func (*QuestionRuleResource) ModifyPlan(ctx context.Context, req resource.ModifyPlanRequest, resp *resource.ModifyPlanResponse)
ModifyPlan is a workaround for unexpected behavior in the framework around the `computed: true` `version` field to make sure that it is only part of the plan if there is some other change in the resource.
Based on the implementation of the Time resource: https://github.com/hashicorp/terraform-provider-time/blob/main/internal/provider/resource_time_rotating.go#L189-L234
This may be a bug in the framework, if so, this can be removed when fixed: https://github.com/hashicorp/terraform-plugin-framework/issues/628
func (*QuestionRuleResource) Read ¶ added in v1.0.0
func (r *QuestionRuleResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource.ResourceWithConfigure
func (*QuestionRuleResource) Schema ¶ added in v1.0.0
func (*QuestionRuleResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource.ResourceWithConfigure
func (*QuestionRuleResource) Update ¶ added in v1.0.0
func (r *QuestionRuleResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update implements resource.ResourceWithConfigure
type RuleModel ¶ added in v1.0.0
type RuleModel struct { Id types.String `json:"id,omitempty" tfsdk:"id"` Name types.String `json:"name" tfsdk:"name"` Description types.String `json:"description" tfsdk:"description"` Version types.Int64 `json:"version,omitempty" tfsdk:"version"` SpecVersion types.Int64 `json:"specVersion,omitempty" tfsdk:"spec_version"` PollingInterval types.String `json:"polling_interval,omitempty" tfsdk:"polling_interval"` Templates map[string]string `json:"templates" tfsdk:"templates"` Question []*RuleQuestion `json:"question,omitempty" tfsdk:"question"` QuestionId types.String `json:"questionId,omitempty" tfsdk:"question_id"` // Operations TODO: breaking change for new version to do more in the // HCL and/or make better use of things like jsonencode Operations []RuleOperation `json:"operations" tfsdk:"operations"` Outputs []string `json:"outputs" tfsdk:"outputs"` Tags []string `json:"tags" tfsdk:"tags"` NotifyOnFailure types.Bool `json:"notify_on_failure" tfsdk:"notify_on_failure"` TriggerOnNewOnly types.Bool `json:"trigger_on_new_only" tfsdk:"trigger_on_new_only"` }
RuleModel represents the terraform representation of the rule
func (*RuleModel) BuildCreateInlineQuestionRuleInstanceInput ¶ added in v1.0.0
func (r *RuleModel) BuildCreateInlineQuestionRuleInstanceInput() (client.CreateInlineQuestionRuleInstanceInput, error)
func (*RuleModel) BuildCreateReferencedQuestionRuleInstanceInput ¶ added in v1.0.0
func (r *RuleModel) BuildCreateReferencedQuestionRuleInstanceInput() (client.CreateReferencedQuestionRuleInstanceInput, error)
func (*RuleModel) BuildUpdateInlineQuestionRuleInstanceInput ¶ added in v1.0.0
func (r *RuleModel) BuildUpdateInlineQuestionRuleInstanceInput() (client.UpdateInlineQuestionRuleInstanceInput, error)
func (*RuleModel) BuildUpdateReferencedQuestionRuleInstanceInput ¶ added in v1.0.0
func (r *RuleModel) BuildUpdateReferencedQuestionRuleInstanceInput() (client.UpdateReferencedQuestionRuleInstanceInput, error)
type RuleOperation ¶ added in v1.0.0
type RuleQuestion ¶ added in v1.0.0
type RuleQuestion struct {
Queries []*J1QueryInputModel `json:"queries" tfsdk:"queries"`
}