Skip to content

Latest commit

 

History

History

README.md

Property Creation in Bulk

Terraform can also be used for bulk operations such as onboardings or modifications. This template creates 3 new properties during a single terraform apply for properties named after dev, qa, and test. However, these properties can be different apps (e.g. www, login, api, etc), not necessarily different testing environments. By using the for_each meta-argument all the resources are created during a single terraform apply as opposed to other multi-environment setups where each configuration can be deployed independently. The latter is more convenient for day to day operations.

Usage

Basic usage of this module is as follows:

module "example" {
  	 source  = "<module-location>"
  
	 # Required variables
  	 activate_property_on_production  = <bool>
  	 activate_property_on_staging  = <bool>
  	 akamai_access_token  = <string>
  	 akamai_client_secret  = <string>
  	 akamai_client_token  = <string>
  	 akamai_host  = <string>
  	 certificate  = <number>
  	 domain  = <string>
  	 email  = <string>
  	 group_name  = <string>
  	 properties  = <map(object({
    cpcode_name     = string
    origin_hostname = string
    hostnames       = list(string)
    edge_hostname   = string
  }))>
  	 version_notes  = <string>
  
	 # Optional variables
  	 akamai_account_key  = <string> | default: ""
  	 edge_hostname_ip_behavior  = <string> | default: "IPV6_COMPLIANCE"
  	 product_id  = <string> | default: "Fresca"
}

Requirements

Name Version
terraform >= 1.9.0
akamai ~> 10.0

Resources

Name Type
akamai_cp_code.cp_code resource
akamai_edge_hostname.my_edge_hostname resource
akamai_property.my_property resource
akamai_property_activation.my_property_activation_production resource
akamai_property_activation.my_property_activation_staging resource
akamai_contract.contract data source
akamai_property_rules_builder.my_property_rule_accelerate_delivery data source
akamai_property_rules_builder.my_property_rule_adaptive_acceleration data source
akamai_property_rules_builder.my_property_rule_allowed_methods data source
akamai_property_rules_builder.my_property_rule_augment_insights data source
akamai_property_rules_builder.my_property_rule_bots data source
akamai_property_rules_builder.my_property_rule_compressible_objects data source
akamai_property_rules_builder.my_property_rule_css_and_java_script data source
akamai_property_rules_builder.my_property_rule_data_stream data source
akamai_property_rules_builder.my_property_rule_default data source
akamai_property_rules_builder.my_property_rule_delete data source
akamai_property_rules_builder.my_property_rule_files data source
akamai_property_rules_builder.my_property_rule_fonts data source
akamai_property_rules_builder.my_property_rule_geolocation data source
akamai_property_rules_builder.my_property_rule_graph_ql data source
akamai_property_rules_builder.my_property_rule_hsts data source
akamai_property_rules_builder.my_property_rule_html_pages data source
akamai_property_rules_builder.my_property_rule_images data source
akamai_property_rules_builder.my_property_rule_increase_availability data source
akamai_property_rules_builder.my_property_rule_log_delivery data source
akamai_property_rules_builder.my_property_rule_m_pulse_rum data source
akamai_property_rules_builder.my_property_rule_minimize_payload data source
akamai_property_rules_builder.my_property_rule_obfuscate_backend_info data source
akamai_property_rules_builder.my_property_rule_obfuscate_debug_info data source
akamai_property_rules_builder.my_property_rule_offload_origin data source
akamai_property_rules_builder.my_property_rule_options data source
akamai_property_rules_builder.my_property_rule_origin_connectivity data source
akamai_property_rules_builder.my_property_rule_origin_health data source
akamai_property_rules_builder.my_property_rule_other_static_objects data source
akamai_property_rules_builder.my_property_rule_patch data source
akamai_property_rules_builder.my_property_rule_post data source
akamai_property_rules_builder.my_property_rule_post_responses data source
akamai_property_rules_builder.my_property_rule_prefetchable_objects data source
akamai_property_rules_builder.my_property_rule_prefetching data source
akamai_property_rules_builder.my_property_rule_prefetching_objects data source
akamai_property_rules_builder.my_property_rule_protocol_optimizations data source
akamai_property_rules_builder.my_property_rule_put data source
akamai_property_rules_builder.my_property_rule_redirects data source
akamai_property_rules_builder.my_property_rule_script_management data source
akamai_property_rules_builder.my_property_rule_simulate_failover data source
akamai_property_rules_builder.my_property_rule_site_failover data source
akamai_property_rules_builder.my_property_rule_strengthen_security data source
akamai_property_rules_builder.my_property_rule_traffic_reporting data source
akamai_property_rules_builder.my_property_rule_uncacheable_objects data source

Modules

No modules.

Inputs

Name Description Type Default Required
activate_property_on_production n/a bool n/a yes
activate_property_on_staging n/a bool n/a yes
akamai_access_token Akamai access token string n/a yes
akamai_client_secret Akamai client secret string n/a yes
akamai_client_token Akamai client token string n/a yes
akamai_host Akamai host string n/a yes
certificate Akamai Certificate Enrollment ID number n/a yes
domain Domain for all the properties string n/a yes
email Notification email string n/a yes
group_name Akamai Group Name string n/a yes
properties n/a
map(object({
cpcode_name = string
origin_hostname = string
hostnames = list(string)
edge_hostname = string
}))
n/a yes
version_notes Version Notes for the Property string n/a yes
akamai_account_key Akamai account key (optional) string "" no
edge_hostname_ip_behavior Akamai Edge Hostname IP behavior string "IPV6_COMPLIANCE" no
product_id Akamai Property Product ID string "Fresca" no

Outputs

Name Description
contract_id n/a
group_id n/a

Resources