Skapa en SelfServePolicy
Den här artikeln förklarar hur du skapar en ny självbetjäningsprincip.
Förutsättningar
- Autentiseringsuppgifter enligt beskrivningen i Partnercenter-autentisering. Det här scenariot stöder autentisering med autentiseringsuppgifter för program+användare.
C#
Skapa en självbetjäningsprincip:
- Anropa metoden IAggregatePartner.SelfServePolicies.Create eller IAggregatePartner.SelfServePolicies.CreateAsync med principinformationen för självbetjäning.
// 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);
Ett exempel finns i följande:
- Exempel: Konsoltestapp
- Projekt: PartnerSDK.FeatureSamples
- Klass: CreateSelfServePolicies.cs
REST-begäran
Begärandesyntax
Metod | URI för förfrågan |
---|---|
INLÄGG | {baseURL}/v1/SelfServePolicy HTTP/1.1 |
Begärandehuvuden
- Ett begärande-ID och korrelations-ID krävs.
- Mer information finns i REST-huvuden för Partnercenter.
Begärandetext
I den här tabellen beskrivs de obligatoriska egenskaperna i begärandetexten.
Namn | Typ | Description |
---|---|---|
SelfServePolicy | objekt | Principinformation för självbetjäning. |
SelfServePolicy
I den här tabellen beskrivs de minsta obligatoriska fälten från den SelfServePolicy-resurs som behövs för att skapa en ny självbetjäningsprincip.
Egenskap | Typ | Description |
---|---|---|
SelfServeEntity | SelfServeEntity | Självbetjäningsentiteten som beviljas åtkomst. |
Beviljaren | Beviljaren | Den beviljare som beviljar åtkomst. |
Behörigheter | Matris med behörigheter | En matris med behörighetsresurser . |
Exempel på begäran
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: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
]
}
REST-svar
Om det lyckas returnerar detta API en SelfServePolicy-resurs för den nya självbetjäningsprincipen.
Lyckade svar och felkoder
Varje svar levereras med en HTTP-statuskod som anger lyckat eller misslyckat och ytterligare felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och ytterligare parametrar. Den fullständiga listan finns i Partnercenter REST-felkoder.
Den här metoden returnerar följande felkoder:
HTTP-statuskod | Felkod | Beskrivning |
---|---|---|
409 | 600041 | Självbetjäningsprincipen finns redan. |
Exempel på svar
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
],
"attributes": {
"etag": "\"933523d1-3f63-4fc3-8789-5e21c02cdaed\"",
"objectType": "SelfServePolicy"
}
}