You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Product Groups | ./products/``product_display_name``/policy.xml |
58
+
| Product Groups | ./products/``product_display_name``/groups.json. Please note that we don't create the groups. We only associate with existing ones that would be created using IaC tool like ARM/Bicep/Terraform which is outside the scope of this tool |
58
59
| Gateway information | ./gateways/``gateway_name``/gatewayInformation.json |
59
60
| Authorization server information | ./authorizationServers/``authorization_server_name``/authorizationServerInformation.json |
60
61
| Diagnostic information | ./diagnostics/``diagnostic_name``/diagnosticInformation.json |
61
62
| Logger information | ./loggers/``logger_name``/loggerInformation.json |
62
-
| Non Versioned/revisioned API information | ./apis/``api_display_name``/Original/1/apiInformation.json |
63
-
| Non Versioned/revisioned specification information | ./apis/``api_display_name``/Original/1/specification.yaml |
64
-
| Versioned API information | ./apis/``api_display_name``/``Original serves as v1 in addition to folders for each version``/1/apiInformation.json |
65
-
| Versioned specification information | ./apis/``api_display_name``/``Original serves as v1 in addition to folders for each version``/1/specification.yaml |
66
-
| revisioned API information | ./apis/``api_display_name``/``Original\[revision number]``/apiinformation.json |
67
-
| revisioned specification information | ./apis/``api_display_name``/``Original\[revision number]``/specification.yaml |
Note that the configuration file is optional. In addition the different properties listed in the table below are optional as well. For example if you only need to override a nameValue then you would only include the namedValues property.
43
+
Note that the configuration file is optional. For a full list of supported configuration overrides that the publisher tool supports please take a look at the restful api documentation of APIM which can be found here [**APIM Restful API Docs**](https://learn.microsoft.com/en-us/rest/api/apimanagement/current-ga/apis/create-or-update?tabs=HTTP). For more information spend some time looking at the response body of each of the sections in the APIM docs. Here is an example of the [**API Diagnostics Response Body which shows you which properties you can override**](https://learn.microsoft.com/en-us/rest/api/apimanagement/current-ga/api-diagnostic/create-or-update?tabs=HTTP#apimanagementcreateapidiagnostic).
44
44
45
-
Below is the full list of supported configuration overrides that the publisher tool supports.
46
45
47
-
| Property | Purpose |
48
-
| - | - |
49
-
| apimServiceName | Name of the destination APIM instance that you would like to promote to. Note that if you provide both the apimServiceName and the API_MANAGEMENT_SERVICE_NAME environment variable then the configuration file will take precedence |
50
-
| namedValues | List of named value pairs to override. All three types (Plain - Secret - Key Vault) are supported
51
-
| loggers | Information for the application insights instance to utilize in the destination environment APIM instance |
52
-
| diagnostics | Configuration for the verbosity setting of the application insights instance to utilize in the destination environment APIM instance |
53
-
| apis | List of apis for you which you would like to override settings like the application insights etc.. You can also override the service url across environments. If you are utilizing versioning/revisioning in APIM then you need to set the target api version & revision to apply application insights to e.g. 'my-api', 'my-api-v2', 'my-api-v2;rev=2' |
54
-
| backends | List of backends which you would like to override. You can override information like the url when promoting across environments |
46
+
```
47
+
Note: When it comes to child configuration override (e.g. apis diagnostics) you don't need to include the properties tag in your yaml.
48
+
```
55
49
56
-
As mentioned above the publisher supports overriding secret named values. Whereas the publisher supports both types of APIM secrets (secret and Azure Key Vault), we recommend using Azure Key Vault whenever possible.
50
+
The publisher supports overriding secret named values. Whereas the publisher supports both types of APIM secrets (secret and Azure Key Vault), we recommend using Azure Key Vault whenever possible.
57
51
58
52
If you are trying to override a secret stored in Azure Key Vault then you can simply override the named value in your configuration file as demonstrated in the following [**sample configuration file**](https://github.com/Azure/apiops/blob/main/configuration.prod.yaml).
59
53
@@ -70,9 +64,16 @@ Note: You don't have to create the named values in the target APIM environments
70
64
71
65
If you are trying to override a secret stored as secret namedvalue type in APIM you can simply override the named value in your configuration file as demonstrated in the following [**sample configuration file**](https://github.com/Azure/apiops/blob/main/configuration.prod.yaml).
72
66
73
-
The important thing to note here is that the value included in the configuration override needs to be defined as a secret in your Azure Devops (as a variable group secret) and Github (as an environment secret) and then passed as an environment variable in the yaml files. The sample configuration yaml files provided in this repository set a variable name called testSecretValue which is the value that gets set on Azure APIM. The important thing to note there is that you need to surround your secret with {#[your secret]#}. Set the list of environments variables as you fit for your scenario. Please note that you will need to install the Replace Tokens Extension in the Azure DevOps environment. Go to the marketplace and search for Replace Tokens. You don't need to install any extension for Github as its not required there.
67
+
The important thing to note here is that the value included in the configuration override needs to be defined as a secret in your Azure Devops (as a variable group secret) and Github (as an environment secret) and then passed as an environment variable in the yaml files. The sample configuration yaml files provided in this repository set a variable name called testSecretValue which is the value that gets set on Azure APIM. Another thing to note here is that there is that you need to surround your secret with {#[your secret]#}. Set the list of environments variables as you fit for your scenario.
74
68
69
+
```
70
+
Note: You will need to install the Replace Tokens Extension in the Azure DevOps environment. Go to the marketplace and search for Replace Tokens. You don't need to install any extension for Github as its not required there.
71
+
```
75
72
76
73
```
77
74
Note: You don't have to create the named values in the target APIM environments ahead of time as they will be created by the publisher.
75
+
```
76
+
77
+
```
78
+
Note: Important note regarding deleting apis. If you delete the specification file nothing happens. But if you delete the information file we delete the api. Now if you delete one but not the other it will do a put of whichever file is left. So always make sure you delete both files when deleting an api. As a matter of fact its recommended you delete the folder pertaining to the api under question.
0 commit comments