Crear un elemento SelfServePolicy
En este artículo se explica cómo crear una nueva directiva de autoservicio.
Requisitos previos
- Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación y usuario.
C#
Cree una directiva de autoservicio:
- Llame al método IAggregatePartner.SelfServePolicies.Create o IAggregatePartner.SelfServePolicies.CreateAsync con la información de la directiva de autoservicio.
// IAggregatePartner partnerOperations;
string customerIdAsEntity;
var selfServePolicy = new SelfServePolicy
{
SelfServeEntity = new SelfServeEntity
{
SelfServeEntityType = "customer",
TenantID = customerIdAsEntity,
},
Grantor = new Grantor
{
GrantorType = "billToPartner",
TenantID = partnerIdAsGrantor,
},
Permissions = new Permission[]
{
new Permission
{
Action = "Purchase",
Resource = "AzureReservedInstances",
},
},
{
new Permission
{
Action = "Purchase",
Resource = "AzureSavingsPlan",
},
},
};
// All the operations executed on this partner operation instance will share the same correlation Id but will differ in request Id
IPartner scopedPartnerOperations = partnerOperations.With(RequestContextFactory.Instance.Create(Guid.NewGuid()));
// creates the self-serve policy
SelfServePolicy createdSelfServePolicy = scopedPartnerOperations.selfServePolicies.Create(selfServePolicy);
Para obtener un ejemplo, vea lo siguiente:
- Ejemplo: Aplicación de prueba de la consola
- Project: PartnerSDK.FeatureSamples
- Clase: CreateSelfServePolicies.cs
Solicitud REST
Sintaxis de la solicitud
Método | URI de la solicitud |
---|---|
POST | {baseURL}/v1/SelfServePolicy HTTP/1.1 |
Encabezados de solicitud
- Se requiere un identificador de solicitud y un identificador de correlación.
- Para obtener más información, consulta Encabezados REST del Centro de partners.
Cuerpo de la solicitud
En esta tabla se describen las propiedades necesarias en el cuerpo de la solicitud.
Nombre | Tipo | Descripción |
---|---|---|
SelfServePolicy | object | Información de la directiva de autoservicio. |
SelfServePolicy
En esta tabla se describen los campos mínimos necesarios del recurso SelfServePolicy necesario para crear una nueva directiva de autoservicio.
Propiedad | Tipo | Descripción |
---|---|---|
SelfServeEntity | SelfServeEntity | Entidad de autoservicio a la que se concede acceso. |
Otorgante de permisos | Otorgante de permisos | Receptor al que se concede acceso. |
Permisos | Matriz de permisos | Matriz de recursos de permisos . |
Ejemplo de solicitud
POST https://api.partnercenter.microsoft.com/v1/SelfServePolicy HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive
{
"selfServeEntity": {
"selfServeEntityType": "customer",
"tenantID": "0431a72c-7d8a-4393-b25e-ef63f5efb415"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "634f6379-ad54-449b-9821-564f737158ab"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
]
}
Respuesta REST
Si se ejecuta correctamente, esta API devuelve un recurso SelfServePolicy para la nueva directiva de autoservicio.
Códigos de error y de respuesta correctos
Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener la lista completa, consulta Códigos de error de REST del Centro de partners.
Este método devuelve los siguientes códigos de error:
Código de estado HTTP | Código de error | Descripción |
---|---|---|
409 | 600041 | La directiva de autoservicio ya existe. |
Ejemplo de respuesta
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
Date: Tue, 14 Feb 2017 20:06:02 GMT
{
"id": "634f6379-ad54-449b-9821-564f737158ab_0431a72c-7d8a-4393-b25e-ef63f5efb415",
"selfServeEntity": {
"selfServeEntityType": "customer",
"tenantID": "0431a72c-7d8a-4393-b25e-ef63f5efb415"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "634f6379-ad54-449b-9821-564f737158ab"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
],
"attributes": {
"etag": "\"933523d1-3f63-4fc3-8789-5e21c02cdaed\"",
"objectType": "SelfServePolicy"
}
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de