{"id":25050576,"url":"https://github.com/gabegi/azure_apim_resources_terraform_module","last_synced_at":"2025-09-05T22:32:48.299Z","repository":{"id":274599646,"uuid":"923427599","full_name":"Gabegi/Azure_APIM_Resources_Terraform_Module","owner":"Gabegi","description":"Terraform module to create APIM resources ","archived":false,"fork":false,"pushed_at":"2025-04-19T17:06:31.000Z","size":23,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T01:07:40.599Z","etag":null,"topics":["apim","azure","terraform-module"],"latest_commit_sha":null,"homepage":"https://medium.com/@codebob75/azure-apim-using-terraform-f439e93bb4f1","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gabegi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-28T08:17:05.000Z","updated_at":"2025-04-19T17:06:34.000Z","dependencies_parsed_at":"2025-04-19T18:24:01.753Z","dependency_job_id":null,"html_url":"https://github.com/Gabegi/Azure_APIM_Resources_Terraform_Module","commit_stats":null,"previous_names":["gabegi/azure_apim_resources_terraform_module"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabegi%2FAzure_APIM_Resources_Terraform_Module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabegi%2FAzure_APIM_Resources_Terraform_Module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabegi%2FAzure_APIM_Resources_Terraform_Module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gabegi%2FAzure_APIM_Resources_Terraform_Module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gabegi","download_url":"https://codeload.github.com/Gabegi/Azure_APIM_Resources_Terraform_Module/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252793645,"owners_count":21805057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apim","azure","terraform-module"],"created_at":"2025-02-06T09:16:41.149Z","updated_at":"2025-05-07T01:07:47.241Z","avatar_url":"https://github.com/Gabegi.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure_APIM_Resources_Terraform_Module\nThis repository provides code examples that are explained in this blog [Azure APIM Using Terraform](https://medium.com/@codebob75/azure-apim-using-terraform-f439e93bb4f1)\n\nTo use this code, first create a file called values.tfvars file with your subscription key in the folder vars.\nThen, navigate to the repo and run:\n- terraform init\n- terraform plan -var-file=\"vars/values.tfvars\"\n- terraform apply -auto-approve -var-file=\"vars/values.tfvars\" \n- terraform destroy -var-file=\"vars/values.tfvars\"\n\nTo create an resources, simply add to your tfvars file the following\n## API Module tfvars\n\n```\nversion_sets = [\n  {\n    api_version_set_name        = \"my-version-set\"\n    api_version_set_display_name = \"My Version Set\"\n  }\n]\n\napis = [\n  {\n    api_name              = \"MyAPI\"\n    api_revision          = \"1\"\n    display_name          = \"MyAPI\"\n    path                  = \"my-api\"\n    protocols             = [\"https\"]\n    api_type              = \"http\"\n    api_description       = \"Connect to my API  backend\"\n    api_version           = \"v1\"\n    subscription_required = true\n    version_set_name      = \"my-version-set\" # must match version set name\n    content_format        = \"openapi\"\n    openapi_file          = \"./api-definitions/mydomainname/myapidefinitionfile.yaml\"\n  }\n]\n\napi_policies = [\n  {\n    api_policy_name      = \"MyAPI-policy\" # Must be unique (serves as index)\n    api_name              = \"MyAPI\" # Must match api_name\n    xml_content           = \"./api-policies/mydomain/mypolicyname.xml\"\n  }\n]\n\napi_operations = [\n  /// BC Batch\n  {\n    api_operation_name = \"MyAPI-operation_1\" # servers as index\n    api_name      = \"MyAPI\" # must match API name\n    operation_id  = \"operation_1\"\n    display_name  = \"Op 1\"\n    method        = \"POST\"\n    url_template  = \"/$items\"\n    description   = \"An operation to create new items\"\n  }\n]\n\n\nbc_operation_policies = {\n  MyAPI_opPolicy = {\n    api_name              = \"MyAPI\" # must match api name, serves as index\n    operation_policy_name = \"MyAPI-opPolicy\"\n    policy_path           = \"./api-policies/mydomain/mypolicyname.xml\"\n    operation_names = {\n      api_operation_operation_1_operation_id  = \"operation_1\" # must match operation_id\n    }\n  }\n}\n```\n\n## Product Module tfvars\n```\nproducts = {\n  display_name = \"My Product\"\n  product_id   = \"my-product\"\n  subscription_required = true\n  published             = true\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabegi%2Fazure_apim_resources_terraform_module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabegi%2Fazure_apim_resources_terraform_module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabegi%2Fazure_apim_resources_terraform_module/lists"}