Documentation ¶
Overview ¶
Package property contains implementation for Property Provisioning module used to manage properties
Index ¶
- Constants
- Variables
- func Client(meta meta.Meta) papi.PAPI
- func HapiClient(meta meta.Meta) hapi.HAPI
- func IAMClient(meta meta.Meta) iam.IAM
- func NetworkAlias(network string) (string, error)
- func NewBootstrapResource() resource.Resource
- func NewIncludeDataSource() datasource.DataSource
- type BootstrapResource
- func (r *BootstrapResource) Configure(_ context.Context, req resource.ConfigureRequest, ...)
- func (r *BootstrapResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
- func (r *BootstrapResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
- func (r *BootstrapResource) ImportState(ctx context.Context, req resource.ImportStateRequest, ...)
- func (r *BootstrapResource) Metadata(_ context.Context, _ resource.MetadataRequest, resp *resource.MetadataResponse)
- func (r *BootstrapResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
- func (r *BootstrapResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
- func (r *BootstrapResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
- type BootstrapResourceModel
- type Subprovider
Constants ¶
const ( // ActivationPollMinimum is the minimum polling interval for activation creation ActivationPollMinimum = time.Minute )
const SubproviderName = "property"
SubproviderName defines name of the property subprovider
Variables ¶
var ( // ErrReadFile is used to specify error while reading a file. ErrReadFile = errors.New("reading file") // ErrUnmarshal is used to specify unmarshal error. ErrUnmarshal = errors.New("unmarshaling value") // ErrFormatValue is used to specify formatting error. ErrFormatValue = errors.New("formatting value") // ErrUnknownType is used to specify unknown error. ErrUnknownType = errors.New("unknown 'type' value") )
var ( // ErrLookingUpGroupByName is returned when fetching group from API client by groupName returned an error or no group was found ErrLookingUpGroupByName = errors.New("looking up group with name") // ErrNoGroupsFound is returned when no groups were found ErrNoGroupsFound = errors.New("no groups found") // ErrGroupNotInContract is returned when none of the groups could be associated with given contractID ErrGroupNotInContract = errors.New("group does not belong to contract") // ErrFetchingGroups represents error while fetching groups ErrFetchingGroups = errors.New("fetching groups") // ErrGroupNotFound is returned when group with provided ID is not found ErrGroupNotFound = errors.New("group not found") // ErrLookingUpContract is returned when fetching contract from API client by groupId returned an error or no contract was found ErrLookingUpContract = errors.New("looking up contract for provided group") // ErrMultipleContractsInGroup is returned when fetching contract from API client by groupId returned multiple different contracts ErrMultipleContractsInGroup = diag.Diagnostics{ diag.Diagnostic{ Severity: diag.Error, Summary: "multiple contracts found for given group", Detail: "Resource doesn't support groups with multiple contracts. " + "Make sure your group has only one contract assigned before proceeding.", }, } // ErrNoContractProvided is retured when no contract ID was provided but "name" was ErrNoContractProvided = errors.New("'contractId' is required for non-default name") // ErrNoGroupProvided is returned when no "group" property is provided ErrNoGroupProvided = errors.New("'group' not provided and it is a required input") // ErrNoContractsFound is returned when no contracts were found ErrNoContractsFound = errors.New("no contracts were found") // ErrContractNotFound is returned when contract with provided ID does not exist ErrContractNotFound = errors.New("contract not found") // ErrFetchingContracts represents error while fetching contracts ErrFetchingContracts = errors.New("fetching contracts") // ErrMultipleContractsFound is returned when more than one contract was found ErrMultipleContractsFound = diag.Diagnostics{ diag.Diagnostic{ Severity: diag.Error, Summary: "multiple contracts found", Detail: "Resource cannot unambiguously identify the contract. " + "Please provide either a 'group_id' or 'group_name' for accurate identification.", }, } // ErrNoProductProvided is returned when no "product" property is provided ErrNoProductProvided = errors.New("'product' not provided and it is a required input") // ErrProductFetch represents error while fetching product ErrProductFetch = errors.New("fetching product") // ErrProductNotFound is returned when product with provided ID does not exist ErrProductNotFound = errors.New("product not found") // ErrLookingUpCPCode is returned when fetching CP Code from API client by contractID returned an error or no CP Code was found ErrLookingUpCPCode = errors.New("looking up CP Code by name") // ErrCpCodeNotFound is returned when cp code with provided ID does not exist ErrCpCodeNotFound = errors.New("cp code not found") // ErrCPCodeUpdateTimeout is returned when waiting for a cp code update results in timeout ErrCPCodeUpdateTimeout = errors.New("cp code update timeout") // ErrPropertyNotFound is returned when no property was found for given name ErrPropertyNotFound = errors.New("property not found") // ErrRulesNotFound is returned when no rules were found ErrRulesNotFound = errors.New("property rules not found") // ErrVersionCreate represents an error while creating new property version ErrVersionCreate = errors.New("creating property version") // ErrPropertyVersionNotFound is returned when no property versions were found ErrPropertyVersionNotFound = errors.New("property version not found") // ErrRuleFormatsNotFound is returned when no rule formats were found ErrRuleFormatsNotFound = errors.New("no rule formats found") // ErrEdgeHostnameNotFound is returned when no edgehostname were found ErrEdgeHostnameNotFound = errors.New("unable to find edge hostname") // ErrNoLatestIncludeActivation is returned when there is no activation for provided include ErrNoLatestIncludeActivation = errors.New("no latest activation for given include") // ErrPropertyInclude is returned when operation on property include fails ErrPropertyInclude = errors.New("property include") // DiagWarnActivationTimeout returned on activation poll timeout DiagWarnActivationTimeout = diag.Diagnostic{ Severity: diag.Warning, Summary: "Timeout waiting for activation status", Detail: ` The activation creation request has been started successfully, however the operation timeout was exceeded while waiting for the remote resource to update. You may retry the operation to continue to wait for the final status. It is recommended that the timeout for activation resources be set to greater than 90 minutes. See: https://www.terraform.io/docs/configuration/resources.html#operation-timeouts `, } // DiagWarnActivationCanceled is returned on activation poll cancel DiagWarnActivationCanceled = diag.Diagnostic{ Severity: diag.Warning, Summary: "Operation canceled while waiting for activation status", Detail: ` The activation creation request has been started successfully, however the a cancellation was received while waiting for the remote resource to update. You may retry the operation to continue to wait for the final status. It is recommended that the timeout for activation resources be set to greater than 90 minutes. See: https://www.terraform.io/docs/configuration/resources.html#operation-timeouts `, } )
var ( // ActivationPollInterval is the interval for polling an activation status on creation ActivationPollInterval = ActivationPollMinimum // PropertyResourceTimeout is the default timeout for the resource operations PropertyResourceTimeout = time.Minute * 90 // CreateActivationRetry poll wait time code waits between retries for activation creation CreateActivationRetry = 10 * time.Second )
var ( // EgdeHostnameCreatePollInterval is the interval for polling an edgehostname creation EgdeHostnameCreatePollInterval = time.Minute )
var ErrCalculatingHostnamesHash = errors.New("calculating hostnames set hash failed")
ErrCalculatingHostnamesHash is used when calculating hash value for set of hostnames failed.
Functions ¶
func NetworkAlias ¶
NetworkAlias parses the given network name or alias and returns its full name and any error
func NewBootstrapResource ¶
NewBootstrapResource returns new property bootstrap resource
func NewIncludeDataSource ¶
func NewIncludeDataSource() datasource.DataSource
NewIncludeDataSource returns a new property include data source
Types ¶
type BootstrapResource ¶
type BootstrapResource struct {
// contains filtered or unexported fields
}
BootstrapResource represents akamai_property_bootstrap resource
func (*BootstrapResource) Configure ¶
func (r *BootstrapResource) Configure(_ context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)
Configure implements resource.ResourceWithConfigure.
func (*BootstrapResource) Create ¶
func (r *BootstrapResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)
Create implements resource's Create method
func (*BootstrapResource) Delete ¶
func (r *BootstrapResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)
Delete implements resource's Delete method
func (*BootstrapResource) ImportState ¶
func (r *BootstrapResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse)
ImportState implements resource's ImportState method
func (*BootstrapResource) Metadata ¶
func (r *BootstrapResource) Metadata(_ context.Context, _ resource.MetadataRequest, resp *resource.MetadataResponse)
Metadata implements resource.Resource.
func (*BootstrapResource) Read ¶
func (r *BootstrapResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)
Read implements resource's Read method
func (*BootstrapResource) Schema ¶
func (r *BootstrapResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse)
Schema implements resource's Schema
func (*BootstrapResource) Update ¶
func (r *BootstrapResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)
Update supports change for the following attributes: - `name`, which results in resource replacement. Trying to update `group_id`, `contract_id` or `product_id` will result in an error.
type BootstrapResourceModel ¶
type BootstrapResourceModel struct { ID types.String `tfsdk:"id"` Name types.String `tfsdk:"name"` GroupID types.String `tfsdk:"group_id"` ContractID types.String `tfsdk:"contract_id"` ProductID types.String `tfsdk:"product_id"` }
BootstrapResourceModel is a model for akamai_property_bootstrap resource
type Subprovider ¶
type Subprovider struct{}
Subprovider gathers property resources and data sources
func NewSubprovider ¶
func NewSubprovider() *Subprovider
NewSubprovider returns a new property subprovider
func (*Subprovider) FrameworkDataSources ¶
func (p *Subprovider) FrameworkDataSources() []func() datasource.DataSource
FrameworkDataSources returns the property data sources implemented using terraform-plugin-framework
func (*Subprovider) FrameworkResources ¶
func (p *Subprovider) FrameworkResources() []func() resource.Resource
FrameworkResources returns the property resources implemented using terraform-plugin-framework
func (*Subprovider) SDKDataSources ¶
func (p *Subprovider) SDKDataSources() map[string]*schema.Resource
SDKDataSources returns the property data sources implemented using terraform-plugin-sdk
func (*Subprovider) SDKResources ¶
func (p *Subprovider) SDKResources() map[string]*schema.Resource
SDKResources returns the property resources implemented using terraform-plugin-sdk
Source Files ¶
- data_akamai_contracts.go
- data_akamai_cp_code.go
- data_akamai_properties.go
- data_akamai_properties_search.go
- data_akamai_property.go
- data_akamai_property_activation.go
- data_akamai_property_hostnames.go
- data_akamai_property_include.go
- data_akamai_property_include_activation.go
- data_akamai_property_include_parents.go
- data_akamai_property_include_rules.go
- data_akamai_property_includes.go
- data_akamai_property_products.go
- data_akamai_property_rule_formats.go
- data_akamai_property_rules.go
- data_akamai_property_rules_builder.go
- data_akamai_property_rules_schema_v0.go
- data_akamai_property_rules_template.go
- data_property_akamai_contract.go
- data_property_akamai_group.go
- data_property_akamai_groups.go
- diff_suppress_funcs.go
- helpers.go
- log_fields.go
- papi_errors.go
- property.go
- provider.go
- resource_akamai_cp_code.go
- resource_akamai_cp_code_schema_v0.go
- resource_akamai_edge_hostname.go
- resource_akamai_property.go
- resource_akamai_property_activation.go
- resource_akamai_property_activation_schema_v0.go
- resource_akamai_property_bootstrap.go
- resource_akamai_property_common.go
- resource_akamai_property_include.go
- resource_akamai_property_include_activation.go
- resource_akamai_property_include_activation_schema_v0.go
- resource_akamai_property_schema_v0.go
Directories ¶
Path | Synopsis |
---|---|
Package ruleformats contains logic required for akamai_property_rules_builder data source.
|
Package ruleformats contains logic required for akamai_property_rules_builder data source. |