Creates or updates named value.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}?api-version=2022-08-01
URI Parameters
Name |
In |
Required |
Type |
Description |
namedValueId
|
path |
True
|
string
|
Identifier of the NamedValue.
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
The name of the resource group. The name is case insensitive.
|
serviceName
|
path |
True
|
string
|
The name of the API Management service.
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
The ID of the target subscription.
|
api-version
|
query |
True
|
string
|
The API version to use for this operation.
|
Name |
Required |
Type |
Description |
If-Match
|
|
string
|
ETag of the Entity. Not required when creating an entity, but required when updating an entity.
|
Request Body
Name |
Required |
Type |
Description |
properties.displayName
|
True
|
string
|
Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.
|
properties.keyVault
|
|
KeyVaultContractCreateProperties
|
KeyVault location details of the namedValue.
|
properties.secret
|
|
boolean
|
Determines whether the value is a secret and should be encrypted or not. Default value is false.
|
properties.tags
|
|
string[]
|
Optional tags that when provided can be used to filter the NamedValue list.
|
properties.value
|
|
string
|
Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
|
Responses
Name |
Type |
Description |
200 OK
|
NamedValueContract
|
Named value was successfully updated.
Headers
ETag: string
|
201 Created
|
NamedValueContract
|
Named value was successfully created.
Headers
ETag: string
|
202 Accepted
|
|
Request to create or update named value was accepted.
|
Other Status Codes
|
ErrorResponse
|
Error response describing why the operation failed.
|
Security
azure_auth
Azure Active Directory OAuth2 Flow.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Description |
user_impersonation
|
impersonate your user account
|
Examples
ApiManagementCreateNamedValue
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2022-08-01
{
"properties": {
"displayName": "prop3name",
"value": "propValue",
"tags": [
"foo",
"bar"
],
"secret": false
}
}
import java.util.Arrays;
/** Samples for NamedValue CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValue.json
*/
/**
* Sample code: ApiManagementCreateNamedValue.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateNamedValue(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.namedValues()
.define("testprop2")
.withExistingService("rg1", "apimService1")
.withTags(Arrays.asList("foo", "bar"))
.withDisplayName("prop3name")
.withValue("propValue")
.withSecret(false)
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_named_value.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.named_value.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
named_value_id="testprop2",
parameters={
"properties": {"displayName": "prop3name", "secret": False, "tags": ["foo", "bar"], "value": "propValue"}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValue.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValue.json
func ExampleNamedValueClient_BeginCreateOrUpdate_apiManagementCreateNamedValue() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewNamedValueClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "testprop2", armapimanagement.NamedValueCreateContract{
Properties: &armapimanagement.NamedValueCreateContractProperties{
Secret: to.Ptr(false),
Tags: []*string{
to.Ptr("foo"),
to.Ptr("bar")},
DisplayName: to.Ptr("prop3name"),
Value: to.Ptr("propValue"),
},
}, &armapimanagement.NamedValueClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.NamedValueContract = armapimanagement.NamedValueContract{
// Name: to.Ptr("testprop2"),
// Type: to.Ptr("Microsoft.ApiManagement/service/namedValues"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2"),
// Properties: &armapimanagement.NamedValueContractProperties{
// Secret: to.Ptr(false),
// Tags: []*string{
// to.Ptr("foo"),
// to.Ptr("bar")},
// DisplayName: to.Ptr("prop3name"),
// Value: to.Ptr("propValue"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates named value.
*
* @summary Creates or updates named value.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValue.json
*/
async function apiManagementCreateNamedValue() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const namedValueId = "testprop2";
const parameters = {
displayName: "prop3name",
secret: false,
tags: ["foo", "bar"],
value: "propValue",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.namedValue.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
namedValueId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
"type": "Microsoft.ApiManagement/service/namedValues",
"name": "testprop2",
"properties": {
"displayName": "prop3name",
"value": "propValue",
"tags": [
"foo",
"bar"
],
"secret": false
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
"type": "Microsoft.ApiManagement/service/namedValues",
"name": "testprop2",
"properties": {
"displayName": "prop3name",
"value": "propValue",
"tags": [
"foo",
"bar"
],
"secret": false
}
}
ApiManagementCreateNamedValueWithKeyVault
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6?api-version=2022-08-01
{
"properties": {
"displayName": "prop6namekv",
"keyVault": {
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret"
},
"tags": [
"foo",
"bar"
],
"secret": true
}
}
import com.azure.resourcemanager.apimanagement.models.KeyVaultContractCreateProperties;
import java.util.Arrays;
/** Samples for NamedValue CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json
*/
/**
* Sample code: ApiManagementCreateNamedValueWithKeyVault.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateNamedValueWithKeyVault(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.namedValues()
.define("testprop6")
.withExistingService("rg1", "apimService1")
.withTags(Arrays.asList("foo", "bar"))
.withDisplayName("prop6namekv")
.withKeyVault(
new KeyVaultContractCreateProperties()
.withSecretIdentifier("fakeTokenPlaceholder")
.withIdentityClientId("ceaa6b06-c00f-43ef-99ac-f53d1fe876a0"))
.withSecret(true)
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_named_value_with_key_vault.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.named_value.begin_create_or_update(
resource_group_name="rg1",
service_name="apimService1",
named_value_id="testprop6",
parameters={
"properties": {
"displayName": "prop6namekv",
"keyVault": {
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
},
"secret": True,
"tags": ["foo", "bar"],
}
},
).result()
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json
func ExampleNamedValueClient_BeginCreateOrUpdate_apiManagementCreateNamedValueWithKeyVault() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewNamedValueClient().BeginCreateOrUpdate(ctx, "rg1", "apimService1", "testprop6", armapimanagement.NamedValueCreateContract{
Properties: &armapimanagement.NamedValueCreateContractProperties{
Secret: to.Ptr(true),
Tags: []*string{
to.Ptr("foo"),
to.Ptr("bar")},
DisplayName: to.Ptr("prop6namekv"),
KeyVault: &armapimanagement.KeyVaultContractCreateProperties{
IdentityClientID: to.Ptr("ceaa6b06-c00f-43ef-99ac-f53d1fe876a0"),
SecretIdentifier: to.Ptr("https://contoso.vault.azure.net/secrets/aadSecret"),
},
},
}, &armapimanagement.NamedValueClientBeginCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.NamedValueContract = armapimanagement.NamedValueContract{
// Name: to.Ptr("testprop6"),
// Type: to.Ptr("Microsoft.ApiManagement/service/namedValues"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6"),
// Properties: &armapimanagement.NamedValueContractProperties{
// Secret: to.Ptr(true),
// Tags: []*string{
// to.Ptr("foo"),
// to.Ptr("bar")},
// DisplayName: to.Ptr("prop6namekv"),
// KeyVault: &armapimanagement.KeyVaultContractProperties{
// IdentityClientID: to.Ptr("ceaa6b06-c00f-43ef-99ac-f53d1fe876a0"),
// SecretIdentifier: to.Ptr("https://contoso.vault.azure.net/secrets/aadSecret"),
// LastStatus: &armapimanagement.KeyVaultLastAccessStatusContractProperties{
// Code: to.Ptr("Success"),
// TimeStampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-09-11T00:54:31.802Z"); return t}()),
// },
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates named value.
*
* @summary Creates or updates named value.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json
*/
async function apiManagementCreateNamedValueWithKeyVault() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const namedValueId = "testprop6";
const parameters = {
displayName: "prop6namekv",
keyVault: {
identityClientId: "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
secretIdentifier: "https://contoso.vault.azure.net/secrets/aadSecret",
},
secret: true,
tags: ["foo", "bar"],
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.namedValue.beginCreateOrUpdateAndWait(
resourceGroupName,
serviceName,
namedValueId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
location: https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6?api-version=2022-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
"type": "Microsoft.ApiManagement/service/namedValues",
"name": "testprop6",
"properties": {
"displayName": "prop6namekv",
"keyVault": {
"secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"lastStatus": {
"code": "Success",
"timeStampUtc": "2020-09-11T00:54:31.8024882Z"
}
},
"tags": [
"foo",
"bar"
],
"secret": true
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
"type": "Microsoft.ApiManagement/service/namedValues",
"name": "testprop6",
"properties": {
"displayName": "prop6namekv",
"keyVault": {
"secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"lastStatus": {
"code": "Success",
"timeStampUtc": "2020-09-11T00:54:31.8024882Z"
}
},
"tags": [
"foo",
"bar"
],
"secret": true
}
}
Definitions
ErrorFieldContract
Error Field contract.
Name |
Type |
Description |
code
|
string
|
Property level error code.
|
message
|
string
|
Human-readable representation of property-level error.
|
target
|
string
|
Property name.
|
ErrorResponse
Error Response.
Name |
Type |
Description |
error.code
|
string
|
Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
|
error.details
|
ErrorFieldContract[]
|
The list of invalid fields send in request, in case of validation error.
|
error.message
|
string
|
Human-readable representation of the error.
|
KeyVaultContractCreateProperties
Create keyVault contract details.
Name |
Type |
Description |
identityClientId
|
string
|
Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access key vault secret.
|
secretIdentifier
|
string
|
Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi
|
KeyVaultContractProperties
KeyVault contract details.
Name |
Type |
Description |
identityClientId
|
string
|
Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access key vault secret.
|
lastStatus
|
KeyVaultLastAccessStatusContractProperties
|
Last time sync and refresh status of secret from key vault.
|
secretIdentifier
|
string
|
Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi
|
KeyVaultLastAccessStatusContractProperties
Issue contract Update Properties.
Name |
Type |
Description |
code
|
string
|
Last status code for sync and refresh of secret from key vault.
|
message
|
string
|
Details of the error else empty.
|
timeStampUtc
|
string
|
Last time secret was accessed. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard.
|
NamedValueContract
NamedValue details.
Name |
Type |
Description |
id
|
string
|
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
The name of the resource
|
properties.displayName
|
string
|
Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.
|
properties.keyVault
|
KeyVaultContractProperties
|
KeyVault location details of the namedValue.
|
properties.secret
|
boolean
|
Determines whether the value is a secret and should be encrypted or not. Default value is false.
|
properties.tags
|
string[]
|
Optional tags that when provided can be used to filter the NamedValue list.
|
properties.value
|
string
|
Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
|
type
|
string
|
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
|
NamedValueCreateContract
NamedValue details.
Name |
Type |
Description |
id
|
string
|
Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
The name of the resource
|
properties.displayName
|
string
|
Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.
|
properties.keyVault
|
KeyVaultContractCreateProperties
|
KeyVault location details of the namedValue.
|
properties.secret
|
boolean
|
Determines whether the value is a secret and should be encrypted or not. Default value is false.
|
properties.tags
|
string[]
|
Optional tags that when provided can be used to filter the NamedValue list.
|
properties.value
|
string
|
Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.
|
type
|
string
|
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
|