Evalúa la directiva de laboratorio.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies?api-version=2018-09-15
Parámetros de identificador URI
Nombre |
En |
Requerido |
Tipo |
Description |
labName
|
path |
True
|
string
|
El nombre del laboratorio.
|
name
|
path |
True
|
string
|
Nombre del conjunto de directivas.
|
resourceGroupName
|
path |
True
|
string
|
Nombre del grupo de recursos.
|
subscriptionId
|
path |
True
|
string
|
Identificador de la suscripción.
|
api-version
|
query |
True
|
string
|
Versión de API del cliente.
|
Cuerpo de la solicitud
Respuestas
Seguridad
azure_auth
Concesión implícita de OAuth2
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nombre |
Description |
user_impersonation
|
Acceso a Microsoft Azure
|
Ejemplos
PolicySets_EvaluatePolicies
Sample Request
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/resourceGroupName/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/evaluatePolicies?api-version=2018-09-15
{
"policies": [
{
"factName": "LabVmCount",
"valueOffset": "1"
}
]
}
import com.azure.resourcemanager.devtestlabs.models.EvaluatePoliciesProperties;
import com.azure.resourcemanager.devtestlabs.models.EvaluatePoliciesRequest;
import java.util.Arrays;
/** Samples for PolicySets EvaluatePolicies. */
public final class Main {
/*
* x-ms-original-file: specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/PolicySets_EvaluatePolicies.json
*/
/**
* Sample code: PolicySets_EvaluatePolicies.
*
* @param manager Entry point to DevTestLabsManager.
*/
public static void policySetsEvaluatePolicies(com.azure.resourcemanager.devtestlabs.DevTestLabsManager manager) {
manager
.policySets()
.evaluatePoliciesWithResponse(
"resourceGroupName",
"{labName}",
"{policySetName}",
new EvaluatePoliciesRequest()
.withPolicies(
Arrays
.asList(new EvaluatePoliciesProperties().withFactName("LabVmCount").withValueOffset("1"))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.devtestlabs import DevTestLabsClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-devtestlabs
# USAGE
python policy_sets_evaluate_policies.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 = DevTestLabsClient(
credential=DefaultAzureCredential(),
subscription_id="{subscriptionId}",
)
response = client.policy_sets.evaluate_policies(
resource_group_name="resourceGroupName",
lab_name="{labName}",
name="{policySetName}",
)
print(response)
# x-ms-original-file: specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/PolicySets_EvaluatePolicies.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 armdevtestlabs_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/devtestlabs/armdevtestlabs"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/d55b8005f05b040b852c15e74a0f3e36494a15e1/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/PolicySets_EvaluatePolicies.json
func ExamplePolicySetsClient_EvaluatePolicies() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armdevtestlabs.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewPolicySetsClient().EvaluatePolicies(ctx, "resourceGroupName", "{labName}", "{policySetName}", armdevtestlabs.EvaluatePoliciesRequest{
Policies: []*armdevtestlabs.EvaluatePoliciesProperties{
{
FactName: to.Ptr("LabVmCount"),
ValueOffset: to.Ptr("1"),
}},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %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.EvaluatePoliciesResponse = armdevtestlabs.EvaluatePoliciesResponse{
// Results: []*armdevtestlabs.PolicySetResult{
// {
// HasError: to.Ptr(true),
// PolicyViolations: []*armdevtestlabs.PolicyViolation{
// {
// Code: to.Ptr("MaxValuePolicy"),
// Message: to.Ptr("You cannot exceed the limit (1) of virtual machines that can be created in this lab."),
// }},
// }},
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { DevTestLabsClient } = require("@azure/arm-devtestlabs");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Evaluates lab policy.
*
* @summary Evaluates lab policy.
* x-ms-original-file: specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/PolicySets_EvaluatePolicies.json
*/
async function policySetsEvaluatePolicies() {
const subscriptionId = "{subscriptionId}";
const resourceGroupName = "resourceGroupName";
const labName = "{labName}";
const name = "{policySetName}";
const evaluatePoliciesRequest = {
policies: [{ factName: "LabVmCount", valueOffset: "1" }],
};
const credential = new DefaultAzureCredential();
const client = new DevTestLabsClient(credential, subscriptionId);
const result = await client.policySets.evaluatePolicies(
resourceGroupName,
labName,
name,
evaluatePoliciesRequest
);
console.log(result);
}
policySetsEvaluatePolicies().catch(console.error);
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.DevTestLabs;
using Azure.ResourceManager.DevTestLabs.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
// Generated from example definition: specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/PolicySets_EvaluatePolicies.json
// this example is just showing the usage of "PolicySets_EvaluatePolicies" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this DevTestLabResource created on azure
// for more information of creating DevTestLabResource, please refer to the document of DevTestLabResource
string subscriptionId = "{subscriptionId}";
string resourceGroupName = "resourceGroupName";
string labName = "{labName}";
ResourceIdentifier devTestLabResourceId = DevTestLabResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, labName);
DevTestLabResource devTestLab = client.GetDevTestLabResource(devTestLabResourceId);
// invoke the operation
string name = "{policySetName}";
DevTestLabEvaluatePoliciesContent content = new DevTestLabEvaluatePoliciesContent()
{
Policies =
{
new DevTestLabEvaluatePolicy()
{
FactName = "LabVmCount",
ValueOffset = "1",
}
},
};
DevTestLabEvaluatePoliciesResult result = await devTestLab.EvaluatePoliciesAsync(name, content);
Console.WriteLine($"Succeeded: {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
{
"results": [
{
"hasError": true,
"policyViolations": [
{
"code": "MaxValuePolicy",
"message": "You cannot exceed the limit (1) of virtual machines that can be created in this lab."
}
]
}
]
}
Definiciones
CloudError
Error de una solicitud REST.
Nombre |
Tipo |
Description |
error
|
CloudErrorBody
|
Error en la nube que se produjo
|
CloudErrorBody
Cuerpo de un error de una solicitud REST.
Nombre |
Tipo |
Description |
code
|
string
|
Código de error.
|
details
|
CloudErrorBody[]
|
Errores internos.
|
message
|
string
|
El mensaje de error.
|
target
|
string
|
Destino del error.
|
EvaluatePoliciesProperties
Propiedades para evaluar un conjunto de directivas.
Nombre |
Tipo |
Description |
factData
|
string
|
Datos de hechos.
|
factName
|
string
|
Nombre del hecho.
|
userObjectId
|
string
|
El usuario para el que se evaluarán las directivas.
|
valueOffset
|
string
|
Desplazamiento del valor.
|
EvaluatePoliciesRequest
Cuerpo de la solicitud para evaluar un conjunto de directivas.
EvaluatePoliciesResponse
Cuerpo de respuesta para evaluar un conjunto de directivas.
Nombre |
Tipo |
Description |
results
|
PolicySetResult[]
|
Resultados de la evaluación de un conjunto de directivas.
|
PolicySetResult
Resultado de una evaluación de conjunto de directivas.
Nombre |
Tipo |
Description |
hasError
|
boolean
|
Valor que indica si esta evaluación del conjunto de directivas ha detectado infracciones.
|
policyViolations
|
PolicyViolation[]
|
Lista de infracciones de directiva.
|
PolicyViolation
Infracción de la directiva.
Nombre |
Tipo |
Description |
code
|
string
|
Código de la infracción de la directiva.
|
message
|
string
|
Mensaje de la infracción de la directiva.
|