From 6a1bc7e6f131995f7b552567e4c3fe33fde79821 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 8 Aug 2025 15:54:55 +0800 Subject: [PATCH 01/43] The first version of TSP --- .../DomainRegistration.Management/Domain.tsp | 110 +++ .../DomainOwnershipIdentifier.tsp | 85 ++ .../TopLevelDomain.tsp | 61 ++ .../DomainRegistration.Management/client.tsp | 23 + .../2024-11-01/CheckDomainAvailability.json | 20 + .../2024-11-01/CreateAppServiceDomain.json | 305 ++++++ ...teAppServiceDomainOwnershipIdentifier.json | 29 + .../2024-11-01/DeleteAppServiceDomain.json | 15 + ...teAppServiceDomainOwnershipIdentifier.json | 15 + .../examples/2024-11-01/GetDomain.json | 117 +++ .../GetDomainControlCenterSsoRequest.json | 17 + .../GetDomainOwnershipIdentifier.json | 24 + .../2024-11-01/GetTopLevelDomain.json | 22 + .../ListDomainOwnershipIdentifiers.json | 27 + .../2024-11-01/ListDomainRecommendations.json | 30 + .../ListDomainsByResourceGroup.json | 119 +++ .../2024-11-01/ListDomainsBySubscription.json | 118 +++ .../examples/2024-11-01/ListOperations.json | 106 +++ .../ListTopLevelDomainAgreements.json | 34 + .../2024-11-01/ListTopLevelDomains.json | 89 ++ .../examples/2024-11-01/RenewDomain.json | 15 + .../2024-11-01/TransferOutDomain.json | 117 +++ .../2024-11-01/UpdateAppServiceDomain.json | 303 ++++++ ...teAppServiceDomainOwnershipIdentifier.json | 29 + .../DomainRegistration.Management/main.tsp | 48 + .../DomainRegistration.Management/models.tsp | 889 ++++++++++++++++++ .../DomainRegistration.Management/routes.tsp | 55 ++ .../tspconfig.yaml | 12 + 28 files changed, 2834 insertions(+) create mode 100644 specification/web/DomainRegistration.Management/Domain.tsp create mode 100644 specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp create mode 100644 specification/web/DomainRegistration.Management/TopLevelDomain.tsp create mode 100644 specification/web/DomainRegistration.Management/client.tsp create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json create mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json create mode 100644 specification/web/DomainRegistration.Management/main.tsp create mode 100644 specification/web/DomainRegistration.Management/models.tsp create mode 100644 specification/web/DomainRegistration.Management/routes.tsp create mode 100644 specification/web/DomainRegistration.Management/tspconfig.yaml diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp new file mode 100644 index 000000000000..b19ffa06713e --- /dev/null +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -0,0 +1,110 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.DomainRegistration; +/** + * Information about a domain. + */ +model Domain is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = Domain, + KeyName = "domainName", + SegmentName = "domains", + NamePattern = "" + >; +} + +@armResourceOperations +interface Domains { + /** + * Description for Get a domain. + */ + get is ArmResourceRead; + + /** + * Description for Creates or updates a domain. + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Domain, + Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse & { + @bodyRoot + _: Domain; + }), + LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Description for Creates or updates a domain. + */ + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchSync< + Domain, + PatchModel = DomainPatchResource, + Response = ArmResponse | (AcceptedResponse & { + @bodyRoot + _: Domain; + }) + >; + + /** + * Description for Delete a domain. + */ + delete is ArmResourceDeleteSync< + Domain, + Parameters = { + /** + * Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours. + */ + @query("forceHardDeleteDomain") + forceHardDeleteDomain?: boolean; + } + >; + + /** + * Description for Get all domains in a resource group. + */ + listByResourceGroup is ArmResourceListByParent< + Domain, + Response = ArmResponse + >; + + /** + * Description for Get all domains in a subscription. + */ + list is ArmListBySubscription< + Domain, + Response = ArmResponse + >; + + /** + * Description for Renew a domain. + */ + renew is ArmResourceActionSync< + Domain, + void, + OkResponse | AcceptedResponse | NoContentResponse + >; + + /** + * Transfer out domain to another registrar + */ + @put + transferOut is ArmResourceActionSync>; +} + +@@doc(Domain.name, "Name of the domain."); +@@doc(Domain.properties, "Domain resource specific properties"); +@@doc(Domains.createOrUpdate::parameters.resource, + "Domain registration information." +); +@@doc(Domains.update::parameters.properties, + "Domain registration information." +); diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp new file mode 100644 index 000000000000..9ab73ef27306 --- /dev/null +++ b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -0,0 +1,85 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Domain.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.DomainRegistration; +/** + * Domain ownership Identifier. + */ +@parentResource(Domain) +model DomainOwnershipIdentifier + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = DomainOwnershipIdentifier, + KeyName = "name", + SegmentName = "domainOwnershipIdentifiers", + NamePattern = "" + >; +} + +@armResourceOperations +interface DomainOwnershipIdentifiers { + /** + * Description for Get ownership identifier for domain + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Domains_GetOwnershipIdentifier") + getOwnershipIdentifier is ArmResourceRead; + + /** + * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Domains_CreateOrUpdateOwnershipIdentifier") + createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< + DomainOwnershipIdentifier, + Response = ArmResourceUpdatedResponse + >; + + /** + * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Domains_UpdateOwnershipIdentifier") + @patch(#{ implicitOptionality: false }) + updateOwnershipIdentifier is ArmCustomPatchSync< + DomainOwnershipIdentifier, + PatchModel = DomainOwnershipIdentifier + >; + + /** + * Description for Delete ownership identifier for domain + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Domains_DeleteOwnershipIdentifier") + deleteOwnershipIdentifier is ArmResourceDeleteSync; + + /** + * Description for Lists domain ownership identifiers. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + @operationId("Domains_ListOwnershipIdentifiers") + listOwnershipIdentifiers is ArmResourceListByParent< + DomainOwnershipIdentifier, + Response = ArmResponse + >; +} + +@@doc(DomainOwnershipIdentifier.name, "Name of identifier."); +@@doc(DomainOwnershipIdentifier.properties, + "DomainOwnershipIdentifier resource specific properties" +); +@@doc(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, + "A JSON representation of the domain ownership properties." +); +@@doc(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, + "A JSON representation of the domain ownership properties." +); diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp new file mode 100644 index 000000000000..e15abeef992b --- /dev/null +++ b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp @@ -0,0 +1,61 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.DomainRegistration; +/** + * A top level domain object. + */ +@subscriptionResource +model TopLevelDomain + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = TopLevelDomain, + KeyName = "name", + SegmentName = "topLevelDomains", + NamePattern = "" + >; +} + +@armResourceOperations +interface TopLevelDomains { + /** + * Description for Get details of a top-level domain. + */ + get is ArmResourceRead< + TopLevelDomain, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; + + /** + * Description for Get all top-level domains supported for registration. + */ + list is ArmResourceListByParent< + TopLevelDomain, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Response = ArmResponse + >; + + /** + * Description for Gets all legal agreements that user needs to accept before purchasing a domain. + */ + listAgreements is ArmResourceActionSync< + TopLevelDomain, + TopLevelDomainAgreementOption, + ArmResponse, + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + >; +} + +@@doc(TopLevelDomain.name, "Name of the top-level domain."); +@@doc(TopLevelDomain.properties, "TopLevelDomain resource specific properties"); +@@doc(TopLevelDomains.listAgreements::parameters.body, + "Domain agreement options." +); diff --git a/specification/web/DomainRegistration.Management/client.tsp b/specification/web/DomainRegistration.Management/client.tsp new file mode 100644 index 000000000000..cb44b3d12622 --- /dev/null +++ b/specification/web/DomainRegistration.Management/client.tsp @@ -0,0 +1,23 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.DomainRegistration; + +@@clientLocation(DomainOwnershipIdentifiers.getOwnershipIdentifier, "Domains"); +@@clientLocation(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier, + "Domains" +); +@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, + "Domains" +); +@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, + "Domains" +); +@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, + "Domains" +); + +@@clientLocation(DomainsOperationGroup.checkAvailability, "Domains"); +@@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, "Domains"); +@@clientLocation(DomainsOperationGroup.listRecommendations, "Domains"); diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json new file mode 100644 index 000000000000..9cc77525698c --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "identifier": { + "name": "abcd.com" + }, + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "abcd.com", + "available": true, + "domainType": "Regular" + } + } + }, + "operationId": "Domains_CheckAvailability", + "title": "Check domain availability" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json new file mode 100644 index 000000000000..678f85616df2 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json @@ -0,0 +1,305 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domain": { + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "dnsType": "DefaultDomainRegistrarDns", + "privacy": false + }, + "tags": {} + }, + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} + }, + "202": { + "body": { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} + } + }, + "operationId": "Domains_CreateOrUpdate", + "title": "Create App Service Domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json new file mode 100644 index 000000000000..47368ad3b3a9 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "name": "SampleOwnershipId", + "api-version": "2024-11-01", + "domainName": "example.com", + "domainOwnershipIdentifier": { + "properties": { + "ownershipId": "SampleOwnershipId" + } + }, + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "SampleOwnershipId", + "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", + "properties": { + "ownershipId": "SampleOwnershipId" + } + }, + "headers": {} + } + }, + "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", + "title": "Create App Service Domain OwnershipIdentifier" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json new file mode 100644 index 000000000000..55f5b8b57468 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domainName": "example.com", + "forceHardDeleteDomain": true, + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Domains_Delete", + "title": "Delete App Service Domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json new file mode 100644 index 000000000000..2519b55d9977 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "name": "ownershipIdentifier", + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "Domains_DeleteOwnershipIdentifier", + "title": "Delete App Service Domain Ownership Identifier" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json new file mode 100644 index 000000000000..302c69d3b7e0 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domainName": "example.com", + "getOnlyIfReadyForDnsManagement": true, + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} + } + }, + "operationId": "Domains_Get", + "title": "Get Domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json new file mode 100644 index 000000000000..61030c0e2d70 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "postParameterKey": "saml", + "postParameterValue": "1242sds|k1340", + "url": "https://Reseller.provider.com/?xRequestId=sdsdsds&app=dcc" + } + } + }, + "operationId": "Domains_GetControlCenterSsoRequest", + "title": "Get Domain Control Center Sso Request" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json new file mode 100644 index 000000000000..62aea8175a5c --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "name": "SampleOwnershipId", + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "SampleOwnershipId", + "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", + "properties": { + "ownershipId": "SampleOwnershipId" + } + }, + "headers": {} + } + }, + "operationId": "Domains_GetOwnershipIdentifier", + "title": "Get Domain Ownership Identifier" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json new file mode 100644 index 000000000000..23dbfe39c9cb --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "name": "com", + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "com", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", + "properties": { + "privacy": true + } + }, + "headers": {} + } + }, + "operationId": "TopLevelDomains_Get", + "title": "Get Top Level Domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json new file mode 100644 index 000000000000..5c97510b21f9 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "SampleOwnershipId", + "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", + "properties": { + "ownershipId": "SampleOwnershipId" + } + } + ] + }, + "headers": {} + } + }, + "operationId": "Domains_ListOwnershipIdentifiers", + "title": "List Domain Ownership Identifiers" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json new file mode 100644 index 000000000000..b6a669b31468 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "parameters": { + "keywords": "example1", + "maxDomainRecommendations": 10 + }, + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "domainnamesuggestion1" + }, + { + "name": "domainnamesuggestion2" + }, + { + "name": "domainnamesuggestion3" + } + ] + }, + "headers": {} + } + }, + "operationId": "Domains_ListRecommendations", + "title": "List domain recommendations" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json new file mode 100644 index 000000000000..d6b2aa1c1aa7 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + } + ] + }, + "headers": {} + } + }, + "operationId": "Domains_ListByResourceGroup", + "title": "List domains by resource group" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json new file mode 100644 index 000000000000..c80dd5fe70de --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + } + ] + }, + "headers": {} + } + }, + "operationId": "Domains_List", + "title": "List domains by subscription" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json new file mode 100644 index 000000000000..2e3562e17308 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2024-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DomainRegistration/domains/Read", + "display": { + "description": "Get the list of domains", + "operation": "Get Domains", + "provider": "Microsoft Domains", + "resource": "Domain" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/domains/Write", + "display": { + "description": "Add a new Domain or update an existing one", + "operation": "Add or Update Domain", + "provider": "Microsoft Domains", + "resource": "Domain" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/domains/Delete", + "display": { + "description": "Delete an existing domain.", + "operation": "Delete Domain", + "provider": "Microsoft Domains", + "resource": "Domain" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/domains/operationresults/Read", + "display": { + "description": "Get a domain operation", + "operation": "Get Domain Operation", + "provider": "Microsoft Domains", + "resource": "Domain operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/generateSsoRequest/Action", + "display": { + "description": "Generate a request for signing into domain control center.", + "operation": "Generate Domain Control Center Single Sign On Request", + "provider": "Microsoft Domains", + "resource": "Domain Control Center Single Sign On Request" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/validateDomainRegistrationInformation/Action", + "display": { + "description": "Validate domain purchase object without submitting it", + "operation": "Domain Purchase Info Validation", + "provider": "Microsoft Domains", + "resource": "Domain Validation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/checkDomainAvailability/Action", + "display": { + "description": "Check if a domain is available for purchase", + "operation": "Check Domain Availability", + "provider": "Microsoft Domains", + "resource": "Domain Availability Result" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/listDomainRecommendations/Action", + "display": { + "description": "Retrieve the list domain recommendations based on keywords", + "operation": "Retrieve Domain Recommendations", + "provider": "Microsoft Domains", + "resource": "Domain Recommendations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/register/action", + "display": { + "description": "Register the Microsoft Domains resource provider for the subscription", + "operation": "Register Microsoft Domains resource provider", + "provider": "Microsoft Domains", + "resource": "Microsoft Domains resource provider" + }, + "origin": "user,system" + } + ] + }, + "headers": {} + } + }, + "operationId": "DomainRegistrationProvider_ListOperations", + "title": "List operations" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json new file mode 100644 index 000000000000..109038067d62 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "name": "in", + "agreementOption": { + "forTransfer": false, + "includePrivacy": true + }, + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "agreementKey": "DNRA", + "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Registration Agreement\n
\n

Last Revised: October 6, 2017

\n

PLEASE READ THIS AGREEMENT CAREFULLY, AS IT CONTAINS IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS AND REMEDIES.

\r\n

1. OVERVIEW

\r\n

This Domain Name Registration Agreement (this \"Agreement\") is entered into by and between 510456, an individual (\"Azure\") and you, and is made effective as of the date of electronic acceptance.  This Agreement sets forth the terms and conditions of your use of Azure's Domain Name Registration services (the \"Domain Name Registration Services\" or the \"Services\"). The terms \"we\", \"us\" or \"our\" shall refer to Azure.  The terms \"you\", \"your\", \"User\" or \"customer\" shall refer to any individual or entity who accepts this Agreement.  Unless otherwise specified, nothing in this Agreement shall be deemed to confer any third-party rights or benefits.

\r\n

Your electronic acceptance of this Agreement signifies that you have read, understand, acknowledge and agree to be bound by this Agreement, which incorporates by reference each of (i) Azure’s Universal Terms of Service Agreement (\"UTOS\"), (ii) all agreements, guidelines, policies, practices, procedures, registration requirements or operational standards of the top-level domain (\"TLD\") in which you register any domain (“Registry Policies”), and (iii) any plan limits, product disclaimers or other restrictions presented to you on the Domain Name Registration Services landing page of the Azure website (this “Site”). 

\r\n

TO LINK TO AND REVIEW THE REGISTRY POLICIES FOR THE TLD IN WHICH YOU WISH TO REGISTER A DOMAIN NAME, PLEASE CLICK HERE   

\r\n

You acknowledge and agree that (i) Azure, in its sole and absolute discretion, may change or modify this Agreement, and any policies or agreements which are incorporated herein, at any time, and such changes or modifications shall be effective immediately upon posting to this Site, and (ii) your use of this Site or the Services found at this Site after such changes or modifications have been made shall constitute your acceptance of this Agreement as last revised.  If you do not agree to be bound by this Agreement as last revised, do not use (or continue to use) this Site or the Services found at this Site.  In addition, Azure may occasionally notify you of changes or modifications to this Agreement by email.  It is therefore very important that you keep your shopper account (“Shopper Account”) information, including your email address, current.  Azure assumes no liability or responsibility for your failure to receive an email notification if such failure results from an inaccurate or out-of-date email address.    Azure is not an Internet Corporation for Assigned Names and Numbers (\"ICANN\") accredited registrar; it is an authorized reseller of domain name registration services.  Accordingly, you acknowledge and agree that Azure may modify this Agreement in order to comply with any terms and conditions set forth by (i) the sponsoring registrar, (ii) ICANN, and/or (iii) the registry applicable to the TLD or country code top level domain (\"ccTLD\") in question.  As used herein, the terms \"registry\", \"Registry\", \"registry operator\" or \"Registry Operator\" shall refer to the registry applicable to the TLD or ccTLD in question.  To identify the sponsoring registrar, click here

\r\n

2. PROVISIONS SPECIFIC TO ALL REGISTRATIONS

\r\n

Unless otherwise noted, the provisions below in this Section 2 are generally applicable to all TLDs that we offer.  Special provisions specific to any TLD or ccTLD (those in addition to posted Registry Policies) are identified elsewhere below in this Agreement. 

\r\n
    \r\n
  1. \r\n
    Registry Policies. You agree to be bound by all Registry Policies (defined above in this Agreement) applicable to your domain name registration (at any level). IT IS YOUR RESPONSIBILITY TO VISIT THE APPLICABLE TLD SITE AND READ AND REVIEW ALL APPLICABLE REGISTRY POLICIES PRIOR TO YOUR REGISTRATION IN THE TLD.  REGISTRY POLICIES FOR EACH TLD CAN BE FOUND BY VISITING THE CORRESPONDING TLD LINK LISTED HERE.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator of the TLD in which the domain name registration is made is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the respective TLD. The third party beneficiary rights of the Registry Operator will survive any termination of this Agreement.    
    \r\n
  2. \r\n
  3. \r\n
    Registration Requirements.  To the extent any TLD or ccTLD requires you meet eligibility (e.g., residency for .JP, .EU, etc.), validation (e.g., DNS validation) or other authentication requirements as a condition to registering a domain name in the TLD, you agree that by submitting an application or registering or renewing your domain name, you represent and warrant that: (a) all information provided to register or renew the domain name (including all supporting documents, if any) is true, complete and correct, and is not misleading in any way, and the application is made in good faith; (b) you meet, and will continue to meet, the eligibility criteria prescribed in the Registry Policies for the applicable TLD for the duration of the domain name registration; (c) you have not previously submitted an application for the domain name with another registrar using the same eligibility criteria, and the other registrar has rejected the application (if applicable); (d) you acknowledge and agree that even if the domain name is accepted for registration, your entitlement to register the domain name may be challenged by others who claim to have an entitlement to the domain name; and (e) you acknowledge and agree that the Registry or the registrar can cancel the registration of the domain name if any of the warranties required are found to be untrue, incomplete, incorrect or misleading.
    \r\n
  4. \r\n
  5. \r\n
    Ownership.  You acknowledge and agree that registration of a domain name does not create any proprietary right for you, the registrar, or any other person in the name used as a domain name or the domain name registration and that the entry of a domain name in the Registry shall not be construed as evidence or ownership of the domain name registered as a domain name. You shall not in any way transfer or purport to transfer a proprietary right in any domain name registration or grant or purport to grant as security or in any other manner encumber or purport to encumber a domain name registration.
    \r\n
  6. \r\n
  7. \r\n
    ICANN Requirements. You agree to comply with the ICANN requirements, standards, policies, procedures, and practices for which each applicable Registry Operator has monitoring responsibility in accordance with the Registry Agreement between ICANN and itself or any other arrangement with ICANN.
    \r\n
  8. \r\n
  9. \r\n
    Indemnification of Registry.  You agree to indemnify, defend and hold harmless (within 30 days of demand) the Registry Operator and Registry Service Provider and their subcontractors, subsidiaries, affiliates, divisions, shareholders, directors, officers, employees, accountants, attorneys, insurers, agents, predecessors, successors and assigns, from and against any and all claims, demands, damages, losses, costs, expenses, causes of action or other liabilities of any kind, whether known or unknown, including reasonable legal and attorney’s fees and expenses, in any way arising out of, relating to, or otherwise in connection with the your domain name registration, including, without limitation, the use, registration, extension, renewal, deletion, and/or transfer thereof and/or the violation of any applicable terms or conditions governing the registration. You shall not enter into any settlement or compromise of any such indemnifiable claim without Registrar’s or Registry Operator’s prior written consent, which consent shall not be unreasonably withheld, and you agree that these indemnification obligations shall survive the termination or expiration of the Agreement for any reason.  IN NO EVENT SHALL THE REGISTRY OPERATOR BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY OR PUNITIVE DAMAGES, INCLUDING LOSS OF PROFIT OR GOODWILL, FOR ANY MATTER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTIES, EITHER EXPRESS OR IMPLIED, ANY BREACH OF THIS AGREEMENT OR ITS INCORPORATED AGREEMENTS AND POLICIES YOUR INABILITY TO USE THE DOMAIN NAME, YOUR LOSS OF DATA OR FILES OR OTHERWISE, EVEN IF THE REGISTRY OPERATOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    \r\n
  10. \r\n
  11. \r\n
    Regulated TLDs.   For domain name registration in any “Regulated” TLD, you acknowledge and agree your registration is subject to the following additional requirements: (a) comply with all applicable laws, including those that relate to privacy, data collection, consumer protection (including in relation to misleading and deceptive conduct), fair lending, debt collection, organic farming, disclosure of data, and financial disclosures; (b) if you collect and maintain sensitive health and financial data you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  Regulated TLDs include: .games, .juegos, .school, .schule, .toys, .eco, .care, .diet, .fitness, .health, .clinic, .dental, .healthcare, .cash, .broker, .claims, .exchange, .finance, .financial, .fund, .investments, .lease, .loans, .market, .money, .trading, .credit, .insure, .tax, .mortgage, .degree, .mba, .audio, .book, .broadway, .film, .movie, .music, .software, .fashion, .video, .app, .art, .band, .cloud, .data, .digital, .fan, .free, .gratis, .discount, .sale, .media, .news, .online, .pictures, .radio, .show, .theater, .tours, .accountants, .architect, .associates, .broker, .legal, .realty, .vet, .engineering, .law, .limited, .show; .theater; .town, .city, .reise, and .reisen
    \r\n
  12. \r\n
  13. \r\n
    Highly Regulated TLDs. In addition to the requirements for Regulated TLDs, domain name registration in any Highly-Regulated TLD is subject to the following requirements: (a) you will provide administrative contact information, which must be kept up‐to‐date, for the notification of complaints or reports of registration abuse, as well as the contact details of the relevant regulatory, or Industry self‐regulatory, bodies in their main place of business; (b) you represent that you possess any necessary authorizations, charters, licenses and/or other related credentials for participation in the sector associated with such Highly‐regulated TLD; and (c) you will report any material changes to the validity of you authorizations, charters, licenses and/or other related credentials for participation in the sector associated with the Highly‐regulated TLD to ensure you continue to conform to the appropriate regulations and licensing requirements and generally conduct your activities in the interests of the consumers they serve.  Highly Regulated TLDs include: .abogado, .attorney, .bank, .bet, .bingo, .casino .charity (and IDN equivalent xn--30rr7y), .cpa, .corp, creditcard, .creditunion .dds, .dentist, .doctor, .fail, .gmbh, .gripe, .hospital, .inc, .insurance, .lawyer, .lifeinsurance, .llc, .llp, .ltda, .medical, .mutuelle, .pharmacy, .poker, .university, .sarl, .spreadbetting, .srl, .surgery .university, .vermogensberater, and .vesicherung,  For .doctor, registrants who hold themselves out to be licensed medical practitioners must be able to demonstrate to the Registrar and Registry, upon request, that they hold the applicable license.
    \r\n
  14. \r\n
  15. \r\n
    Special Safeguard TLDs.  In addition to the requirements for Regulated and Highly-Regulated TLDs, by registering a domain name in any “Special-Safeguard” TLD, you agree to take reasonable steps to avoid misrepresenting or falsely implying that you or your business is affiliated with, sponsored or endorsed by one or more country's or government's military forces if such affiliation, sponsorship or endorsement does not exist.  Special Safeguard TLDs include:  .army, .navy, .airforce
    \r\n
  16. \r\n
  17. \r\n
    Third Party Beneficiary.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator for any TLD in which your register a domain name is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the TLD. Third party beneficiary rights of the Registry Operator shall survive any termination of this Agreement.
    \r\n
  18. \r\n
  19. \r\n
    Variable and Non-Uniform Pricing.  You acknowledge, understand and agree that certain domain names in certain TLDs are established by Registry Policies to be variably priced (i.e., standard v. premium names) and/or may have non-uniform renewal registration pricing (such that the Fee for a domain name registration renewal may differ from other domain names in the same TLD, e.g., renewal registration for one domain may be $100.00 and $33.00 for a different domain name).
    \r\n
  20. \r\n
  21. \r\n
    Restriction on Availability of Privacy or Proxy.  You acknowledge and agree that, as dictated by the Registry Policies, for certain TLDs you may not be permitted to purchase private or proxy TLD registrations. In such case, you must register for any and all TLD registrations using your personal information, which information you represent and warrant is current, accurate and complete.
    \r\n
  22. \r\n
\r\n

3. FEES AND PAYMENTS

\r\n

(A) GENERAL TERMS, INCLUDING AUTOMATIC RENEWAL TERMS

\r\n

You agree to pay any and all prices and fees due for Services purchased or obtained at this Site at the time you order the Services.  Azure expressly reserves the right to change or modify its prices and fees at any time, and such changes or modifications shall be posted online at this Site and effective immediately without need for further notice to you.  If you have purchased or obtained Services for a period of months or years, changes or modifications in prices and fees shall be effective when the Services in question come up for renewal as further described below. 

\r\n

Unless otherwise specifically noted (for reasons such as those highlighted in Section 2(x) above), the renewal price for any domain name in any TLD will be the same as the list (non-sale) price shown when you search for and select a domain, and again in the cart prior to purchase.  For example, if the list price is $9.99, and a different renewal price is not specifically identified, then the renewal price is also $9.99.  Likewise, if a domain name has a sale price of $8.99, with the list (non-sale) price shown (as a strike-through) at $9.99, the renewal price will be $9.99*.  

\r\n

*Renewal price subject to change prior to actual date of renewal. 

\r\n

For all other terms and conditions relating to fees, payment, refund and billing, etc. applicable to the Services offered under the scope of this Agreement, please refer to the “Fees and Payments” section of our UTOS

\r\n

(B) DOMAIN NAME RENEWAL TERMS

\r\n

When you register a domain name, you will have two renewal options: (i) \"Automatic Renewal\" (ii) \"Extended Automatic Renewal\", and (iii) \"Manual Renewal\": 

\r\n
    \r\n
  1. Automatic Renewal.  Automatic Renewal is the default setting. Therefore, unless you select Extended Automatic Renewal, Azure will enroll you in Automatic Renewal.  Domain names will automatically renew, for a period equivalent to the length of your original domain name registration, any domain name that is up for renewal and will take payment from the Payment Method you have on file with Azure, at Azure's then current rates. Thus, if you have chosen to register your domain name for one (1) year, Azure will automatically renew it for one (1) year. If you have chosen to register your domain name for two (2) years, Azure will automatically renew it for two (2) years, and so on.
  2. \r\n
  3. Extended Automatic Renewal.  If you enroll in the Extended Automatic Renewal plan, Azure will automatically renew any domain name that is up for renewal for an additional one-year period on each and every anniversary of your domain name registration, so the initial registration period will always remain intact.  Thus, if you have chosen to register your domain name for two (2) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your two (2) year registration period will always remain intact. If you have chosen to register your domain name for five (5) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your five (5) year registration period will always remain intact, and so on.  Azure will take payment from the Payment Method you have on file with Azure, at Azure's then current one-year domain name registration rate.
  4. \r\n
  5. Manual Renewal.  If you have elected to turn off automatic renewal and cancel the product (i.e., cancel the domain name registration) effective at expiration of the then current term, you may nonetheless elect to manually renew the domain name at anytime prior to its expiration date by logging into your Account Manager and manually implementing the renewal or by calling customer service (should you in fact want the domain name to be renewed). If you fail to manually implement the renewal before the expiration date, the domain name will be cancelled and you will no longer have use of that name.
  6. \r\n
\r\n

All renewals will be subject to the terms of this Agreement, as it may be amended from time to time, and you acknowledge and agree to be bound by the terms of this Agreement (as amended) for all renewed domains.  Domain name renewals will be non-refundable. In the event that we are unable to automatically renew your domain name for the renewal option selected for any reason, we may automatically renew your domain name for a period less than your original registration period to the extent necessary for the transaction to succeed. If for any reason Azure is not able to take the payment from the Payment Method you have on file, and you fail to respond to our notices, your domain name registration will expire. It is your responsibility to keep your Payment Method information current, which includes the expiration date if you are using a credit card.

\r\n

For certain ccTLDs (.am, .at, .be, .br, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal billing will occur on the first day of the month prior to the month of expiration.

\r\n

For certain ccTLDs (.am, .at, .be, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal will occur, or must occur manually if the product was previously cancelled, no later than the 20th of the month prior to the expiration date, or your domain name will be placed in non-renewal status. For some ccTLDs (.es) renewal must be processed no later than seven days before the expiration date, or your domain name will be placed in non-renewal status.  When the domain name is in non-renewal status, you can renew the domain name only by calling Azure and requesting that the domain name be renewed. You cannot renew the domain name through your Account Manager. If you fail to manually implement the renewal of any cancelled product before the expiration date, the domain name will be cancelled and you will no longer have use of that name.

\r\n

You agree that Azure will not be responsible for cancelled domain names that you fail to renew in the timeframes indicated in this Agreement. In any case, if you fail to renew your domain name in a timely fashion, additional charges may apply. If you signed up for privacy services, protected registration, or any other similar service, with your domain name registration, these services will automatically be renewed when your domain name registration is up for renewal, and you will incur the applicable additional renewal fee unless you cancel in advance. 

\r\n

If you fail to renew your domain name in the timeframes indicated in this Agreement, you agree that Azure may, in its sole discretion, renew your expired domain name on your behalf. If Azure decides to renew your expired domain name on your behalf, you will have a Renewal Grace Period during which you may reimburse Azure for the renewal and keep your domain name. The Renewal Grace Period is currently twelve (12) days but subject to change under the terms of this Agreement. For certain ccTLDs (.am, .at, .be, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg) there is no Renewal Grace Period after the expiration date of the domain name. If you do not reimburse Azure for the renewal during the Renewal Grace Period your domain name will be placed on Hold and flagged for deletion after which you will have a 30-day redemption period during which you may pay Azure a Redemption fee and redeem your domain name. The Redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the 30-day redemption period Azure may, in its sole discretion, delete your domain name or transfer it to another registrant on your behalf.  During the redemption period your domain name may be parked. 

\r\n

If your domain name is deleted, the Registry also provides a 30-day Redemption Grace Period during which you may pay Azure a redemption fee and redeem your domain name. The redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the Registry's Redemption Grace Period the Registry will release your name and it will become available for registration on a first-come-first-served basis.

\r\n

Renewal Grace Periods and Redemption Grace Periods vary for different ccTLDs. Please refer to the specific terms for the applicable TLD. In the event there is a conflict between the provisions of this paragraph and the ccTLD terms, the ccTLD terms shall control.

\r\n

\r\n

Our registration expiration notification policy and associated fees are described here.

\r\n

\r\n

\r\n

(C) FREE PRODUCT TERMS

\r\n

In the event you are provided with free products with the registration of a domain name, you acknowledge and agree that such free products will only be available with a valid purchase and may be terminated in the event the domain name is deleted or cancelled.  For free domain names, you acknowledge and agree that you may not change the account associated with such free domain for the first five (5) days after registration.  In the event a free domain name is offered with the registration of another domain and if the paid domain name registered fails, then we may, in its sole discretion, either delete the registration of the free domain or refund the difference between the amount paid and the value of the free domain.  Failed registrations associated with promotionals offers may result in the deletion of the free or discounted item or an adjustment between the registered domain price and the value of the discounted item, in our sole discretion.

\r\n

4. TERM OF AGREEMENT; TRANSFERS; DOMAIN TASTING

\r\n

The term of this Agreement shall continue in full force and effect as long as you have any domain name registered through Azure.

\r\n

You agree that you will not transfer any domain name registered through Azure to another domain name registrar during the first sixty (60) days after its initial registration date.  You agree that you may not transfer any domain name for ten (10) days after a Change of Account.

\r\n

You further agree that you will not engage in \"domain tasting\" by using the five (5) day grace period in which a registrant may choose to cancel a domain name and get a full refund of the registration fee as a vehicle to test the marketability or viability of a domain name.  If Azure determines (which determination shall be made by Azure in its sole and absolute discretion) that you have been engaging in \"domain tasting\", then Azure reserves the right to (a) charge you a small fee (which fee shall be deducted from any refund issued) or (b) refuse your cancellation/refund request altogether. Azure will not charge you a fee if Azure cancels your domain name during the five (5) day grace period due to fraud or other activity outside of your control. The five (5) day grace period does not apply to Premium Domains, which are non-refundable.

\r\n

You agree that Azure shall not be bound by (i) any representations made by third parties who you may use to purchase services from Azure, or (ii) any statements of a general nature, which may be posted on Azure's website or contained in Azure's promotional materials.

\r\n

5. UP TO DATE INFORMATION; USE OF INFORMATION AND EXPIRATION

\r\n

You agree to notify Azure within five (5) business days when any of the information you provided as part of the application and/or registration process changes. It is your responsibility to keep this information in a current and accurate status. Failure by you, for whatever reason, to provide Azure with accurate and reliable information on an initial and continual basis, shall be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. Failure by you, for whatever reason, to respond within five (5) business days to any inquiries made by Azure to determine the validity of information provided by you, shall also be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. You agree to retain a copy for your record of the receipt for purchase of your domain name.

\r\n

You agree that for each domain name registered by you, the following contact data is required: postal address, email address, telephone number, and if available, a facsimile number for the Registered Name Holder and, if different from the Registered Name Holder, the same contact information for, a technical contact, an administrative contact and a billing contact.

\r\n

You acknowledge and agree that domain name registration requires that this contact information, in whole or in part, be shared with the registry operator, for their use, copying, distribution, publication, modification and other processing  for (among other uses in accordance with our Privacy Policy) the purpose of administration of the domain name registration, which may require such information be transferred back and forth across international borders, to and from the U.S. to the EU, for example. As required by ICANN, this information must also be made publicly available by means of Whois, and that the registry operator may also be required to make this information publicly available by Whois. Both Azure and the registry operator may be required to archive this information with a third-party escrow service. You hereby consent and give permission for all such requirements and disclosures. Further, you represent and warrant that, if you are providing information about a third party, you have notified the third party of the disclosure and the purpose for the disclosure and you have obtained the third party's consent to such disclosure.  Registrar will not process data in a way that is incompatible with this Agreement.  Registrar will take reasonable precautions to protect data from loss or misuse.

\r\n

You agree that for each domain name registered by you the following information will be made publicly available in the Whois directory as determined by ICANN Policy and may be sold in bulk as set forth in the ICANN agreement:

\r\n
    \r\n
  • The domain name;
  • \r\n
  • Your name and postal address;
  • \r\n
  • The name, email address, postal address, voice and fax numbers for technical and administrative contacts;
  • \r\n
  • The Internet protocol numbers for the primary and secondary name servers;
  • \r\n
  • The corresponding names of the name servers; and
  • \r\n
  • The original date of registration and expiration date.
  • \r\n
  • Name of primary name server and secondary name server.
  • \r\n
  • Identity of the registrar.
  • \r\n
\r\n

You agree that, to the extent permitted by ICANN, Azure may make use of the publicly available information you provided during the registration process. If you engage in the reselling of domain names you agree to provide any individuals whose personal information you've obtained, information about the possible uses of their personal information pursuant to ICANN policy. You also agree to obtain consent, and evidence of consent, from those individuals for such use of the personal information they provide.

\r\n

You agree that Azure has the right to make public and share with third parties certain information in connection with the sale or purchase of domain names on the website, including but not limited to (a) the name of the domain name sold or purchased, (b) the sale or purchase price of the domain name sold or purchased, and (c) information relating to the timing of the sale or purchase.

\r\n

\r\n

In order for us to comply with any current or future rules and policies for domain name systems including any rules or policies established by the CIRA or any provincial or federal government or by other organization having control or authority to establish rules or policies, you hereby grant to us the right to disclose to third parties through an interactive publicly accessible registration database the following information that you are required to provide when applying for a domain name:

\r\n
    \r\n
  1. The domain or sub-domain name(s) registered by you;
  2. \r\n
  3. Your organization name, type and postal address;
  4. \r\n
  5. The name(s), position(s), postal address(es), e-mail address(es), voice telephone number(s) and where available the fax number(s) of the technical and administrative contacts for your domain or sub-domain name(s);
  6. \r\n
  7. The full hostnames and Internet protocol (IP) addresses of at least two (2) name server hosts (one primary and at least one secondary) for your domain or sub-domain name. Up to six (6) name servers may be specified. If a host has more than one (1) IP address, use a comma-separated list;
  8. \r\n
  9. The corresponding names of those name servers;
  10. \r\n
  11. The original creation date of the registration; and
  12. \r\n
  13. The expiration date of the registration.
  14. \r\n
\r\n

We may be required to make this information available in bulk form to third parties. We may also transfer or assign this information to CIRA or such other third party as we may decide, in our sole discretion.

\r\n

6. DISPUTE RESOLUTION POLICY

\r\n

You agree to be bound by our current Dispute Resolution Policy. This policy is incorporated herein and made a part of this Agreement. You can view the Uniform Domain Name Dispute Resolution Policy online. You agree that Azure may from time to time modify its Dispute Resolution Policy. Azure will post any changes to its Dispute Resolution Policy at least thirty (30) days before they become effective. You agree that by maintaining your domain name registrations with Azure after the updated policy becomes effective that you agree to the Dispute Resolution policy as amended. You agree to review Azure's website periodically to determine if changes have been made to the Dispute Resolution Policy. If you cancel or terminate your Services with Azure as a result of the modified Dispute Resolution policy, no fees will be refunded to you. You also agree to submit to proceedings commenced under ICANN's Uniform Rapid Suspension System, if applicable. 

\r\n

You agree that if a dispute arises as a result of one (1) or more domain names you have registered using Azure, you will indemnify, defend and hold Azure harmless as provided for in this Agreement. You also agree that if Azure is notified that a complaint has been filed with a governmental, administrative or judicial body, regarding a domain name registered by you using Azure, that Azure, in its sole discretion, may take whatever action Azure deems necessary regarding further modification, assignment of and/or control of the domain name deemed necessary to comply with the actions or requirements of the governmental, administrative or judicial body until such time as the dispute is settled. In this event you agree to hold Azure harmless for any action taken by Azure.

\r\n

You agree to submit, without prejudice to other potentially applicable jurisdictions, to the jurisdiction of the courts (1) of your domicile, (2) where registrar is located or (3) where the registry operator is located (e.g., China for .CN, Columbia for .CO, UK for .EU, etc.).

\r\n

\r\n

In the case of .ca domain names, you agree that, if your use of the service or the registration of a .ca domain name is challenged by a third party, you will be subject to the provisions specified by CIRA in their dispute resolution policy, in effect at the time of the dispute.

\r\n

\r\n

7. TRANSFER OF DOMAIN NAMES; RESALE PRACTICES

\r\n

If you transfer any domain name, you agree to provide the information required by, and to abide by, the procedures and conditions set forth in our Domain Name Transfer Agreement and Change of Registrant Agreement. You may view the latest versions of our Domain Name Transfer Agreement and Change of Registrant Agreementonline. In order to further protect your domain name, any domain name registered with Azure or transferred to Azure shall be placed on lock status, unless an opted-out has occurred as defined in our Change of Registrant Agreement or Domain Name Proxy Agreement. The domain name must be placed on unlock status in order to initiate a transfer of the domain name away from Azure to a new Registrar. You may log into your account with Azure at any time after your domain name has been successfully transferred to Azure, and change the status to unlock.

\r\n

In the event you are purchasing a domain name on behalf of a third party, you agree to inform any customer of yours, who may be acquiring a domain name through you using Azure's registration services, that they are in fact registering their domain name through Azure and that Azure or its licensor is an accredited registrar with ICANN. You agree not to represent that you are an ICANN-accredited registrar or that you are in any way providing superior access to the ICANN Domain Name Registry. You also agree not to use the ICANN trademark logo in any of your promotional materials including your website.

\r\n

You agree to obtain each of your customers' acceptances to the then current version of this Agreement, and to retain evidence of their acceptance for a period of not less than three (3) years. Should you require that your customers accept additional terms and conditions that are not required by Azure, you agree that such additional terms and conditions shall not conflict with this Agreement and the policies and procedures adopted by ICANN.

\r\n

You agree that Azure is not lending you access to its registrar connections or its registry access, nor will you be deemed to be a registrar in your own right. Furthermore, you agree you will not attempt to gain access to Azure's registrar connections or registry access. You agree to provide complete, accurate and current data for each registrant to be added to a registry in accordance with ICANN requirements for inclusion in the Whois database.

\r\n

You agree to provide your customers with adequate customer support, and to maintain contact with them with regard to providing a medium for them to communicate changes in the information they provided as part of the domain name registration process. Upon receiving corrected or updated information you will, within five (5) business days, provide such information to Azure so Azure may update its registration records. You will retain copies of all communications between you and your customers and will upon request provide Azure copies of same.

\r\n

8. YOUR OBLIGATIONS; SUSPENSION OF SERVICES; BREACH OF AGREEMENT

\r\n

You represent and warrant to the best of your knowledge that, neither the registration of the domain nor the manner it is directly or indirectly used, infringes the legal rights of any third party.  You will comply with all applicable laws, including, but not limited to those relating to privacy, data collection, consumer protection, fair lending, debt collection, organic farming, and disclosure of data and financial disclosures.  If you collect and maintain sensitive health and financial data, you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  You represent that you possess any necessary authorization, charter, license, and/or other related credential for participation in the sector associated with the associated registry tld string.  You will report any material changes to the validity of your authorization, charter, license, and/or other related credential. You will indemnify and hold harmless the registrar and registry operator, and their directors, officers, employees and agents, from and against any and all claims, damages, liabilities, costs and expenses (including reasonable legal fees and expenses) arising out of or related to the domain name registration.  This obligation shall survive expiration or termination of this Agreement or the domain name registration.

\r\n

You agree that, in addition to other events set forth in this Agreement:

\r\n
    \r\n
  1. Your ability to use any of the services provided by Azure is subject to cancellation or suspension in the event there is an unresolved breach of this Agreement and/or suspension or cancellation is required by any policy now in effect or adopted later by ICANN;
  2. \r\n
  3. Your registration of any domain names shall be subject to suspension, cancellation or transfer pursuant to any ICANN adopted specification or policy, or pursuant to any Azure procedure not inconsistent with an ICANN adopted specification or policy (a) to correct mistakes by Azure or the registry operator in registering any domain name; or (b) for the resolution of disputes concerning any domain name.
  4. \r\n
\r\n

You acknowledge and agree that Azure and registry reserve the right to deny, cancel or transfer any registration or transaction, or place any domain name(s) on registry lock, hold or similar status, as either deems necessary, in the unlimited and sole discretion of either Azure or the registry: (i) to comply with specifications adopted by any industry group generally recognized as authoritative with respect to the Internet (e.g., RFCs), (ii) to correct mistakes made by registry or any registrar in connection with a domain name registration, (iii) for the non-payment of fees to registry, (iv) to protect the integrity and stability of the registry, (v) to comply with any applicable court orders, laws, government rules or requirements, requests of law enforcement, or any dispute resolution process, (vi) to comply with any applicable ICANN rules or regulations, including without limitation, the registry agreement, (vii) to avoid any liability, civil or criminal, on the part of registry operator, as well as its affiliates, subsidiaries, officers, directors, and employees, (viii) per the terms of this Agreement, (ix) following an occurrence of any of the prohibited activities described in Section 8 below, or (x) during the resolution of a dispute.

\r\n

You agree that your failure to comply completely with the terms and conditions of this Agreement and any Azure rule or policy may be considered by Azure to be a material breach of this Agreement and Azure may provide you with notice of such breach either in writing or electronically (i.e. email). In the event you do not provide Azure with material evidence that you have not breached your obligations to Azure within ten (10) business days, Azure may terminate its relationship with you and take any remedial action available to Azure under the applicable laws. Such remedial action may be implemented without notice to you and may include, but is not limited to, cancelling the registration of any of your domain names and discontinuing any services provided by Azure to you. No fees will be refunded to you should your Services be cancelled or terminated because of a breach.

\r\n

Azure's failure to act upon or notify you of any event, which may constitute a breach, shall not relieve you from or excuse you of the fact that you have committed a breach.

\r\n

9. RESTRICTION OF SERVICES; RIGHT OF REFUSAL

\r\n

You agree not to use the services provided by Azure, or to allow or enable others, to use the services provided by Azure for the purposes of:

\r\n
    \r\n
  • The transmission of unsolicited email (Spam); and
  • \r\n
  • Repetitive, high volume inquires into any of the services provided by Azure (i.e. domain name availability, etc.).
  • \r\n
\r\n

You acknowledge and agree that you are prohibited from distributing malware, abusively operating botnets, phishing, piracy, trademark or copyright infringement, fraudulent or deceptive practices, counterfeiting or otherwise engaging in activity contrary to applicable law, and you acknowledge and agree that the consequences for such activities include suspension of the domain name.

\r\n

If you are hosting your domain name system (“DNS”) on Azure’s servers, or are using our systems to forward a domain name, URL, or otherwise to a system or site hosted elsewhere, or if you have your domain name registered with Azure, you are responsible for ensuring there is no excessive overloading on Azure’s servers. You may not use Azure’s servers and your domain name as a source, intermediary, reply to address, or destination address for email denial-of-service attack, Internet packet flooding, packet corruption, or other abusive attack. Server hacking or other perpetration of security breaches is prohibited. You agree that Azure reserves the right to deactivate your domain name from its DNS if Azure deems it is the recipient of activities caused by your site that threaten the stability of its network.

\r\n

You agree that Azure, in its sole discretion and without liability to you, may refuse to accept the registration of any domain name. Azure also may in its sole discretion and without liability to you delete the registration of any domain name during the first thirty (30) days after registration has taken place. Azure may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as determined by Azure in its sole discretion, in association with spam or morally objectionable activities. Morally objectionable activities will include, but not be limited to:

\r\n
    \r\n
  • Activities prohibited by the laws of the United States and/or foreign territories in which you conduct business;
  • \r\n
  • Activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography; and
  • \r\n
  • Activities designed to harm or use unethically minors in any way.
  • \r\n
\r\n

In the event Azure refuses a registration or deletes an existing registration during the first thirty (30) days after registration, you will receive a refund of any fees paid to Azure in connection with the registration either being cancelled or refused. In the event Azure deletes the registration of a domain name being used in association with spam or morally objectionable activities, no refund will be issued.

\r\n

10. DEFAULT SETTINGS; PARKED PAGE

\r\n

Choosing Your Domain Name Settings.  When you register a domain name with Azure, you will be prompted to choose your domain name settings during the checkout process.  If you plan on using another provider for your website or hosting needs, then you should enter the name servers of such provider when you choose your domain name settings.  This will direct your domain name away from Azure’s name servers.  If you are an existing Azure customer and have already set up a customer profile designating your domain name settings for new domain name registrations, you will not need to complete this step again during the checkout process.   

\r\n

Azure’s Default Settings.  If you do not direct your domain name away from Azure’s name servers as described above, Azure will direct your domain name to a “Parked Page” (“Default Setting”).  You acknowledge and agree that Azure has the right to set the Default Setting. 

\r\n

Parked Page Default Setting.  Azure’s Parked Page service is an online domain monetization system designed to generate revenue (through the use of pay per click advertising) from domain names that are not actively being used as websites.  If your domain name is directed to a Parked Page, you acknowledge and agree that Azure may display both (a) in-house advertising (which includes links to Azure products and services) and (b) third-party advertising (which includes links to third-party products and services) on your Parked Page through the use of pop-up or pop-under browser windows, banner advertisements, audio or video streams, or any other advertising means, and we may aggregate for our own use, related usage data by means of cookies and other similar means.  In addition, you acknowledge and agree that all in-house and third-party advertising will be selected by Azure and its advertising partners, as appropriate, and you will not be permitted to customize the advertising, or entitled to any compensation in exchange therefor.  Please note that the third-party advertising displayed on Azure’s Parked Pages may contain content offensive to you, including but not limited to links to adult content.  Azure makes no effort to edit, control, monitor, or restrict the content and third-party advertising displayed on Azure’s Parked Pages, and expressly disclaims any liability or responsibility to you or any third party in connection therewith.

\r\n

Changing Azure’s Default Settings.  You may change Azure’s Default Settings at any time during the term of your domain name registration.

\r\n
    \r\n
  1. Content Displaying On Your Parked Page.  You can not modify the content displaying on your Parked Page.  You may select one of the other options listed below.
  2. \r\n
  3. Participating In Domain Name Monetization.  If you wish to participate in the domain monetization potential presented by Azure’s Parked Page service, please review and consider purchasing our CashParking® service.   
  4. \r\n
  5. No Content.  If the options listed above are not acceptable to you, please contact customer support to learn what other options might be available to you.
  6. \r\n
\r\n

Return To Parked Page Default Setting Upon Domain Name Expiration.  Upon domain name expiration, and regardless of how you use your domain name during the term of your domain name registration, your domain name will automatically return to the Parked Page Default Setting described above.  As used in this paragraph, “expiration” is deemed to include any “renewal period” or “redemption period” immediately after the domain name expires, but before the domain name is returned to the registry.  Once your domain name has returned to the Parked Page Default Setting described above, the only way to opt out of the Parked Page service is to renew, redeem, or re-register your domain name in accordance with Section 2(B), Domain Name Renewal Terms, of this Agreement.   

\r\n

11. DOMAIN ADD-ONS

\r\n

Business Registration:  Business registration allows You to display additional information about the business that is the basis of Your domain name, including, but not limited to, such information as Your fax number, street address, and hours of operation.

\r\n

Certified Domains.  The certified domain service generally allow You to: (i) put a Certified Domain Validation seal on Your website; and (ii) have Your domain name listed as \"Certified\", in WHOIS lookups on our website.   The Certified Domain Validation seal renews independently of Your domain. When You renew Your domain, You must also, when necessary, separately renew Your Certified Validation seal. However, the Certified Domain Validation seal can be cancelled independently of Your domain. If the domain is cancelled, the Certified Domain associated with the cancelled domain will automatically cancel.  The Certified Domain seal is a trademark and is protected by copyright, trademark and other intellectual property laws. You may use the Certified Domain seal only in conjunction with the purchase of the Services set forth in the Agreement, and subject to the terms and conditions hereof. Other than provided for in this Agreement, You may not otherwise use, reproduce, or modify the mark for any additional promotional use, without our prior written approval. Your right to the use of the Certified Domain seal is immediately terminated upon expiration or termination of this Agreement.

\r\n

Expiration Consolidation.  You understand and acknowledge the expiration consolidation service may only be used to consolidate the expiration of .com and .net domain names. The service may not be used to consolidate domains that are on Registrar HOLD, Registry HOLD, or pending Transfer status. You acknowledge the service may only be used to push the expiration date of Your domains forward in time, at least one (1) month forward and no more than ten (10) years forward, and then, only for a period lasting less than twelve (12) months. Once the service has been used to consolidate domains, the new expiration date may not be reversed. To ensure the service is not abused or used as an alternative to renewals, you may only use the service on each domain once in any 12-month period. The service may only be used on domain names that have not passed their expiration date. In order to change the expiration date again, You will be required to renew the domain name first.  You further understand and acknowledge the service may only be used to coordinate domains where we are the registrar of record. Domains not registered with us must be transferred before we can perform the Service. 

\r\n

\r\n

Backordering/Monitoring.  You agree a domain name that has expired shall be subject first to a grace period of twelve (12) days, followed by the ICANN-mandated redemption grace period of thirty (30) days. During this period of time, the current domain name registrant may renew the domain name and retain ownership. We do not guarantee your backorder will result in you obtaining the domain name and expressly reserves the right to (a) refuse additional backorders or (b) cancel existing backorders at any time for any reason.  If your backorder is refused or cancelled, we agree to promptly refund any fees paid for such domain name backorder. The domain name may also be placed in a secondary market for resale through the Auctions® service.  After your first year of Auctions membership, you agree that unless otherwise advised, we will automatically renew your Auctions membership using the payment method you have on file for so long as your backorder credit is active. You may learn more about Auctions by visiting the Auctions website. The domain name may also be subject to a drop pool process before it is available for purchasing. You understand we and our registrar affiliates use our services, including backordering.  Therefore, the domain name may be registered with a different registrar, but can be managed through your account.  By using the Services, you will be able to, among other things:

\r\n
    \r\n
  1. Backorder any domain name under the top level domains .COM, .NET, .US, .BIZ, .INFO, .ORG, .MOBI. A backorder for a domain name will include the price of up to a one-year domain name registration. Should you successfully backorder any domain name, you will be subject to the terms and conditions of the Domain Name Registration and related agreements, which are incorporated herein by reference.
  2. \r\n
  3. Change your backorder until you obtain a domain name. You will have the opportunity to change the credit to a different domain name until you successfully capture one. After three (3) years, if the credit is not used, we reserves the right to remove the credit.
  4. \r\n
  5. Subscribe monthly to an expiring domain name list. You may also choose to purchase a subscription to a list of domain names expiring within the next five (5) days. If you subscribe to the expiring domain name list, you agree the payment method you have on file may be charged on a monthly subscription basis for the term of the Services you purchase.
  6. \r\n
  7. Select domain names off the expiring domain name list you would like to register. Each domain name you attempt to backorder will include the price of up to a one-year domain name registration, as set forth in subsection (i) above.
  8. \r\n
  9. Monitor your currently registered domain names for changes in registrar, status, expiration date or name servers at no additional cost.
  10. \r\n
  11. Subscribe to Domain Alert Pro or monitoring, which enables you to monitor any currently registered domain name, regardless of registrar, for historical tracking of status changes and designation of multiple email notification addresses.
  12. \r\n
\r\n

\r\n

\r\n

Transfer Validation. The transfer validation service is provided to help You keep Your domain name secure. By choosing to use the service, You are making an explicit and voluntary request to us to deny all attempts to transfer Your domain name to another registrar, or to move Your domain name to another account, unless You verify each request as described herein. You will provide us with a contact name, phone number and PIN for domain transfer validations. You will be contacted by us when a domain transfer is requested for a domain name in Your account. When we receive a transfer request, we will call You to verify the transfer request. If we cannot reach You with seventy-two (72) hours of receipt of the transfer request, the transfer will be denied. If You do not provide the proper PIN, the transfer will be denied. When we receive a change of account request, we will call You to verify the change request. If we cannot reach You with seventy-two (72) hours of receipt of the change request, the change will be denied. If You do not provide the proper PIN, the change will be denied. Availability of Services are subject to the terms and conditions of this Agreement and each of our policies and procedures. We shall use commercially reasonable efforts to attempt to provide certain portions of the Services on a twenty-four (24) hours a day, seven (7) days a week basis throughout the term of this Agreement and other portions of the service, during normal business hours. You acknowledge and agree that from time to time the Services may be inaccessible or inoperable for any reason, including, without limitation: (i) equipment malfunctions; (ii) periodic maintenance procedures or repairs that we may undertake from time to time; or (iii) causes beyond the reasonable control of us or that are not reasonably foreseeable by us, including, without limitation, interruption or failure of telecommunication or digital transmission links, hostile network attacks, network congestion or other failures. You acknowledge and agree that we has no control over the availability of the service on a continuous or uninterrupted basis.

\r\n

\r\n

12. PRE-REGISTRATIONS

\r\n

If you submit an application for pre-registration of a domain name, Azure does not guarantee that the name will be secured for you, or that you will have immediate access to the domain name if secured.  Azure may use third-party service providers for the pre-registration services.

\r\n

13. PROVISIONS SPECIFIC TO .BIZ REGISTRATIONS

\r\n

Domain Name Dispute Policy.  If you reserved or registered a .BIZ domain name through us, in addition to our Dispute Resolution Policy, you hereby acknowledge that you have read and understood and agree to be bound by the terms and conditions of the Restrictions Dispute Resolution Policy applicable to the .biz TLD.

\r\n

The RDRP sets forth the terms under which any allegation that a domain name is not used primarily for business or commercial purposes shall be enforced on a case-by-case basis by an independent ICANN-accredited dispute provider. Registry Operator will not review, monitor, or otherwise verify that any particular domain name is being used primarily for business or commercial purposes or that a domain name is being used in compliance with the SUDRP or UDRP processes.

\r\n

One Year Registration.  If you are registering a .BIZ domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .BIZ domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .BIZ domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

\r\n

14. PROVISIONS SPECIFIC TO .INFO REGISTRATIONS 

\r\n

One Year Registration.  If you are registering a .INFO domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .INFO domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .INFO domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

15. PROVISIONS SPECIFIC TO .MOBI REGISTRATIONS 

\r\n

Instant Mobilizer. You are hereby granted a personal, revocable, non-exclusive, non-transferable, non-assignable, non-sublicensable license to use the Instant Mobilizer service (“Service”), provided, however, You abide by the terms and conditions set forth. You shall not alter, modify, adapt or translate the whole or part of the Service in any way whatsoever. You may not create derivative works based on the Service. You may not rent, lease, assign, dispose of, novate, sub-license or otherwise transfer any of its rights to use the Service to any third party.  In the event that the volume of traffic to You from Your use of the Service is sufficient so as to jeopardize the provision of Service for other end users, we and our licensors reserve the right to, at its sole discretion, permanently or temporarily, discontinue Your use of the Service. For the avoidance of doubt, the volume of traffic generated by You should not exceed two thousand (2,000) page views per day.  You acknowledge and agree the text \"Instant Mobilizer from dotMobi\" or equivalent, will be inserted at the footer of Your site.  In the event a dotMobi domain to which the Service is being provided is transferred to another domain name registrar, the Service will be interrupted on that dotMobi domain, and Service will not be restored if the new registrar does not offer the Service. 

\r\n

\r\n

16. PROVISIONS SPECIFIC TO .NAME REGISTRATIONS 

\r\n

\r\n

17. PROVISIONS SPECIFIC TO .REISE REGISTRATIONS

\r\n

Domain Names registered in .REISE should be used for purposes dedicated to travel topics within six months following initial Registration, e.g. utilized on the Internet or otherwise used to perform a function.

\r\n

18. PROVISIONS SPECIFIC TO .SEXY REGISTRATIONS

\r\n

You shall not permit content unsuitable for viewing by a minor to be viewed from the main or top-level directory of a .SEXY domain name. For purposes of clarity, content viewed at the main or top-level directory of a .SEXY domain name is the content immediately visible if a user navigates to http://example.sexy or http://www.example.sexy. No restrictions apply to the content at any other page or subdirectory addressed by a .SEXY Registered Name. 

\r\n

19. COUNTRY CODE TOP LEVEL DOMAINS

\r\n

You represent and warrant that you meet the eligibility requirements of each ccTLD you apply for. You further agree to be bound by any registry rules, policies, and agreements for that particular ccTLD. These may include, but are not limited to, agreeing to indemnify the ccTLD provider, limiting the liability of the ccTLD provider, and requirements that any disputes be resolved under that particular country's laws.

\r\n

(A) PROVISIONS SPECIFIC TO .AU REGISTRATIONS 

\r\n

.au Registrations (to include com.au, net.au and org.au) are governed by the following additional terms and conditions:

\r\n

auDA. auDA means .au Domain Administration Limited ACN 079 009 340, the .au domain names administrator.  The Registrar acts as agent for auDA for the sole purpose, but only to the extent necessary, to enable auDA to receive the benefit of rights and covenants conferred to it under this Agreement. auDA is an intended third party beneficiary of this agreement.

\r\n

auDA Published Policy.  auDA Published Policies means those specifications and policies established and published by auDA from time to time at http://www.auda.org.au.  You must comply with all auDA Published Policies, as if they were incorporated into, and form part of, this Agreement. In the event of any inconsistency between any auDA Published Policy and this Agreement, then the auDA Published Policy will prevail to the extent of such inconsistency.  You acknowledge that under the auDA Published Policies: (1) there are mandatory terms and conditions that apply to all domain names; (2) licences, and such terms and conditions are incorporated into, and form part of, this Agreement; (3) You are bound by, and must submit to, the .au Dispute Resolution Policy; and (4) auDA may delete or cancel the registration of a .au domain name. 

\r\n

auDA's Liabilities and Indemnity.  To the fullest extent permitted by law, auDA will not be liable to Registrant for any direct, indirect, consequential, special, punitive or exemplary losses or damages of any kind (including, without limitation, loss of use, loss or profit, loss or corruption of data, business interruption or indirect costs) suffered by Registrant arising from, as a result of, or otherwise in connection with, any act or omission whatsoever of auDA, its employees, agents or contractors. Registrant agrees to indemnify, keep indemnified and hold auDA, its employees, agents and contractors harmless from all and any claims or liabilities, arising from, as a result of, or otherwise in connection with, Registrant's registration or use of its .au domain name. Nothing in this document is intended to exclude the operation of Trade Practices Act 1974.

\r\n

(B) PROVISIONS SPECIFIC TO .CA REGISTRATIONS

\r\n

You acknowledge and agree that registration of your selected domain name in your first application to CIRA shall not be effective until you have entered into and agreed to be bound by CIRA's Registrant Agreement.

\r\n

CIRA Certified Registrar.  The registrar shall immediately give notice to you in the event that it is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated, or the Registrar Agreement between CIRA and the Registrar is terminated or expires. CIRA may post notice of such suspension, termination, or expiry on its website and may, if CIRA deems appropriate, give notice to the registrants thereof. In the event that the registrar is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated or in the event the Registrar Agreement between CIRA and the Registrar is terminated or expires, you shall be responsible for changing your Registrar of Record to a new CIRA Certified Registrar within thirty (30) days of the earlier of notice thereof being given to you by (i) the Registrar or (ii) CIRA in accordance with CIRA's then current Registry PRP; provided, however, that if any of your domain name registrations are scheduled to expire within thirty (30) days of the giving of such notice, then you shall have thirty (30) days from the anniversary date of the registration(s), to register with a new CIRA certified registrar and to renew such domain name registration(s) in accordance with the Registry PRP.

\r\n

You acknowledge and agree that should there be insufficient funds prepaid by the registrar in the CIRA Deposit Account to be applied in payment of any fees, CIRA may in its sole discretion stop accepting applications for domain name registrations from the registrar, stop effecting registrations of domain names and transfers, renewals, modifications, and cancellations requested by the registrar and stop performing other billable transactions requested by the registrar not paid in full and CIRA may terminate the Registrar Agreement between CIRA and the Registrar.

\r\n

.CA ASCII and IDN domain variants are bundled and reserved for a single registrant.  Registrants are not required to register all variants in a bundle, but all registered variants must be registered and managed at a single registrar. Each variant registered will incur a registration fee.  In addition, when registering multiple .CA domain (ASCII and IDN) variants in a bundle, your registrant information must be identical.  If variants are registered at other registrars or if registrant information does not match, it may result in an \"unavailable\" search result, delayed or failed registration. If information does not match, validation is required and may take up to seven business days and delay availability of domain. 

\r\n

(C) PROVISIONS SPECIFIC TO .CN REGISTRATIONS 

\r\n

.CN is a restricted TLD – applications are subject to both a domain name check and real name verification as required by the China.  Registrations in .CN are therefore subject to the following additional terms:

\r\n

Verification, Registration and Activation.  If a domain name is not permitted to be registered by the Chinese government, as determined by us, the Registry Operator and/or a 3rd party provider utilized for such services and determinations, in either party’s discretion, the application for registration will not be successful.  In such event, the name will be deleted and you will be eligible for a refund as further described below.

\r\n

If permitted, then the Registration may proceed, but a .CN domain name may not be activated (i.e., it will not resolve in the Internet) unless and until you have submitted (via the process described during registration) valid documents required of us and the Registry to perform real name verification.  The following are acceptable forms of documents for the purpose of verification:

\r\n
    \r\n
  • China: Resident ID, temporary resident ID, business license or organization code certificate
  • \r\n
  • Hong Kong Special Administrative Region/Macao Special Administrative Region: Resident ID, driver’s license, passport or business license
  • \r\n
  • Singapore: Driver’s license, passport or business license
  • \r\n
  • Taiwan: Resident ID, driver’s license or business license
  • \r\n
  • Other Countries/Regions: Driver’s license or passport
  • \r\n
\r\n

Documents submitted to us are used by us and shared with the Registry solely for the purpose of real name verification, and are otherwise subject to our Privacy Policy.  By registering a .CN domain, you expressly agree that your data may be stored on servers in the U.S., or otherwise outside of the China.

\r\n

Refunds.  Refunds for .CN Registrations will only be allowed where (i) registration of the applied for domain name is not permitted by the Chinese government; or (ii) you notify us of your intent to cancel for any reason within the first five (5) days after the Registration (i.e., after it is deemed permissible by the Chinese government).  For the avoidance of doubt, refunds will not be permitted under any circumstances after five (5) days from the date of Registration, including, for example, in the event real name verification is not successful or if the Chinese government determines after Registration that the domain name should not have been registered (and directs us to delete).

\r\n

(D) PROVISIONS SPECIFIC TO .JP REGISTRATIONS

\r\n

Registration Restrictions.  You represent and warrant that you have a local presence in Japan with a home or office address. You agree that certain domain names are reserved and can only be registered by certain parties. These include: (i) TLDs, other than ccTLDs, as determined by ICANN; (ii) geographical-type .JP domain names that are defined as metropolitan, prefectural, and municipal labels; (iii) names of primary and secondary educational organizations; (iv) names of organizations related to Internet management; (v) names required for .JP domain name operations; and (vi) character strings which may be confused with ASCII-converted Japanese domain names. The complete list of .JP Reserved Domains is available here

\r\n

20. ENGLISH LANGUAGE CONTROLS

\r\n

This Agreement, along with all policies and the applicable product agreements identified above and incorporated herein by reference (collectively, the “Agreement”), is executed in the English language. To the extent any translation is provided to you, it is provided for convenience purposes only, and in the event of any conflict between the English and translated version, where permitted by law, the English version will control and prevail. Where the translated version is required to be provided to you and is to be considered binding by law (i) both language versions shall have equal validity, (ii) each party acknowledges that it has reviewed both language versions and that they are substantially the same in all material respects, and (iii) in the event of any discrepancy between these two versions, the translated version may prevail, provided that the intent of the Parties has been fully taken into consideration. 

\n
\n
\n\nRevised: 10/6/17
\nCopyright © 2000-2017 All Rights Reserved.\n
\n
\n
", + "title": "Domain Name Registration Agreement", + "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=reg_sa&pl_id=510456" + }, + { + "agreementKey": "DNPA", + "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Proxy Agreement\n
\n

Last Revised: October 25, 2017

\n

Please read this Domain Name Proxy Agreement (\"Agreement\") carefully. By using the Services and/or website of Domains By Proxy, LLC, a Delaware limited liability company (\"DBP\"), You (as defined below) agree to all the terms and conditions set forth both herein and in the DBP privacy policy, which is incorporated by reference and can be found by clicking here.  You acknowledge that DBP may amend this Agreement at any time upon posting the amended terms on its website, and that any new, different or additional features changing the services provided by DBP will automatically be subject to this Agreement. If You do not agree to be bound by, or if You object to, the terms and conditions of this Agreement and any amendments hereto, do not use or access DBP's services. Continued use of DBP's services and its website after any such changes to this Agreement have been posted, constitutes Your acceptance of those changes.

\r\n

This Agreement is by and between DBP and you, your heirs, assigns, agents and contractors (\"You\") and is made effective as of the date of electronic execution. This Agreement sets forth the terms and conditions of Your relationship with DBP and Your use of DBP's services and represents the entire Agreement between You and DBP. By using DBP's Services, You acknowledge that You have read, understand and agree to be bound by all the terms and conditions of this Agreement, and You further agree to be bound by the terms of this Agreement for transactions entered into by:

\r\n
    \r\n
  1. You on Your behalf;
  2. \r\n
  3. Anyone acting as Your agent; and
  4. \r\n
  5. Anyone who uses the account You have established with DBP, whether or not the transactions were on Your behalf and/or authorized by You.
  6. \r\n
\r\n

You agree You will be bound by representations made by third parties acting on Your behalf, which either use or purchase services from DBP. You further agree that DBP will not be bound by statements of a general nature on DBP's website or DBP promotional materials. You further agree to abide by the terms and conditions promulgated by the Internet Corporation for Assigned Names and Numbers (\"ICANN\") (including the Uniform Domain Name Dispute Resolution Policy (\"Dispute Resolution Policy\") and Your Registrar (i.e., the ICANN-accredited person or entity through which You register a domain name).

\r\n

1. description of DBP's private registration services

\r\n

When You subscribe to DBP's private registration service through a DBP-affiliated Registrar, DBP will display its contact information in the publicly available \"Whois\" directory in place of Your information. DBP shall keep Your name, postal address, email address, phone and fax numbers confidential, subject to Section 4 of this Agreement. The following information (and not Your personal information) will be made publicly available in the \"Whois\" directory as determined by ICANN policy:

\r\n
    \r\n
  1. DBP's name as the proxy Registrant of the domain name and a proxy email address, phone number and postal address for the proxy Registrant's contact information;
  2. \r\n
  3. A proxy postal address and phone number for the domain name registration's technical contact;
  4. \r\n
  5. A proxy email address, postal address and phone number for the domain name registration's administrative contact;
  6. \r\n
  7. A proxy email address, postal address and phone number for the domain's name registration's billing contact;
  8. \r\n
  9. The primary and secondary domain name servers You designate for the domain name;
  10. \r\n
  11. The domain name's original date of registration and expiration date of the registration; and
  12. \r\n
  13. The identity of the Registrar.
  14. \r\n
\r\n

2. full benefits of domain registration retained by you

\r\n

Although DBP will show in the \"Whois\" directory as the Registrant of each domain name registration You designate, You will retain the full benefits of domain name registration with respect to each such domain name registration, including, subject to Section 4 below:

\r\n
    \r\n
  1. The right to sell, transfer or assign each domain name registration, which shall require cancellation of the DBP services associated with each such domain name registration;
  2. \r\n
  3. The right to control the use of each domain name registration, including designating the primary and secondary domain name servers to which each domain name points;
  4. \r\n
  5. The right to cancel each domain name registration;
  6. \r\n
  7. The right to cancel the DBP services associated with each domain name registration and/or Your privacy services with DBP so that Your contract information is listed in the \"Whois\" directory; and
  8. \r\n
  9. The right to renew each domain name registration upon its expiration, subject to Your Registrar's applicable rules and policies.
  10. \r\n
\r\n

3. PERSONAL INFORMATION AND your notification obligations; representation and warranties; ACCOUNT SECURITY

\r\n

Personal Information and Your Notification Obligations 

\r\n

You agree that for each domain name for which you use DBP services, You will provide accurate and current information as to:

\r\n
    \r\n
  1. Your name, the email address, postal address, phone and fax numbers for the domain name registration's Registrant contact;
  2. \r\n
  3. The email address, postal address, phone and fax numbers for the domain name registration's technical contact;
  4. \r\n
  5. The email address, postal address, phone and fax numbers for the domain name registration's administrative contact;
  6. \r\n
  7. The email address, postal address, phone and fax numbers for the domain name registration's billing contact; and
  8. \r\n
  9. You agree to provide government issued photo identification and/or government issued business identification as required for verification of identity when requested.
  10. \r\n
\r\n

You agree to:

\r\n
    \r\n
  1. Notify DBP within three (3) calendar days when any of the personal information You provided upon subscribing to DBP's services, changes;
  2. \r\n
  3. Respond within three (3) calendar days to any inquiries made by DBP to determine the validity of personal information provided by You; and
  4. \r\n
  5. Timely respond to email messages DBP sends to You regarding correspondence DBP has received that is either addressed to or involves You and/or Your domain name registration, as more fully set forth in Section 5(c) below.
  6. \r\n
  7. To allow DBP to act as your Designated Agent (as that term is defined below) in instances when DBP services are added to or cancelled from your domain name and for the purpose of facilitating a change of registrant request (as further described below). 
  8. \r\n
\r\n

It is Your responsibility to keep Your personal information current and accurate at all times.

\r\n

Renewals

\r\n

You agree DBP will arrange for Your Registrar to charge the credit card You have on file with the Registrar, at the Registrar's then current rates.

\r\n

If for any reason DBP and/or the Registrar for Your domain name is unable to charge Your credit card for the full amount of the service provided, or if DBP and/or the Registrar is charged back for any fee it previously charged to the credit card You provided, You agree that DBP and/or the Registrar may, without notice to You, pursue all available remedies in order to obtain payment, including but not limited to immediate cancellation of all services DBP provides to You.

\r\n

Representations and Warranties

\r\n

You warrant that all information provided by You to DBP is truthful, complete, current and accurate. You also warrant that You are using DBP's private registration services in good faith and You have no knowledge of Your domain name infringing upon or conflicting with the legal rights of a third party or a third party's trademark or trade name. You also warrant the domain name being registered by DBP on Your behalf will not be used in connection with any illegal activity, or in connection with the transmission of Spam, or that contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable or, disrupting, damaging or limiting the functionality of any software or hardware.

\r\n

Account Security

\r\n

You agree You are entirely responsible for maintaining the confidentiality of Your customer number/login ID and password (\"Account Access Information\").  You agree to notify DBP immediately of any unauthorized use of Your account or any other breach of security.  You agree DBP will not be liable for any loss that You may incur as a result of someone else using Your Account Access Information, either with or without Your knowledge.  You further agree You could be held liable for losses incurred by DBP or another party due to someone else using Your Account Access Information.  For security purposes, You should keep Account Access Information in a secure location and take precautions to prevent others from gaining access to Your Account Access Information.  You agree that You are entirely responsible for all activity in Your account, whether initiated by You, or by others.  DBP specifically disclaims liability for any activity in Your account, regardless of whether You authorized the activity.

\r\n

Designated Agency and Change of Registrant Information

\r\n

“DESIGNATED AGENT” MEANS AN INDIVIDUAL OR ENTITY THAT THE PRIOR REGISTRANT OR NEW REGISTRANT EXPLICITLY AUTHORIZES TO APPROVE A CHANGE OF REGISTRANT REQUEST ON ITS BEHALF.  IN THE CASE OF DBP SERVICES, A CHANGE OF REGISTRANT REQUEST MAY ALSO ARISE DUE TO INSTANCES WHERE DBP SERVICES ARE ADDED, OR REMOVED, FROM A DOMAIN NAME.  FOR THE PURPOSE OF FACILITATING ANY SUCH CHANGE REQUEST, AND IN ACCORDANCE WITH ICANN'S CHANGE OF REGISTRANT POLICY, YOU AGREE TO APPOINT DBP AS YOUR DESIGNATED AGENT FOR THE SOLE PURPOSE OF EXPLICITLY CONSENTING TO MATERIAL CHANGES OF REGISTRATION CONTACT INFORMATION ON YOUR BEHALF.

\r\n

4. DBP's rights to deny, suspend, terminate service and to disclose your personal information

\r\n

You understand and agree that DBP has the absolute right and power, in its sole discretion and without any liability to You whatsoever, to:

\r\n
    \r\n
  1. Cancel the privacy service (which means that Your information will be available in the \"Whois\" directory) and/or reveal Your name and personal information that You provided to DBP:  
    A. When required by law, in the good faith belief that such action is necessary in order to conform to the edicts of the law or in the interest of public safety;
    B. To comply with legal process served upon DBP or in response to a reasonable threat of litigation against DBP (as determined by DBP in its sole and absolute discretion); or
    C. To comply with ICANN rules, policies, or procedures.
  2. \r\n
  3. Resolve any and all third party claims, whether threatened or made, arising out of Your use of a domain name for which DBP is the registrant listed in the \"Whois\" directory on Your behalf; or
  4. \r\n
  5. Take any other action DBP deems necessary:
    A. In the event you breach any provision of this Agreement or the DBP Anti-Spam Policy;
    B. To protect the integrity and stability of, and to comply with registration requirements, terms, conditions and policies of, the applicable domain name Registry and/or Registry Provider;
        C. To comply with any applicable laws, government rules or requirements, subpoenas, court orders or requests of law enforcement; 
    D. To comply with ICANN's Dispute Resolution Policy or ICANN's Change of Registrant Policy;
    E. To avoid any financial loss or legal liability (civil or criminal) on the part of DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, officers, directors and employees;
    F. If the domain name for which DBP is the registrant on Your behalf violates or infringes a third party's trademark, trade name or other legal rights; and
    G. If it comes to DBP's attention that You are using DBP's services in a manner (as determined by DBP in its sole and absolute discretion) that:
  6. \r\n
\r\n
\r\n
    \r\n
  • Is illegal, or promotes or encourages illegal activity;
  • \r\n
  • Promotes, encourages or engages in child pornography or the exploitation of children;
  • \r\n
  • Promotes, encourages or engages in terrorism, violence against people, animals, or property;
  • \r\n
  • Promotes, encourages or engages in any spam or other unsolicited bulk email, or computer or network hacking or cracking;
  • \r\n
  • Violates the Ryan Haight Online Pharmacy Consumer Protection Act of 2008 or similar legislation, or promotes, encourages or engages in the sale or distribution of prescription medication without a valid prescription;  
  • \r\n
  • Infringes on the intellectual property rights of another User or any other person or entity;
  • \r\n
  • Violates the privacy or publicity rights of another User or any other person or entity, or breaches any duty of confidentiality that you owe to another User or any other person or entity;
  • \r\n
  • Interferes with the operation of DBP services;
  • \r\n
  • Contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable of, disrupting, damaging or limiting the functionality of any software or hardware; or
  • \r\n
  • Contains false or deceptive language, or unsubstantiated or comparative claims, regarding DBP or its services.
  • \r\n
\r\n
\r\n

You further understand and agree that if DBP is named as a defendant in, or investigated in anticipation of, any legal or administrative proceeding arising out of Your domain name registration or Your use of DBP's services, Your private registration service may be canceled, which means the domain name registration will revert back to You and Your identity will therefore be revealed in the Whois directory as Registrant.

\r\n

In the event:

\r\n
    \r\n
  1. DBP takes any of the actions set forth in subsection i, ii, or iii above or section 5; and/or
  2. \r\n
  3. You elect to cancel DBP's services for any reason --
  4. \r\n
\r\n

Neither DBP nor your Registrar will refund any fees paid by You whatsoever.

\r\n

5. communications forwarding

\r\n

a. Correspondence Forwarding

\r\n

Inasmuch as DBP's name, postal address and phone number will be listed in the Whois directory, You agree DBP will review and forward communications addressed to Your domain name that are received via email, certified or traceable courier mail (such as UPS, FedEx, or DHL), or first class U.S. postal mail. You specifically acknowledge DBP will not forward to You first class postal mail (other than legal notices), \"junk\" mail or other unsolicited communications (whether delivered through email, fax, postal mail or telephone), and You further authorize DBP to either discard all such communications or return all such communications to sender unopened. You agree to waive any and all claims arising from Your failure to receive communications directed to Your domain name but not forwarded to You by DBP.

\r\n

b. Email Forwarding

\r\n

The Whois directory requires an email address for every purchased domain name registration. When You purchase a private domain registration, DBP creates a private email address for that domain name, \"@domainsbyproxy.com\". Thereafter, when messages are sent to that private email address, DBP handles them according to the email preference You selected for that particular domain name. You have three (3) email preferences from which to choose. You can elect to:

\r\n
    \r\n
  1. Have all of the messages forwarded;
  2. \r\n
  3. Have all of the messages filtered for Spam and then forwarded; or
  4. \r\n
  5. Have none of the messages forwarded.
  6. \r\n
\r\n

As with all communications, You agree to waive any and all claims arising from Your failure to receive email directed to Your domain name but not forwarded to You by DBP.

\r\n

c. Notifications Regarding Correspondence and Your Obligation to Respond

\r\n

When DBP receives certified or traceable courier mail or legal notices addressed to Your domain name, in most cases, DBP will attempt to forward the mail to you via email. If You do not respond to the DBP email and/or the correspondence DBP has received regarding Your domain name registration concerns a dispute of any kind or otherwise requires immediate disposition, DBP may immediately reveal Your identity and/or cancel the DBP private registration service regarding either the domain name registration(s) in question. This means the Whois directory will revert to displaying Your name, postal address, email address and phone number that you provided to DBP.

\r\n

d. Additional Administrative Fees

\r\n

DBP reserves the right to charge You reasonable \"administrative fees\" or \"processing fees\" for (i)  tasks DBP may perform outside the normal scope of its Services, (ii) additional time and/or costs DBP may incur in providing its Services, and/or (iii) Your non-compliance with the Agreement (as determined by DBP in its sole and absolute discretion). Typical administrative or processing fee scenarios include, but are not limited to, (i) customer service issues that require additional personal time and attention; (ii) disputes that require accounting or legal services, whether performed by DBP staff or by outside firms retained by DBP; (iii) recouping any and all costs and fees, including the cost of Services, incurred by DBP as the result of chargebacks or other payment disputes brought by You, Your bank or Payment Method processor.  These administrative fees or processing fees will be billed to the Payment Method You have on file with Your Registrar.

\r\n

You agree to waive the right to trial by jury in any proceeding that takes place relating to or arising out of this Agreement.

\r\n

6. limitations of liability

\r\n

UNDER NO CIRCUMSTANCES SHALL DBP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, SPECIAL, OR CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER RELATED TO THIS AGREEMENT, YOUR DOMAIN NAME REGISTRATION, DBP'S SERVICES, USE OR INABILITY TO USE THE DBP WEBSITE OR THE MATERIALS AND CONTENT OF THE WEBSITE OR ANY OTHER WEBSITES LINKED TO THE DBP WEBSITE OR YOUR PROVISION OF ANY PERSONALLY IDENTIFIABLE INFORMATION TO DBP OR ANY THIRD PARTY. THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE ALLEGED LIABILITY IS BASED ON CONTRACT, TORT, WARRANTY, NEGLIGENCE, STRICT LIABILITY OR ANY OTHER BASIS, EVEN IF DBP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR SUCH DAMAGES WERE REASONABLY FORESEEABLE. BECAUSE CERTAIN JURISDICTIONS DO NOT PERMIT THE LIMITATION OR ELIMINATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, DBP'S LIABILITY IN SUCH JURISDICTIONS SHALL BE LIMITED TO THE SMALLEST AMOUNT PERMITTED BY LAW.

\r\n

YOU FURTHER UNDERSTAND AND AGREE THAT DBP DISCLAIMS ANY LOSS OR LIABILITY RESULTING FROM:

\r\n
    \r\n
  1. THE INADVERTENT DISCLOSURE OR THEFT OF YOUR PERSONAL INFORMATION;
  2. \r\n
  3. ACCESS DELAYS OR INTERRUPTIONS TO OUR WEBSITE OR THE WEBSITES OF OUR AFFILIATED REGISTRARS;
  4. \r\n
  5. DATA NON-DELIVERY OF MIS-DELIVERY BETWEEN YOU AND DBP;
  6. \r\n
  7. THE FAILURE FOR WHATEVER REASON TO RENEW A PRIVATE DOMAIN NAME REGISTRATION;
  8. \r\n
  9. THE UNAUTHORIZED USE OF YOUR DBP ACCOUNT OR ANY OF DBP'S SERVICES;
  10. \r\n
  11. ERRORS, OMISSIONS OR MISSTATEMENTS BY DBP;
  12. \r\n
  13. DELETION OF, FAILURE TO STORE, FAILURE TO PROCESS OR ACT UPON EMAIL MESSAGES FORWARDED TO EITHER YOU OR YOUR PRIVATE DOMAIN NAME REGISTRATION;
  14. \r\n
  15. PROCESSING OF UPDATED INFORMATION REGARDING YOUR DBP ACCOUNT; AND/OR
  16. \r\n
  17. ANY ACT OR OMISSION CAUSED BY YOU OR YOUR AGENTS (WHETHER AUTHORIZED BY YOU OR NOT).
  18. \r\n
\r\n

7. indemnity

\r\n

You agree to release, defend, indemnify and hold harmless DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, directors, officers and employees and Your Registrar, from and against any and all claims, demands, liabilities, losses, damages or costs, including reasonable attorneys' fees, arising out of or related in any way to this Agreement, the services provided hereunder by DBP, the DBP website, Your account with DBP, Your use of Your domain name registration, and/or disputes arising in connection with the dispute policy.

\r\n

8. DBP warranty disclaimer

\r\n

DBP, ITS PARENT COMPANIES, SUBSIDIARIES, AFFILIATES, SHAREHOLDERS, AGENTS, DIRECTORS, OFFICERS, AND EMPLOYEES EXPRESSLY DISCLAIM ALL REPRESENTATIONS AND WARRANTIES OF ANY KIND IN CONNECTION WITH THIS AGREEMENT, THE SERVICE PROVIDED HEREUNDER, THE DBP WEBSITE OR ANY WEBSITES LINKED TO THE DBP WEBSITE, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL DBP SERVICES, AS WELL AS THE DBP WEBSITE, ARE PROVIDED \"AS IS\". YOUR SUBSCRIPTION TO AND USE OF DBP'S SERVICES AND ITS WEBSITE ARE ENTIRELY AT YOUR RISK. SOME JURISDICTIONS DO NOT ALLOW THE DISCLAIMER OF IMPLIED WARRANTIES, IN WHICH EVENT THE FOREGOING DISCLAIMER MAY NOT APPLY TO YOU.

\r\n

9. copyright and trademark

\r\n

You understand and agree that all content and materials contained in this Agreement, the Privacy Policy and the DBP website found here , are protected by the various copyright, patent, trademark, service mark and trade secret laws of the United States, as well as any other applicable proprietary rights and laws, and that DBP expressly reserves its rights in and to all such content and materials.

\r\n

You further understand and agree You are prohibited from using, in any manner whatsoever, any of the afore-described content and materials without the express written permission of DBP. No license or right under any copyright, patent, trademark, service mark or other proprietary right or license is granted to You or conferred upon You by this Agreement or otherwise.

\r\n

10. miscellaneous provisions

\r\n

a. Severability; Construction; Entire Agreement

\r\n

If any part of this Agreement shall be held to be illegal, unenforceable or invalid, in whole or in part, such provision shall be modified to the minimum extent necessary to make it legal, enforceable and valid, and the legality, enforceability and validity of the remaining provisions of this Agreement shall not be affected or impaired. The headings herein will not be considered a part of this Agreement. You agree this Agreement, including the policies it incorporates by reference, constitute the complete and only Agreement between You and DBP regarding the services contemplated herein.

\r\n

b. Governing Law; Venue; Waiver Of Trial By Jury

\r\n

This Agreement shall be governed in all respects by the laws and judicial decisions of Maricopa County, Arizona, excluding its conflicts of laws rules. Except as provided immediately below, You agree that any action relating to or arising out of this Agreement, shall be brought exclusively in the courts of Maricopa County, Arizona. For the adjudication of domain name registration disputes, you agree to submit to the exclusive jurisdiction and venue of the U.S. District Court for the District of Arizona located in Phoenix, Arizona. You agree to waive the right to trial by jury in any proceeding, regardless of venue, that takes place relating to or arising out of this Agreement.

\r\n

c. Notices

\r\n

All notices from DBP to You will be sent to the email address You provided to DBP. Notices by email shall be deemed effective twenty-four (24) hours after the email is sent by DBP, unless DBP receives notice that the email address is invalid, in which event DBP may give You notice via first class or certified mail, return receipt requested. All notices from You to DBP shall be sent via certified mail, return receipt requested or traceable courier to:

\r\n
      Domains By Proxy, LLC
      Attn: General Counsel
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

Notices sent via certified mail or traceable courier shall be deemed effective five (5) days after the date of mailing.

\r\n

d. Insurance

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's negligent actions (and absent fraud or other negligent or willful misconduct committed by a third party), You may be insured against such loss through DBP's Professional Liability Insurance Policy, which is currently underwritten by American International Insurance Company. Of course, every claim is subject to the then-carrier's investigation into the facts and circumstances surrounding such claim. In the event You have reason to believe that circumstances exist which warrant the filing of an insurance claim, please send a written notice (specifying the basis for such claim), via certified mail, return receipt requested, to:

\r\n
      Domains By Proxy, LLC
      Attn: Insurance Claims
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

e. Indemnification

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's willful misconduct, Your Registrar (the \"Indemnifying Party\") will indemnify and hold You harmless against any losses, damages or costs (including reasonable attorneys' fees) resulting from any claim, action, proceeding, suit or demand arising out of or related to the loss of Your domain name registration. Such indemnification obligations under this Section 10(e) are conditioned upon the following:

\r\n
    \r\n
  1. That You promptly give both DBP and the Indemnifying Party written notice of the claim, demand, or action and provide reasonable assistance to the Indemnifying Party, at its cost and expense, in connection therewith, and
  2. \r\n
  3. That the Indemnifying Party has the right, at its option, to control and direct the defense to any settlement of such claim, demand, or action.
  4. \r\n
\r\n

Any notice concerning indemnification shall, with respect to DBP, be sent in accordance with Section 10(c) of this Agreement. With respect to Your Registrar, notices regarding indemnification should be sent in accordance with the notification provisions contained in Your Registrar's Domain Name Registration Agreement.

\r\n

f. Term of Agreement; Survival

\r\n

The terms of this Agreement shall continue in full force and effect as long as DBP is the Registrant for any domain name on Your behalf. Sections 5 (Communications Forwarding), 6 (Limitation of Liability), 7 (Indemnity), 8 (Warranty Disclaimer) and 10 (Miscellaneous Provisions) shall survive any termination or expiration of this Agreement.

\n
\n
\n\nRevised: 10/25/17
\nCopyright © 2003-2017 All Rights Reserved.\n
\n
\n
", + "title": "Domain Name Proxy Agreement", + "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=domain_nameproxy&pl_id=510456" + } + ] + }, + "headers": {} + } + }, + "operationId": "TopLevelDomains_ListAgreements", + "title": "List Top Level Domain Agreements" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json new file mode 100644 index 000000000000..ec3cce2e5467 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "com", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", + "properties": { + "privacy": true + } + }, + { + "name": "net", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/net", + "properties": { + "privacy": true + } + }, + { + "name": "co.uk", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.uk", + "properties": { + "privacy": false + } + }, + { + "name": "org", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org", + "properties": { + "privacy": true + } + }, + { + "name": "nl", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/nl", + "properties": { + "privacy": true + } + }, + { + "name": "in", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/in", + "properties": { + "privacy": false + } + }, + { + "name": "biz", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/biz", + "properties": { + "privacy": true + } + }, + { + "name": "org.uk", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org.uk", + "properties": { + "privacy": false + } + }, + { + "name": "co.in", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.in", + "properties": { + "privacy": false + } + } + ] + }, + "headers": {} + } + }, + "operationId": "TopLevelDomains_List", + "title": "List Top Level Domains" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json new file mode 100644 index 000000000000..d60b5304b856 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "RG", + "subscriptionId": "3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + }, + "operationId": "Domains_Renew", + "title": "Renew an existing domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json new file mode 100644 index 000000000000..97d3eab7699a --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} + }, + "400": {} + }, + "operationId": "Domains_TransferOut", + "title": "Transfer out domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json new file mode 100644 index 000000000000..c915dc8ab95a --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2024-11-01", + "domain": { + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "dnsType": "DefaultDomainRegistrarDns", + "privacy": false + } + }, + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} + }, + "202": { + "body": { + "name": "example.com", + "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", + "location": "global", + "properties": { + "authCode": "exampleAuthCode", + "autoRenew": true, + "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", + "agreementKeys": [ + "agreementKey1" + ] + }, + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Admin", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactBilling": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "billing@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Billing", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Registrant", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "contactTech": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", + "fax": "1-245-534-2242", + "jobTitle": "Tech", + "nameFirst": "John", + "nameLast": "Doe", + "nameMiddle": "", + "organization": "Microsoft Inc.", + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} + } + }, + "operationId": "Domains_Update", + "title": "Update App Service Domain" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json new file mode 100644 index 000000000000..f8fa287bc4f8 --- /dev/null +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "name": "SampleOwnershipId", + "api-version": "2024-11-01", + "domainName": "example.com", + "domainOwnershipIdentifier": { + "properties": { + "ownershipId": "SampleOwnershipId" + } + }, + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "body": { + "name": "SampleOwnershipId", + "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", + "properties": { + "ownershipId": "SampleOwnershipId" + } + }, + "headers": {} + } + }, + "operationId": "Domains_UpdateOwnershipIdentifier", + "title": "Update App Service Domain OwnershipIdentifier" +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp new file mode 100644 index 000000000000..c8626bce5b3e --- /dev/null +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -0,0 +1,48 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: false + * guessResourceKey: false + * Version: 0.11.4 + * Date: 2025-08-08T07:49:59.812Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./Domain.tsp"; +import "./DomainOwnershipIdentifier.tsp"; +import "./TopLevelDomain.tsp"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * WebSite Management Client + */ +@armProviderNamespace +@service(#{ title: "WebSiteManagementClient" }) +@versioned(Versions) +// FIXME: Common type version not set. Set to v3. +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) +namespace Microsoft.DomainRegistration; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2024-11-01 API version. + */ + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_1) + v2024_11_01: "2024-11-01", +} + +interface Operations extends Azure.ResourceManager.Operations {} diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp new file mode 100644 index 000000000000..7e9f1c0aeadf --- /dev/null +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -0,0 +1,889 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.DomainRegistration; + +union ResourceNotRenewableReason { + string, + RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", + ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", + SubscriptionNotActive: "SubscriptionNotActive", +} + +/** + * Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. + */ +enum DomainType { + Regular, + SoftDeleted, +} + +/** + * Domain registration status. + */ +enum DomainStatus { + Active, + Awaiting, + Cancelled, + Confiscated, + Disabled, + Excluded, + Expired, + Failed, + Held, + Locked, + Parked, + Pending, + Reserved, + Reverted, + Suspended, + Transferred, + Unknown, + Unlocked, + Unparked, + Updated, + JsonConverterFailed, +} + +/** + * Domain provisioning state. + */ +enum ProvisioningState { + Succeeded, + Failed, + Canceled, + InProgress, + Deleting, +} + +/** + * Type of the Azure resource the hostname is assigned to. + */ +enum AzureResourceType { + Website, + TrafficManager, +} + +/** + * Type of the DNS record. + */ +enum CustomHostNameDnsRecordType { + CName, + A, +} + +/** + * Type of the hostname. + */ +enum HostNameType { + Verified, + Managed, +} + +/** + * Current DNS type + */ +enum DnsType { + AzureDns, + DefaultDomainRegistrarDns, +} + +/** + * Description of an operation available for Microsoft.Web resource provider. + */ +model CsmOperationDescription { + name?: string; + isDataAction?: boolean; + + /** + * Meta data about operation used for display in portal. + */ + display?: CsmOperationDisplay; + + origin?: string; + + /** + * Properties available for a Microsoft.Web resource provider operation. + */ + properties?: CsmOperationDescriptionProperties; +} + +/** + * Meta data about operation used for display in portal. + */ +model CsmOperationDisplay { + provider?: string; + resource?: string; + operation?: string; + description?: string; +} + +/** + * Properties available for a Microsoft.Web resource provider operation. + */ +model CsmOperationDescriptionProperties { + /** + * Resource metrics service provided by Microsoft.Insights resource provider. + */ + serviceSpecification?: ServiceSpecification; +} + +/** + * Resource metrics service provided by Microsoft.Insights resource provider. + */ +model ServiceSpecification { + @OpenAPI.extension("x-ms-identifiers", #["name"]) + metricSpecifications?: MetricSpecification[]; + + @OpenAPI.extension("x-ms-identifiers", #["name"]) + logSpecifications?: LogSpecification[]; +} + +/** + * Definition of a single resource metric. + */ +model MetricSpecification { + name?: string; + displayName?: string; + displayDescription?: string; + unit?: string; + aggregationType?: string; + supportsInstanceLevelAggregation?: boolean; + enableRegionalMdmAccount?: boolean; + sourceMdmAccount?: string; + sourceMdmNamespace?: string; + metricFilterPattern?: string; + fillGapWithZero?: boolean; + isInternal?: boolean; + + @OpenAPI.extension("x-ms-identifiers", #["name"]) + dimensions?: Dimension[]; + + category?: string; + + @OpenAPI.extension("x-ms-identifiers", #[]) + availabilities?: MetricAvailability[]; + + supportedTimeGrainTypes?: string[]; + supportedAggregationTypes?: string[]; +} + +/** + * Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, + * where instance name is dimension of the metric HTTP request + */ +model Dimension { + name?: string; + displayName?: string; + internalName?: string; + toBeExportedForShoebox?: boolean; +} + +/** + * Retention policy of a resource metric. + */ +model MetricAvailability { + timeGrain?: string; + blobDuration?: string; +} + +/** + * Log Definition of a single resource metric. + */ +model LogSpecification { + name?: string; + displayName?: string; + blobDuration?: string; + logFilterPattern?: string; +} + +/** + * App Service error response. + */ +@error +model DefaultErrorResponse { + /** + * Error model. + */ + @visibility(Lifecycle.Read) + error?: DefaultErrorResponseError; +} + +/** + * Error model. + */ +model DefaultErrorResponseError { + /** + * Standardized string to programmatically identify the error. + */ + @visibility(Lifecycle.Read) + code?: string; + + /** + * Detailed error description and debugging information. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * Detailed error description and debugging information. + */ + @visibility(Lifecycle.Read) + target?: string; + + @OpenAPI.extension("x-ms-identifiers", #[]) + details?: DefaultErrorResponseErrorDetailsItem[]; + + /** + * More information to debug error. + */ + @visibility(Lifecycle.Read) + innererror?: string; +} + +/** + * Detailed errors. + */ +model DefaultErrorResponseErrorDetailsItem { + /** + * Standardized string to programmatically identify the error. + */ + @visibility(Lifecycle.Read) + code?: string; + + /** + * Detailed error description and debugging information. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * Detailed error description and debugging information. + */ + @visibility(Lifecycle.Read) + target?: string; +} + +/** + * Identifies an object. + */ +model NameIdentifier { + /** + * Name of the object. + */ + name?: string; +} + +/** + * Domain availability check result. + */ +model DomainAvailabilityCheckResult { + /** + * Name of the domain. + */ + name?: string; + + /** + * true if domain can be purchased using CreateDomain API; otherwise, false. + */ + available?: boolean; + + /** + * Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. + */ + domainType?: DomainType; +} + +/** + * Collection of domains. + */ +model DomainCollection is Azure.Core.Page; + +/** + * Domain resource specific properties + */ +model DomainProperties { + /** + * Administrative contact. + */ + @visibility(Lifecycle.Create) + contactAdmin: Contact; + + /** + * Billing contact. + */ + @visibility(Lifecycle.Create) + contactBilling: Contact; + + /** + * Registrant contact. + */ + @visibility(Lifecycle.Create) + contactRegistrant: Contact; + + /** + * Technical contact. + */ + @visibility(Lifecycle.Create) + contactTech: Contact; + + /** + * Domain registration status. + */ + @visibility(Lifecycle.Read) + registrationStatus?: DomainStatus; + + /** + * Domain provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Name servers. + */ + @visibility(Lifecycle.Read) + nameServers?: string[]; + + /** + * true if domain privacy is enabled for this domain; otherwise, false. + */ + privacy?: boolean; + + /** + * Domain creation timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdTime?: utcDateTime; + + /** + * Domain expiration timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + expirationTime?: utcDateTime; + + /** + * Timestamp when the domain was renewed last time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRenewedTime?: utcDateTime; + + /** + * true if the domain should be automatically renewed; otherwise, false. + */ + autoRenew?: boolean = true; + + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + * it is hosted on name servers Azure has programmatic access to. + */ + @visibility(Lifecycle.Read) + readyForDnsRecordManagement?: boolean; + + /** + * All hostnames derived from the domain and assigned to Azure resources. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + managedHostNames?: HostName[]; + + /** + * Legal agreement consent. + */ + @visibility(Lifecycle.Create) + consent: DomainPurchaseConsent; + + /** + * Reasons why domain is not renewable. + */ + @visibility(Lifecycle.Read) + domainNotRenewableReasons?: ResourceNotRenewableReason[]; + + /** + * Current DNS type + */ + dnsType?: DnsType; + + /** + * Azure DNS Zone to use + */ + dnsZoneId?: string; + + /** + * Target DNS type (would be used for migration) + */ + targetDnsType?: DnsType; + + @visibility(Lifecycle.Read, Lifecycle.Create) + authCode?: string; +} + +/** + * Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois + * directories as per ICANN requirements. + */ +model Contact { + /** + * Mailing address. + */ + addressMailing?: Address; + + /** + * Email address. + */ + email: string; + + /** + * Fax number. + */ + fax?: string; + + /** + * Job title. + */ + jobTitle?: string; + + /** + * First name. + */ + nameFirst: string; + + /** + * Last name. + */ + nameLast: string; + + /** + * Middle name. + */ + nameMiddle?: string; + + /** + * Organization contact belongs to. + */ + organization?: string; + + /** + * Phone number. + */ + phone: string; +} + +/** + * Address information for domain registration. + */ +model Address { + /** + * First line of an Address. + */ + address1: string; + + /** + * The second line of the Address. Optional. + */ + address2?: string; + + /** + * The city for the address. + */ + city: string; + + /** + * The country for the address. + */ + country: string; + + /** + * The postal code for the address. + */ + postalCode: string; + + /** + * The state or province for the address. + */ + state: string; +} + +/** + * Details of a hostname derived from a domain. + */ +model HostName { + /** + * Name of the hostname. + */ + name?: string; + + /** + * List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager. + */ + siteNames?: string[]; + + /** + * Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name. + */ + azureResourceName?: string; + + /** + * Type of the Azure resource the hostname is assigned to. + */ + azureResourceType?: AzureResourceType; + + /** + * Type of the DNS record. + */ + customHostNameDnsRecordType?: CustomHostNameDnsRecordType; + + /** + * Type of the hostname. + */ + hostNameType?: HostNameType; +} + +/** + * Domain purchase consent object, representing acceptance of applicable legal agreements. + */ +model DomainPurchaseConsent { + /** + * List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource. + */ + agreementKeys?: string[]; + + /** + * Client IP address. + */ + agreedBy?: string; + + /** + * Timestamp when the agreements were accepted. + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + agreedAt?: utcDateTime; +} + +/** + * Azure resource. This resource is tracked in Azure Resource Manager + */ +model Resource { + /** + * Resource Id. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Resource Name. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. + */ + kind?: string; + + /** + * Resource Location. + */ + location: string; + + /** + * Resource type. + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Resource tags. + */ + tags?: Record; +} + +/** + * Single sign-on request information for domain management. + */ +model DomainControlCenterSsoRequest { + /** + * URL where the single sign-on request is to be made. + */ + @visibility(Lifecycle.Read) + url?: string; + + /** + * Post parameter key. + */ + @visibility(Lifecycle.Read) + postParameterKey?: string; + + /** + * Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value. + */ + @visibility(Lifecycle.Read) + postParameterValue?: string; +} + +/** + * Domain recommendation search parameters. + */ +model DomainRecommendationSearchParameters { + /** + * Keywords to be used for generating domain recommendations. + */ + keywords?: string; + + /** + * Maximum number of recommendations. + */ + maxDomainRecommendations?: int32; +} + +/** + * Collection of domain name identifiers. + */ +model NameIdentifierCollection is Azure.Core.Page; + +/** + * ARM resource for a domain. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +model DomainPatchResource extends ProxyOnlyResource { + /** + * DomainPatchResource resource specific properties + */ + properties?: DomainPatchResourceProperties; +} + +/** + * DomainPatchResource resource specific properties + */ +model DomainPatchResourceProperties { + /** + * Administrative contact. + */ + @visibility(Lifecycle.Create) + contactAdmin: Contact; + + /** + * Billing contact. + */ + @visibility(Lifecycle.Create) + contactBilling: Contact; + + /** + * Registrant contact. + */ + @visibility(Lifecycle.Create) + contactRegistrant: Contact; + + /** + * Technical contact. + */ + @visibility(Lifecycle.Create) + contactTech: Contact; + + /** + * Domain registration status. + */ + @visibility(Lifecycle.Read) + registrationStatus?: DomainStatus; + + /** + * Domain provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Name servers. + */ + @visibility(Lifecycle.Read) + nameServers?: string[]; + + /** + * true if domain privacy is enabled for this domain; otherwise, false. + */ + privacy?: boolean; + + /** + * Domain creation timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdTime?: utcDateTime; + + /** + * Domain expiration timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + expirationTime?: utcDateTime; + + /** + * Timestamp when the domain was renewed last time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRenewedTime?: utcDateTime; + + /** + * true if the domain should be automatically renewed; otherwise, false. + */ + autoRenew?: boolean = true; + + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + * it is hosted on name servers Azure has programmatic access to. + */ + @visibility(Lifecycle.Read) + readyForDnsRecordManagement?: boolean; + + /** + * All hostnames derived from the domain and assigned to Azure resources. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + managedHostNames?: HostName[]; + + /** + * Legal agreement consent. + */ + @visibility(Lifecycle.Create) + consent: DomainPurchaseConsent; + + /** + * Reasons why domain is not renewable. + */ + @visibility(Lifecycle.Read) + domainNotRenewableReasons?: ResourceNotRenewableReason[]; + + /** + * Current DNS type + */ + dnsType?: DnsType; + + /** + * Azure DNS Zone to use + */ + dnsZoneId?: string; + + /** + * Target DNS type (would be used for migration) + */ + targetDnsType?: DnsType; + + @visibility(Lifecycle.Read, Lifecycle.Create) + authCode?: string; +} + +/** + * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. + */ +model ProxyOnlyResource { + /** + * Resource Id. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Resource Name. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Kind of resource. + */ + kind?: string; + + /** + * Resource type. + */ + @visibility(Lifecycle.Read) + type?: string; +} + +/** + * Collection of domain ownership identifiers. + */ +model DomainOwnershipIdentifierCollection + is Azure.Core.Page; + +/** + * DomainOwnershipIdentifier resource specific properties + */ +model DomainOwnershipIdentifierProperties { + /** + * Ownership Id. + */ + ownershipId?: string; +} + +/** + * Collection of Top-level domains. + */ +model TopLevelDomainCollection is Azure.Core.Page; + +/** + * TopLevelDomain resource specific properties + */ +model TopLevelDomainProperties { + /** + * If true, then the top level domain supports domain privacy; otherwise, false. + */ + privacy?: boolean; +} + +/** + * Options for retrieving the list of top level domain legal agreements. + */ +model TopLevelDomainAgreementOption { + /** + * If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false. + */ + includePrivacy?: boolean; + + /** + * If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false. + */ + forTransfer?: boolean; +} + +/** + * Collection of top-level domain legal agreements. + */ +model TldLegalAgreementCollection is Azure.Core.Page; + +/** + * Legal agreement for a top level domain. + */ +model TldLegalAgreement { + /** + * Unique identifier for the agreement. + */ + agreementKey: string; + + /** + * Agreement title. + */ + title: string; + + /** + * Agreement details. + */ + content: string; + + /** + * URL where a copy of the agreement details is hosted. + */ + url?: string; +} diff --git a/specification/web/DomainRegistration.Management/routes.tsp b/specification/web/DomainRegistration.Management/routes.tsp new file mode 100644 index 000000000000..a39a8d4dfe81 --- /dev/null +++ b/specification/web/DomainRegistration.Management/routes.tsp @@ -0,0 +1,55 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.DomainRegistration; + +interface DomainsOperationGroup { + /** + * Description for Check if a domain is available for registration. + */ + @summary("Check if a domain is available for registration.") + @operationId("Domains_CheckAvailability") + @autoRoute + @action("checkDomainAvailability") + checkAvailability is ArmProviderActionSync< + Request = NameIdentifier, + Response = DomainAvailabilityCheckResult, + Scope = SubscriptionActionScope, + Parameters = {} + >; + /** + * Description for Generate a single sign-on request for the domain management portal. + */ + @summary("Generate a single sign-on request for the domain management portal.") + @operationId("Domains_GetControlCenterSsoRequest") + @autoRoute + @action("generateSsoRequest") + getControlCenterSsoRequest is ArmProviderActionSync< + Response = DomainControlCenterSsoRequest, + Scope = SubscriptionActionScope, + Parameters = {} + >; + /** + * Description for Get domain name recommendations based on keywords. + */ + @summary("Get domain name recommendations based on keywords.") + @operationId("Domains_ListRecommendations") + @autoRoute + @action("listDomainRecommendations") + listRecommendations is ArmProviderActionSync< + Request = DomainRecommendationSearchParameters, + Response = NameIdentifierCollection, + Scope = SubscriptionActionScope, + Parameters = {} + >; +} diff --git a/specification/web/DomainRegistration.Management/tspconfig.yaml b/specification/web/DomainRegistration.Management/tspconfig.yaml new file mode 100644 index 000000000000..8c73b7d69c7d --- /dev/null +++ b/specification/web/DomainRegistration.Management/tspconfig.yaml @@ -0,0 +1,12 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" + examples-dir: "{project-root}/examples" +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" From 59119b6031c826b6a768d007bab3dc60fe76efb7 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 8 Aug 2025 16:17:26 +0800 Subject: [PATCH 02/43] fix error and diff --- .gitignore | 2 +- .../DomainRegistration.Management/Domain.tsp | 172 +- .../DomainOwnershipIdentifier.tsp | 8 +- .../TopLevelDomain.tsp | 8 +- .../back-compatible.tsp | 51 + .../DomainRegistration.Management/client.tsp | 23 - .../2024-11-01/CheckDomainAvailability.json | 2 +- .../2024-11-01/CreateAppServiceDomain.json | 2 +- ...teAppServiceDomainOwnershipIdentifier.json | 2 +- .../2024-11-01/DeleteAppServiceDomain.json | 2 +- ...teAppServiceDomainOwnershipIdentifier.json | 2 +- .../examples/2024-11-01/GetDomain.json | 2 +- .../GetDomainControlCenterSsoRequest.json | 2 +- .../GetDomainOwnershipIdentifier.json | 2 +- .../2024-11-01/GetTopLevelDomain.json | 2 +- .../ListDomainOwnershipIdentifiers.json | 2 +- .../2024-11-01/ListDomainRecommendations.json | 2 +- .../ListDomainsByResourceGroup.json | 2 +- .../2024-11-01/ListDomainsBySubscription.json | 2 +- .../examples/2024-11-01/ListOperations.json | 4 +- .../ListTopLevelDomainAgreements.json | 2 +- .../2024-11-01/ListTopLevelDomains.json | 2 +- .../examples/2024-11-01/RenewDomain.json | 2 +- .../2024-11-01/TransferOutDomain.json | 2 +- .../2024-11-01/UpdateAppServiceDomain.json | 2 +- ...teAppServiceDomainOwnershipIdentifier.json | 2 +- .../DomainRegistration.Management/main.tsp | 5 +- .../DomainRegistration.Management/models.tsp | 442 ++-- .../DomainRegistration.Management/routes.tsp | 5 + .../examples/CheckDomainAvailability.json | 8 +- .../examples/CreateAppServiceDomain.json | 328 +-- ...teAppServiceDomainOwnershipIdentifier.json | 18 +- .../examples/DeleteAppServiceDomain.json | 10 +- ...teAppServiceDomainOwnershipIdentifier.json | 12 +- .../stable/2024-11-01/examples/GetDomain.json | 126 +- .../GetDomainControlCenterSsoRequest.json | 12 +- .../GetDomainOwnershipIdentifier.json | 18 +- .../examples/GetTopLevelDomain.json | 14 +- .../ListDomainOwnershipIdentifiers.json | 16 +- .../examples/ListDomainRecommendations.json | 12 +- .../examples/ListDomainsByResourceGroup.json | 124 +- .../examples/ListDomainsBySubscription.json | 124 +- .../2024-11-01/examples/ListOperations.json | 62 +- .../ListTopLevelDomainAgreements.json | 22 +- .../examples/ListTopLevelDomains.json | 30 +- .../2024-11-01/examples/RenewDomain.json | 8 +- .../examples/TransferOutDomain.json | 126 +- .../examples/UpdateAppServiceDomain.json | 324 +-- ...teAppServiceDomainOwnershipIdentifier.json | 18 +- .../stable/2024-11-01/openapi.json | 1932 +++++++++++++++++ 50 files changed, 3076 insertions(+), 1026 deletions(-) create mode 100644 specification/web/DomainRegistration.Management/back-compatible.tsp delete mode 100644 specification/web/DomainRegistration.Management/client.tsp create mode 100644 specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json diff --git a/.gitignore b/.gitignore index 23e8f5dfc864..b242e38161d0 100644 --- a/.gitignore +++ b/.gitignore @@ -152,4 +152,4 @@ eng/tools/**/dist !**/terraform/**/*.tf # No canonical swagger files should be commited -canonical/ +canonical/ \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index b19ffa06713e..f8e5a44a75ce 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -13,15 +13,177 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ -model Domain is Azure.ResourceManager.TrackedResource { +model Domain is Azure.ResourceManager.TrackedResource< Properties={ + /** + * Administrative contact. + */ + @visibility(Lifecycle.Create) + contactAdmin: Contact; + + /** + * Billing contact. + */ + @visibility(Lifecycle.Create) + contactBilling: Contact; + + /** + * Registrant contact. + */ + @visibility(Lifecycle.Create) + contactRegistrant: Contact; + + /** + * Technical contact. + */ + @visibility(Lifecycle.Create) + contactTech: Contact; + + /** + * Domain registration status. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-enum", #{name:"DomainStatus", modelAsString: false}) + registrationStatus?: + "Active" | + "Awaiting" | + "Cancelled" | + "Confiscated" | + "Disabled" | + "Excluded" | + "Expired" | + "Failed" | + "Held" | + "Locked" | + "Parked" | + "Pending" | + "Reserved" | + "Reverted" | + "Suspended" | + "Transferred" | + "Unknown" | + "Unlocked" | + "Unparked" | + "Updated" | + "JsonConverterFailed"; + + /** + * Domain provisioning state. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-enum", #{name:"ProvisioningState", modelAsString: false}) + provisioningState?: + "Succeeded" | + "Failed" | + "Canceled" | + "InProgress" | + "Deleting"; + + /** + * Name servers. + */ + @visibility(Lifecycle.Read) + nameServers?: string[]; + + /** + * true if domain privacy is enabled for this domain; otherwise, false. + */ + privacy?: boolean; + + /** + * Domain creation timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdTime?: utcDateTime; + + /** + * Domain expiration timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + expirationTime?: utcDateTime; + + /** + * Timestamp when the domain was renewed last time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRenewedTime?: utcDateTime; + + /** + * true if the domain should be automatically renewed; otherwise, false. + */ + autoRenew?: boolean = true; + + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + * it is hosted on name servers Azure has programmatic access to. + */ + @visibility(Lifecycle.Read) + readyForDnsRecordManagement?: boolean; + + /** + * All hostnames derived from the domain and assigned to Azure resources. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + managedHostNames?: HostName[]; + + /** + * Legal agreement consent. + */ + @visibility(Lifecycle.Create) + consent: DomainPurchaseConsent; + + /** + * Reasons why domain is not renewable. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-enum", #{name:"ResourceNotRenewableReason"}) + domainNotRenewableReasons?: ( + | "RegistrationStatusNotSupportedForRenewal" + | "ExpirationNotInRenewalTimeRange" + | "SubscriptionNotActive" + | string)[]; + + /** + * Current DNS type + */ + @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) + dnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + + /** + * Azure DNS Zone to use + */ + dnsZoneId?: string; + + /** + * Target DNS type (would be used for migration) + */ + @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) + targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + + @visibility(Lifecycle.Read, Lifecycle.Create) + authCode?: string; +}> { ...ResourceNameParameter< - Resource = Domain, + Resource = {}, KeyName = "domainName", SegmentName = "domains", NamePattern = "" >; } +model DomainUpdate is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = Domain, + KeyName = "domainName", + SegmentName = "domains", + NamePattern = "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" + >; +} + + @armResourceOperations interface Domains { /** @@ -33,7 +195,7 @@ interface Domains { * Description for Creates or updates a domain. */ createOrUpdate is ArmResourceCreateOrReplaceAsync< - Domain, + DomainUpdate, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse & { @bodyRoot _: Domain; @@ -46,7 +208,7 @@ interface Domains { */ @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< - Domain, + DomainUpdate, PatchModel = DomainPatchResource, Response = ArmResponse | (AcceptedResponse & { @bodyRoot @@ -97,7 +259,7 @@ interface Domains { * Transfer out domain to another registrar */ @put - transferOut is ArmResourceActionSync>; + transferOut is ArmResourceActionSync | BadRequestResponse>; } @@doc(Domain.name, "Name of the domain."); diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 9ab73ef27306..b332a68e4e2a 100644 --- a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -16,7 +16,13 @@ namespace Microsoft.DomainRegistration; */ @parentResource(Domain) model DomainOwnershipIdentifier - is Azure.ResourceManager.ProxyResource { + is Azure.ResourceManager.ProxyResource< + { + /** + * Ownership Id. + */ + ownershipId?: string; + }> { ...ResourceNameParameter< Resource = DomainOwnershipIdentifier, KeyName = "name", diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp index e15abeef992b..41ed8e97fd8a 100644 --- a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp @@ -15,7 +15,12 @@ namespace Microsoft.DomainRegistration; */ @subscriptionResource model TopLevelDomain - is Azure.ResourceManager.ProxyResource { + is Azure.ResourceManager.ProxyResource<{ + /** + * If true, then the top level domain supports domain privacy; otherwise, false. + */ + privacy?: boolean; +}> { ...ResourceNameParameter< Resource = TopLevelDomain, KeyName = "name", @@ -46,6 +51,7 @@ interface TopLevelDomains { /** * Description for Gets all legal agreements that user needs to accept before purchasing a domain. */ + @extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) listAgreements is ArmResourceActionSync< TopLevelDomain, TopLevelDomainAgreementOption, diff --git a/specification/web/DomainRegistration.Management/back-compatible.tsp b/specification/web/DomainRegistration.Management/back-compatible.tsp new file mode 100644 index 000000000000..ea3ec48bf4a7 --- /dev/null +++ b/specification/web/DomainRegistration.Management/back-compatible.tsp @@ -0,0 +1,51 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.DomainRegistration; + +@@clientName(Domains.createOrUpdate::parameters.resource, "domain"); +@@clientName(Domains.update::parameters.properties, "domain"); +@@clientLocation(DomainOwnershipIdentifiers.getOwnershipIdentifier, "Domains"); +@@clientLocation(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier, + "Domains" +); +@@clientName(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, + "domainOwnershipIdentifier" +); +@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, + "Domains" +); +@@clientName(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, + "domainOwnershipIdentifier" +); +@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, + "Domains" +); +@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, + "Domains" +); + +@@clientName(TopLevelDomains.listAgreements::parameters.body, + "agreementOption" +); +@@clientLocation(DomainsOperationGroup.checkAvailability, "Domains"); +@@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, "Domains"); +@@clientLocation(DomainsOperationGroup.listRecommendations, "Domains"); + +@@clientName(DomainsOperationGroup.listRecommendations::parameters.body, "parameters"); +@@clientName(DomainsOperationGroup.checkAvailability::parameters.body, "identifier"); + +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(DomainOwnershipIdentifier.properties); + +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(DomainPatchResource.properties); + +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(TopLevelDomain.properties); + +#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +@@flattenProperty(Domain.properties); + +@@OpenAPI.extension(NameIdentifierCollection.value, "x-ms-identifiers", #["name"]); +@@OpenAPI.extension(TldLegalAgreementCollection.value, "x-ms-identifiers", #["agreementKey"]); diff --git a/specification/web/DomainRegistration.Management/client.tsp b/specification/web/DomainRegistration.Management/client.tsp deleted file mode 100644 index cb44b3d12622..000000000000 --- a/specification/web/DomainRegistration.Management/client.tsp +++ /dev/null @@ -1,23 +0,0 @@ -import "./main.tsp"; -import "@azure-tools/typespec-client-generator-core"; - -using Azure.ClientGenerator.Core; -using Microsoft.DomainRegistration; - -@@clientLocation(DomainOwnershipIdentifiers.getOwnershipIdentifier, "Domains"); -@@clientLocation(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier, - "Domains" -); -@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, - "Domains" -); -@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, - "Domains" -); -@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, - "Domains" -); - -@@clientLocation(DomainsOperationGroup.checkAvailability, "Domains"); -@@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, "Domains"); -@@clientLocation(DomainsOperationGroup.listRecommendations, "Domains"); diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json index 9cc77525698c..b6bca2cd4414 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json @@ -17,4 +17,4 @@ }, "operationId": "Domains_CheckAvailability", "title": "Check domain availability" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json index 678f85616df2..869d9a99dc53 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json @@ -302,4 +302,4 @@ }, "operationId": "Domains_CreateOrUpdate", "title": "Create App Service Domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json index 47368ad3b3a9..f391c824f65e 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json @@ -26,4 +26,4 @@ }, "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", "title": "Create App Service Domain OwnershipIdentifier" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json index 55f5b8b57468..f33f41a275a6 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json @@ -12,4 +12,4 @@ }, "operationId": "Domains_Delete", "title": "Delete App Service Domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json index 2519b55d9977..3e7d0e023dc8 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json @@ -12,4 +12,4 @@ }, "operationId": "Domains_DeleteOwnershipIdentifier", "title": "Delete App Service Domain Ownership Identifier" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json index 302c69d3b7e0..3ec951036c1d 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json @@ -114,4 +114,4 @@ }, "operationId": "Domains_Get", "title": "Get Domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json index 61030c0e2d70..b43e7d7b2033 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json @@ -14,4 +14,4 @@ }, "operationId": "Domains_GetControlCenterSsoRequest", "title": "Get Domain Control Center Sso Request" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json index 62aea8175a5c..35a199cb45ae 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json @@ -21,4 +21,4 @@ }, "operationId": "Domains_GetOwnershipIdentifier", "title": "Get Domain Ownership Identifier" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json index 23dbfe39c9cb..3293b7d746b1 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json @@ -19,4 +19,4 @@ }, "operationId": "TopLevelDomains_Get", "title": "Get Top Level Domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json index 5c97510b21f9..a890737723c0 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json @@ -24,4 +24,4 @@ }, "operationId": "Domains_ListOwnershipIdentifiers", "title": "List Domain Ownership Identifiers" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json index b6a669b31468..2ccaa4fe7e43 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json @@ -27,4 +27,4 @@ }, "operationId": "Domains_ListRecommendations", "title": "List domain recommendations" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json index d6b2aa1c1aa7..a008f123f0c2 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json @@ -116,4 +116,4 @@ }, "operationId": "Domains_ListByResourceGroup", "title": "List domains by resource group" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json index c80dd5fe70de..3364dec6869d 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json @@ -115,4 +115,4 @@ }, "operationId": "Domains_List", "title": "List domains by subscription" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json index 2e3562e17308..a7d6ee58f0ca 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json @@ -101,6 +101,6 @@ "headers": {} } }, - "operationId": "DomainRegistrationProvider_ListOperations", + "operationId": "Operations_List", "title": "List operations" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json index 109038067d62..ab5e037f5d1e 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json @@ -31,4 +31,4 @@ }, "operationId": "TopLevelDomains_ListAgreements", "title": "List Top Level Domain Agreements" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json index ec3cce2e5467..96fe93a3d84c 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json @@ -86,4 +86,4 @@ }, "operationId": "TopLevelDomains_List", "title": "List Top Level Domains" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json index d60b5304b856..911ecc9e2daf 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json @@ -12,4 +12,4 @@ }, "operationId": "Domains_Renew", "title": "Renew an existing domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json index 97d3eab7699a..449adc7551c9 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json @@ -114,4 +114,4 @@ }, "operationId": "Domains_TransferOut", "title": "Transfer out domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json index c915dc8ab95a..bc03d98087a3 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json @@ -300,4 +300,4 @@ }, "operationId": "Domains_Update", "title": "Update App Service Domain" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json index f8fa287bc4f8..387a3d8a5594 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json @@ -26,4 +26,4 @@ }, "operationId": "Domains_UpdateOwnershipIdentifier", "title": "Update App Service Domain OwnershipIdentifier" -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp index c8626bce5b3e..7ba60e482926 100644 --- a/specification/web/DomainRegistration.Management/main.tsp +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -12,6 +12,7 @@ import "@typespec/versioning"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "./models.tsp"; +import "./back-compatible.tsp"; import "./Domain.tsp"; import "./DomainOwnershipIdentifier.tsp"; import "./TopLevelDomain.tsp"; @@ -24,10 +25,10 @@ using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; /** - * WebSite Management Client + * */ @armProviderNamespace -@service(#{ title: "WebSiteManagementClient" }) +@service(#{ title: "TopLevelDomains API Client" }) @versioned(Versions) // FIXME: Common type version not set. Set to v3. @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 7e9f1c0aeadf..cfc5fd544a8c 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -309,124 +309,7 @@ model DomainCollection is Azure.Core.Page; /** * Domain resource specific properties */ -model DomainProperties { - /** - * Administrative contact. - */ - @visibility(Lifecycle.Create) - contactAdmin: Contact; - - /** - * Billing contact. - */ - @visibility(Lifecycle.Create) - contactBilling: Contact; - - /** - * Registrant contact. - */ - @visibility(Lifecycle.Create) - contactRegistrant: Contact; - - /** - * Technical contact. - */ - @visibility(Lifecycle.Create) - contactTech: Contact; - - /** - * Domain registration status. - */ - @visibility(Lifecycle.Read) - registrationStatus?: DomainStatus; - - /** - * Domain provisioning state. - */ - @visibility(Lifecycle.Read) - provisioningState?: ProvisioningState; - - /** - * Name servers. - */ - @visibility(Lifecycle.Read) - nameServers?: string[]; - - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ - privacy?: boolean; - - /** - * Domain creation timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - createdTime?: utcDateTime; - - /** - * Domain expiration timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - expirationTime?: utcDateTime; - - /** - * Timestamp when the domain was renewed last time. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - lastRenewedTime?: utcDateTime; - - /** - * true if the domain should be automatically renewed; otherwise, false. - */ - autoRenew?: boolean = true; - - /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and - * it is hosted on name servers Azure has programmatic access to. - */ - @visibility(Lifecycle.Read) - readyForDnsRecordManagement?: boolean; - - /** - * All hostnames derived from the domain and assigned to Azure resources. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) - managedHostNames?: HostName[]; - - /** - * Legal agreement consent. - */ - @visibility(Lifecycle.Create) - consent: DomainPurchaseConsent; - - /** - * Reasons why domain is not renewable. - */ - @visibility(Lifecycle.Read) - domainNotRenewableReasons?: ResourceNotRenewableReason[]; - - /** - * Current DNS type - */ - dnsType?: DnsType; - - /** - * Azure DNS Zone to use - */ - dnsZoneId?: string; - - /** - * Target DNS type (would be used for migration) - */ - targetDnsType?: DnsType; - - @visibility(Lifecycle.Read, Lifecycle.Create) - authCode?: string; -} +model DomainProperties {} /** * Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois @@ -655,162 +538,169 @@ model NameIdentifierCollection is Azure.Core.Page; * ARM resource for a domain. */ #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -model DomainPatchResource extends ProxyOnlyResource { +model DomainPatchResource extends ProxyOnlyResource{ /** * DomainPatchResource resource specific properties */ - properties?: DomainPatchResourceProperties; -} - -/** - * DomainPatchResource resource specific properties - */ -model DomainPatchResourceProperties { - /** - * Administrative contact. - */ - @visibility(Lifecycle.Create) - contactAdmin: Contact; - - /** - * Billing contact. - */ - @visibility(Lifecycle.Create) - contactBilling: Contact; - - /** - * Registrant contact. - */ - @visibility(Lifecycle.Create) - contactRegistrant: Contact; - - /** - * Technical contact. - */ - @visibility(Lifecycle.Create) - contactTech: Contact; - - /** - * Domain registration status. - */ - @visibility(Lifecycle.Read) - registrationStatus?: DomainStatus; - - /** - * Domain provisioning state. - */ - @visibility(Lifecycle.Read) - provisioningState?: ProvisioningState; - - /** - * Name servers. - */ - @visibility(Lifecycle.Read) - nameServers?: string[]; - - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ - privacy?: boolean; - - /** - * Domain creation timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - createdTime?: utcDateTime; - - /** - * Domain expiration timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - expirationTime?: utcDateTime; - - /** - * Timestamp when the domain was renewed last time. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - lastRenewedTime?: utcDateTime; - - /** - * true if the domain should be automatically renewed; otherwise, false. - */ - autoRenew?: boolean = true; - - /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and - * it is hosted on name servers Azure has programmatic access to. - */ - @visibility(Lifecycle.Read) - readyForDnsRecordManagement?: boolean; - - /** - * All hostnames derived from the domain and assigned to Azure resources. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) - managedHostNames?: HostName[]; - - /** - * Legal agreement consent. - */ - @visibility(Lifecycle.Create) - consent: DomainPurchaseConsent; - - /** - * Reasons why domain is not renewable. - */ - @visibility(Lifecycle.Read) - domainNotRenewableReasons?: ResourceNotRenewableReason[]; - - /** - * Current DNS type - */ - dnsType?: DnsType; - - /** - * Azure DNS Zone to use - */ - dnsZoneId?: string; - - /** - * Target DNS type (would be used for migration) - */ - targetDnsType?: DnsType; - - @visibility(Lifecycle.Read, Lifecycle.Create) - authCode?: string; + properties?: { + /** + * Administrative contact. + */ + @visibility(Lifecycle.Create) + contactAdmin: Contact; + + /** + * Billing contact. + */ + @visibility(Lifecycle.Create) + contactBilling: Contact; + + /** + * Registrant contact. + */ + @visibility(Lifecycle.Create) + contactRegistrant: Contact; + + /** + * Technical contact. + */ + @visibility(Lifecycle.Create) + contactTech: Contact; + + /** + * Domain registration status. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-enum", #{name:"DomainStatus", modelAsString: false}) + registrationStatus?: + | "Active" + | "Awaiting" + | "Cancelled" + | "Confiscated" + | "Disabled" + | "Excluded" + | "Expired" + | "Failed" + | "Held" + | "Locked" + | "Parked" + | "Pending" + | "Reserved" + | "Reverted" + | "Suspended" + | "Transferred" + | "Unknown" + | "Unlocked" + | "Unparked" + | "Updated" + | "JsonConverterFailed"; + + /** + * Domain provisioning state. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-enum", #{name:"ProvisioningState", modelAsString: false}) + provisioningState?: + | "Succeeded" + | "Failed" + | "Canceled" + | "InProgress" + | "Deleting"; + + /** + * Name servers. + */ + @visibility(Lifecycle.Read) + nameServers?: string[]; + + /** + * true if domain privacy is enabled for this domain; otherwise, false. + */ + privacy?: boolean; + + /** + * Domain creation timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdTime?: utcDateTime; + + /** + * Domain expiration timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + expirationTime?: utcDateTime; + + /** + * Timestamp when the domain was renewed last time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRenewedTime?: utcDateTime; + + /** + * true if the domain should be automatically renewed; otherwise, false. + */ + autoRenew?: boolean = true; + + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + * it is hosted on name servers Azure has programmatic access to. + */ + @visibility(Lifecycle.Read) + readyForDnsRecordManagement?: boolean; + + /** + * All hostnames derived from the domain and assigned to Azure resources. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + managedHostNames?: HostName[]; + + /** + * Legal agreement consent. + */ + @visibility(Lifecycle.Create) + consent: DomainPurchaseConsent; + + /** + * Reasons why domain is not renewable. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-enum", #{name:"ResourceNotRenewableReason"}) + domainNotRenewableReasons?: ( + | "RegistrationStatusNotSupportedForRenewal" + | "ExpirationNotInRenewalTimeRange" + | "SubscriptionNotActive" + | string)[]; + + /** + * Current DNS type + */ + @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) + dnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + + /** + * Azure DNS Zone to use + */ + dnsZoneId?: string; + + /** + * Target DNS type (would be used for migration) + */ + @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) + targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + + @visibility(Lifecycle.Read, Lifecycle.Create) + authCode?: string; + }; } /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ -model ProxyOnlyResource { - /** - * Resource Id. - */ - @visibility(Lifecycle.Read) - id?: string; - - /** - * Resource Name. - */ - @visibility(Lifecycle.Read) - name?: string; - - /** - * Kind of resource. - */ - kind?: string; - - /** - * Resource type. - */ - @visibility(Lifecycle.Read) - type?: string; -} +model ProxyOnlyResource {} /** * Collection of domain ownership identifiers. @@ -818,31 +708,11 @@ model ProxyOnlyResource { model DomainOwnershipIdentifierCollection is Azure.Core.Page; -/** - * DomainOwnershipIdentifier resource specific properties - */ -model DomainOwnershipIdentifierProperties { - /** - * Ownership Id. - */ - ownershipId?: string; -} - /** * Collection of Top-level domains. */ model TopLevelDomainCollection is Azure.Core.Page; -/** - * TopLevelDomain resource specific properties - */ -model TopLevelDomainProperties { - /** - * If true, then the top level domain supports domain privacy; otherwise, false. - */ - privacy?: boolean; -} - /** * Options for retrieving the list of top level domain legal agreements. */ diff --git a/specification/web/DomainRegistration.Management/routes.tsp b/specification/web/DomainRegistration.Management/routes.tsp index a39a8d4dfe81..8fc883f2fb6d 100644 --- a/specification/web/DomainRegistration.Management/routes.tsp +++ b/specification/web/DomainRegistration.Management/routes.tsp @@ -13,10 +13,12 @@ using TypeSpec.OpenAPI; namespace Microsoft.DomainRegistration; +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" interface DomainsOperationGroup { /** * Description for Check if a domain is available for registration. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @summary("Check if a domain is available for registration.") @operationId("Domains_CheckAvailability") @autoRoute @@ -30,6 +32,7 @@ interface DomainsOperationGroup { /** * Description for Generate a single sign-on request for the domain management portal. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @summary("Generate a single sign-on request for the domain management portal.") @operationId("Domains_GetControlCenterSsoRequest") @autoRoute @@ -42,10 +45,12 @@ interface DomainsOperationGroup { /** * Description for Get domain name recommendations based on keywords. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @summary("Get domain name recommendations based on keywords.") @operationId("Domains_ListRecommendations") @autoRoute @action("listDomainRecommendations") + @extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) listRecommendations is ArmProviderActionSync< Request = DomainRecommendationSearchParameters, Response = NameIdentifierCollection, diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json index 96974801665d..b6bca2cd4414 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json @@ -1,10 +1,10 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", "api-version": "2024-11-01", "identifier": { "name": "abcd.com" - } + }, + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { @@ -14,5 +14,7 @@ "domainType": "Regular" } } - } + }, + "operationId": "Domains_CheckAvailability", + "title": "Check domain availability" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json index f1c3936a0c88..869d9a99dc53 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json @@ -1,303 +1,305 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "domainName": "example.com", "api-version": "2024-11-01", "domain": { "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "privacy": false, "autoRenew": true, - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "dnsType": "DefaultDomainRegistrarDns", + "privacy": false + }, + "tags": {} + }, + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} }, "202": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} } - } + }, + "operationId": "Domains_CreateOrUpdate", + "title": "Create App Service Domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json index cec9f131d7cd..f391c824f65e 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json @@ -1,27 +1,29 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "domainName": "example.com", "name": "SampleOwnershipId", "api-version": "2024-11-01", + "domainName": "example.com", "domainOwnershipIdentifier": { "properties": { "ownershipId": "SampleOwnershipId" } - } + }, + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "name": "SampleOwnershipId", "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "properties": { "ownershipId": "SampleOwnershipId" } - } + }, + "headers": {} } - } + }, + "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", + "title": "Create App Service Domain OwnershipIdentifier" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json index a696112de0b8..f33f41a275a6 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", + "api-version": "2024-11-01", "domainName": "example.com", "forceHardDeleteDomain": true, - "api-version": "2024-11-01" + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Domains_Delete", + "title": "Delete App Service Domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json index c6b2344b7d77..3e7d0e023dc8 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json @@ -1,13 +1,15 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "domainName": "example.com", "name": "ownershipIdentifier", - "api-version": "2024-11-01" + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": {}, "204": {} - } + }, + "operationId": "Domains_DeleteOwnershipIdentifier", + "title": "Delete App Service Domain Ownership Identifier" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json index 368d17661f0e..3ec951036c1d 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json @@ -1,115 +1,117 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", + "api-version": "2024-11-01", "domainName": "example.com", "getOnlyIfReadyForDnsManagement": true, - "api-version": "2024-11-01" + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} } - } + }, + "operationId": "Domains_Get", + "title": "Get Domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json index 5d28e33b3984..b43e7d7b2033 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json @@ -1,15 +1,17 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "api-version": "2024-11-01" + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { "body": { - "url": "https://Reseller.provider.com/?xRequestId=sdsdsds&app=dcc", "postParameterKey": "saml", - "postParameterValue": "1242sds|k1340" + "postParameterValue": "1242sds|k1340", + "url": "https://Reseller.provider.com/?xRequestId=sdsdsds&app=dcc" } } - } + }, + "operationId": "Domains_GetControlCenterSsoRequest", + "title": "Get Domain Control Center Sso Request" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json index cf5ff1df495d..35a199cb45ae 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json @@ -1,22 +1,24 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "domainName": "example.com", "name": "SampleOwnershipId", - "api-version": "2024-11-01" + "api-version": "2024-11-01", + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "name": "SampleOwnershipId", "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "properties": { "ownershipId": "SampleOwnershipId" } - } + }, + "headers": {} } - } + }, + "operationId": "Domains_GetOwnershipIdentifier", + "title": "Get Domain Ownership Identifier" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json index ba838436c342..3293b7d746b1 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json @@ -1,20 +1,22 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "name": "com", "api-version": "2024-11-01", - "name": "com" + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", "name": "com", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", "properties": { "privacy": true } - } + }, + "headers": {} } - } + }, + "operationId": "TopLevelDomains_Get", + "title": "Get Top Level Domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json index ec0e2f9bb55d..a890737723c0 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json @@ -1,25 +1,27 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", + "api-version": "2024-11-01", "domainName": "example.com", - "api-version": "2024-11-01" + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "name": "SampleOwnershipId", "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "properties": { "ownershipId": "SampleOwnershipId" } } ] - } + }, + "headers": {} } - } + }, + "operationId": "Domains_ListOwnershipIdentifiers", + "title": "List Domain Ownership Identifiers" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json index c8081095fd73..2ccaa4fe7e43 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json @@ -1,15 +1,14 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", "api-version": "2024-11-01", "parameters": { "keywords": "example1", "maxDomainRecommendations": 10 - } + }, + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { @@ -22,7 +21,10 @@ "name": "domainnamesuggestion3" } ] - } + }, + "headers": {} } - } + }, + "operationId": "Domains_ListRecommendations", + "title": "List domain recommendations" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json index b9a8e54c64c8..a008f123f0c2 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json @@ -1,117 +1,119 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2024-11-01", "resourceGroupName": "testrg123", - "api-version": "2024-11-01" + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} } ] - } + }, + "headers": {} } - } + }, + "operationId": "Domains_ListByResourceGroup", + "title": "List domains by resource group" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json index 1b72d30cd7de..3364dec6869d 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json @@ -1,116 +1,118 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "api-version": "2024-11-01" + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} } ] - } + }, + "headers": {} } - } + }, + "operationId": "Domains_List", + "title": "List domains by subscription" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json index eb6af58d1b21..a7d6ee58f0ca 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json @@ -4,101 +4,103 @@ }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "name": "Microsoft.DomainRegistration/domains/Read", "display": { - "provider": "Microsoft Domains", - "resource": "Domain", + "description": "Get the list of domains", "operation": "Get Domains", - "description": "Get the list of domains" + "provider": "Microsoft Domains", + "resource": "Domain" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/domains/Write", "display": { - "provider": "Microsoft Domains", - "resource": "Domain", + "description": "Add a new Domain or update an existing one", "operation": "Add or Update Domain", - "description": "Add a new Domain or update an existing one" + "provider": "Microsoft Domains", + "resource": "Domain" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/domains/Delete", "display": { - "provider": "Microsoft Domains", - "resource": "Domain", + "description": "Delete an existing domain.", "operation": "Delete Domain", - "description": "Delete an existing domain." + "provider": "Microsoft Domains", + "resource": "Domain" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/domains/operationresults/Read", "display": { - "provider": "Microsoft Domains", - "resource": "Domain operation", + "description": "Get a domain operation", "operation": "Get Domain Operation", - "description": "Get a domain operation" + "provider": "Microsoft Domains", + "resource": "Domain operation" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/generateSsoRequest/Action", "display": { - "provider": "Microsoft Domains", - "resource": "Domain Control Center Single Sign On Request", + "description": "Generate a request for signing into domain control center.", "operation": "Generate Domain Control Center Single Sign On Request", - "description": "Generate a request for signing into domain control center." + "provider": "Microsoft Domains", + "resource": "Domain Control Center Single Sign On Request" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/validateDomainRegistrationInformation/Action", "display": { - "provider": "Microsoft Domains", - "resource": "Domain Validation", + "description": "Validate domain purchase object without submitting it", "operation": "Domain Purchase Info Validation", - "description": "Validate domain purchase object without submitting it" + "provider": "Microsoft Domains", + "resource": "Domain Validation" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/checkDomainAvailability/Action", "display": { - "provider": "Microsoft Domains", - "resource": "Domain Availability Result", + "description": "Check if a domain is available for purchase", "operation": "Check Domain Availability", - "description": "Check if a domain is available for purchase" + "provider": "Microsoft Domains", + "resource": "Domain Availability Result" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/listDomainRecommendations/Action", "display": { - "provider": "Microsoft Domains", - "resource": "Domain Recommendations", + "description": "Retrieve the list domain recommendations based on keywords", "operation": "Retrieve Domain Recommendations", - "description": "Retrieve the list domain recommendations based on keywords" + "provider": "Microsoft Domains", + "resource": "Domain Recommendations" }, "origin": "user,system" }, { "name": "Microsoft.DomainRegistration/register/action", "display": { - "provider": "Microsoft Domains", - "resource": "Microsoft Domains resource provider", + "description": "Register the Microsoft Domains resource provider for the subscription", "operation": "Register Microsoft Domains resource provider", - "description": "Register the Microsoft Domains resource provider for the subscription" + "provider": "Microsoft Domains", + "resource": "Microsoft Domains resource provider" }, "origin": "user,system" } ] - } + }, + "headers": {} } - } + }, + "operationId": "Operations_List", + "title": "List operations" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json index 020d9b33427a..ab5e037f5d1e 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json @@ -1,32 +1,34 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", "name": "in", - "api-version": "2024-11-01", "agreementOption": { - "includePrivacy": true, - "forTransfer": false - } + "forTransfer": false, + "includePrivacy": true + }, + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { "agreementKey": "DNRA", - "title": "Domain Name Registration Agreement", "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Registration Agreement\n
\n

Last Revised: October 6, 2017

\n

PLEASE READ THIS AGREEMENT CAREFULLY, AS IT CONTAINS IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS AND REMEDIES.

\r\n

1. OVERVIEW

\r\n

This Domain Name Registration Agreement (this \"Agreement\") is entered into by and between 510456, an individual (\"Azure\") and you, and is made effective as of the date of electronic acceptance.  This Agreement sets forth the terms and conditions of your use of Azure's Domain Name Registration services (the \"Domain Name Registration Services\" or the \"Services\"). The terms \"we\", \"us\" or \"our\" shall refer to Azure.  The terms \"you\", \"your\", \"User\" or \"customer\" shall refer to any individual or entity who accepts this Agreement.  Unless otherwise specified, nothing in this Agreement shall be deemed to confer any third-party rights or benefits.

\r\n

Your electronic acceptance of this Agreement signifies that you have read, understand, acknowledge and agree to be bound by this Agreement, which incorporates by reference each of (i) Azure’s Universal Terms of Service Agreement (\"UTOS\"), (ii) all agreements, guidelines, policies, practices, procedures, registration requirements or operational standards of the top-level domain (\"TLD\") in which you register any domain (“Registry Policies”), and (iii) any plan limits, product disclaimers or other restrictions presented to you on the Domain Name Registration Services landing page of the Azure website (this “Site”). 

\r\n

TO LINK TO AND REVIEW THE REGISTRY POLICIES FOR THE TLD IN WHICH YOU WISH TO REGISTER A DOMAIN NAME, PLEASE CLICK HERE   

\r\n

You acknowledge and agree that (i) Azure, in its sole and absolute discretion, may change or modify this Agreement, and any policies or agreements which are incorporated herein, at any time, and such changes or modifications shall be effective immediately upon posting to this Site, and (ii) your use of this Site or the Services found at this Site after such changes or modifications have been made shall constitute your acceptance of this Agreement as last revised.  If you do not agree to be bound by this Agreement as last revised, do not use (or continue to use) this Site or the Services found at this Site.  In addition, Azure may occasionally notify you of changes or modifications to this Agreement by email.  It is therefore very important that you keep your shopper account (“Shopper Account”) information, including your email address, current.  Azure assumes no liability or responsibility for your failure to receive an email notification if such failure results from an inaccurate or out-of-date email address.    Azure is not an Internet Corporation for Assigned Names and Numbers (\"ICANN\") accredited registrar; it is an authorized reseller of domain name registration services.  Accordingly, you acknowledge and agree that Azure may modify this Agreement in order to comply with any terms and conditions set forth by (i) the sponsoring registrar, (ii) ICANN, and/or (iii) the registry applicable to the TLD or country code top level domain (\"ccTLD\") in question.  As used herein, the terms \"registry\", \"Registry\", \"registry operator\" or \"Registry Operator\" shall refer to the registry applicable to the TLD or ccTLD in question.  To identify the sponsoring registrar, click here

\r\n

2. PROVISIONS SPECIFIC TO ALL REGISTRATIONS

\r\n

Unless otherwise noted, the provisions below in this Section 2 are generally applicable to all TLDs that we offer.  Special provisions specific to any TLD or ccTLD (those in addition to posted Registry Policies) are identified elsewhere below in this Agreement. 

\r\n
    \r\n
  1. \r\n
    Registry Policies. You agree to be bound by all Registry Policies (defined above in this Agreement) applicable to your domain name registration (at any level). IT IS YOUR RESPONSIBILITY TO VISIT THE APPLICABLE TLD SITE AND READ AND REVIEW ALL APPLICABLE REGISTRY POLICIES PRIOR TO YOUR REGISTRATION IN THE TLD.  REGISTRY POLICIES FOR EACH TLD CAN BE FOUND BY VISITING THE CORRESPONDING TLD LINK LISTED HERE.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator of the TLD in which the domain name registration is made is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the respective TLD. The third party beneficiary rights of the Registry Operator will survive any termination of this Agreement.    
    \r\n
  2. \r\n
  3. \r\n
    Registration Requirements.  To the extent any TLD or ccTLD requires you meet eligibility (e.g., residency for .JP, .EU, etc.), validation (e.g., DNS validation) or other authentication requirements as a condition to registering a domain name in the TLD, you agree that by submitting an application or registering or renewing your domain name, you represent and warrant that: (a) all information provided to register or renew the domain name (including all supporting documents, if any) is true, complete and correct, and is not misleading in any way, and the application is made in good faith; (b) you meet, and will continue to meet, the eligibility criteria prescribed in the Registry Policies for the applicable TLD for the duration of the domain name registration; (c) you have not previously submitted an application for the domain name with another registrar using the same eligibility criteria, and the other registrar has rejected the application (if applicable); (d) you acknowledge and agree that even if the domain name is accepted for registration, your entitlement to register the domain name may be challenged by others who claim to have an entitlement to the domain name; and (e) you acknowledge and agree that the Registry or the registrar can cancel the registration of the domain name if any of the warranties required are found to be untrue, incomplete, incorrect or misleading.
    \r\n
  4. \r\n
  5. \r\n
    Ownership.  You acknowledge and agree that registration of a domain name does not create any proprietary right for you, the registrar, or any other person in the name used as a domain name or the domain name registration and that the entry of a domain name in the Registry shall not be construed as evidence or ownership of the domain name registered as a domain name. You shall not in any way transfer or purport to transfer a proprietary right in any domain name registration or grant or purport to grant as security or in any other manner encumber or purport to encumber a domain name registration.
    \r\n
  6. \r\n
  7. \r\n
    ICANN Requirements. You agree to comply with the ICANN requirements, standards, policies, procedures, and practices for which each applicable Registry Operator has monitoring responsibility in accordance with the Registry Agreement between ICANN and itself or any other arrangement with ICANN.
    \r\n
  8. \r\n
  9. \r\n
    Indemnification of Registry.  You agree to indemnify, defend and hold harmless (within 30 days of demand) the Registry Operator and Registry Service Provider and their subcontractors, subsidiaries, affiliates, divisions, shareholders, directors, officers, employees, accountants, attorneys, insurers, agents, predecessors, successors and assigns, from and against any and all claims, demands, damages, losses, costs, expenses, causes of action or other liabilities of any kind, whether known or unknown, including reasonable legal and attorney’s fees and expenses, in any way arising out of, relating to, or otherwise in connection with the your domain name registration, including, without limitation, the use, registration, extension, renewal, deletion, and/or transfer thereof and/or the violation of any applicable terms or conditions governing the registration. You shall not enter into any settlement or compromise of any such indemnifiable claim without Registrar’s or Registry Operator’s prior written consent, which consent shall not be unreasonably withheld, and you agree that these indemnification obligations shall survive the termination or expiration of the Agreement for any reason.  IN NO EVENT SHALL THE REGISTRY OPERATOR BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY OR PUNITIVE DAMAGES, INCLUDING LOSS OF PROFIT OR GOODWILL, FOR ANY MATTER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTIES, EITHER EXPRESS OR IMPLIED, ANY BREACH OF THIS AGREEMENT OR ITS INCORPORATED AGREEMENTS AND POLICIES YOUR INABILITY TO USE THE DOMAIN NAME, YOUR LOSS OF DATA OR FILES OR OTHERWISE, EVEN IF THE REGISTRY OPERATOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    \r\n
  10. \r\n
  11. \r\n
    Regulated TLDs.   For domain name registration in any “Regulated” TLD, you acknowledge and agree your registration is subject to the following additional requirements: (a) comply with all applicable laws, including those that relate to privacy, data collection, consumer protection (including in relation to misleading and deceptive conduct), fair lending, debt collection, organic farming, disclosure of data, and financial disclosures; (b) if you collect and maintain sensitive health and financial data you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  Regulated TLDs include: .games, .juegos, .school, .schule, .toys, .eco, .care, .diet, .fitness, .health, .clinic, .dental, .healthcare, .cash, .broker, .claims, .exchange, .finance, .financial, .fund, .investments, .lease, .loans, .market, .money, .trading, .credit, .insure, .tax, .mortgage, .degree, .mba, .audio, .book, .broadway, .film, .movie, .music, .software, .fashion, .video, .app, .art, .band, .cloud, .data, .digital, .fan, .free, .gratis, .discount, .sale, .media, .news, .online, .pictures, .radio, .show, .theater, .tours, .accountants, .architect, .associates, .broker, .legal, .realty, .vet, .engineering, .law, .limited, .show; .theater; .town, .city, .reise, and .reisen
    \r\n
  12. \r\n
  13. \r\n
    Highly Regulated TLDs. In addition to the requirements for Regulated TLDs, domain name registration in any Highly-Regulated TLD is subject to the following requirements: (a) you will provide administrative contact information, which must be kept up‐to‐date, for the notification of complaints or reports of registration abuse, as well as the contact details of the relevant regulatory, or Industry self‐regulatory, bodies in their main place of business; (b) you represent that you possess any necessary authorizations, charters, licenses and/or other related credentials for participation in the sector associated with such Highly‐regulated TLD; and (c) you will report any material changes to the validity of you authorizations, charters, licenses and/or other related credentials for participation in the sector associated with the Highly‐regulated TLD to ensure you continue to conform to the appropriate regulations and licensing requirements and generally conduct your activities in the interests of the consumers they serve.  Highly Regulated TLDs include: .abogado, .attorney, .bank, .bet, .bingo, .casino .charity (and IDN equivalent xn--30rr7y), .cpa, .corp, creditcard, .creditunion .dds, .dentist, .doctor, .fail, .gmbh, .gripe, .hospital, .inc, .insurance, .lawyer, .lifeinsurance, .llc, .llp, .ltda, .medical, .mutuelle, .pharmacy, .poker, .university, .sarl, .spreadbetting, .srl, .surgery .university, .vermogensberater, and .vesicherung,  For .doctor, registrants who hold themselves out to be licensed medical practitioners must be able to demonstrate to the Registrar and Registry, upon request, that they hold the applicable license.
    \r\n
  14. \r\n
  15. \r\n
    Special Safeguard TLDs.  In addition to the requirements for Regulated and Highly-Regulated TLDs, by registering a domain name in any “Special-Safeguard” TLD, you agree to take reasonable steps to avoid misrepresenting or falsely implying that you or your business is affiliated with, sponsored or endorsed by one or more country's or government's military forces if such affiliation, sponsorship or endorsement does not exist.  Special Safeguard TLDs include:  .army, .navy, .airforce
    \r\n
  16. \r\n
  17. \r\n
    Third Party Beneficiary.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator for any TLD in which your register a domain name is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the TLD. Third party beneficiary rights of the Registry Operator shall survive any termination of this Agreement.
    \r\n
  18. \r\n
  19. \r\n
    Variable and Non-Uniform Pricing.  You acknowledge, understand and agree that certain domain names in certain TLDs are established by Registry Policies to be variably priced (i.e., standard v. premium names) and/or may have non-uniform renewal registration pricing (such that the Fee for a domain name registration renewal may differ from other domain names in the same TLD, e.g., renewal registration for one domain may be $100.00 and $33.00 for a different domain name).
    \r\n
  20. \r\n
  21. \r\n
    Restriction on Availability of Privacy or Proxy.  You acknowledge and agree that, as dictated by the Registry Policies, for certain TLDs you may not be permitted to purchase private or proxy TLD registrations. In such case, you must register for any and all TLD registrations using your personal information, which information you represent and warrant is current, accurate and complete.
    \r\n
  22. \r\n
\r\n

3. FEES AND PAYMENTS

\r\n

(A) GENERAL TERMS, INCLUDING AUTOMATIC RENEWAL TERMS

\r\n

You agree to pay any and all prices and fees due for Services purchased or obtained at this Site at the time you order the Services.  Azure expressly reserves the right to change or modify its prices and fees at any time, and such changes or modifications shall be posted online at this Site and effective immediately without need for further notice to you.  If you have purchased or obtained Services for a period of months or years, changes or modifications in prices and fees shall be effective when the Services in question come up for renewal as further described below. 

\r\n

Unless otherwise specifically noted (for reasons such as those highlighted in Section 2(x) above), the renewal price for any domain name in any TLD will be the same as the list (non-sale) price shown when you search for and select a domain, and again in the cart prior to purchase.  For example, if the list price is $9.99, and a different renewal price is not specifically identified, then the renewal price is also $9.99.  Likewise, if a domain name has a sale price of $8.99, with the list (non-sale) price shown (as a strike-through) at $9.99, the renewal price will be $9.99*.  

\r\n

*Renewal price subject to change prior to actual date of renewal. 

\r\n

For all other terms and conditions relating to fees, payment, refund and billing, etc. applicable to the Services offered under the scope of this Agreement, please refer to the “Fees and Payments” section of our UTOS

\r\n

(B) DOMAIN NAME RENEWAL TERMS

\r\n

When you register a domain name, you will have two renewal options: (i) \"Automatic Renewal\" (ii) \"Extended Automatic Renewal\", and (iii) \"Manual Renewal\": 

\r\n
    \r\n
  1. Automatic Renewal.  Automatic Renewal is the default setting. Therefore, unless you select Extended Automatic Renewal, Azure will enroll you in Automatic Renewal.  Domain names will automatically renew, for a period equivalent to the length of your original domain name registration, any domain name that is up for renewal and will take payment from the Payment Method you have on file with Azure, at Azure's then current rates. Thus, if you have chosen to register your domain name for one (1) year, Azure will automatically renew it for one (1) year. If you have chosen to register your domain name for two (2) years, Azure will automatically renew it for two (2) years, and so on.
  2. \r\n
  3. Extended Automatic Renewal.  If you enroll in the Extended Automatic Renewal plan, Azure will automatically renew any domain name that is up for renewal for an additional one-year period on each and every anniversary of your domain name registration, so the initial registration period will always remain intact.  Thus, if you have chosen to register your domain name for two (2) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your two (2) year registration period will always remain intact. If you have chosen to register your domain name for five (5) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your five (5) year registration period will always remain intact, and so on.  Azure will take payment from the Payment Method you have on file with Azure, at Azure's then current one-year domain name registration rate.
  4. \r\n
  5. Manual Renewal.  If you have elected to turn off automatic renewal and cancel the product (i.e., cancel the domain name registration) effective at expiration of the then current term, you may nonetheless elect to manually renew the domain name at anytime prior to its expiration date by logging into your Account Manager and manually implementing the renewal or by calling customer service (should you in fact want the domain name to be renewed). If you fail to manually implement the renewal before the expiration date, the domain name will be cancelled and you will no longer have use of that name.
  6. \r\n
\r\n

All renewals will be subject to the terms of this Agreement, as it may be amended from time to time, and you acknowledge and agree to be bound by the terms of this Agreement (as amended) for all renewed domains.  Domain name renewals will be non-refundable. In the event that we are unable to automatically renew your domain name for the renewal option selected for any reason, we may automatically renew your domain name for a period less than your original registration period to the extent necessary for the transaction to succeed. If for any reason Azure is not able to take the payment from the Payment Method you have on file, and you fail to respond to our notices, your domain name registration will expire. It is your responsibility to keep your Payment Method information current, which includes the expiration date if you are using a credit card.

\r\n

For certain ccTLDs (.am, .at, .be, .br, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal billing will occur on the first day of the month prior to the month of expiration.

\r\n

For certain ccTLDs (.am, .at, .be, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal will occur, or must occur manually if the product was previously cancelled, no later than the 20th of the month prior to the expiration date, or your domain name will be placed in non-renewal status. For some ccTLDs (.es) renewal must be processed no later than seven days before the expiration date, or your domain name will be placed in non-renewal status.  When the domain name is in non-renewal status, you can renew the domain name only by calling Azure and requesting that the domain name be renewed. You cannot renew the domain name through your Account Manager. If you fail to manually implement the renewal of any cancelled product before the expiration date, the domain name will be cancelled and you will no longer have use of that name.

\r\n

You agree that Azure will not be responsible for cancelled domain names that you fail to renew in the timeframes indicated in this Agreement. In any case, if you fail to renew your domain name in a timely fashion, additional charges may apply. If you signed up for privacy services, protected registration, or any other similar service, with your domain name registration, these services will automatically be renewed when your domain name registration is up for renewal, and you will incur the applicable additional renewal fee unless you cancel in advance. 

\r\n

If you fail to renew your domain name in the timeframes indicated in this Agreement, you agree that Azure may, in its sole discretion, renew your expired domain name on your behalf. If Azure decides to renew your expired domain name on your behalf, you will have a Renewal Grace Period during which you may reimburse Azure for the renewal and keep your domain name. The Renewal Grace Period is currently twelve (12) days but subject to change under the terms of this Agreement. For certain ccTLDs (.am, .at, .be, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg) there is no Renewal Grace Period after the expiration date of the domain name. If you do not reimburse Azure for the renewal during the Renewal Grace Period your domain name will be placed on Hold and flagged for deletion after which you will have a 30-day redemption period during which you may pay Azure a Redemption fee and redeem your domain name. The Redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the 30-day redemption period Azure may, in its sole discretion, delete your domain name or transfer it to another registrant on your behalf.  During the redemption period your domain name may be parked. 

\r\n

If your domain name is deleted, the Registry also provides a 30-day Redemption Grace Period during which you may pay Azure a redemption fee and redeem your domain name. The redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the Registry's Redemption Grace Period the Registry will release your name and it will become available for registration on a first-come-first-served basis.

\r\n

Renewal Grace Periods and Redemption Grace Periods vary for different ccTLDs. Please refer to the specific terms for the applicable TLD. In the event there is a conflict between the provisions of this paragraph and the ccTLD terms, the ccTLD terms shall control.

\r\n

\r\n

Our registration expiration notification policy and associated fees are described here.

\r\n

\r\n

\r\n

(C) FREE PRODUCT TERMS

\r\n

In the event you are provided with free products with the registration of a domain name, you acknowledge and agree that such free products will only be available with a valid purchase and may be terminated in the event the domain name is deleted or cancelled.  For free domain names, you acknowledge and agree that you may not change the account associated with such free domain for the first five (5) days after registration.  In the event a free domain name is offered with the registration of another domain and if the paid domain name registered fails, then we may, in its sole discretion, either delete the registration of the free domain or refund the difference between the amount paid and the value of the free domain.  Failed registrations associated with promotionals offers may result in the deletion of the free or discounted item or an adjustment between the registered domain price and the value of the discounted item, in our sole discretion.

\r\n

4. TERM OF AGREEMENT; TRANSFERS; DOMAIN TASTING

\r\n

The term of this Agreement shall continue in full force and effect as long as you have any domain name registered through Azure.

\r\n

You agree that you will not transfer any domain name registered through Azure to another domain name registrar during the first sixty (60) days after its initial registration date.  You agree that you may not transfer any domain name for ten (10) days after a Change of Account.

\r\n

You further agree that you will not engage in \"domain tasting\" by using the five (5) day grace period in which a registrant may choose to cancel a domain name and get a full refund of the registration fee as a vehicle to test the marketability or viability of a domain name.  If Azure determines (which determination shall be made by Azure in its sole and absolute discretion) that you have been engaging in \"domain tasting\", then Azure reserves the right to (a) charge you a small fee (which fee shall be deducted from any refund issued) or (b) refuse your cancellation/refund request altogether. Azure will not charge you a fee if Azure cancels your domain name during the five (5) day grace period due to fraud or other activity outside of your control. The five (5) day grace period does not apply to Premium Domains, which are non-refundable.

\r\n

You agree that Azure shall not be bound by (i) any representations made by third parties who you may use to purchase services from Azure, or (ii) any statements of a general nature, which may be posted on Azure's website or contained in Azure's promotional materials.

\r\n

5. UP TO DATE INFORMATION; USE OF INFORMATION AND EXPIRATION

\r\n

You agree to notify Azure within five (5) business days when any of the information you provided as part of the application and/or registration process changes. It is your responsibility to keep this information in a current and accurate status. Failure by you, for whatever reason, to provide Azure with accurate and reliable information on an initial and continual basis, shall be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. Failure by you, for whatever reason, to respond within five (5) business days to any inquiries made by Azure to determine the validity of information provided by you, shall also be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. You agree to retain a copy for your record of the receipt for purchase of your domain name.

\r\n

You agree that for each domain name registered by you, the following contact data is required: postal address, email address, telephone number, and if available, a facsimile number for the Registered Name Holder and, if different from the Registered Name Holder, the same contact information for, a technical contact, an administrative contact and a billing contact.

\r\n

You acknowledge and agree that domain name registration requires that this contact information, in whole or in part, be shared with the registry operator, for their use, copying, distribution, publication, modification and other processing  for (among other uses in accordance with our Privacy Policy) the purpose of administration of the domain name registration, which may require such information be transferred back and forth across international borders, to and from the U.S. to the EU, for example. As required by ICANN, this information must also be made publicly available by means of Whois, and that the registry operator may also be required to make this information publicly available by Whois. Both Azure and the registry operator may be required to archive this information with a third-party escrow service. You hereby consent and give permission for all such requirements and disclosures. Further, you represent and warrant that, if you are providing information about a third party, you have notified the third party of the disclosure and the purpose for the disclosure and you have obtained the third party's consent to such disclosure.  Registrar will not process data in a way that is incompatible with this Agreement.  Registrar will take reasonable precautions to protect data from loss or misuse.

\r\n

You agree that for each domain name registered by you the following information will be made publicly available in the Whois directory as determined by ICANN Policy and may be sold in bulk as set forth in the ICANN agreement:

\r\n
    \r\n
  • The domain name;
  • \r\n
  • Your name and postal address;
  • \r\n
  • The name, email address, postal address, voice and fax numbers for technical and administrative contacts;
  • \r\n
  • The Internet protocol numbers for the primary and secondary name servers;
  • \r\n
  • The corresponding names of the name servers; and
  • \r\n
  • The original date of registration and expiration date.
  • \r\n
  • Name of primary name server and secondary name server.
  • \r\n
  • Identity of the registrar.
  • \r\n
\r\n

You agree that, to the extent permitted by ICANN, Azure may make use of the publicly available information you provided during the registration process. If you engage in the reselling of domain names you agree to provide any individuals whose personal information you've obtained, information about the possible uses of their personal information pursuant to ICANN policy. You also agree to obtain consent, and evidence of consent, from those individuals for such use of the personal information they provide.

\r\n

You agree that Azure has the right to make public and share with third parties certain information in connection with the sale or purchase of domain names on the website, including but not limited to (a) the name of the domain name sold or purchased, (b) the sale or purchase price of the domain name sold or purchased, and (c) information relating to the timing of the sale or purchase.

\r\n

\r\n

In order for us to comply with any current or future rules and policies for domain name systems including any rules or policies established by the CIRA or any provincial or federal government or by other organization having control or authority to establish rules or policies, you hereby grant to us the right to disclose to third parties through an interactive publicly accessible registration database the following information that you are required to provide when applying for a domain name:

\r\n
    \r\n
  1. The domain or sub-domain name(s) registered by you;
  2. \r\n
  3. Your organization name, type and postal address;
  4. \r\n
  5. The name(s), position(s), postal address(es), e-mail address(es), voice telephone number(s) and where available the fax number(s) of the technical and administrative contacts for your domain or sub-domain name(s);
  6. \r\n
  7. The full hostnames and Internet protocol (IP) addresses of at least two (2) name server hosts (one primary and at least one secondary) for your domain or sub-domain name. Up to six (6) name servers may be specified. If a host has more than one (1) IP address, use a comma-separated list;
  8. \r\n
  9. The corresponding names of those name servers;
  10. \r\n
  11. The original creation date of the registration; and
  12. \r\n
  13. The expiration date of the registration.
  14. \r\n
\r\n

We may be required to make this information available in bulk form to third parties. We may also transfer or assign this information to CIRA or such other third party as we may decide, in our sole discretion.

\r\n

6. DISPUTE RESOLUTION POLICY

\r\n

You agree to be bound by our current Dispute Resolution Policy. This policy is incorporated herein and made a part of this Agreement. You can view the Uniform Domain Name Dispute Resolution Policy online. You agree that Azure may from time to time modify its Dispute Resolution Policy. Azure will post any changes to its Dispute Resolution Policy at least thirty (30) days before they become effective. You agree that by maintaining your domain name registrations with Azure after the updated policy becomes effective that you agree to the Dispute Resolution policy as amended. You agree to review Azure's website periodically to determine if changes have been made to the Dispute Resolution Policy. If you cancel or terminate your Services with Azure as a result of the modified Dispute Resolution policy, no fees will be refunded to you. You also agree to submit to proceedings commenced under ICANN's Uniform Rapid Suspension System, if applicable. 

\r\n

You agree that if a dispute arises as a result of one (1) or more domain names you have registered using Azure, you will indemnify, defend and hold Azure harmless as provided for in this Agreement. You also agree that if Azure is notified that a complaint has been filed with a governmental, administrative or judicial body, regarding a domain name registered by you using Azure, that Azure, in its sole discretion, may take whatever action Azure deems necessary regarding further modification, assignment of and/or control of the domain name deemed necessary to comply with the actions or requirements of the governmental, administrative or judicial body until such time as the dispute is settled. In this event you agree to hold Azure harmless for any action taken by Azure.

\r\n

You agree to submit, without prejudice to other potentially applicable jurisdictions, to the jurisdiction of the courts (1) of your domicile, (2) where registrar is located or (3) where the registry operator is located (e.g., China for .CN, Columbia for .CO, UK for .EU, etc.).

\r\n

\r\n

In the case of .ca domain names, you agree that, if your use of the service or the registration of a .ca domain name is challenged by a third party, you will be subject to the provisions specified by CIRA in their dispute resolution policy, in effect at the time of the dispute.

\r\n

\r\n

7. TRANSFER OF DOMAIN NAMES; RESALE PRACTICES

\r\n

If you transfer any domain name, you agree to provide the information required by, and to abide by, the procedures and conditions set forth in our Domain Name Transfer Agreement and Change of Registrant Agreement. You may view the latest versions of our Domain Name Transfer Agreement and Change of Registrant Agreementonline. In order to further protect your domain name, any domain name registered with Azure or transferred to Azure shall be placed on lock status, unless an opted-out has occurred as defined in our Change of Registrant Agreement or Domain Name Proxy Agreement. The domain name must be placed on unlock status in order to initiate a transfer of the domain name away from Azure to a new Registrar. You may log into your account with Azure at any time after your domain name has been successfully transferred to Azure, and change the status to unlock.

\r\n

In the event you are purchasing a domain name on behalf of a third party, you agree to inform any customer of yours, who may be acquiring a domain name through you using Azure's registration services, that they are in fact registering their domain name through Azure and that Azure or its licensor is an accredited registrar with ICANN. You agree not to represent that you are an ICANN-accredited registrar or that you are in any way providing superior access to the ICANN Domain Name Registry. You also agree not to use the ICANN trademark logo in any of your promotional materials including your website.

\r\n

You agree to obtain each of your customers' acceptances to the then current version of this Agreement, and to retain evidence of their acceptance for a period of not less than three (3) years. Should you require that your customers accept additional terms and conditions that are not required by Azure, you agree that such additional terms and conditions shall not conflict with this Agreement and the policies and procedures adopted by ICANN.

\r\n

You agree that Azure is not lending you access to its registrar connections or its registry access, nor will you be deemed to be a registrar in your own right. Furthermore, you agree you will not attempt to gain access to Azure's registrar connections or registry access. You agree to provide complete, accurate and current data for each registrant to be added to a registry in accordance with ICANN requirements for inclusion in the Whois database.

\r\n

You agree to provide your customers with adequate customer support, and to maintain contact with them with regard to providing a medium for them to communicate changes in the information they provided as part of the domain name registration process. Upon receiving corrected or updated information you will, within five (5) business days, provide such information to Azure so Azure may update its registration records. You will retain copies of all communications between you and your customers and will upon request provide Azure copies of same.

\r\n

8. YOUR OBLIGATIONS; SUSPENSION OF SERVICES; BREACH OF AGREEMENT

\r\n

You represent and warrant to the best of your knowledge that, neither the registration of the domain nor the manner it is directly or indirectly used, infringes the legal rights of any third party.  You will comply with all applicable laws, including, but not limited to those relating to privacy, data collection, consumer protection, fair lending, debt collection, organic farming, and disclosure of data and financial disclosures.  If you collect and maintain sensitive health and financial data, you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  You represent that you possess any necessary authorization, charter, license, and/or other related credential for participation in the sector associated with the associated registry tld string.  You will report any material changes to the validity of your authorization, charter, license, and/or other related credential. You will indemnify and hold harmless the registrar and registry operator, and their directors, officers, employees and agents, from and against any and all claims, damages, liabilities, costs and expenses (including reasonable legal fees and expenses) arising out of or related to the domain name registration.  This obligation shall survive expiration or termination of this Agreement or the domain name registration.

\r\n

You agree that, in addition to other events set forth in this Agreement:

\r\n
    \r\n
  1. Your ability to use any of the services provided by Azure is subject to cancellation or suspension in the event there is an unresolved breach of this Agreement and/or suspension or cancellation is required by any policy now in effect or adopted later by ICANN;
  2. \r\n
  3. Your registration of any domain names shall be subject to suspension, cancellation or transfer pursuant to any ICANN adopted specification or policy, or pursuant to any Azure procedure not inconsistent with an ICANN adopted specification or policy (a) to correct mistakes by Azure or the registry operator in registering any domain name; or (b) for the resolution of disputes concerning any domain name.
  4. \r\n
\r\n

You acknowledge and agree that Azure and registry reserve the right to deny, cancel or transfer any registration or transaction, or place any domain name(s) on registry lock, hold or similar status, as either deems necessary, in the unlimited and sole discretion of either Azure or the registry: (i) to comply with specifications adopted by any industry group generally recognized as authoritative with respect to the Internet (e.g., RFCs), (ii) to correct mistakes made by registry or any registrar in connection with a domain name registration, (iii) for the non-payment of fees to registry, (iv) to protect the integrity and stability of the registry, (v) to comply with any applicable court orders, laws, government rules or requirements, requests of law enforcement, or any dispute resolution process, (vi) to comply with any applicable ICANN rules or regulations, including without limitation, the registry agreement, (vii) to avoid any liability, civil or criminal, on the part of registry operator, as well as its affiliates, subsidiaries, officers, directors, and employees, (viii) per the terms of this Agreement, (ix) following an occurrence of any of the prohibited activities described in Section 8 below, or (x) during the resolution of a dispute.

\r\n

You agree that your failure to comply completely with the terms and conditions of this Agreement and any Azure rule or policy may be considered by Azure to be a material breach of this Agreement and Azure may provide you with notice of such breach either in writing or electronically (i.e. email). In the event you do not provide Azure with material evidence that you have not breached your obligations to Azure within ten (10) business days, Azure may terminate its relationship with you and take any remedial action available to Azure under the applicable laws. Such remedial action may be implemented without notice to you and may include, but is not limited to, cancelling the registration of any of your domain names and discontinuing any services provided by Azure to you. No fees will be refunded to you should your Services be cancelled or terminated because of a breach.

\r\n

Azure's failure to act upon or notify you of any event, which may constitute a breach, shall not relieve you from or excuse you of the fact that you have committed a breach.

\r\n

9. RESTRICTION OF SERVICES; RIGHT OF REFUSAL

\r\n

You agree not to use the services provided by Azure, or to allow or enable others, to use the services provided by Azure for the purposes of:

\r\n
    \r\n
  • The transmission of unsolicited email (Spam); and
  • \r\n
  • Repetitive, high volume inquires into any of the services provided by Azure (i.e. domain name availability, etc.).
  • \r\n
\r\n

You acknowledge and agree that you are prohibited from distributing malware, abusively operating botnets, phishing, piracy, trademark or copyright infringement, fraudulent or deceptive practices, counterfeiting or otherwise engaging in activity contrary to applicable law, and you acknowledge and agree that the consequences for such activities include suspension of the domain name.

\r\n

If you are hosting your domain name system (“DNS”) on Azure’s servers, or are using our systems to forward a domain name, URL, or otherwise to a system or site hosted elsewhere, or if you have your domain name registered with Azure, you are responsible for ensuring there is no excessive overloading on Azure’s servers. You may not use Azure’s servers and your domain name as a source, intermediary, reply to address, or destination address for email denial-of-service attack, Internet packet flooding, packet corruption, or other abusive attack. Server hacking or other perpetration of security breaches is prohibited. You agree that Azure reserves the right to deactivate your domain name from its DNS if Azure deems it is the recipient of activities caused by your site that threaten the stability of its network.

\r\n

You agree that Azure, in its sole discretion and without liability to you, may refuse to accept the registration of any domain name. Azure also may in its sole discretion and without liability to you delete the registration of any domain name during the first thirty (30) days after registration has taken place. Azure may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as determined by Azure in its sole discretion, in association with spam or morally objectionable activities. Morally objectionable activities will include, but not be limited to:

\r\n
    \r\n
  • Activities prohibited by the laws of the United States and/or foreign territories in which you conduct business;
  • \r\n
  • Activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography; and
  • \r\n
  • Activities designed to harm or use unethically minors in any way.
  • \r\n
\r\n

In the event Azure refuses a registration or deletes an existing registration during the first thirty (30) days after registration, you will receive a refund of any fees paid to Azure in connection with the registration either being cancelled or refused. In the event Azure deletes the registration of a domain name being used in association with spam or morally objectionable activities, no refund will be issued.

\r\n

10. DEFAULT SETTINGS; PARKED PAGE

\r\n

Choosing Your Domain Name Settings.  When you register a domain name with Azure, you will be prompted to choose your domain name settings during the checkout process.  If you plan on using another provider for your website or hosting needs, then you should enter the name servers of such provider when you choose your domain name settings.  This will direct your domain name away from Azure’s name servers.  If you are an existing Azure customer and have already set up a customer profile designating your domain name settings for new domain name registrations, you will not need to complete this step again during the checkout process.   

\r\n

Azure’s Default Settings.  If you do not direct your domain name away from Azure’s name servers as described above, Azure will direct your domain name to a “Parked Page” (“Default Setting”).  You acknowledge and agree that Azure has the right to set the Default Setting. 

\r\n

Parked Page Default Setting.  Azure’s Parked Page service is an online domain monetization system designed to generate revenue (through the use of pay per click advertising) from domain names that are not actively being used as websites.  If your domain name is directed to a Parked Page, you acknowledge and agree that Azure may display both (a) in-house advertising (which includes links to Azure products and services) and (b) third-party advertising (which includes links to third-party products and services) on your Parked Page through the use of pop-up or pop-under browser windows, banner advertisements, audio or video streams, or any other advertising means, and we may aggregate for our own use, related usage data by means of cookies and other similar means.  In addition, you acknowledge and agree that all in-house and third-party advertising will be selected by Azure and its advertising partners, as appropriate, and you will not be permitted to customize the advertising, or entitled to any compensation in exchange therefor.  Please note that the third-party advertising displayed on Azure’s Parked Pages may contain content offensive to you, including but not limited to links to adult content.  Azure makes no effort to edit, control, monitor, or restrict the content and third-party advertising displayed on Azure’s Parked Pages, and expressly disclaims any liability or responsibility to you or any third party in connection therewith.

\r\n

Changing Azure’s Default Settings.  You may change Azure’s Default Settings at any time during the term of your domain name registration.

\r\n
    \r\n
  1. Content Displaying On Your Parked Page.  You can not modify the content displaying on your Parked Page.  You may select one of the other options listed below.
  2. \r\n
  3. Participating In Domain Name Monetization.  If you wish to participate in the domain monetization potential presented by Azure’s Parked Page service, please review and consider purchasing our CashParking® service.   
  4. \r\n
  5. No Content.  If the options listed above are not acceptable to you, please contact customer support to learn what other options might be available to you.
  6. \r\n
\r\n

Return To Parked Page Default Setting Upon Domain Name Expiration.  Upon domain name expiration, and regardless of how you use your domain name during the term of your domain name registration, your domain name will automatically return to the Parked Page Default Setting described above.  As used in this paragraph, “expiration” is deemed to include any “renewal period” or “redemption period” immediately after the domain name expires, but before the domain name is returned to the registry.  Once your domain name has returned to the Parked Page Default Setting described above, the only way to opt out of the Parked Page service is to renew, redeem, or re-register your domain name in accordance with Section 2(B), Domain Name Renewal Terms, of this Agreement.   

\r\n

11. DOMAIN ADD-ONS

\r\n

Business Registration:  Business registration allows You to display additional information about the business that is the basis of Your domain name, including, but not limited to, such information as Your fax number, street address, and hours of operation.

\r\n

Certified Domains.  The certified domain service generally allow You to: (i) put a Certified Domain Validation seal on Your website; and (ii) have Your domain name listed as \"Certified\", in WHOIS lookups on our website.   The Certified Domain Validation seal renews independently of Your domain. When You renew Your domain, You must also, when necessary, separately renew Your Certified Validation seal. However, the Certified Domain Validation seal can be cancelled independently of Your domain. If the domain is cancelled, the Certified Domain associated with the cancelled domain will automatically cancel.  The Certified Domain seal is a trademark and is protected by copyright, trademark and other intellectual property laws. You may use the Certified Domain seal only in conjunction with the purchase of the Services set forth in the Agreement, and subject to the terms and conditions hereof. Other than provided for in this Agreement, You may not otherwise use, reproduce, or modify the mark for any additional promotional use, without our prior written approval. Your right to the use of the Certified Domain seal is immediately terminated upon expiration or termination of this Agreement.

\r\n

Expiration Consolidation.  You understand and acknowledge the expiration consolidation service may only be used to consolidate the expiration of .com and .net domain names. The service may not be used to consolidate domains that are on Registrar HOLD, Registry HOLD, or pending Transfer status. You acknowledge the service may only be used to push the expiration date of Your domains forward in time, at least one (1) month forward and no more than ten (10) years forward, and then, only for a period lasting less than twelve (12) months. Once the service has been used to consolidate domains, the new expiration date may not be reversed. To ensure the service is not abused or used as an alternative to renewals, you may only use the service on each domain once in any 12-month period. The service may only be used on domain names that have not passed their expiration date. In order to change the expiration date again, You will be required to renew the domain name first.  You further understand and acknowledge the service may only be used to coordinate domains where we are the registrar of record. Domains not registered with us must be transferred before we can perform the Service. 

\r\n

\r\n

Backordering/Monitoring.  You agree a domain name that has expired shall be subject first to a grace period of twelve (12) days, followed by the ICANN-mandated redemption grace period of thirty (30) days. During this period of time, the current domain name registrant may renew the domain name and retain ownership. We do not guarantee your backorder will result in you obtaining the domain name and expressly reserves the right to (a) refuse additional backorders or (b) cancel existing backorders at any time for any reason.  If your backorder is refused or cancelled, we agree to promptly refund any fees paid for such domain name backorder. The domain name may also be placed in a secondary market for resale through the Auctions® service.  After your first year of Auctions membership, you agree that unless otherwise advised, we will automatically renew your Auctions membership using the payment method you have on file for so long as your backorder credit is active. You may learn more about Auctions by visiting the Auctions website. The domain name may also be subject to a drop pool process before it is available for purchasing. You understand we and our registrar affiliates use our services, including backordering.  Therefore, the domain name may be registered with a different registrar, but can be managed through your account.  By using the Services, you will be able to, among other things:

\r\n
    \r\n
  1. Backorder any domain name under the top level domains .COM, .NET, .US, .BIZ, .INFO, .ORG, .MOBI. A backorder for a domain name will include the price of up to a one-year domain name registration. Should you successfully backorder any domain name, you will be subject to the terms and conditions of the Domain Name Registration and related agreements, which are incorporated herein by reference.
  2. \r\n
  3. Change your backorder until you obtain a domain name. You will have the opportunity to change the credit to a different domain name until you successfully capture one. After three (3) years, if the credit is not used, we reserves the right to remove the credit.
  4. \r\n
  5. Subscribe monthly to an expiring domain name list. You may also choose to purchase a subscription to a list of domain names expiring within the next five (5) days. If you subscribe to the expiring domain name list, you agree the payment method you have on file may be charged on a monthly subscription basis for the term of the Services you purchase.
  6. \r\n
  7. Select domain names off the expiring domain name list you would like to register. Each domain name you attempt to backorder will include the price of up to a one-year domain name registration, as set forth in subsection (i) above.
  8. \r\n
  9. Monitor your currently registered domain names for changes in registrar, status, expiration date or name servers at no additional cost.
  10. \r\n
  11. Subscribe to Domain Alert Pro or monitoring, which enables you to monitor any currently registered domain name, regardless of registrar, for historical tracking of status changes and designation of multiple email notification addresses.
  12. \r\n
\r\n

\r\n

\r\n

Transfer Validation. The transfer validation service is provided to help You keep Your domain name secure. By choosing to use the service, You are making an explicit and voluntary request to us to deny all attempts to transfer Your domain name to another registrar, or to move Your domain name to another account, unless You verify each request as described herein. You will provide us with a contact name, phone number and PIN for domain transfer validations. You will be contacted by us when a domain transfer is requested for a domain name in Your account. When we receive a transfer request, we will call You to verify the transfer request. If we cannot reach You with seventy-two (72) hours of receipt of the transfer request, the transfer will be denied. If You do not provide the proper PIN, the transfer will be denied. When we receive a change of account request, we will call You to verify the change request. If we cannot reach You with seventy-two (72) hours of receipt of the change request, the change will be denied. If You do not provide the proper PIN, the change will be denied. Availability of Services are subject to the terms and conditions of this Agreement and each of our policies and procedures. We shall use commercially reasonable efforts to attempt to provide certain portions of the Services on a twenty-four (24) hours a day, seven (7) days a week basis throughout the term of this Agreement and other portions of the service, during normal business hours. You acknowledge and agree that from time to time the Services may be inaccessible or inoperable for any reason, including, without limitation: (i) equipment malfunctions; (ii) periodic maintenance procedures or repairs that we may undertake from time to time; or (iii) causes beyond the reasonable control of us or that are not reasonably foreseeable by us, including, without limitation, interruption or failure of telecommunication or digital transmission links, hostile network attacks, network congestion or other failures. You acknowledge and agree that we has no control over the availability of the service on a continuous or uninterrupted basis.

\r\n

\r\n

12. PRE-REGISTRATIONS

\r\n

If you submit an application for pre-registration of a domain name, Azure does not guarantee that the name will be secured for you, or that you will have immediate access to the domain name if secured.  Azure may use third-party service providers for the pre-registration services.

\r\n

13. PROVISIONS SPECIFIC TO .BIZ REGISTRATIONS

\r\n

Domain Name Dispute Policy.  If you reserved or registered a .BIZ domain name through us, in addition to our Dispute Resolution Policy, you hereby acknowledge that you have read and understood and agree to be bound by the terms and conditions of the Restrictions Dispute Resolution Policy applicable to the .biz TLD.

\r\n

The RDRP sets forth the terms under which any allegation that a domain name is not used primarily for business or commercial purposes shall be enforced on a case-by-case basis by an independent ICANN-accredited dispute provider. Registry Operator will not review, monitor, or otherwise verify that any particular domain name is being used primarily for business or commercial purposes or that a domain name is being used in compliance with the SUDRP or UDRP processes.

\r\n

One Year Registration.  If you are registering a .BIZ domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .BIZ domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .BIZ domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

\r\n

14. PROVISIONS SPECIFIC TO .INFO REGISTRATIONS 

\r\n

One Year Registration.  If you are registering a .INFO domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .INFO domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .INFO domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

15. PROVISIONS SPECIFIC TO .MOBI REGISTRATIONS 

\r\n

Instant Mobilizer. You are hereby granted a personal, revocable, non-exclusive, non-transferable, non-assignable, non-sublicensable license to use the Instant Mobilizer service (“Service”), provided, however, You abide by the terms and conditions set forth. You shall not alter, modify, adapt or translate the whole or part of the Service in any way whatsoever. You may not create derivative works based on the Service. You may not rent, lease, assign, dispose of, novate, sub-license or otherwise transfer any of its rights to use the Service to any third party.  In the event that the volume of traffic to You from Your use of the Service is sufficient so as to jeopardize the provision of Service for other end users, we and our licensors reserve the right to, at its sole discretion, permanently or temporarily, discontinue Your use of the Service. For the avoidance of doubt, the volume of traffic generated by You should not exceed two thousand (2,000) page views per day.  You acknowledge and agree the text \"Instant Mobilizer from dotMobi\" or equivalent, will be inserted at the footer of Your site.  In the event a dotMobi domain to which the Service is being provided is transferred to another domain name registrar, the Service will be interrupted on that dotMobi domain, and Service will not be restored if the new registrar does not offer the Service. 

\r\n

\r\n

16. PROVISIONS SPECIFIC TO .NAME REGISTRATIONS 

\r\n

\r\n

17. PROVISIONS SPECIFIC TO .REISE REGISTRATIONS

\r\n

Domain Names registered in .REISE should be used for purposes dedicated to travel topics within six months following initial Registration, e.g. utilized on the Internet or otherwise used to perform a function.

\r\n

18. PROVISIONS SPECIFIC TO .SEXY REGISTRATIONS

\r\n

You shall not permit content unsuitable for viewing by a minor to be viewed from the main or top-level directory of a .SEXY domain name. For purposes of clarity, content viewed at the main or top-level directory of a .SEXY domain name is the content immediately visible if a user navigates to http://example.sexy or http://www.example.sexy. No restrictions apply to the content at any other page or subdirectory addressed by a .SEXY Registered Name. 

\r\n

19. COUNTRY CODE TOP LEVEL DOMAINS

\r\n

You represent and warrant that you meet the eligibility requirements of each ccTLD you apply for. You further agree to be bound by any registry rules, policies, and agreements for that particular ccTLD. These may include, but are not limited to, agreeing to indemnify the ccTLD provider, limiting the liability of the ccTLD provider, and requirements that any disputes be resolved under that particular country's laws.

\r\n

(A) PROVISIONS SPECIFIC TO .AU REGISTRATIONS 

\r\n

.au Registrations (to include com.au, net.au and org.au) are governed by the following additional terms and conditions:

\r\n

auDA. auDA means .au Domain Administration Limited ACN 079 009 340, the .au domain names administrator.  The Registrar acts as agent for auDA for the sole purpose, but only to the extent necessary, to enable auDA to receive the benefit of rights and covenants conferred to it under this Agreement. auDA is an intended third party beneficiary of this agreement.

\r\n

auDA Published Policy.  auDA Published Policies means those specifications and policies established and published by auDA from time to time at http://www.auda.org.au.  You must comply with all auDA Published Policies, as if they were incorporated into, and form part of, this Agreement. In the event of any inconsistency between any auDA Published Policy and this Agreement, then the auDA Published Policy will prevail to the extent of such inconsistency.  You acknowledge that under the auDA Published Policies: (1) there are mandatory terms and conditions that apply to all domain names; (2) licences, and such terms and conditions are incorporated into, and form part of, this Agreement; (3) You are bound by, and must submit to, the .au Dispute Resolution Policy; and (4) auDA may delete or cancel the registration of a .au domain name. 

\r\n

auDA's Liabilities and Indemnity.  To the fullest extent permitted by law, auDA will not be liable to Registrant for any direct, indirect, consequential, special, punitive or exemplary losses or damages of any kind (including, without limitation, loss of use, loss or profit, loss or corruption of data, business interruption or indirect costs) suffered by Registrant arising from, as a result of, or otherwise in connection with, any act or omission whatsoever of auDA, its employees, agents or contractors. Registrant agrees to indemnify, keep indemnified and hold auDA, its employees, agents and contractors harmless from all and any claims or liabilities, arising from, as a result of, or otherwise in connection with, Registrant's registration or use of its .au domain name. Nothing in this document is intended to exclude the operation of Trade Practices Act 1974.

\r\n

(B) PROVISIONS SPECIFIC TO .CA REGISTRATIONS

\r\n

You acknowledge and agree that registration of your selected domain name in your first application to CIRA shall not be effective until you have entered into and agreed to be bound by CIRA's Registrant Agreement.

\r\n

CIRA Certified Registrar.  The registrar shall immediately give notice to you in the event that it is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated, or the Registrar Agreement between CIRA and the Registrar is terminated or expires. CIRA may post notice of such suspension, termination, or expiry on its website and may, if CIRA deems appropriate, give notice to the registrants thereof. In the event that the registrar is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated or in the event the Registrar Agreement between CIRA and the Registrar is terminated or expires, you shall be responsible for changing your Registrar of Record to a new CIRA Certified Registrar within thirty (30) days of the earlier of notice thereof being given to you by (i) the Registrar or (ii) CIRA in accordance with CIRA's then current Registry PRP; provided, however, that if any of your domain name registrations are scheduled to expire within thirty (30) days of the giving of such notice, then you shall have thirty (30) days from the anniversary date of the registration(s), to register with a new CIRA certified registrar and to renew such domain name registration(s) in accordance with the Registry PRP.

\r\n

You acknowledge and agree that should there be insufficient funds prepaid by the registrar in the CIRA Deposit Account to be applied in payment of any fees, CIRA may in its sole discretion stop accepting applications for domain name registrations from the registrar, stop effecting registrations of domain names and transfers, renewals, modifications, and cancellations requested by the registrar and stop performing other billable transactions requested by the registrar not paid in full and CIRA may terminate the Registrar Agreement between CIRA and the Registrar.

\r\n

.CA ASCII and IDN domain variants are bundled and reserved for a single registrant.  Registrants are not required to register all variants in a bundle, but all registered variants must be registered and managed at a single registrar. Each variant registered will incur a registration fee.  In addition, when registering multiple .CA domain (ASCII and IDN) variants in a bundle, your registrant information must be identical.  If variants are registered at other registrars or if registrant information does not match, it may result in an \"unavailable\" search result, delayed or failed registration. If information does not match, validation is required and may take up to seven business days and delay availability of domain. 

\r\n

(C) PROVISIONS SPECIFIC TO .CN REGISTRATIONS 

\r\n

.CN is a restricted TLD – applications are subject to both a domain name check and real name verification as required by the China.  Registrations in .CN are therefore subject to the following additional terms:

\r\n

Verification, Registration and Activation.  If a domain name is not permitted to be registered by the Chinese government, as determined by us, the Registry Operator and/or a 3rd party provider utilized for such services and determinations, in either party’s discretion, the application for registration will not be successful.  In such event, the name will be deleted and you will be eligible for a refund as further described below.

\r\n

If permitted, then the Registration may proceed, but a .CN domain name may not be activated (i.e., it will not resolve in the Internet) unless and until you have submitted (via the process described during registration) valid documents required of us and the Registry to perform real name verification.  The following are acceptable forms of documents for the purpose of verification:

\r\n
    \r\n
  • China: Resident ID, temporary resident ID, business license or organization code certificate
  • \r\n
  • Hong Kong Special Administrative Region/Macao Special Administrative Region: Resident ID, driver’s license, passport or business license
  • \r\n
  • Singapore: Driver’s license, passport or business license
  • \r\n
  • Taiwan: Resident ID, driver’s license or business license
  • \r\n
  • Other Countries/Regions: Driver’s license or passport
  • \r\n
\r\n

Documents submitted to us are used by us and shared with the Registry solely for the purpose of real name verification, and are otherwise subject to our Privacy Policy.  By registering a .CN domain, you expressly agree that your data may be stored on servers in the U.S., or otherwise outside of the China.

\r\n

Refunds.  Refunds for .CN Registrations will only be allowed where (i) registration of the applied for domain name is not permitted by the Chinese government; or (ii) you notify us of your intent to cancel for any reason within the first five (5) days after the Registration (i.e., after it is deemed permissible by the Chinese government).  For the avoidance of doubt, refunds will not be permitted under any circumstances after five (5) days from the date of Registration, including, for example, in the event real name verification is not successful or if the Chinese government determines after Registration that the domain name should not have been registered (and directs us to delete).

\r\n

(D) PROVISIONS SPECIFIC TO .JP REGISTRATIONS

\r\n

Registration Restrictions.  You represent and warrant that you have a local presence in Japan with a home or office address. You agree that certain domain names are reserved and can only be registered by certain parties. These include: (i) TLDs, other than ccTLDs, as determined by ICANN; (ii) geographical-type .JP domain names that are defined as metropolitan, prefectural, and municipal labels; (iii) names of primary and secondary educational organizations; (iv) names of organizations related to Internet management; (v) names required for .JP domain name operations; and (vi) character strings which may be confused with ASCII-converted Japanese domain names. The complete list of .JP Reserved Domains is available here

\r\n

20. ENGLISH LANGUAGE CONTROLS

\r\n

This Agreement, along with all policies and the applicable product agreements identified above and incorporated herein by reference (collectively, the “Agreement”), is executed in the English language. To the extent any translation is provided to you, it is provided for convenience purposes only, and in the event of any conflict between the English and translated version, where permitted by law, the English version will control and prevail. Where the translated version is required to be provided to you and is to be considered binding by law (i) both language versions shall have equal validity, (ii) each party acknowledges that it has reviewed both language versions and that they are substantially the same in all material respects, and (iii) in the event of any discrepancy between these two versions, the translated version may prevail, provided that the intent of the Parties has been fully taken into consideration. 

\n
\n
\n\nRevised: 10/6/17
\nCopyright © 2000-2017 All Rights Reserved.\n
\n
\n
", + "title": "Domain Name Registration Agreement", "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=reg_sa&pl_id=510456" }, { "agreementKey": "DNPA", - "title": "Domain Name Proxy Agreement", "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Proxy Agreement\n
\n

Last Revised: October 25, 2017

\n

Please read this Domain Name Proxy Agreement (\"Agreement\") carefully. By using the Services and/or website of Domains By Proxy, LLC, a Delaware limited liability company (\"DBP\"), You (as defined below) agree to all the terms and conditions set forth both herein and in the DBP privacy policy, which is incorporated by reference and can be found by clicking here.  You acknowledge that DBP may amend this Agreement at any time upon posting the amended terms on its website, and that any new, different or additional features changing the services provided by DBP will automatically be subject to this Agreement. If You do not agree to be bound by, or if You object to, the terms and conditions of this Agreement and any amendments hereto, do not use or access DBP's services. Continued use of DBP's services and its website after any such changes to this Agreement have been posted, constitutes Your acceptance of those changes.

\r\n

This Agreement is by and between DBP and you, your heirs, assigns, agents and contractors (\"You\") and is made effective as of the date of electronic execution. This Agreement sets forth the terms and conditions of Your relationship with DBP and Your use of DBP's services and represents the entire Agreement between You and DBP. By using DBP's Services, You acknowledge that You have read, understand and agree to be bound by all the terms and conditions of this Agreement, and You further agree to be bound by the terms of this Agreement for transactions entered into by:

\r\n
    \r\n
  1. You on Your behalf;
  2. \r\n
  3. Anyone acting as Your agent; and
  4. \r\n
  5. Anyone who uses the account You have established with DBP, whether or not the transactions were on Your behalf and/or authorized by You.
  6. \r\n
\r\n

You agree You will be bound by representations made by third parties acting on Your behalf, which either use or purchase services from DBP. You further agree that DBP will not be bound by statements of a general nature on DBP's website or DBP promotional materials. You further agree to abide by the terms and conditions promulgated by the Internet Corporation for Assigned Names and Numbers (\"ICANN\") (including the Uniform Domain Name Dispute Resolution Policy (\"Dispute Resolution Policy\") and Your Registrar (i.e., the ICANN-accredited person or entity through which You register a domain name).

\r\n

1. description of DBP's private registration services

\r\n

When You subscribe to DBP's private registration service through a DBP-affiliated Registrar, DBP will display its contact information in the publicly available \"Whois\" directory in place of Your information. DBP shall keep Your name, postal address, email address, phone and fax numbers confidential, subject to Section 4 of this Agreement. The following information (and not Your personal information) will be made publicly available in the \"Whois\" directory as determined by ICANN policy:

\r\n
    \r\n
  1. DBP's name as the proxy Registrant of the domain name and a proxy email address, phone number and postal address for the proxy Registrant's contact information;
  2. \r\n
  3. A proxy postal address and phone number for the domain name registration's technical contact;
  4. \r\n
  5. A proxy email address, postal address and phone number for the domain name registration's administrative contact;
  6. \r\n
  7. A proxy email address, postal address and phone number for the domain's name registration's billing contact;
  8. \r\n
  9. The primary and secondary domain name servers You designate for the domain name;
  10. \r\n
  11. The domain name's original date of registration and expiration date of the registration; and
  12. \r\n
  13. The identity of the Registrar.
  14. \r\n
\r\n

2. full benefits of domain registration retained by you

\r\n

Although DBP will show in the \"Whois\" directory as the Registrant of each domain name registration You designate, You will retain the full benefits of domain name registration with respect to each such domain name registration, including, subject to Section 4 below:

\r\n
    \r\n
  1. The right to sell, transfer or assign each domain name registration, which shall require cancellation of the DBP services associated with each such domain name registration;
  2. \r\n
  3. The right to control the use of each domain name registration, including designating the primary and secondary domain name servers to which each domain name points;
  4. \r\n
  5. The right to cancel each domain name registration;
  6. \r\n
  7. The right to cancel the DBP services associated with each domain name registration and/or Your privacy services with DBP so that Your contract information is listed in the \"Whois\" directory; and
  8. \r\n
  9. The right to renew each domain name registration upon its expiration, subject to Your Registrar's applicable rules and policies.
  10. \r\n
\r\n

3. PERSONAL INFORMATION AND your notification obligations; representation and warranties; ACCOUNT SECURITY

\r\n

Personal Information and Your Notification Obligations 

\r\n

You agree that for each domain name for which you use DBP services, You will provide accurate and current information as to:

\r\n
    \r\n
  1. Your name, the email address, postal address, phone and fax numbers for the domain name registration's Registrant contact;
  2. \r\n
  3. The email address, postal address, phone and fax numbers for the domain name registration's technical contact;
  4. \r\n
  5. The email address, postal address, phone and fax numbers for the domain name registration's administrative contact;
  6. \r\n
  7. The email address, postal address, phone and fax numbers for the domain name registration's billing contact; and
  8. \r\n
  9. You agree to provide government issued photo identification and/or government issued business identification as required for verification of identity when requested.
  10. \r\n
\r\n

You agree to:

\r\n
    \r\n
  1. Notify DBP within three (3) calendar days when any of the personal information You provided upon subscribing to DBP's services, changes;
  2. \r\n
  3. Respond within three (3) calendar days to any inquiries made by DBP to determine the validity of personal information provided by You; and
  4. \r\n
  5. Timely respond to email messages DBP sends to You regarding correspondence DBP has received that is either addressed to or involves You and/or Your domain name registration, as more fully set forth in Section 5(c) below.
  6. \r\n
  7. To allow DBP to act as your Designated Agent (as that term is defined below) in instances when DBP services are added to or cancelled from your domain name and for the purpose of facilitating a change of registrant request (as further described below). 
  8. \r\n
\r\n

It is Your responsibility to keep Your personal information current and accurate at all times.

\r\n

Renewals

\r\n

You agree DBP will arrange for Your Registrar to charge the credit card You have on file with the Registrar, at the Registrar's then current rates.

\r\n

If for any reason DBP and/or the Registrar for Your domain name is unable to charge Your credit card for the full amount of the service provided, or if DBP and/or the Registrar is charged back for any fee it previously charged to the credit card You provided, You agree that DBP and/or the Registrar may, without notice to You, pursue all available remedies in order to obtain payment, including but not limited to immediate cancellation of all services DBP provides to You.

\r\n

Representations and Warranties

\r\n

You warrant that all information provided by You to DBP is truthful, complete, current and accurate. You also warrant that You are using DBP's private registration services in good faith and You have no knowledge of Your domain name infringing upon or conflicting with the legal rights of a third party or a third party's trademark or trade name. You also warrant the domain name being registered by DBP on Your behalf will not be used in connection with any illegal activity, or in connection with the transmission of Spam, or that contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable or, disrupting, damaging or limiting the functionality of any software or hardware.

\r\n

Account Security

\r\n

You agree You are entirely responsible for maintaining the confidentiality of Your customer number/login ID and password (\"Account Access Information\").  You agree to notify DBP immediately of any unauthorized use of Your account or any other breach of security.  You agree DBP will not be liable for any loss that You may incur as a result of someone else using Your Account Access Information, either with or without Your knowledge.  You further agree You could be held liable for losses incurred by DBP or another party due to someone else using Your Account Access Information.  For security purposes, You should keep Account Access Information in a secure location and take precautions to prevent others from gaining access to Your Account Access Information.  You agree that You are entirely responsible for all activity in Your account, whether initiated by You, or by others.  DBP specifically disclaims liability for any activity in Your account, regardless of whether You authorized the activity.

\r\n

Designated Agency and Change of Registrant Information

\r\n

“DESIGNATED AGENT” MEANS AN INDIVIDUAL OR ENTITY THAT THE PRIOR REGISTRANT OR NEW REGISTRANT EXPLICITLY AUTHORIZES TO APPROVE A CHANGE OF REGISTRANT REQUEST ON ITS BEHALF.  IN THE CASE OF DBP SERVICES, A CHANGE OF REGISTRANT REQUEST MAY ALSO ARISE DUE TO INSTANCES WHERE DBP SERVICES ARE ADDED, OR REMOVED, FROM A DOMAIN NAME.  FOR THE PURPOSE OF FACILITATING ANY SUCH CHANGE REQUEST, AND IN ACCORDANCE WITH ICANN'S CHANGE OF REGISTRANT POLICY, YOU AGREE TO APPOINT DBP AS YOUR DESIGNATED AGENT FOR THE SOLE PURPOSE OF EXPLICITLY CONSENTING TO MATERIAL CHANGES OF REGISTRATION CONTACT INFORMATION ON YOUR BEHALF.

\r\n

4. DBP's rights to deny, suspend, terminate service and to disclose your personal information

\r\n

You understand and agree that DBP has the absolute right and power, in its sole discretion and without any liability to You whatsoever, to:

\r\n
    \r\n
  1. Cancel the privacy service (which means that Your information will be available in the \"Whois\" directory) and/or reveal Your name and personal information that You provided to DBP:  
    A. When required by law, in the good faith belief that such action is necessary in order to conform to the edicts of the law or in the interest of public safety;
    B. To comply with legal process served upon DBP or in response to a reasonable threat of litigation against DBP (as determined by DBP in its sole and absolute discretion); or
    C. To comply with ICANN rules, policies, or procedures.
  2. \r\n
  3. Resolve any and all third party claims, whether threatened or made, arising out of Your use of a domain name for which DBP is the registrant listed in the \"Whois\" directory on Your behalf; or
  4. \r\n
  5. Take any other action DBP deems necessary:
    A. In the event you breach any provision of this Agreement or the DBP Anti-Spam Policy;
    B. To protect the integrity and stability of, and to comply with registration requirements, terms, conditions and policies of, the applicable domain name Registry and/or Registry Provider;
        C. To comply with any applicable laws, government rules or requirements, subpoenas, court orders or requests of law enforcement; 
    D. To comply with ICANN's Dispute Resolution Policy or ICANN's Change of Registrant Policy;
    E. To avoid any financial loss or legal liability (civil or criminal) on the part of DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, officers, directors and employees;
    F. If the domain name for which DBP is the registrant on Your behalf violates or infringes a third party's trademark, trade name or other legal rights; and
    G. If it comes to DBP's attention that You are using DBP's services in a manner (as determined by DBP in its sole and absolute discretion) that:
  6. \r\n
\r\n
\r\n
    \r\n
  • Is illegal, or promotes or encourages illegal activity;
  • \r\n
  • Promotes, encourages or engages in child pornography or the exploitation of children;
  • \r\n
  • Promotes, encourages or engages in terrorism, violence against people, animals, or property;
  • \r\n
  • Promotes, encourages or engages in any spam or other unsolicited bulk email, or computer or network hacking or cracking;
  • \r\n
  • Violates the Ryan Haight Online Pharmacy Consumer Protection Act of 2008 or similar legislation, or promotes, encourages or engages in the sale or distribution of prescription medication without a valid prescription;  
  • \r\n
  • Infringes on the intellectual property rights of another User or any other person or entity;
  • \r\n
  • Violates the privacy or publicity rights of another User or any other person or entity, or breaches any duty of confidentiality that you owe to another User or any other person or entity;
  • \r\n
  • Interferes with the operation of DBP services;
  • \r\n
  • Contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable of, disrupting, damaging or limiting the functionality of any software or hardware; or
  • \r\n
  • Contains false or deceptive language, or unsubstantiated or comparative claims, regarding DBP or its services.
  • \r\n
\r\n
\r\n

You further understand and agree that if DBP is named as a defendant in, or investigated in anticipation of, any legal or administrative proceeding arising out of Your domain name registration or Your use of DBP's services, Your private registration service may be canceled, which means the domain name registration will revert back to You and Your identity will therefore be revealed in the Whois directory as Registrant.

\r\n

In the event:

\r\n
    \r\n
  1. DBP takes any of the actions set forth in subsection i, ii, or iii above or section 5; and/or
  2. \r\n
  3. You elect to cancel DBP's services for any reason --
  4. \r\n
\r\n

Neither DBP nor your Registrar will refund any fees paid by You whatsoever.

\r\n

5. communications forwarding

\r\n

a. Correspondence Forwarding

\r\n

Inasmuch as DBP's name, postal address and phone number will be listed in the Whois directory, You agree DBP will review and forward communications addressed to Your domain name that are received via email, certified or traceable courier mail (such as UPS, FedEx, or DHL), or first class U.S. postal mail. You specifically acknowledge DBP will not forward to You first class postal mail (other than legal notices), \"junk\" mail or other unsolicited communications (whether delivered through email, fax, postal mail or telephone), and You further authorize DBP to either discard all such communications or return all such communications to sender unopened. You agree to waive any and all claims arising from Your failure to receive communications directed to Your domain name but not forwarded to You by DBP.

\r\n

b. Email Forwarding

\r\n

The Whois directory requires an email address for every purchased domain name registration. When You purchase a private domain registration, DBP creates a private email address for that domain name, \"@domainsbyproxy.com\". Thereafter, when messages are sent to that private email address, DBP handles them according to the email preference You selected for that particular domain name. You have three (3) email preferences from which to choose. You can elect to:

\r\n
    \r\n
  1. Have all of the messages forwarded;
  2. \r\n
  3. Have all of the messages filtered for Spam and then forwarded; or
  4. \r\n
  5. Have none of the messages forwarded.
  6. \r\n
\r\n

As with all communications, You agree to waive any and all claims arising from Your failure to receive email directed to Your domain name but not forwarded to You by DBP.

\r\n

c. Notifications Regarding Correspondence and Your Obligation to Respond

\r\n

When DBP receives certified or traceable courier mail or legal notices addressed to Your domain name, in most cases, DBP will attempt to forward the mail to you via email. If You do not respond to the DBP email and/or the correspondence DBP has received regarding Your domain name registration concerns a dispute of any kind or otherwise requires immediate disposition, DBP may immediately reveal Your identity and/or cancel the DBP private registration service regarding either the domain name registration(s) in question. This means the Whois directory will revert to displaying Your name, postal address, email address and phone number that you provided to DBP.

\r\n

d. Additional Administrative Fees

\r\n

DBP reserves the right to charge You reasonable \"administrative fees\" or \"processing fees\" for (i)  tasks DBP may perform outside the normal scope of its Services, (ii) additional time and/or costs DBP may incur in providing its Services, and/or (iii) Your non-compliance with the Agreement (as determined by DBP in its sole and absolute discretion). Typical administrative or processing fee scenarios include, but are not limited to, (i) customer service issues that require additional personal time and attention; (ii) disputes that require accounting or legal services, whether performed by DBP staff or by outside firms retained by DBP; (iii) recouping any and all costs and fees, including the cost of Services, incurred by DBP as the result of chargebacks or other payment disputes brought by You, Your bank or Payment Method processor.  These administrative fees or processing fees will be billed to the Payment Method You have on file with Your Registrar.

\r\n

You agree to waive the right to trial by jury in any proceeding that takes place relating to or arising out of this Agreement.

\r\n

6. limitations of liability

\r\n

UNDER NO CIRCUMSTANCES SHALL DBP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, SPECIAL, OR CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER RELATED TO THIS AGREEMENT, YOUR DOMAIN NAME REGISTRATION, DBP'S SERVICES, USE OR INABILITY TO USE THE DBP WEBSITE OR THE MATERIALS AND CONTENT OF THE WEBSITE OR ANY OTHER WEBSITES LINKED TO THE DBP WEBSITE OR YOUR PROVISION OF ANY PERSONALLY IDENTIFIABLE INFORMATION TO DBP OR ANY THIRD PARTY. THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE ALLEGED LIABILITY IS BASED ON CONTRACT, TORT, WARRANTY, NEGLIGENCE, STRICT LIABILITY OR ANY OTHER BASIS, EVEN IF DBP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR SUCH DAMAGES WERE REASONABLY FORESEEABLE. BECAUSE CERTAIN JURISDICTIONS DO NOT PERMIT THE LIMITATION OR ELIMINATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, DBP'S LIABILITY IN SUCH JURISDICTIONS SHALL BE LIMITED TO THE SMALLEST AMOUNT PERMITTED BY LAW.

\r\n

YOU FURTHER UNDERSTAND AND AGREE THAT DBP DISCLAIMS ANY LOSS OR LIABILITY RESULTING FROM:

\r\n
    \r\n
  1. THE INADVERTENT DISCLOSURE OR THEFT OF YOUR PERSONAL INFORMATION;
  2. \r\n
  3. ACCESS DELAYS OR INTERRUPTIONS TO OUR WEBSITE OR THE WEBSITES OF OUR AFFILIATED REGISTRARS;
  4. \r\n
  5. DATA NON-DELIVERY OF MIS-DELIVERY BETWEEN YOU AND DBP;
  6. \r\n
  7. THE FAILURE FOR WHATEVER REASON TO RENEW A PRIVATE DOMAIN NAME REGISTRATION;
  8. \r\n
  9. THE UNAUTHORIZED USE OF YOUR DBP ACCOUNT OR ANY OF DBP'S SERVICES;
  10. \r\n
  11. ERRORS, OMISSIONS OR MISSTATEMENTS BY DBP;
  12. \r\n
  13. DELETION OF, FAILURE TO STORE, FAILURE TO PROCESS OR ACT UPON EMAIL MESSAGES FORWARDED TO EITHER YOU OR YOUR PRIVATE DOMAIN NAME REGISTRATION;
  14. \r\n
  15. PROCESSING OF UPDATED INFORMATION REGARDING YOUR DBP ACCOUNT; AND/OR
  16. \r\n
  17. ANY ACT OR OMISSION CAUSED BY YOU OR YOUR AGENTS (WHETHER AUTHORIZED BY YOU OR NOT).
  18. \r\n
\r\n

7. indemnity

\r\n

You agree to release, defend, indemnify and hold harmless DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, directors, officers and employees and Your Registrar, from and against any and all claims, demands, liabilities, losses, damages or costs, including reasonable attorneys' fees, arising out of or related in any way to this Agreement, the services provided hereunder by DBP, the DBP website, Your account with DBP, Your use of Your domain name registration, and/or disputes arising in connection with the dispute policy.

\r\n

8. DBP warranty disclaimer

\r\n

DBP, ITS PARENT COMPANIES, SUBSIDIARIES, AFFILIATES, SHAREHOLDERS, AGENTS, DIRECTORS, OFFICERS, AND EMPLOYEES EXPRESSLY DISCLAIM ALL REPRESENTATIONS AND WARRANTIES OF ANY KIND IN CONNECTION WITH THIS AGREEMENT, THE SERVICE PROVIDED HEREUNDER, THE DBP WEBSITE OR ANY WEBSITES LINKED TO THE DBP WEBSITE, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL DBP SERVICES, AS WELL AS THE DBP WEBSITE, ARE PROVIDED \"AS IS\". YOUR SUBSCRIPTION TO AND USE OF DBP'S SERVICES AND ITS WEBSITE ARE ENTIRELY AT YOUR RISK. SOME JURISDICTIONS DO NOT ALLOW THE DISCLAIMER OF IMPLIED WARRANTIES, IN WHICH EVENT THE FOREGOING DISCLAIMER MAY NOT APPLY TO YOU.

\r\n

9. copyright and trademark

\r\n

You understand and agree that all content and materials contained in this Agreement, the Privacy Policy and the DBP website found here , are protected by the various copyright, patent, trademark, service mark and trade secret laws of the United States, as well as any other applicable proprietary rights and laws, and that DBP expressly reserves its rights in and to all such content and materials.

\r\n

You further understand and agree You are prohibited from using, in any manner whatsoever, any of the afore-described content and materials without the express written permission of DBP. No license or right under any copyright, patent, trademark, service mark or other proprietary right or license is granted to You or conferred upon You by this Agreement or otherwise.

\r\n

10. miscellaneous provisions

\r\n

a. Severability; Construction; Entire Agreement

\r\n

If any part of this Agreement shall be held to be illegal, unenforceable or invalid, in whole or in part, such provision shall be modified to the minimum extent necessary to make it legal, enforceable and valid, and the legality, enforceability and validity of the remaining provisions of this Agreement shall not be affected or impaired. The headings herein will not be considered a part of this Agreement. You agree this Agreement, including the policies it incorporates by reference, constitute the complete and only Agreement between You and DBP regarding the services contemplated herein.

\r\n

b. Governing Law; Venue; Waiver Of Trial By Jury

\r\n

This Agreement shall be governed in all respects by the laws and judicial decisions of Maricopa County, Arizona, excluding its conflicts of laws rules. Except as provided immediately below, You agree that any action relating to or arising out of this Agreement, shall be brought exclusively in the courts of Maricopa County, Arizona. For the adjudication of domain name registration disputes, you agree to submit to the exclusive jurisdiction and venue of the U.S. District Court for the District of Arizona located in Phoenix, Arizona. You agree to waive the right to trial by jury in any proceeding, regardless of venue, that takes place relating to or arising out of this Agreement.

\r\n

c. Notices

\r\n

All notices from DBP to You will be sent to the email address You provided to DBP. Notices by email shall be deemed effective twenty-four (24) hours after the email is sent by DBP, unless DBP receives notice that the email address is invalid, in which event DBP may give You notice via first class or certified mail, return receipt requested. All notices from You to DBP shall be sent via certified mail, return receipt requested or traceable courier to:

\r\n
      Domains By Proxy, LLC
      Attn: General Counsel
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

Notices sent via certified mail or traceable courier shall be deemed effective five (5) days after the date of mailing.

\r\n

d. Insurance

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's negligent actions (and absent fraud or other negligent or willful misconduct committed by a third party), You may be insured against such loss through DBP's Professional Liability Insurance Policy, which is currently underwritten by American International Insurance Company. Of course, every claim is subject to the then-carrier's investigation into the facts and circumstances surrounding such claim. In the event You have reason to believe that circumstances exist which warrant the filing of an insurance claim, please send a written notice (specifying the basis for such claim), via certified mail, return receipt requested, to:

\r\n
      Domains By Proxy, LLC
      Attn: Insurance Claims
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

e. Indemnification

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's willful misconduct, Your Registrar (the \"Indemnifying Party\") will indemnify and hold You harmless against any losses, damages or costs (including reasonable attorneys' fees) resulting from any claim, action, proceeding, suit or demand arising out of or related to the loss of Your domain name registration. Such indemnification obligations under this Section 10(e) are conditioned upon the following:

\r\n
    \r\n
  1. That You promptly give both DBP and the Indemnifying Party written notice of the claim, demand, or action and provide reasonable assistance to the Indemnifying Party, at its cost and expense, in connection therewith, and
  2. \r\n
  3. That the Indemnifying Party has the right, at its option, to control and direct the defense to any settlement of such claim, demand, or action.
  4. \r\n
\r\n

Any notice concerning indemnification shall, with respect to DBP, be sent in accordance with Section 10(c) of this Agreement. With respect to Your Registrar, notices regarding indemnification should be sent in accordance with the notification provisions contained in Your Registrar's Domain Name Registration Agreement.

\r\n

f. Term of Agreement; Survival

\r\n

The terms of this Agreement shall continue in full force and effect as long as DBP is the Registrant for any domain name on Your behalf. Sections 5 (Communications Forwarding), 6 (Limitation of Liability), 7 (Indemnity), 8 (Warranty Disclaimer) and 10 (Miscellaneous Provisions) shall survive any termination or expiration of this Agreement.

\n
\n
\n\nRevised: 10/25/17
\nCopyright © 2003-2017 All Rights Reserved.\n
\n
\n
", + "title": "Domain Name Proxy Agreement", "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=domain_nameproxy&pl_id=510456" } ] - } + }, + "headers": {} } - } + }, + "operationId": "TopLevelDomains_ListAgreements", + "title": "List Top Level Domain Agreements" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json index 4533d784a381..96fe93a3d84c 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json @@ -1,87 +1,89 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "api-version": "2024-11-01" + "api-version": "2024-11-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { "value": [ { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", "name": "com", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", "properties": { "privacy": true } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/net", "name": "net", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/net", "properties": { "privacy": true } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.uk", "name": "co.uk", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.uk", "properties": { "privacy": false } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org", "name": "org", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org", "properties": { "privacy": true } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/nl", "name": "nl", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/nl", "properties": { "privacy": true } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/in", "name": "in", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/in", "properties": { "privacy": false } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/biz", "name": "biz", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/biz", "properties": { "privacy": true } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org.uk", "name": "org.uk", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org.uk", "properties": { "privacy": false } }, { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.in", "name": "co.in", "type": "Microsoft.DomainRegistration/topLevelDomains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.in", "properties": { "privacy": false } } ] - } + }, + "headers": {} } - } + }, + "operationId": "TopLevelDomains_List", + "title": "List Top Level Domains" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json index 72b512af7ca5..911ecc9e2daf 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json @@ -1,13 +1,15 @@ { "parameters": { "api-version": "2024-11-01", - "subscriptionId": "3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545", + "domainName": "example.com", "resourceGroupName": "RG", - "domainName": "example.com" + "subscriptionId": "3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545" }, "responses": { "200": {}, "202": {}, "204": {} - } + }, + "operationId": "Domains_Renew", + "title": "Renew an existing domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json index 1ac0cb632ce4..449adc7551c9 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json @@ -1,115 +1,117 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", + "api-version": "2024-11-01", "domainName": "example.com", - "api-version": "2024-11-01" + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} }, "400": {} - } + }, + "operationId": "Domains_TransferOut", + "title": "Transfer out domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json index eff05220fcb8..bc03d98087a3 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json @@ -1,301 +1,303 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "domainName": "example.com", "api-version": "2024-11-01", "domain": { "properties": { "authCode": "exampleAuthCode", - "privacy": false, "autoRenew": true, - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } + "phone": "1-245-534-2242" + }, + "dnsType": "DefaultDomainRegistrarDns", + "privacy": false } - } + }, + "domainName": "example.com", + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} }, "202": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "name": "example.com", "type": "Microsoft.DomainRegistration/domains", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", "location": "global", - "tags": {}, "properties": { "authCode": "exampleAuthCode", - "registrationStatus": "Active", - "provisioningState": "Succeeded", - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "createdTime": "2021-09-10T19:30:53Z", - "expirationTime": "2022-09-10T19:30:53Z", "autoRenew": true, - "readyForDnsRecordManagement": true, - "managedHostNames": [], - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "dnsType": "DefaultDomainRegistrarDns", "consent": { + "agreedAt": "2021-09-10T19:30:53Z", + "agreedBy": "192.0.2.1", "agreementKeys": [ "agreementKey1" - ], - "agreedBy": "192.0.2.1", - "agreedAt": "2021-09-10T19:30:53Z" + ] }, - "contactTech": { - "email": "tech@email.com", + "contactAdmin": { + "addressMailing": { + "address1": "3400 State St", + "city": "Chicago", + "country": "United States", + "postalCode": "67098", + "state": "IL" + }, + "email": "admin@email.com", "fax": "1-245-534-2242", + "jobTitle": "Admin", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Tech", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactBilling": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactBilling": { + "postalCode": "67098", + "state": "IL" + }, "email": "billing@email.com", "fax": "1-245-534-2242", + "jobTitle": "Billing", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Billing", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactRegistrant": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactAdmin": { - "email": "admin@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "registrant@email.com", "fax": "1-245-534-2242", + "jobTitle": "Registrant", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Admin", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", + "phone": "1-245-534-2242" + }, + "contactTech": { "addressMailing": { "address1": "3400 State St", "city": "Chicago", - "state": "IL", "country": "United States", - "postalCode": "67098" - } - }, - "contactRegistrant": { - "email": "registrant@email.com", + "postalCode": "67098", + "state": "IL" + }, + "email": "tech@email.com", "fax": "1-245-534-2242", + "jobTitle": "Tech", "nameFirst": "John", "nameLast": "Doe", "nameMiddle": "", - "jobTitle": "Registrant", "organization": "Microsoft Inc.", - "phone": "1-245-534-2242", - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "state": "IL", - "country": "United States", - "postalCode": "67098" - } - } - } - } + "phone": "1-245-534-2242" + }, + "createdTime": "2021-09-10T19:30:53Z", + "dnsType": "DefaultDomainRegistrarDns", + "domainNotRenewableReasons": [ + "ExpirationNotInRenewalTimeRange" + ], + "expirationTime": "2022-09-10T19:30:53Z", + "managedHostNames": [], + "nameServers": [ + "ns01.ote.domaincontrol.com", + "ns02.ote.domaincontrol.com" + ], + "privacy": false, + "provisioningState": "Succeeded", + "readyForDnsRecordManagement": true, + "registrationStatus": "Active" + }, + "tags": {} + }, + "headers": {} } - } + }, + "operationId": "Domains_Update", + "title": "Update App Service Domain" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json index cec9f131d7cd..387a3d8a5594 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json @@ -1,27 +1,29 @@ { "parameters": { - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", - "resourceGroupName": "testrg123", - "domainName": "example.com", "name": "SampleOwnershipId", "api-version": "2024-11-01", + "domainName": "example.com", "domainOwnershipIdentifier": { "properties": { "ownershipId": "SampleOwnershipId" } - } + }, + "resourceGroupName": "testrg123", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" }, "responses": { "200": { - "headers": {}, "body": { - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "name": "SampleOwnershipId", "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", "properties": { "ownershipId": "SampleOwnershipId" } - } + }, + "headers": {} } - } + }, + "operationId": "Domains_UpdateOwnershipIdentifier", + "title": "Update App Service Domain OwnershipIdentifier" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json new file mode 100644 index 000000000000..23316498e502 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -0,0 +1,1932 @@ +{ + "swagger": "2.0", + "info": { + "title": "TopLevelDomains API Client", + "version": "2024-11-01", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "Domains" + }, + { + "name": "DomainOwnershipIdentifiers" + }, + { + "name": "TopLevelDomains" + } + ], + "paths": { + "/providers/Microsoft.DomainRegistration/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability": { + "post": { + "operationId": "Domains_CheckAvailability", + "summary": "Check if a domain is available for registration.", + "description": "Description for Check if a domain is available for registration.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "identifier", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/NameIdentifier" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DomainAvailabilityCheckResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check domain availability": { + "$ref": "./examples/CheckDomainAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains": { + "get": { + "operationId": "Domains_List", + "tags": [ + "Domains" + ], + "description": "Description for Get all domains in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DomainCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List domains by subscription": { + "$ref": "./examples/ListDomainsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest": { + "post": { + "operationId": "Domains_GetControlCenterSsoRequest", + "summary": "Generate a single sign-on request for the domain management portal.", + "description": "Description for Generate a single sign-on request for the domain management portal.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DomainControlCenterSsoRequest" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Domain Control Center Sso Request": { + "$ref": "./examples/GetDomainControlCenterSsoRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations": { + "post": { + "operationId": "Domains_ListRecommendations", + "summary": "Get domain name recommendations based on keywords.", + "description": "Description for Get domain name recommendations based on keywords.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/DomainRecommendationSearchParameters" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/NameIdentifierCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List domain recommendations": { + "$ref": "./examples/ListDomainRecommendations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains": { + "get": { + "operationId": "TopLevelDomains_List", + "tags": [ + "TopLevelDomains" + ], + "description": "Description for Get all top-level domains supported for registration.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TopLevelDomainCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Top Level Domains": { + "$ref": "./examples/ListTopLevelDomains.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}": { + "get": { + "operationId": "TopLevelDomains_Get", + "tags": [ + "TopLevelDomains" + ], + "description": "Description for Get details of a top-level domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the top-level domain.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TopLevelDomain" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Top Level Domain": { + "$ref": "./examples/GetTopLevelDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements": { + "post": { + "operationId": "TopLevelDomains_ListAgreements", + "tags": [ + "TopLevelDomains" + ], + "description": "Description for Gets all legal agreements that user needs to accept before purchasing a domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the top-level domain.", + "required": true, + "type": "string" + }, + { + "name": "agreementOption", + "in": "body", + "description": "Domain agreement options.", + "required": true, + "schema": { + "$ref": "#/definitions/TopLevelDomainAgreementOption" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/TldLegalAgreementCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Top Level Domain Agreements": { + "$ref": "./examples/ListTopLevelDomainAgreements.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains": { + "get": { + "operationId": "Domains_ListByResourceGroup", + "tags": [ + "Domains" + ], + "description": "Description for Get all domains in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DomainCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List domains by resource group": { + "$ref": "./examples/ListDomainsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}": { + "get": { + "operationId": "Domains_Get", + "tags": [ + "Domains" + ], + "description": "Description for Get a domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Domain": { + "$ref": "./examples/GetDomain.json" + } + } + }, + "put": { + "operationId": "Domains_CreateOrUpdate", + "tags": [ + "Domains" + ], + "description": "Description for Creates or updates a domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "The name of the Domain", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" + }, + { + "name": "domain", + "in": "body", + "description": "Domain registration information.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainUpdate" + } + } + ], + "responses": { + "200": { + "description": "Resource 'Domain' update operation succeeded", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/Domain" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create App Service Domain": { + "$ref": "./examples/CreateAppServiceDomain.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "Domains_Update", + "tags": [ + "Domains" + ], + "description": "Description for Creates or updates a domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "The name of the Domain", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" + }, + { + "name": "domain", + "in": "body", + "description": "Domain registration information.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update App Service Domain": { + "$ref": "./examples/UpdateAppServiceDomain.json" + } + } + }, + "delete": { + "operationId": "Domains_Delete", + "tags": [ + "Domains" + ], + "description": "Description for Delete a domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "forceHardDeleteDomain", + "in": "query", + "description": "Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours.", + "required": false, + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete App Service Domain": { + "$ref": "./examples/DeleteAppServiceDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers": { + "get": { + "operationId": "Domains_ListOwnershipIdentifiers", + "tags": [ + "DomainOwnershipIdentifiers" + ], + "description": "Description for Lists domain ownership identifiers.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifierCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Domain Ownership Identifiers": { + "$ref": "./examples/ListDomainOwnershipIdentifiers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}": { + "get": { + "operationId": "Domains_GetOwnershipIdentifier", + "tags": [ + "DomainOwnershipIdentifiers" + ], + "description": "Description for Get ownership identifier for domain", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Domain Ownership Identifier": { + "$ref": "./examples/GetDomainOwnershipIdentifier.json" + } + } + }, + "put": { + "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", + "tags": [ + "DomainOwnershipIdentifiers" + ], + "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + } + ], + "responses": { + "200": { + "description": "Resource 'DomainOwnershipIdentifier' update operation succeeded", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create App Service Domain OwnershipIdentifier": { + "$ref": "./examples/CreateAppServiceDomainOwnershipIdentifier.json" + } + } + }, + "patch": { + "operationId": "Domains_UpdateOwnershipIdentifier", + "tags": [ + "DomainOwnershipIdentifiers" + ], + "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update App Service Domain OwnershipIdentifier": { + "$ref": "./examples/UpdateAppServiceDomainOwnershipIdentifier.json" + } + } + }, + "delete": { + "operationId": "Domains_DeleteOwnershipIdentifier", + "tags": [ + "DomainOwnershipIdentifiers" + ], + "description": "Description for Delete ownership identifier for domain", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete App Service Domain Ownership Identifier": { + "$ref": "./examples/DeleteAppServiceDomainOwnershipIdentifier.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew": { + "post": { + "operationId": "Domains_Renew", + "tags": [ + "Domains" + ], + "description": "Description for Renew a domain.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded." + }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed." + }, + "204": { + "description": "There is no content to send for this request, but the headers may be useful." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Renew an existing domain": { + "$ref": "./examples/RenewDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/transferOut": { + "put": { + "operationId": "Domains_TransferOut", + "tags": [ + "Domains" + ], + "description": "Transfer out domain to another registrar", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "400": { + "description": "The server could not understand the request due to invalid syntax." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Transfer out domain": { + "$ref": "./examples/TransferOutDomain.json" + } + } + } + } + }, + "definitions": { + "Address": { + "type": "object", + "description": "Address information for domain registration.", + "properties": { + "address1": { + "type": "string", + "description": "First line of an Address." + }, + "address2": { + "type": "string", + "description": "The second line of the Address. Optional." + }, + "city": { + "type": "string", + "description": "The city for the address." + }, + "country": { + "type": "string", + "description": "The country for the address." + }, + "postalCode": { + "type": "string", + "description": "The postal code for the address." + }, + "state": { + "type": "string", + "description": "The state or province for the address." + } + }, + "required": [ + "address1", + "city", + "country", + "postalCode", + "state" + ] + }, + "AzureResourceType": { + "type": "string", + "description": "Type of the Azure resource the hostname is assigned to.", + "enum": [ + "Website", + "TrafficManager" + ], + "x-ms-enum": { + "name": "AzureResourceType", + "modelAsString": false + } + }, + "Contact": { + "type": "object", + "description": "Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois\ndirectories as per ICANN requirements.", + "properties": { + "addressMailing": { + "$ref": "#/definitions/Address", + "description": "Mailing address." + }, + "email": { + "type": "string", + "description": "Email address." + }, + "fax": { + "type": "string", + "description": "Fax number." + }, + "jobTitle": { + "type": "string", + "description": "Job title." + }, + "nameFirst": { + "type": "string", + "description": "First name." + }, + "nameLast": { + "type": "string", + "description": "Last name." + }, + "nameMiddle": { + "type": "string", + "description": "Middle name." + }, + "organization": { + "type": "string", + "description": "Organization contact belongs to." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "required": [ + "email", + "nameFirst", + "nameLast", + "phone" + ] + }, + "CustomHostNameDnsRecordType": { + "type": "string", + "description": "Type of the DNS record.", + "enum": [ + "CName", + "A" + ], + "x-ms-enum": { + "name": "CustomHostNameDnsRecordType", + "modelAsString": false + } + }, + "Domain": { + "type": "object", + "description": "Information about a domain.", + "properties": { + "properties": { + "type": "object", + "description": "Domain resource specific properties", + "properties": { + "contactAdmin": { + "$ref": "#/definitions/Contact", + "description": "Administrative contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactBilling": { + "$ref": "#/definitions/Contact", + "description": "Billing contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactRegistrant": { + "$ref": "#/definitions/Contact", + "description": "Registrant contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactTech": { + "$ref": "#/definitions/Contact", + "description": "Technical contact.", + "x-ms-mutability": [ + "create" + ] + }, + "registrationStatus": { + "type": "string", + "description": "Domain registration status.", + "enum": [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ], + "x-ms-enum": { + "name": "DomainStatus", + "modelAsString": false + }, + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "Domain provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + }, + "readOnly": true + }, + "nameServers": { + "type": "array", + "description": "Name servers.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privacy": { + "type": "boolean", + "description": "true if domain privacy is enabled for this domain; otherwise, false." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "description": "Domain creation timestamp.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Domain expiration timestamp.", + "readOnly": true + }, + "lastRenewedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the domain was renewed last time.", + "readOnly": true + }, + "autoRenew": { + "type": "boolean", + "description": "true if the domain should be automatically renewed; otherwise, false.", + "default": true + }, + "readyForDnsRecordManagement": { + "type": "boolean", + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and\nit is hosted on name servers Azure has programmatic access to.", + "readOnly": true + }, + "managedHostNames": { + "type": "array", + "description": "All hostnames derived from the domain and assigned to Azure resources.", + "items": { + "$ref": "#/definitions/HostName" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + }, + "consent": { + "$ref": "#/definitions/DomainPurchaseConsent", + "description": "Legal agreement consent.", + "x-ms-mutability": [ + "create" + ] + }, + "domainNotRenewableReasons": { + "type": "array", + "description": "Reasons why domain is not renewable.", + "x-ms-enum": { + "name": "ResourceNotRenewableReason" + }, + "items": { + "type": "string", + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "x-ms-enum": { + "modelAsString": true + } + }, + "readOnly": true + }, + "dnsType": { + "type": "string", + "description": "Current DNS type", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "dnsZoneId": { + "type": "string", + "description": "Azure DNS Zone to use" + }, + "targetDnsType": { + "type": "string", + "description": "Target DNS type (would be used for migration)", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "authCode": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "contactAdmin", + "contactBilling", + "contactRegistrant", + "contactTech", + "consent" + ], + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "DomainAvailabilityCheckResult": { + "type": "object", + "description": "Domain availability check result.", + "properties": { + "name": { + "type": "string", + "description": "Name of the domain." + }, + "available": { + "type": "boolean", + "description": "true if domain can be purchased using CreateDomain API; otherwise, false." + }, + "domainType": { + "$ref": "#/definitions/DomainType", + "description": "Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything." + } + } + }, + "DomainCollection": { + "type": "object", + "description": "Collection of domains.", + "properties": { + "value": { + "type": "array", + "description": "The Domain items on this page", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DomainControlCenterSsoRequest": { + "type": "object", + "description": "Single sign-on request information for domain management.", + "properties": { + "url": { + "type": "string", + "description": "URL where the single sign-on request is to be made.", + "readOnly": true + }, + "postParameterKey": { + "type": "string", + "description": "Post parameter key.", + "readOnly": true + }, + "postParameterValue": { + "type": "string", + "description": "Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value.", + "readOnly": true + } + } + }, + "DomainOwnershipIdentifier": { + "type": "object", + "description": "Domain ownership Identifier.", + "properties": { + "properties": { + "type": "object", + "description": "DomainOwnershipIdentifier resource specific properties", + "properties": { + "ownershipId": { + "type": "string", + "description": "Ownership Id." + } + }, + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DomainOwnershipIdentifierCollection": { + "type": "object", + "description": "Collection of domain ownership identifiers.", + "properties": { + "value": { + "type": "array", + "description": "The DomainOwnershipIdentifier items on this page", + "items": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DomainPatchResource": { + "type": "object", + "description": "ARM resource for a domain.", + "properties": { + "properties": { + "type": "object", + "description": "DomainPatchResource resource specific properties", + "properties": { + "contactAdmin": { + "$ref": "#/definitions/Contact", + "description": "Administrative contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactBilling": { + "$ref": "#/definitions/Contact", + "description": "Billing contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactRegistrant": { + "$ref": "#/definitions/Contact", + "description": "Registrant contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactTech": { + "$ref": "#/definitions/Contact", + "description": "Technical contact.", + "x-ms-mutability": [ + "create" + ] + }, + "registrationStatus": { + "type": "string", + "description": "Domain registration status.", + "enum": [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ], + "x-ms-enum": { + "name": "DomainStatus", + "modelAsString": false + }, + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "Domain provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + }, + "readOnly": true + }, + "nameServers": { + "type": "array", + "description": "Name servers.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privacy": { + "type": "boolean", + "description": "true if domain privacy is enabled for this domain; otherwise, false." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "description": "Domain creation timestamp.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Domain expiration timestamp.", + "readOnly": true + }, + "lastRenewedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the domain was renewed last time.", + "readOnly": true + }, + "autoRenew": { + "type": "boolean", + "description": "true if the domain should be automatically renewed; otherwise, false.", + "default": true + }, + "readyForDnsRecordManagement": { + "type": "boolean", + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and\nit is hosted on name servers Azure has programmatic access to.", + "readOnly": true + }, + "managedHostNames": { + "type": "array", + "description": "All hostnames derived from the domain and assigned to Azure resources.", + "items": { + "$ref": "#/definitions/HostName" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + }, + "consent": { + "$ref": "#/definitions/DomainPurchaseConsent", + "description": "Legal agreement consent.", + "x-ms-mutability": [ + "create" + ] + }, + "domainNotRenewableReasons": { + "type": "array", + "description": "Reasons why domain is not renewable.", + "x-ms-enum": { + "name": "ResourceNotRenewableReason" + }, + "items": { + "type": "string", + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "x-ms-enum": { + "modelAsString": true + } + }, + "readOnly": true + }, + "dnsType": { + "type": "string", + "description": "Current DNS type", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "dnsZoneId": { + "type": "string", + "description": "Azure DNS Zone to use" + }, + "targetDnsType": { + "type": "string", + "description": "Target DNS type (would be used for migration)", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "authCode": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "contactAdmin", + "contactBilling", + "contactRegistrant", + "contactTech", + "consent" + ], + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ] + }, + "DomainPurchaseConsent": { + "type": "object", + "description": "Domain purchase consent object, representing acceptance of applicable legal agreements.", + "properties": { + "agreementKeys": { + "type": "array", + "description": "List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource.", + "items": { + "type": "string" + } + }, + "agreedBy": { + "type": "string", + "description": "Client IP address." + }, + "agreedAt": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the agreements were accepted." + } + } + }, + "DomainRecommendationSearchParameters": { + "type": "object", + "description": "Domain recommendation search parameters.", + "properties": { + "keywords": { + "type": "string", + "description": "Keywords to be used for generating domain recommendations." + }, + "maxDomainRecommendations": { + "type": "integer", + "format": "int32", + "description": "Maximum number of recommendations." + } + } + }, + "DomainType": { + "type": "string", + "description": "Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything.", + "enum": [ + "Regular", + "SoftDeleted" + ], + "x-ms-enum": { + "name": "DomainType", + "modelAsString": false + } + }, + "DomainUpdate": { + "type": "object", + "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", + "properties": { + "properties": { + "$ref": "#/definitions/Domain", + "description": "The resource-specific properties for this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "HostName": { + "type": "object", + "description": "Details of a hostname derived from a domain.", + "properties": { + "name": { + "type": "string", + "description": "Name of the hostname." + }, + "siteNames": { + "type": "array", + "description": "List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager.", + "items": { + "type": "string" + } + }, + "azureResourceName": { + "type": "string", + "description": "Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name." + }, + "azureResourceType": { + "$ref": "#/definitions/AzureResourceType", + "description": "Type of the Azure resource the hostname is assigned to." + }, + "customHostNameDnsRecordType": { + "$ref": "#/definitions/CustomHostNameDnsRecordType", + "description": "Type of the DNS record." + }, + "hostNameType": { + "$ref": "#/definitions/HostNameType", + "description": "Type of the hostname." + } + } + }, + "HostNameType": { + "type": "string", + "description": "Type of the hostname.", + "enum": [ + "Verified", + "Managed" + ], + "x-ms-enum": { + "name": "HostNameType", + "modelAsString": false + } + }, + "NameIdentifier": { + "type": "object", + "description": "Identifies an object.", + "properties": { + "name": { + "type": "string", + "description": "Name of the object." + } + } + }, + "NameIdentifierCollection": { + "type": "object", + "description": "Collection of domain name identifiers.", + "properties": { + "value": { + "type": "array", + "description": "The NameIdentifier items on this page", + "items": { + "$ref": "#/definitions/NameIdentifier" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "ProxyOnlyResource": { + "type": "object", + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager." + }, + "TldLegalAgreement": { + "type": "object", + "description": "Legal agreement for a top level domain.", + "properties": { + "agreementKey": { + "type": "string", + "description": "Unique identifier for the agreement." + }, + "title": { + "type": "string", + "description": "Agreement title." + }, + "content": { + "type": "string", + "description": "Agreement details." + }, + "url": { + "type": "string", + "description": "URL where a copy of the agreement details is hosted." + } + }, + "required": [ + "agreementKey", + "title", + "content" + ] + }, + "TldLegalAgreementCollection": { + "type": "object", + "description": "Collection of top-level domain legal agreements.", + "properties": { + "value": { + "type": "array", + "description": "The TldLegalAgreement items on this page", + "items": { + "$ref": "#/definitions/TldLegalAgreement" + }, + "x-ms-identifiers": [ + "agreementKey" + ] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "TopLevelDomain": { + "type": "object", + "description": "A top level domain object.", + "properties": { + "properties": { + "type": "object", + "description": "TopLevelDomain resource specific properties", + "properties": { + "privacy": { + "type": "boolean", + "description": "If true, then the top level domain supports domain privacy; otherwise, false." + } + }, + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "TopLevelDomainAgreementOption": { + "type": "object", + "description": "Options for retrieving the list of top level domain legal agreements.", + "properties": { + "includePrivacy": { + "type": "boolean", + "description": "If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false." + }, + "forTransfer": { + "type": "boolean", + "description": "If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false." + } + } + }, + "TopLevelDomainCollection": { + "type": "object", + "description": "Collection of Top-level domains.", + "properties": { + "value": { + "type": "array", + "description": "The TopLevelDomain items on this page", + "items": { + "$ref": "#/definitions/TopLevelDomain" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + } + }, + "parameters": {} +} From 9df12f981bffe7f80bc5fa436247c2e8742abe0f Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Wed, 20 Aug 2025 15:54:21 +0800 Subject: [PATCH 03/43] solve warning --- .../DomainRegistration.Management/Domain.tsp | 67 ++++--- .../DomainOwnershipIdentifier.tsp | 2 + .../TopLevelDomain.tsp | 2 + .../DomainRegistration.Management/main.tsp | 1 + .../DomainRegistration.Management/models.tsp | 171 +++++++++++++++++- 5 files changed, 215 insertions(+), 28 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index f8e5a44a75ce..f5a9340d423b 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -13,6 +13,7 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "" model Domain is Azure.ResourceManager.TrackedResource< Properties={ /** * Administrative contact. @@ -41,34 +42,38 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ /** * Domain registration status. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @visibility(Lifecycle.Read) @OpenAPI.extension("x-ms-enum", #{name:"DomainStatus", modelAsString: false}) registrationStatus?: - "Active" | - "Awaiting" | - "Cancelled" | - "Confiscated" | - "Disabled" | - "Excluded" | - "Expired" | - "Failed" | - "Held" | - "Locked" | - "Parked" | - "Pending" | - "Reserved" | - "Reverted" | - "Suspended" | - "Transferred" | - "Unknown" | - "Unlocked" | - "Unparked" | - "Updated" | - "JsonConverterFailed"; + "Active" | + "Awaiting" | + "Cancelled" | + "Confiscated" | + "Disabled" | + "Excluded" | + "Expired" | + "Failed" | + "Held" | + "Locked" | + "Parked" | + "Pending" | + "Reserved" | + "Reverted" | + "Suspended" | + "Transferred" | + "Unknown" | + "Unlocked" | + "Unparked" | + "Updated" | + "JsonConverterFailed" | + string; /** * Domain provisioning state. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" @visibility(Lifecycle.Read) @OpenAPI.extension("x-ms-enum", #{name:"ProvisioningState", modelAsString: false}) provisioningState?: @@ -76,7 +81,8 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ "Failed" | "Canceled" | "InProgress" | - "Deleting"; + "Deleting" | + string; /** * Name servers. @@ -139,6 +145,7 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ * Reasons why domain is not renewable. */ @visibility(Lifecycle.Read) + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @OpenAPI.extension("x-ms-enum", #{name:"ResourceNotRenewableReason"}) domainNotRenewableReasons?: ( | "RegistrationStatusNotSupportedForRenewal" @@ -149,8 +156,9 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ /** * Current DNS type */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) - dnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + dnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; /** * Azure DNS Zone to use @@ -160,8 +168,9 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ /** * Target DNS type (would be used for migration) */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) - targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; @visibility(Lifecycle.Read, Lifecycle.Create) authCode?: string; @@ -184,6 +193,7 @@ model DomainUpdate is Azure.ResourceManager.TrackedResource { } +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface Domains { /** @@ -194,6 +204,9 @@ interface Domains { /** * Description for Creates or updates a domain. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< DomainUpdate, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse & { @@ -206,6 +219,9 @@ interface Domains { /** * Description for Creates or updates a domain. */ + #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< DomainUpdate, @@ -249,6 +265,8 @@ interface Domains { /** * Description for Renew a domain. */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" renew is ArmResourceActionSync< Domain, void, @@ -258,6 +276,7 @@ interface Domains { /** * Transfer out domain to another registrar */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @put transferOut is ArmResourceActionSync | BadRequestResponse>; } diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index b332a68e4e2a..6f00b54b29b1 100644 --- a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -14,6 +14,7 @@ namespace Microsoft.DomainRegistration; /** * Domain ownership Identifier. */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "" @parentResource(Domain) model DomainOwnershipIdentifier is Azure.ResourceManager.ProxyResource< @@ -43,6 +44,7 @@ interface DomainOwnershipIdentifiers { /** * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "" #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" @operationId("Domains_CreateOrUpdateOwnershipIdentifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp index 41ed8e97fd8a..8349b6055743 100644 --- a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp @@ -13,6 +13,7 @@ namespace Microsoft.DomainRegistration; /** * A top level domain object. */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @subscriptionResource model TopLevelDomain is Azure.ResourceManager.ProxyResource<{ @@ -51,6 +52,7 @@ interface TopLevelDomains { /** * Description for Gets all legal agreements that user needs to accept before purchasing a domain. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) listAgreements is ArmResourceActionSync< TopLevelDomain, diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp index 7ba60e482926..06d7280db0ed 100644 --- a/specification/web/DomainRegistration.Management/main.tsp +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -24,6 +24,7 @@ using Azure.ResourceManager.Foundations; using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; +#suppress "@azure-tools/typespec-client-generator-core/client-location-duplicate" "" /** * */ diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index cfc5fd544a8c..b8e543cb4d5b 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -10,16 +10,29 @@ using Azure.ResourceManager.Foundations; namespace Microsoft.DomainRegistration; +/** + * Reasons why domain is not renewable. + */ union ResourceNotRenewableReason { string, + /** + * Registration status is not supported for renewal. + */ RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", + /** + * Domain expiration is not in the renewal time range. + */ ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", + /** + * Subscription is not active. + */ SubscriptionNotActive: "SubscriptionNotActive", } /** * Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum DomainType { Regular, SoftDeleted, @@ -28,6 +41,7 @@ enum DomainType { /** * Domain registration status. */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum DomainStatus { Active, Awaiting, @@ -55,6 +69,7 @@ enum DomainStatus { /** * Domain provisioning state. */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum ProvisioningState { Succeeded, Failed, @@ -66,6 +81,7 @@ enum ProvisioningState { /** * Type of the Azure resource the hostname is assigned to. */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum AzureResourceType { Website, TrafficManager, @@ -74,6 +90,7 @@ enum AzureResourceType { /** * Type of the DNS record. */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum CustomHostNameDnsRecordType { CName, A, @@ -82,6 +99,7 @@ enum CustomHostNameDnsRecordType { /** * Type of the hostname. */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum HostNameType { Verified, Managed, @@ -90,6 +108,7 @@ enum HostNameType { /** * Current DNS type */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" enum DnsType { AzureDns, DefaultDomainRegistrarDns, @@ -99,7 +118,13 @@ enum DnsType { * Description of an operation available for Microsoft.Web resource provider. */ model CsmOperationDescription { + /** + * Operation name, e.g. Microsoft.Web/sites/write. + */ name?: string; + /** + * Operation display name. + */ isDataAction?: boolean; /** @@ -107,6 +132,9 @@ model CsmOperationDescription { */ display?: CsmOperationDisplay; + /** + * Origin of the operation, e.g. "system" or "user". + */ origin?: string; /** @@ -119,9 +147,24 @@ model CsmOperationDescription { * Meta data about operation used for display in portal. */ model CsmOperationDisplay { + /** + * Provider name. + */ provider?: string; + + /** + * Resource type. + */ resource?: string; + + /** + * Operation name. + */ operation?: string; + + /** + * Operation description. + */ description?: string; } @@ -139,9 +182,15 @@ model CsmOperationDescriptionProperties { * Resource metrics service provided by Microsoft.Insights resource provider. */ model ServiceSpecification { + /** + * Resource metrics service name. + */ @OpenAPI.extension("x-ms-identifiers", #["name"]) metricSpecifications?: MetricSpecification[]; + /** + * Resource logs service provided by Microsoft.Insights resource provider. + */ @OpenAPI.extension("x-ms-identifiers", #["name"]) logSpecifications?: LogSpecification[]; } @@ -150,28 +199,91 @@ model ServiceSpecification { * Definition of a single resource metric. */ model MetricSpecification { + /** + * Name of the resource metric. + */ name?: string; + + /** + * Display name of the resource metric. + */ displayName?: string; + + /** + * Description of the resource metric. + */ displayDescription?: string; + + /** + * Resource metric unit. + */ unit?: string; + + /** + * Resource metric aggregation type. + */ aggregationType?: string; + + /** + * Resource metric supported aggregation types. + */ supportsInstanceLevelAggregation?: boolean; + + /** + * Resource metric supported time grain types. + */ enableRegionalMdmAccount?: boolean; + + /** + * Resource metric source MDM account. + */ sourceMdmAccount?: string; + + /** + * Resource metric source MDM namespace. + */ sourceMdmNamespace?: string; + + /** + * Resource metric filter pattern. + */ metricFilterPattern?: string; + + /** + * Resource metric fill gap with zero. + */ fillGapWithZero?: boolean; + + /** + * Resource metric is internal. + */ isInternal?: boolean; + /** + * Resource metric dimensions. + */ @OpenAPI.extension("x-ms-identifiers", #["name"]) dimensions?: Dimension[]; + /** + * Resource metric category. + */ category?: string; + /** + * Resource metric availability. + */ @OpenAPI.extension("x-ms-identifiers", #[]) availabilities?: MetricAvailability[]; + /** + * Resource metric supported time grain types. + */ supportedTimeGrainTypes?: string[]; + + /** + * Resource metric supported aggregation types. + */ supportedAggregationTypes?: string[]; } @@ -180,9 +292,24 @@ model MetricSpecification { * where instance name is dimension of the metric HTTP request */ model Dimension { + /** + * Name of the dimension. + */ name?: string; + + /** + * Display name of the dimension. + */ displayName?: string; + + /** + * Dimension of the internal name. + */ internalName?: string; + + /** + * Dimension to be exported for shoebox. + */ toBeExportedForShoebox?: boolean; } @@ -190,7 +317,14 @@ model Dimension { * Retention policy of a resource metric. */ model MetricAvailability { + /** + * Metric availability time grain. + */ timeGrain?: string; + + /** + * Metric availability blob duration. + */ blobDuration?: string; } @@ -198,9 +332,24 @@ model MetricAvailability { * Log Definition of a single resource metric. */ model LogSpecification { + /** + * Name of the log. + */ name?: string; + + /** + * Display name of the log. + */ displayName?: string; + + /** + * Blob duration of the log. + */ blobDuration?: string; + + /** + * Log filtered pattern of the log. + */ logFilterPattern?: string; } @@ -238,6 +387,9 @@ model DefaultErrorResponseError { @visibility(Lifecycle.Read) target?: string; + /** + * Error details. + */ @OpenAPI.extension("x-ms-identifiers", #[]) details?: DefaultErrorResponseErrorDetailsItem[]; @@ -309,6 +461,7 @@ model DomainCollection is Azure.Core.Page; /** * Domain resource specific properties */ +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" model DomainProperties {} /** @@ -488,6 +641,7 @@ model Resource { /** * Resource tags. */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" tags?: Record; } @@ -537,6 +691,7 @@ model NameIdentifierCollection is Azure.Core.Page; /** * ARM resource for a domain. */ +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "For backward compatibility" #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" model DomainPatchResource extends ProxyOnlyResource{ /** @@ -570,6 +725,7 @@ model DomainPatchResource extends ProxyOnlyResource{ /** * Domain registration status. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) @OpenAPI.extension("x-ms-enum", #{name:"DomainStatus", modelAsString: false}) registrationStatus?: @@ -593,11 +749,13 @@ model DomainPatchResource extends ProxyOnlyResource{ | "Unlocked" | "Unparked" | "Updated" - | "JsonConverterFailed"; + | "JsonConverterFailed" + | string; /** * Domain provisioning state. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) @OpenAPI.extension("x-ms-enum", #{name:"ProvisioningState", modelAsString: false}) provisioningState?: @@ -605,7 +763,8 @@ model DomainPatchResource extends ProxyOnlyResource{ | "Failed" | "Canceled" | "InProgress" - | "Deleting"; + | "Deleting" + | string; /** * Name servers. @@ -667,6 +826,7 @@ model DomainPatchResource extends ProxyOnlyResource{ /** * Reasons why domain is not renewable. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @visibility(Lifecycle.Read) @OpenAPI.extension("x-ms-enum", #{name:"ResourceNotRenewableReason"}) domainNotRenewableReasons?: ( @@ -678,8 +838,9 @@ model DomainPatchResource extends ProxyOnlyResource{ /** * Current DNS type */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) - dnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + dnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; /** * Azure DNS Zone to use @@ -689,8 +850,9 @@ model DomainPatchResource extends ProxyOnlyResource{ /** * Target DNS type (would be used for migration) */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) - targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns"; + targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; @visibility(Lifecycle.Read, Lifecycle.Create) authCode?: string; @@ -700,6 +862,7 @@ model DomainPatchResource extends ProxyOnlyResource{ /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" model ProxyOnlyResource {} /** From e34cff3be7848b1dabc89f1ff3472d9faeb84c39 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 21 Aug 2025 10:39:34 +0800 Subject: [PATCH 04/43] modify readme and delete old json --- .gitignore | 2 +- .../DomainRegistrationProvider.json | 91 - .../stable/2024-11-01/Domains.json | 1616 ----------------- .../stable/2024-11-01/TopLevelDomains.json | 303 ---- specification/web/resource-manager/readme.md | 22 +- 5 files changed, 2 insertions(+), 2032 deletions(-) delete mode 100644 specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/DomainRegistrationProvider.json delete mode 100644 specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/Domains.json delete mode 100644 specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/TopLevelDomains.json diff --git a/.gitignore b/.gitignore index b242e38161d0..23e8f5dfc864 100644 --- a/.gitignore +++ b/.gitignore @@ -152,4 +152,4 @@ eng/tools/**/dist !**/terraform/**/*.tf # No canonical swagger files should be commited -canonical/ \ No newline at end of file +canonical/ diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/DomainRegistrationProvider.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/DomainRegistrationProvider.json deleted file mode 100644 index 0b6e8a3896b4..000000000000 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/DomainRegistrationProvider.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2024-11-01", - "title": "DomainRegistrationProvider API Client" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/providers/Microsoft.DomainRegistration/operations": { - "get": { - "tags": [ - "DomainRegistrationProvider" - ], - "summary": "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", - "description": "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", - "operationId": "DomainRegistrationProvider_ListOperations", - "parameters": [ - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/CsmOperationCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List operations": { - "$ref": "./examples/ListOperations.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": {}, - "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", - "required": true, - "type": "string" - }, - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "API Version", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/Domains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/Domains.json deleted file mode 100644 index 8ecba97e0299..000000000000 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/Domains.json +++ /dev/null @@ -1,1616 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2024-11-01", - "title": "Domains API Client" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability": { - "post": { - "tags": [ - "Domains" - ], - "summary": "Check if a domain is available for registration.", - "description": "Description for Check if a domain is available for registration.", - "operationId": "Domains_CheckAvailability", - "parameters": [ - { - "name": "identifier", - "in": "body", - "description": "Name of the domain.", - "required": true, - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/NameIdentifier" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainAvailabilityCheckResult" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Check domain availability": { - "$ref": "./examples/CheckDomainAvailability.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains": { - "get": { - "tags": [ - "Domains" - ], - "summary": "Get all domains in a subscription.", - "description": "Description for Get all domains in a subscription.", - "operationId": "Domains_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List domains by subscription": { - "$ref": "./examples/ListDomainsBySubscription.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest": { - "post": { - "tags": [ - "Domains" - ], - "summary": "Generate a single sign-on request for the domain management portal.", - "description": "Description for Generate a single sign-on request for the domain management portal.", - "operationId": "Domains_GetControlCenterSsoRequest", - "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainControlCenterSsoRequest" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Get Domain Control Center Sso Request": { - "$ref": "./examples/GetDomainControlCenterSsoRequest.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations": { - "post": { - "tags": [ - "Domains" - ], - "summary": "Get domain name recommendations based on keywords.", - "description": "Description for Get domain name recommendations based on keywords.", - "operationId": "Domains_ListRecommendations", - "parameters": [ - { - "name": "parameters", - "in": "body", - "description": "Search parameters for domain name recommendations.", - "required": true, - "schema": { - "$ref": "#/definitions/DomainRecommendationSearchParameters" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/NameIdentifierCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List domain recommendations": { - "$ref": "./examples/ListDomainRecommendations.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains": { - "get": { - "tags": [ - "Domains" - ], - "summary": "Get all domains in a resource group.", - "description": "Description for Get all domains in a resource group.", - "operationId": "Domains_ListByResourceGroup", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List domains by resource group": { - "$ref": "./examples/ListDomainsByResourceGroup.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}": { - "get": { - "tags": [ - "Domains" - ], - "summary": "Get a domain.", - "description": "Description for Get a domain.", - "operationId": "Domains_Get", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of the domain.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Domain" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Get Domain": { - "$ref": "./examples/GetDomain.json" - } - } - }, - "put": { - "tags": [ - "Domains" - ], - "summary": "Creates or updates a domain.", - "description": "Description for Creates or updates a domain.", - "operationId": "Domains_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of the domain.", - "required": true, - "type": "string", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" - }, - { - "name": "domain", - "in": "body", - "description": "Domain registration information.", - "required": true, - "schema": { - "$ref": "#/definitions/Domain" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Domain purchase is in progress.", - "schema": { - "$ref": "#/definitions/Domain" - } - }, - "200": { - "description": "Domain purchase was successful.", - "schema": { - "$ref": "#/definitions/Domain" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Create App Service Domain": { - "$ref": "./examples/CreateAppServiceDomain.json" - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "Domains" - ], - "summary": "Delete a domain.", - "description": "Description for Delete a domain.", - "operationId": "Domains_Delete", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of the domain.", - "required": true, - "type": "string" - }, - { - "name": "forceHardDeleteDomain", - "in": "query", - "description": "Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours.", - "type": "boolean" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted domain." - }, - "204": { - "description": "Domain does not exist in Azure database probably because it has already been deleted" - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Delete App Service Domain": { - "$ref": "./examples/DeleteAppServiceDomain.json" - } - } - }, - "patch": { - "tags": [ - "Domains" - ], - "summary": "Creates or updates a domain.", - "description": "Description for Creates or updates a domain.", - "operationId": "Domains_Update", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of the domain.", - "required": true, - "type": "string", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" - }, - { - "name": "domain", - "in": "body", - "description": "Domain registration information.", - "required": true, - "schema": { - "$ref": "#/definitions/DomainPatchResource" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Domain purchase is in progress.", - "schema": { - "$ref": "#/definitions/Domain" - } - }, - "200": { - "description": "Domain purchase was successful.", - "schema": { - "$ref": "#/definitions/Domain" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Update App Service Domain": { - "$ref": "./examples/UpdateAppServiceDomain.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers": { - "get": { - "tags": [ - "Domains" - ], - "summary": "Lists domain ownership identifiers.", - "description": "Description for Lists domain ownership identifiers.", - "operationId": "Domains_ListOwnershipIdentifiers", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of domain.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainOwnershipIdentifierCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List Domain Ownership Identifiers": { - "$ref": "./examples/ListDomainOwnershipIdentifiers.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}": { - "get": { - "tags": [ - "Domains" - ], - "summary": "Get ownership identifier for domain", - "description": "Description for Get ownership identifier for domain", - "operationId": "Domains_GetOwnershipIdentifier", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of domain.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "Name of identifier.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainOwnershipIdentifier" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Get Domain Ownership Identifier": { - "$ref": "./examples/GetDomainOwnershipIdentifier.json" - } - } - }, - "put": { - "tags": [ - "Domains" - ], - "summary": "Creates an ownership identifier for a domain or updates identifier details for an existing identifier", - "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", - "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of domain.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "Name of identifier.", - "required": true, - "type": "string" - }, - { - "name": "domainOwnershipIdentifier", - "in": "body", - "description": "A JSON representation of the domain ownership properties.", - "required": true, - "schema": { - "$ref": "#/definitions/DomainOwnershipIdentifier" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainOwnershipIdentifier" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Create App Service Domain OwnershipIdentifier": { - "$ref": "./examples/CreateAppServiceDomainOwnershipIdentifier.json" - } - } - }, - "delete": { - "tags": [ - "Domains" - ], - "summary": "Delete ownership identifier for domain", - "description": "Description for Delete ownership identifier for domain", - "operationId": "Domains_DeleteOwnershipIdentifier", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of domain.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "Name of identifier.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted domain ownership identifier." - }, - "204": { - "description": "Domain ownership identifier does not exist." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Delete App Service Domain Ownership Identifier": { - "$ref": "./examples/DeleteAppServiceDomainOwnershipIdentifier.json" - } - } - }, - "patch": { - "tags": [ - "Domains" - ], - "summary": "Creates an ownership identifier for a domain or updates identifier details for an existing identifier", - "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", - "operationId": "Domains_UpdateOwnershipIdentifier", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of domain.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "Name of identifier.", - "required": true, - "type": "string" - }, - { - "name": "domainOwnershipIdentifier", - "in": "body", - "description": "A JSON representation of the domain ownership properties.", - "required": true, - "schema": { - "$ref": "#/definitions/DomainOwnershipIdentifier" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/DomainOwnershipIdentifier" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Update App Service Domain OwnershipIdentifier": { - "$ref": "./examples/UpdateAppServiceDomainOwnershipIdentifier.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew": { - "post": { - "tags": [ - "Domains" - ], - "summary": "Renew a domain.", - "description": "Description for Renew a domain.", - "operationId": "Domains_Renew", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of the domain.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Domain renewal was successful." - }, - "202": { - "description": "Domain renewal in progress." - }, - "204": { - "description": "Domain does not exist." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Renew an existing domain": { - "$ref": "./examples/RenewDomain.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/transferOut": { - "put": { - "tags": [ - "Domains" - ], - "summary": "Transfer out domain to another registrar", - "operationId": "Domains_TransferOut", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "domainName", - "in": "path", - "description": "Name of domain.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully returned transfer code to transfer domain to another registrar.", - "schema": { - "$ref": "#/definitions/Domain" - } - }, - "400": { - "description": "Domain does not exist in Azure database", - "x-ms-error-response": true - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Transfer out domain": { - "$ref": "./examples/TransferOutDomain.json" - } - } - } - } - }, - "definitions": { - "Address": { - "description": "Address information for domain registration.", - "required": [ - "address1", - "city", - "country", - "postalCode", - "state" - ], - "type": "object", - "properties": { - "address1": { - "description": "First line of an Address.", - "type": "string" - }, - "address2": { - "description": "The second line of the Address. Optional.", - "type": "string" - }, - "city": { - "description": "The city for the address.", - "type": "string" - }, - "country": { - "description": "The country for the address.", - "type": "string" - }, - "postalCode": { - "description": "The postal code for the address.", - "type": "string" - }, - "state": { - "description": "The state or province for the address.", - "type": "string" - } - } - }, - "Contact": { - "description": "Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois \ndirectories as per ICANN requirements.", - "required": [ - "email", - "nameFirst", - "nameLast", - "phone" - ], - "type": "object", - "properties": { - "addressMailing": { - "$ref": "#/definitions/Address", - "description": "Mailing address." - }, - "email": { - "description": "Email address.", - "type": "string" - }, - "fax": { - "description": "Fax number.", - "type": "string" - }, - "jobTitle": { - "description": "Job title.", - "type": "string" - }, - "nameFirst": { - "description": "First name.", - "type": "string" - }, - "nameLast": { - "description": "Last name.", - "type": "string" - }, - "nameMiddle": { - "description": "Middle name.", - "type": "string" - }, - "organization": { - "description": "Organization contact belongs to.", - "type": "string" - }, - "phone": { - "description": "Phone number.", - "type": "string" - } - } - }, - "Domain": { - "description": "Information about a domain.", - "type": "object", - "allOf": [ - { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "Domain resource specific properties", - "required": [ - "contactAdmin", - "contactBilling", - "contactRegistrant", - "contactTech", - "consent" - ], - "type": "object", - "properties": { - "contactAdmin": { - "$ref": "#/definitions/Contact", - "description": "Administrative contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactBilling": { - "$ref": "#/definitions/Contact", - "description": "Billing contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactRegistrant": { - "$ref": "#/definitions/Contact", - "description": "Registrant contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactTech": { - "$ref": "#/definitions/Contact", - "description": "Technical contact.", - "x-ms-mutability": [ - "create" - ] - }, - "registrationStatus": { - "description": "Domain registration status.", - "enum": [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", - "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "DomainStatus", - "modelAsString": false - } - }, - "provisioningState": { - "description": "Domain provisioning state.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - } - }, - "nameServers": { - "description": "Name servers.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "privacy": { - "description": "true if domain privacy is enabled for this domain; otherwise, false.", - "type": "boolean" - }, - "createdTime": { - "format": "date-time", - "description": "Domain creation timestamp.", - "type": "string", - "readOnly": true - }, - "expirationTime": { - "format": "date-time", - "description": "Domain expiration timestamp.", - "type": "string", - "readOnly": true - }, - "lastRenewedTime": { - "format": "date-time", - "description": "Timestamp when the domain was renewed last time.", - "type": "string", - "readOnly": true - }, - "autoRenew": { - "description": "true if the domain should be automatically renewed; otherwise, false.", - "default": true, - "type": "boolean" - }, - "readyForDnsRecordManagement": { - "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to.", - "type": "boolean", - "readOnly": true - }, - "managedHostNames": { - "description": "All hostnames derived from the domain and assigned to Azure resources.", - "type": "array", - "items": { - "$ref": "#/definitions/HostName" - }, - "readOnly": true, - "x-ms-identifiers": [ - "name" - ] - }, - "consent": { - "$ref": "#/definitions/DomainPurchaseConsent", - "description": "Legal agreement consent.", - "x-ms-mutability": [ - "create" - ] - }, - "domainNotRenewableReasons": { - "description": "Reasons why domain is not renewable.", - "type": "array", - "items": { - "enum": [ - "RegistrationStatusNotSupportedForRenewal", - "ExpirationNotInRenewalTimeRange", - "SubscriptionNotActive" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceNotRenewableReason", - "modelAsString": true - } - }, - "readOnly": true - }, - "dnsType": { - "description": "Current DNS type", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "type": "string", - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } - }, - "dnsZoneId": { - "description": "Azure DNS Zone to use", - "type": "string" - }, - "targetDnsType": { - "description": "Target DNS type (would be used for migration)", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "type": "string", - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } - }, - "authCode": { - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - } - }, - "x-ms-client-flatten": true - } - } - }, - "DomainAvailabilityCheckResult": { - "description": "Domain availability check result.", - "type": "object", - "properties": { - "name": { - "description": "Name of the domain.", - "type": "string" - }, - "available": { - "description": "true if domain can be purchased using CreateDomain API; otherwise, false.", - "type": "boolean" - }, - "domainType": { - "description": "Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything.", - "enum": [ - "Regular", - "SoftDeleted" - ], - "type": "string", - "x-ms-enum": { - "name": "DomainType", - "modelAsString": false - } - } - } - }, - "DomainCollection": { - "description": "Collection of domains.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/Domain" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "DomainControlCenterSsoRequest": { - "description": "Single sign-on request information for domain management.", - "type": "object", - "properties": { - "url": { - "description": "URL where the single sign-on request is to be made.", - "type": "string", - "readOnly": true - }, - "postParameterKey": { - "description": "Post parameter key.", - "type": "string", - "readOnly": true - }, - "postParameterValue": { - "description": "Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value.", - "type": "string", - "readOnly": true - } - } - }, - "DomainOwnershipIdentifier": { - "description": "Domain ownership Identifier.", - "type": "object", - "allOf": [ - { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "DomainOwnershipIdentifier resource specific properties", - "type": "object", - "properties": { - "ownershipId": { - "description": "Ownership Id.", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "DomainOwnershipIdentifierCollection": { - "description": "Collection of domain ownership identifiers.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/DomainOwnershipIdentifier" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "DomainPatchResource": { - "description": "ARM resource for a domain.", - "type": "object", - "allOf": [ - { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "DomainPatchResource resource specific properties", - "required": [ - "contactAdmin", - "contactBilling", - "contactRegistrant", - "contactTech", - "consent" - ], - "type": "object", - "properties": { - "contactAdmin": { - "$ref": "#/definitions/Contact", - "description": "Administrative contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactBilling": { - "$ref": "#/definitions/Contact", - "description": "Billing contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactRegistrant": { - "$ref": "#/definitions/Contact", - "description": "Registrant contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactTech": { - "$ref": "#/definitions/Contact", - "description": "Technical contact.", - "x-ms-mutability": [ - "create" - ] - }, - "registrationStatus": { - "description": "Domain registration status.", - "enum": [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", - "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "DomainStatus", - "modelAsString": false - } - }, - "provisioningState": { - "description": "Domain provisioning state.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - } - }, - "nameServers": { - "description": "Name servers.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "privacy": { - "description": "true if domain privacy is enabled for this domain; otherwise, false.", - "type": "boolean" - }, - "createdTime": { - "format": "date-time", - "description": "Domain creation timestamp.", - "type": "string", - "readOnly": true - }, - "expirationTime": { - "format": "date-time", - "description": "Domain expiration timestamp.", - "type": "string", - "readOnly": true - }, - "lastRenewedTime": { - "format": "date-time", - "description": "Timestamp when the domain was renewed last time.", - "type": "string", - "readOnly": true - }, - "autoRenew": { - "description": "true if the domain should be automatically renewed; otherwise, false.", - "default": true, - "type": "boolean" - }, - "readyForDnsRecordManagement": { - "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to.", - "type": "boolean", - "readOnly": true - }, - "managedHostNames": { - "description": "All hostnames derived from the domain and assigned to Azure resources.", - "type": "array", - "items": { - "$ref": "#/definitions/HostName" - }, - "readOnly": true, - "x-ms-identifiers": [ - "name" - ] - }, - "consent": { - "$ref": "#/definitions/DomainPurchaseConsent", - "description": "Legal agreement consent.", - "x-ms-mutability": [ - "create" - ] - }, - "domainNotRenewableReasons": { - "description": "Reasons why domain is not renewable.", - "type": "array", - "items": { - "enum": [ - "RegistrationStatusNotSupportedForRenewal", - "ExpirationNotInRenewalTimeRange", - "SubscriptionNotActive" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceNotRenewableReason", - "modelAsString": true - } - }, - "readOnly": true - }, - "dnsType": { - "description": "Current DNS type", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "type": "string", - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } - }, - "dnsZoneId": { - "description": "Azure DNS Zone to use", - "type": "string" - }, - "targetDnsType": { - "description": "Target DNS type (would be used for migration)", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "type": "string", - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } - }, - "authCode": { - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - } - }, - "x-ms-client-flatten": true - } - } - }, - "DomainPurchaseConsent": { - "description": "Domain purchase consent object, representing acceptance of applicable legal agreements.", - "type": "object", - "properties": { - "agreementKeys": { - "description": "List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource.", - "type": "array", - "items": { - "type": "string" - } - }, - "agreedBy": { - "description": "Client IP address.", - "type": "string" - }, - "agreedAt": { - "format": "date-time", - "description": "Timestamp when the agreements were accepted.", - "type": "string" - } - } - }, - "DomainRecommendationSearchParameters": { - "description": "Domain recommendation search parameters.", - "type": "object", - "properties": { - "keywords": { - "description": "Keywords to be used for generating domain recommendations.", - "type": "string" - }, - "maxDomainRecommendations": { - "format": "int32", - "description": "Maximum number of recommendations.", - "type": "integer" - } - } - }, - "HostName": { - "description": "Details of a hostname derived from a domain.", - "type": "object", - "properties": { - "name": { - "description": "Name of the hostname.", - "type": "string" - }, - "siteNames": { - "description": "List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager.", - "type": "array", - "items": { - "type": "string" - } - }, - "azureResourceName": { - "description": "Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name.", - "type": "string" - }, - "azureResourceType": { - "description": "Type of the Azure resource the hostname is assigned to.", - "enum": [ - "Website", - "TrafficManager" - ], - "type": "string", - "x-ms-enum": { - "name": "AzureResourceType", - "modelAsString": false - } - }, - "customHostNameDnsRecordType": { - "description": "Type of the DNS record.", - "enum": [ - "CName", - "A" - ], - "type": "string", - "x-ms-enum": { - "name": "CustomHostNameDnsRecordType", - "modelAsString": false - } - }, - "hostNameType": { - "description": "Type of the hostname.", - "enum": [ - "Verified", - "Managed" - ], - "type": "string", - "x-ms-enum": { - "name": "HostNameType", - "modelAsString": false - } - } - } - }, - "NameIdentifierCollection": { - "description": "Collection of domain name identifiers.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/NameIdentifier" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - } - }, - "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", - "required": true, - "type": "string" - }, - "resourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "description": "Name of the resource group to which the resource belongs.", - "required": true, - "type": "string", - "maxLength": 90, - "minLength": 1, - "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", - "x-ms-parameter-location": "method" - }, - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "API Version", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/TopLevelDomains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/TopLevelDomains.json deleted file mode 100644 index 6badc1dda402..000000000000 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/TopLevelDomains.json +++ /dev/null @@ -1,303 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2024-11-01", - "title": "TopLevelDomains API Client" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains": { - "get": { - "tags": [ - "TopLevelDomains" - ], - "summary": "Get all top-level domains supported for registration.", - "description": "Description for Get all top-level domains supported for registration.", - "operationId": "TopLevelDomains_List", - "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TopLevelDomainCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List Top Level Domains": { - "$ref": "./examples/ListTopLevelDomains.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}": { - "get": { - "tags": [ - "TopLevelDomains" - ], - "summary": "Get details of a top-level domain.", - "description": "Description for Get details of a top-level domain.", - "operationId": "TopLevelDomains_Get", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the top-level domain.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TopLevelDomain" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Get Top Level Domain": { - "$ref": "./examples/GetTopLevelDomain.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements": { - "post": { - "tags": [ - "TopLevelDomains" - ], - "summary": "Gets all legal agreements that user needs to accept before purchasing a domain.", - "description": "Description for Gets all legal agreements that user needs to accept before purchasing a domain.", - "operationId": "TopLevelDomains_ListAgreements", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Name of the top-level domain.", - "required": true, - "type": "string" - }, - { - "name": "agreementOption", - "in": "body", - "description": "Domain agreement options.", - "required": true, - "schema": { - "$ref": "#/definitions/TopLevelDomainAgreementOption" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/TldLegalAgreementCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List Top Level Domain Agreements": { - "$ref": "./examples/ListTopLevelDomainAgreements.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "TldLegalAgreement": { - "description": "Legal agreement for a top level domain.", - "required": [ - "agreementKey", - "title", - "content" - ], - "type": "object", - "properties": { - "agreementKey": { - "description": "Unique identifier for the agreement.", - "type": "string" - }, - "title": { - "description": "Agreement title.", - "type": "string" - }, - "content": { - "description": "Agreement details.", - "type": "string" - }, - "url": { - "description": "URL where a copy of the agreement details is hosted.", - "type": "string" - } - } - }, - "TldLegalAgreementCollection": { - "description": "Collection of top-level domain legal agreements.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/TldLegalAgreement" - }, - "x-ms-identifiers": [ - "agreementKey" - ] - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "TopLevelDomain": { - "description": "A top level domain object.", - "type": "object", - "allOf": [ - { - "$ref": "../../../Microsoft.Web/stable/2024-11-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "TopLevelDomain resource specific properties", - "type": "object", - "properties": { - "privacy": { - "description": "If true, then the top level domain supports domain privacy; otherwise, false.", - "type": "boolean" - } - }, - "x-ms-client-flatten": true - } - } - }, - "TopLevelDomainAgreementOption": { - "description": "Options for retrieving the list of top level domain legal agreements.", - "type": "object", - "properties": { - "includePrivacy": { - "description": "If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false.", - "type": "boolean" - }, - "forTransfer": { - "description": "If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false.", - "type": "boolean" - } - } - }, - "TopLevelDomainCollection": { - "description": "Collection of Top-level domains.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/TopLevelDomain" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - } - }, - "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", - "required": true, - "type": "string" - }, - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "API Version", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} diff --git a/specification/web/resource-manager/readme.md b/specification/web/resource-manager/readme.md index e904afb7a2ec..613b313491c7 100644 --- a/specification/web/resource-manager/readme.md +++ b/specification/web/resource-manager/readme.md @@ -96,27 +96,7 @@ These settings apply only when `--tag=package-2024-11` is specified on the comma ```yaml $(tag) == 'package-2024-11' input-file: - - Microsoft.CertificateRegistration/stable/2024-11-01/AppServiceCertificateOrders.json - - Microsoft.CertificateRegistration/stable/2024-11-01/CertificateOrdersDiagnostics.json - - Microsoft.CertificateRegistration/stable/2024-11-01/CertificateRegistrationProvider.json - - Microsoft.DomainRegistration/stable/2024-11-01/DomainRegistrationProvider.json - - Microsoft.DomainRegistration/stable/2024-11-01/Domains.json - - Microsoft.DomainRegistration/stable/2024-11-01/TopLevelDomains.json - - Microsoft.Web/stable/2024-11-01/AppServiceEnvironments.json - - Microsoft.Web/stable/2024-11-01/AppServicePlans.json - - Microsoft.Web/stable/2024-11-01/Certificates.json - - Microsoft.Web/stable/2024-11-01/CommonDefinitions.json - - Microsoft.Web/stable/2024-11-01/DeletedWebApps.json - - Microsoft.Web/stable/2024-11-01/Diagnostics.json - - Microsoft.Web/stable/2024-11-01/Global.json - - Microsoft.Web/stable/2024-11-01/KubeEnvironments.json - - Microsoft.Web/stable/2024-11-01/Provider.json - - Microsoft.Web/stable/2024-11-01/Recommendations.json - - Microsoft.Web/stable/2024-11-01/ResourceHealthMetadata.json - - Microsoft.Web/stable/2024-11-01/ResourceProvider.json - - Microsoft.Web/stable/2024-11-01/SiteCertificates.json - - Microsoft.Web/stable/2024-11-01/StaticSites.json - - Microsoft.Web/stable/2024-11-01/WebApps.json + - Microsoft.DomainRegistration/stable/2024-11-01/openapi.json ``` ### Tag: package-2024-04 From 2bcfdf1fa18fb9cf44bd4305b140c11d2199bc7d Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Mon, 25 Aug 2025 14:29:56 +0800 Subject: [PATCH 05/43] update tspconfig.yaml --- .../tspconfig.yaml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/specification/web/DomainRegistration.Management/tspconfig.yaml b/specification/web/DomainRegistration.Management/tspconfig.yaml index 8c73b7d69c7d..94b3fd844b69 100644 --- a/specification/web/DomainRegistration.Management/tspconfig.yaml +++ b/specification/web/DomainRegistration.Management/tspconfig.yaml @@ -1,3 +1,6 @@ +parameters: + "service-dir": + default: "sdk/web" emit: - "@azure-tools/typespec-autorest" options: @@ -7,6 +10,42 @@ options: azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" examples-dir: "{project-root}/examples" + emit-lro-options: "all" + "@azure-tools/typespec-csharp": + flavor: azure + package-dir: "Azure.ResourceManager.Web" + clear-output-folder: true + model-namespace: true + namespace: "{package-dir}" + "@azure-tools/typespec-python": + package-dir: "azure-mgmt-web" + namespace: "azure.mgmt.web" + generate-test: true + generate-sample: true + flavor: "azure" + "@azure-tools/typespec-java": + package-dir: "azure-resourcemanager-web" + namespace: "com.azure.resourcemanager.web" + service-name: "Web" # human-readable service name, whitespace allowed + flavor: azure + "@azure-tools/typespec-ts": + service-dir: sdk/web + package-dir: "arm-web" + is-modular-library: true + flavor: "azure" + experimental-extensible-enums: true + package-details: + name: "@azure/arm-web" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/web" + package-dir: "armweb" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" From 879daa2d10f9a5a94a6f0401bfec5ab0da49132c Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Tue, 26 Aug 2025 14:55:07 +0800 Subject: [PATCH 06/43] fix operationid and other errors --- .../DomainRegistration.Management/Domain.tsp | 17 ++-- .../back-compatible.tsp | 3 + .../examples/2024-11-01/ListOperations.json | 2 +- .../DomainRegistration.Management/models.tsp | 90 ++++++++++++------- .../2024-11-01/examples/ListOperations.json | 2 +- .../stable/2024-11-01/openapi.json | 84 ++++++++--------- 6 files changed, 106 insertions(+), 92 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index f5a9340d423b..8e63bdb4f66e 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -122,8 +122,7 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ autoRenew?: boolean = true; /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and - * it is hosted on name servers Azure has programmatic access to. + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. */ @visibility(Lifecycle.Read) readyForDnsRecordManagement?: boolean; @@ -146,12 +145,7 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ */ @visibility(Lifecycle.Read) #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{name:"ResourceNotRenewableReason"}) - domainNotRenewableReasons?: ( - | "RegistrationStatusNotSupportedForRenewal" - | "ExpirationNotInRenewalTimeRange" - | "SubscriptionNotActive" - | string)[]; + domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; /** * Current DNS type @@ -172,7 +166,8 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; - @visibility(Lifecycle.Read, Lifecycle.Create) + @visibility(Lifecycle.Create) + @visibility(Lifecycle.Read) authCode?: string; }> { ...ResourceNameParameter< @@ -208,7 +203,7 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< - DomainUpdate, + Domain, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse & { @bodyRoot _: Domain; @@ -278,7 +273,7 @@ interface Domains { */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @put - transferOut is ArmResourceActionSync | BadRequestResponse>; + transferOut is ArmResourceActionSync | ArmBadRequestResponse>; } @@doc(Domain.name, "Name of the domain."); diff --git a/specification/web/DomainRegistration.Management/back-compatible.tsp b/specification/web/DomainRegistration.Management/back-compatible.tsp index ea3ec48bf4a7..68aeb5ad62b3 100644 --- a/specification/web/DomainRegistration.Management/back-compatible.tsp +++ b/specification/web/DomainRegistration.Management/back-compatible.tsp @@ -49,3 +49,6 @@ using Microsoft.DomainRegistration; @@OpenAPI.extension(NameIdentifierCollection.value, "x-ms-identifiers", #["name"]); @@OpenAPI.extension(TldLegalAgreementCollection.value, "x-ms-identifiers", #["agreementKey"]); + +@@clientLocation(Operations.list, "DomainRegistrationProvider"); +@@clientName(Operations.list, "ListOperations"); \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json index a7d6ee58f0ca..e31fe3242200 100644 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json +++ b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json @@ -101,6 +101,6 @@ "headers": {} } }, - "operationId": "Operations_List", + "operationId": "DomainRegistrationProvider_ListOperations", "title": "List operations" } diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index b8e543cb4d5b..5623efae6cbe 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -15,14 +15,17 @@ namespace Microsoft.DomainRegistration; */ union ResourceNotRenewableReason { string, + /** * Registration status is not supported for renewal. */ RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", + /** * Domain expiration is not in the renewal time range. */ ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", + /** * Subscription is not active. */ @@ -122,7 +125,8 @@ model CsmOperationDescription { * Operation name, e.g. Microsoft.Web/sites/write. */ name?: string; - /** + + /** * Operation display name. */ isDataAction?: boolean; @@ -151,17 +155,17 @@ model CsmOperationDisplay { * Provider name. */ provider?: string; - + /** * Resource type. */ resource?: string; - + /** * Operation name. */ operation?: string; - + /** * Operation description. */ @@ -203,27 +207,27 @@ model MetricSpecification { * Name of the resource metric. */ name?: string; - + /** * Display name of the resource metric. */ displayName?: string; - + /** * Description of the resource metric. */ displayDescription?: string; - + /** * Resource metric unit. */ unit?: string; - + /** * Resource metric aggregation type. */ aggregationType?: string; - + /** * Resource metric supported aggregation types. */ @@ -233,12 +237,12 @@ model MetricSpecification { * Resource metric supported time grain types. */ enableRegionalMdmAccount?: boolean; - + /** * Resource metric source MDM account. */ sourceMdmAccount?: string; - + /** * Resource metric source MDM namespace. */ @@ -253,7 +257,7 @@ model MetricSpecification { * Resource metric fill gap with zero. */ fillGapWithZero?: boolean; - + /** * Resource metric is internal. */ @@ -296,17 +300,17 @@ model Dimension { * Name of the dimension. */ name?: string; - + /** * Display name of the dimension. */ displayName?: string; - + /** * Dimension of the internal name. */ internalName?: string; - + /** * Dimension to be exported for shoebox. */ @@ -336,17 +340,17 @@ model LogSpecification { * Name of the log. */ name?: string; - + /** * Display name of the log. */ displayName?: string; - + /** * Blob duration of the log. */ blobDuration?: string; - + /** * Log filtered pattern of the log. */ @@ -693,7 +697,7 @@ model NameIdentifierCollection is Azure.Core.Page; */ #suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "For backward compatibility" #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" -model DomainPatchResource extends ProxyOnlyResource{ +model DomainPatchResource extends ProxyOnlyResource { /** * DomainPatchResource resource specific properties */ @@ -727,7 +731,10 @@ model DomainPatchResource extends ProxyOnlyResource{ */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-enum", #{name:"DomainStatus", modelAsString: false}) + @OpenAPI.extension( + "x-ms-enum", + #{ name: "DomainStatus", modelAsString: false } + ) registrationStatus?: | "Active" | "Awaiting" @@ -757,7 +764,10 @@ model DomainPatchResource extends ProxyOnlyResource{ */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-enum", #{name:"ProvisioningState", modelAsString: false}) + @OpenAPI.extension( + "x-ms-enum", + #{ name: "ProvisioningState", modelAsString: false } + ) provisioningState?: | "Succeeded" | "Failed" @@ -804,8 +814,7 @@ model DomainPatchResource extends ProxyOnlyResource{ autoRenew?: boolean = true; /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and - * it is hosted on name servers Azure has programmatic access to. + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. */ @visibility(Lifecycle.Read) readyForDnsRecordManagement?: boolean; @@ -828,18 +837,13 @@ model DomainPatchResource extends ProxyOnlyResource{ */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-enum", #{name:"ResourceNotRenewableReason"}) - domainNotRenewableReasons?: ( - | "RegistrationStatusNotSupportedForRenewal" - | "ExpirationNotInRenewalTimeRange" - | "SubscriptionNotActive" - | string)[]; + domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; /** * Current DNS type */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) + @OpenAPI.extension("x-ms-enum", #{ name: "DnsType", modelAsString: false }) dnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; /** @@ -851,10 +855,11 @@ model DomainPatchResource extends ProxyOnlyResource{ * Target DNS type (would be used for migration) */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) + @OpenAPI.extension("x-ms-enum", #{ name: "DnsType", modelAsString: false }) targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; - @visibility(Lifecycle.Read, Lifecycle.Create) + @visibility(Lifecycle.Create) + @visibility(Lifecycle.Read) authCode?: string; }; } @@ -920,3 +925,24 @@ model TldLegalAgreement { */ url?: string; } + +/** + * The server could not understand the request due to invalid syntax. + */ +@error +model ArmBadRequestResponse { + ...TypeSpec.Http.Response<400>; +} + +/** + * Reasons why domain is not renewable. + */ +union domainNotRenewableReasonsProperties { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + RegistrationStatusNotSupportedForRenewal : "RegistrationStatusNotSupportedForRenewal", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + ExpirationNotInRenewalTimeRange : "ExpirationNotInRenewalTimeRange", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + SubscriptionNotActive: "SubscriptionNotActive", +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json index a7d6ee58f0ca..e31fe3242200 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json @@ -101,6 +101,6 @@ "headers": {} } }, - "operationId": "Operations_List", + "operationId": "DomainRegistrationProvider_ListOperations", "title": "List operations" } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 23316498e502..76b5bb5b032d 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -54,7 +54,7 @@ "paths": { "/providers/Microsoft.DomainRegistration/operations": { "get": { - "operationId": "Operations_List", + "operationId": "DomainRegistrationProvider_ListOperations", "tags": [ "Operations" ], @@ -493,10 +493,9 @@ { "name": "domainName", "in": "path", - "description": "The name of the Domain", + "description": "Name of the domain.", "required": true, - "type": "string", - "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" + "type": "string" }, { "name": "domain", @@ -504,7 +503,7 @@ "description": "Domain registration information.", "required": true, "schema": { - "$ref": "#/definitions/DomainUpdate" + "$ref": "#/definitions/Domain" } } ], @@ -1016,7 +1015,8 @@ } }, "400": { - "description": "The server could not understand the request due to invalid syntax." + "description": "The server could not understand the request due to invalid syntax.", + "x-ms-error-response": true }, "default": { "description": "An unexpected error response.", @@ -1264,7 +1264,7 @@ }, "readyForDnsRecordManagement": { "type": "boolean", - "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and\nit is hosted on name servers Azure has programmatic access to.", + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \\n it is hosted on name servers Azure has programmatic access to.", "readOnly": true }, "managedHostNames": { @@ -1288,19 +1288,8 @@ "domainNotRenewableReasons": { "type": "array", "description": "Reasons why domain is not renewable.", - "x-ms-enum": { - "name": "ResourceNotRenewableReason" - }, "items": { - "type": "string", - "enum": [ - "RegistrationStatusNotSupportedForRenewal", - "ExpirationNotInRenewalTimeRange", - "SubscriptionNotActive" - ], - "x-ms-enum": { - "modelAsString": true - } + "$ref": "#/definitions/domainNotRenewableReasonsProperties" }, "readOnly": true }, @@ -1580,7 +1569,7 @@ }, "readyForDnsRecordManagement": { "type": "boolean", - "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and\nit is hosted on name servers Azure has programmatic access to.", + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \\n it is hosted on name servers Azure has programmatic access to.", "readOnly": true }, "managedHostNames": { @@ -1604,19 +1593,8 @@ "domainNotRenewableReasons": { "type": "array", "description": "Reasons why domain is not renewable.", - "x-ms-enum": { - "name": "ResourceNotRenewableReason" - }, "items": { - "type": "string", - "enum": [ - "RegistrationStatusNotSupportedForRenewal", - "ExpirationNotInRenewalTimeRange", - "SubscriptionNotActive" - ], - "x-ms-enum": { - "modelAsString": true - } + "$ref": "#/definitions/domainNotRenewableReasonsProperties" }, "readOnly": true }, @@ -1721,21 +1699,6 @@ "modelAsString": false } }, - "DomainUpdate": { - "type": "object", - "description": "Concrete tracked resource types can be created by aliasing this type using a specific property type.", - "properties": { - "properties": { - "$ref": "#/definitions/Domain", - "description": "The resource-specific properties for this resource." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" - } - ] - }, "HostName": { "type": "object", "description": "Details of a hostname derived from a domain.", @@ -1926,6 +1889,33 @@ "required": [ "value" ] + }, + "domainNotRenewableReasonsProperties": { + "type": "string", + "description": "Reasons why domain is not renewable.", + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "x-ms-enum": { + "name": "domainNotRenewableReasonsProperties", + "modelAsString": true, + "values": [ + { + "name": "RegistrationStatusNotSupportedForRenewal", + "value": "RegistrationStatusNotSupportedForRenewal" + }, + { + "name": "ExpirationNotInRenewalTimeRange", + "value": "ExpirationNotInRenewalTimeRange" + }, + { + "name": "SubscriptionNotActive", + "value": "SubscriptionNotActive" + } + ] + } } }, "parameters": {} From ace1a989bf58af9b8e813b6958e6802cad94925d Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Tue, 26 Aug 2025 17:20:25 +0800 Subject: [PATCH 07/43] fix added model --- .../DomainRegistration.Management/Domain.tsp | 56 +---- .../DomainRegistration.Management/models.tsp | 86 ++++--- .../stable/2024-11-01/openapi.json | 221 ++++++++---------- 3 files changed, 161 insertions(+), 202 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index 8e63bdb4f66e..51c36fff6ed9 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -44,30 +44,7 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-enum", #{name:"DomainStatus", modelAsString: false}) - registrationStatus?: - "Active" | - "Awaiting" | - "Cancelled" | - "Confiscated" | - "Disabled" | - "Excluded" | - "Expired" | - "Failed" | - "Held" | - "Locked" | - "Parked" | - "Pending" | - "Reserved" | - "Reverted" | - "Suspended" | - "Transferred" | - "Unknown" | - "Unlocked" | - "Unparked" | - "Updated" | - "JsonConverterFailed" | - string; + registrationStatus?: registrationStatus; /** * Domain provisioning state. @@ -75,15 +52,7 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-enum", #{name:"ProvisioningState", modelAsString: false}) - provisioningState?: - "Succeeded" | - "Failed" | - "Canceled" | - "InProgress" | - "Deleting" | - string; - + provisioningState?: provisioningState; /** * Name servers. */ @@ -151,8 +120,7 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ * Current DNS type */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) - dnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; + dnsType?: DnsType; /** * Azure DNS Zone to use @@ -163,31 +131,19 @@ model Domain is Azure.ResourceManager.TrackedResource< Properties={ * Target DNS type (would be used for migration) */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{name:"DnsType", modelAsString: false}) - targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; + targetDnsType?: DnsType; - @visibility(Lifecycle.Create) - @visibility(Lifecycle.Read) + @visibility(Lifecycle.Create, Lifecycle.Read) authCode?: string; }> { ...ResourceNameParameter< Resource = {}, KeyName = "domainName", SegmentName = "domains", - NamePattern = "" - >; -} - -model DomainUpdate is Azure.ResourceManager.TrackedResource { - ...ResourceNameParameter< - Resource = Domain, - KeyName = "domainName", - SegmentName = "domains", NamePattern = "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" >; } - #suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface Domains { @@ -219,7 +175,7 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< - DomainUpdate, + Domain, PatchModel = DomainPatchResource, Response = ArmResponse | (AcceptedResponse & { @bodyRoot diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 5623efae6cbe..2ba2c5e2b5e6 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -731,33 +731,7 @@ model DomainPatchResource extends ProxyOnlyResource { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - @OpenAPI.extension( - "x-ms-enum", - #{ name: "DomainStatus", modelAsString: false } - ) - registrationStatus?: - | "Active" - | "Awaiting" - | "Cancelled" - | "Confiscated" - | "Disabled" - | "Excluded" - | "Expired" - | "Failed" - | "Held" - | "Locked" - | "Parked" - | "Pending" - | "Reserved" - | "Reverted" - | "Suspended" - | "Transferred" - | "Unknown" - | "Unlocked" - | "Unparked" - | "Updated" - | "JsonConverterFailed" - | string; + registrationStatus?: registrationStatus; /** * Domain provisioning state. @@ -843,8 +817,7 @@ model DomainPatchResource extends ProxyOnlyResource { * Current DNS type */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{ name: "DnsType", modelAsString: false }) - dnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; + dnsType?: dnsType; /** * Azure DNS Zone to use @@ -855,15 +828,62 @@ model DomainPatchResource extends ProxyOnlyResource { * Target DNS type (would be used for migration) */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @OpenAPI.extension("x-ms-enum", #{ name: "DnsType", modelAsString: false }) - targetDnsType?: "AzureDns" | "DefaultDomainRegistrarDns" | string; + targetDnsType?: DnsType; - @visibility(Lifecycle.Create) - @visibility(Lifecycle.Read) + @visibility(Lifecycle.Create, Lifecycle.Read) authCode?: string; }; } +/** + * ARM resource for dnsType. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum dnsType { + AzureDns, + DefaultDomainRegistrarDns, +} + +/** + * ARM resource for provisionState. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum provisioningState { + Succeeded, + Failed, + Canceled, + InProgress, + Deleting, +} + +/** + * ARM resource for registrationStatus. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +enum registrationStatus { + Active, + Awaiting, + Cancelled, + Confiscated, + Disabled, + Excluded, + Expired, + Failed, + Held, + Locked, + Parked, + Pending, + Reserved, + Reverted, + Suspended, + Transferred, + Unknown, + Unlocked, + Unparked, + Updated, + JsonConverterFailed, +} + /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 76b5bb5b032d..b6fc411ea2da 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -451,7 +451,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" } ], "responses": { @@ -495,7 +496,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" }, { "name": "domain", @@ -567,7 +569,7 @@ { "name": "domainName", "in": "path", - "description": "The name of the Domain", + "description": "Name of the domain.", "required": true, "type": "string", "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" @@ -629,7 +631,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" }, { "name": "forceHardDeleteDomain", @@ -682,7 +685,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" } ], "responses": { @@ -731,7 +735,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" }, { "name": "name", @@ -782,7 +787,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" }, { "name": "name", @@ -842,7 +848,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" }, { "name": "name", @@ -902,7 +909,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" }, { "name": "name", @@ -955,7 +963,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" } ], "responses": { @@ -1004,7 +1013,8 @@ "in": "path", "description": "Name of the domain.", "required": true, - "type": "string" + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" } ], "responses": { @@ -1143,6 +1153,18 @@ "modelAsString": false } }, + "DnsType": { + "type": "string", + "description": "Current DNS type", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, "Domain": { "type": "object", "description": "Information about a domain.", @@ -1180,51 +1202,13 @@ ] }, "registrationStatus": { - "type": "string", + "$ref": "#/definitions/registrationStatus", "description": "Domain registration status.", - "enum": [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", - "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" - ], - "x-ms-enum": { - "name": "DomainStatus", - "modelAsString": false - }, "readOnly": true }, "provisioningState": { - "type": "string", + "$ref": "#/definitions/provisioningState", "description": "Domain provisioning state.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - }, "readOnly": true }, "nameServers": { @@ -1294,32 +1278,16 @@ "readOnly": true }, "dnsType": { - "type": "string", - "description": "Current DNS type", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } + "$ref": "#/definitions/DnsType", + "description": "Current DNS type" }, "dnsZoneId": { "type": "string", "description": "Azure DNS Zone to use" }, "targetDnsType": { - "type": "string", - "description": "Target DNS type (would be used for migration)", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } + "$ref": "#/definitions/DnsType", + "description": "Target DNS type (would be used for migration)" }, "authCode": { "type": "string", @@ -1485,35 +1453,8 @@ ] }, "registrationStatus": { - "type": "string", + "$ref": "#/definitions/registrationStatus", "description": "Domain registration status.", - "enum": [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", - "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" - ], - "x-ms-enum": { - "name": "DomainStatus", - "modelAsString": false - }, "readOnly": true }, "provisioningState": { @@ -1599,32 +1540,16 @@ "readOnly": true }, "dnsType": { - "type": "string", - "description": "Current DNS type", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } + "$ref": "#/definitions/dnsType", + "description": "Current DNS type" }, "dnsZoneId": { "type": "string", "description": "Azure DNS Zone to use" }, "targetDnsType": { - "type": "string", - "description": "Target DNS type (would be used for migration)", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "x-ms-enum": { - "name": "DnsType", - "modelAsString": false - } + "$ref": "#/definitions/DnsType", + "description": "Target DNS type (would be used for migration)" }, "authCode": { "type": "string", @@ -1890,6 +1815,18 @@ "value" ] }, + "dnsType": { + "type": "string", + "description": "ARM resource for dnsType.", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "x-ms-enum": { + "name": "dnsType", + "modelAsString": false + } + }, "domainNotRenewableReasonsProperties": { "type": "string", "description": "Reasons why domain is not renewable.", @@ -1916,6 +1853,52 @@ } ] } + }, + "provisioningState": { + "type": "string", + "description": "ARM resource for provisionState.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": false + } + }, + "registrationStatus": { + "type": "string", + "description": "ARM resource for registrationStatus.", + "enum": [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ], + "x-ms-enum": { + "name": "registrationStatus", + "modelAsString": false + } } }, "parameters": {} From 4e4b84453d9f49bd935571cea99c1398f082cbb0 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Wed, 27 Aug 2025 11:28:10 +0800 Subject: [PATCH 08/43] modify parameter name --- .../DomainRegistration.Management/Domain.tsp | 123 +----- .../DomainRegistration.Management/models.tsp | 207 ++++++--- .../stable/2024-11-01/openapi.json | 401 +++++++++--------- 3 files changed, 363 insertions(+), 368 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index 51c36fff6ed9..c8de08570664 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -14,128 +14,7 @@ namespace Microsoft.DomainRegistration; * Information about a domain. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "" -model Domain is Azure.ResourceManager.TrackedResource< Properties={ - /** - * Administrative contact. - */ - @visibility(Lifecycle.Create) - contactAdmin: Contact; - - /** - * Billing contact. - */ - @visibility(Lifecycle.Create) - contactBilling: Contact; - - /** - * Registrant contact. - */ - @visibility(Lifecycle.Create) - contactRegistrant: Contact; - - /** - * Technical contact. - */ - @visibility(Lifecycle.Create) - contactTech: Contact; - - /** - * Domain registration status. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - @visibility(Lifecycle.Read) - registrationStatus?: registrationStatus; - - /** - * Domain provisioning state. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" - @visibility(Lifecycle.Read) - provisioningState?: provisioningState; - /** - * Name servers. - */ - @visibility(Lifecycle.Read) - nameServers?: string[]; - - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ - privacy?: boolean; - - /** - * Domain creation timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - createdTime?: utcDateTime; - - /** - * Domain expiration timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - expirationTime?: utcDateTime; - - /** - * Timestamp when the domain was renewed last time. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - lastRenewedTime?: utcDateTime; - - /** - * true if the domain should be automatically renewed; otherwise, false. - */ - autoRenew?: boolean = true; - - /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. - */ - @visibility(Lifecycle.Read) - readyForDnsRecordManagement?: boolean; - - /** - * All hostnames derived from the domain and assigned to Azure resources. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) - managedHostNames?: HostName[]; - - /** - * Legal agreement consent. - */ - @visibility(Lifecycle.Create) - consent: DomainPurchaseConsent; - - /** - * Reasons why domain is not renewable. - */ - @visibility(Lifecycle.Read) - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; - - /** - * Current DNS type - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - dnsType?: DnsType; - - /** - * Azure DNS Zone to use - */ - dnsZoneId?: string; - - /** - * Target DNS type (would be used for migration) - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - targetDnsType?: DnsType; - - @visibility(Lifecycle.Create, Lifecycle.Read) - authCode?: string; -}> { +model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = {}, KeyName = "domainName", diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 2ba2c5e2b5e6..1984ba552f4c 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -466,7 +466,131 @@ model DomainCollection is Azure.Core.Page; * Domain resource specific properties */ #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" -model DomainProperties {} +model DomainProperties { + /** + * Administrative contact. + */ + @visibility(Lifecycle.Create) + contactAdmin: Contact; + + /** + * Billing contact. + */ + @visibility(Lifecycle.Create) + contactBilling: Contact; + + /** + * Registrant contact. + */ + @visibility(Lifecycle.Create) + contactRegistrant: Contact; + + /** + * Technical contact. + */ + @visibility(Lifecycle.Create) + contactTech: Contact; + + /** + * Domain registration status. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + @visibility(Lifecycle.Read) + registrationStatus?: DomainStatus; + + /** + * Domain provisioning state. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + /** + * Name servers. + */ + @visibility(Lifecycle.Read) + nameServers?: string[]; + + /** + * true if domain privacy is enabled for this domain; otherwise, false. + */ + privacy?: boolean; + + /** + * Domain creation timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdTime?: utcDateTime; + + /** + * Domain expiration timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + expirationTime?: utcDateTime; + + /** + * Timestamp when the domain was renewed last time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRenewedTime?: utcDateTime; + + /** + * true if the domain should be automatically renewed; otherwise, false. + */ + autoRenew?: boolean = true; + + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. + */ + @visibility(Lifecycle.Read) + readyForDnsRecordManagement?: boolean; + + /** + * All hostnames derived from the domain and assigned to Azure resources. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + managedHostNames?: HostName[]; + + /** + * Legal agreement consent. + */ + @visibility(Lifecycle.Create) + consent: DomainPurchaseConsent; + + /** + * Reasons why domain is not renewable. + */ + @visibility(Lifecycle.Read) + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; + + /** + * Current DNS type + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + dnsType?: DnsType; + + /** + * Azure DNS Zone to use + */ + dnsZoneId?: string; + + /** + * Target DNS type (would be used for migration) + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + targetDnsType?: DnsType; + + /** + * Authorization code for the domain. + */ + @visibility(Lifecycle.Create, Lifecycle.Read) + authCode?: string; +} /** * Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois @@ -731,24 +855,14 @@ model DomainPatchResource extends ProxyOnlyResource { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - registrationStatus?: registrationStatus; + registrationStatus?: DomainStatus; /** * Domain provisioning state. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - @OpenAPI.extension( - "x-ms-enum", - #{ name: "ProvisioningState", modelAsString: false } - ) - provisioningState?: - | "Succeeded" - | "Failed" - | "Canceled" - | "InProgress" - | "Deleting" - | string; + provisioningState?: ProvisioningState; /** * Name servers. @@ -830,6 +944,9 @@ model DomainPatchResource extends ProxyOnlyResource { #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" targetDnsType?: DnsType; + /** + * Authorization code for the domain. + */ @visibility(Lifecycle.Create, Lifecycle.Read) authCode?: string; }; @@ -844,51 +961,35 @@ enum dnsType { DefaultDomainRegistrarDns, } -/** - * ARM resource for provisionState. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" -enum provisioningState { - Succeeded, - Failed, - Canceled, - InProgress, - Deleting, -} - -/** - * ARM resource for registrationStatus. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" -enum registrationStatus { - Active, - Awaiting, - Cancelled, - Confiscated, - Disabled, - Excluded, - Expired, - Failed, - Held, - Locked, - Parked, - Pending, - Reserved, - Reverted, - Suspended, - Transferred, - Unknown, - Unlocked, - Unparked, - Updated, - JsonConverterFailed, -} /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ #suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" -model ProxyOnlyResource {} +model ProxyOnlyResource { + /** + * Resource Id. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Resource Name. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Kind of resource. + */ + kind?: string; + + /** + * Resource type. + */ + @visibility(Lifecycle.Read) + type?: string; +} /** * Collection of domain ownership identifiers. diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index b6fc411ea2da..61e9897b298a 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -1170,140 +1170,8 @@ "description": "Information about a domain.", "properties": { "properties": { - "type": "object", + "$ref": "#/definitions/DomainProperties", "description": "Domain resource specific properties", - "properties": { - "contactAdmin": { - "$ref": "#/definitions/Contact", - "description": "Administrative contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactBilling": { - "$ref": "#/definitions/Contact", - "description": "Billing contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactRegistrant": { - "$ref": "#/definitions/Contact", - "description": "Registrant contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactTech": { - "$ref": "#/definitions/Contact", - "description": "Technical contact.", - "x-ms-mutability": [ - "create" - ] - }, - "registrationStatus": { - "$ref": "#/definitions/registrationStatus", - "description": "Domain registration status.", - "readOnly": true - }, - "provisioningState": { - "$ref": "#/definitions/provisioningState", - "description": "Domain provisioning state.", - "readOnly": true - }, - "nameServers": { - "type": "array", - "description": "Name servers.", - "items": { - "type": "string" - }, - "readOnly": true - }, - "privacy": { - "type": "boolean", - "description": "true if domain privacy is enabled for this domain; otherwise, false." - }, - "createdTime": { - "type": "string", - "format": "date-time", - "description": "Domain creation timestamp.", - "readOnly": true - }, - "expirationTime": { - "type": "string", - "format": "date-time", - "description": "Domain expiration timestamp.", - "readOnly": true - }, - "lastRenewedTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp when the domain was renewed last time.", - "readOnly": true - }, - "autoRenew": { - "type": "boolean", - "description": "true if the domain should be automatically renewed; otherwise, false.", - "default": true - }, - "readyForDnsRecordManagement": { - "type": "boolean", - "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \\n it is hosted on name servers Azure has programmatic access to.", - "readOnly": true - }, - "managedHostNames": { - "type": "array", - "description": "All hostnames derived from the domain and assigned to Azure resources.", - "items": { - "$ref": "#/definitions/HostName" - }, - "readOnly": true, - "x-ms-identifiers": [ - "name" - ] - }, - "consent": { - "$ref": "#/definitions/DomainPurchaseConsent", - "description": "Legal agreement consent.", - "x-ms-mutability": [ - "create" - ] - }, - "domainNotRenewableReasons": { - "type": "array", - "description": "Reasons why domain is not renewable.", - "items": { - "$ref": "#/definitions/domainNotRenewableReasonsProperties" - }, - "readOnly": true - }, - "dnsType": { - "$ref": "#/definitions/DnsType", - "description": "Current DNS type" - }, - "dnsZoneId": { - "type": "string", - "description": "Azure DNS Zone to use" - }, - "targetDnsType": { - "$ref": "#/definitions/DnsType", - "description": "Target DNS type (would be used for migration)" - }, - "authCode": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ] - } - }, - "required": [ - "contactAdmin", - "contactBilling", - "contactRegistrant", - "contactTech", - "consent" - ], "x-ms-client-flatten": true } }, @@ -1453,24 +1321,13 @@ ] }, "registrationStatus": { - "$ref": "#/definitions/registrationStatus", + "$ref": "#/definitions/DomainStatus", "description": "Domain registration status.", "readOnly": true }, "provisioningState": { - "type": "string", + "$ref": "#/definitions/ProvisioningState", "description": "Domain provisioning state.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - }, "readOnly": true }, "nameServers": { @@ -1575,6 +1432,143 @@ } ] }, + "DomainProperties": { + "type": "object", + "description": "Domain resource specific properties", + "properties": { + "contactAdmin": { + "$ref": "#/definitions/Contact", + "description": "Administrative contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactBilling": { + "$ref": "#/definitions/Contact", + "description": "Billing contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactRegistrant": { + "$ref": "#/definitions/Contact", + "description": "Registrant contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactTech": { + "$ref": "#/definitions/Contact", + "description": "Technical contact.", + "x-ms-mutability": [ + "create" + ] + }, + "registrationStatus": { + "$ref": "#/definitions/DomainStatus", + "description": "Domain registration status.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Domain provisioning state.", + "readOnly": true + }, + "nameServers": { + "type": "array", + "description": "Name servers.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privacy": { + "type": "boolean", + "description": "true if domain privacy is enabled for this domain; otherwise, false." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "description": "Domain creation timestamp.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Domain expiration timestamp.", + "readOnly": true + }, + "lastRenewedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the domain was renewed last time.", + "readOnly": true + }, + "autoRenew": { + "type": "boolean", + "description": "true if the domain should be automatically renewed; otherwise, false.", + "default": true + }, + "readyForDnsRecordManagement": { + "type": "boolean", + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \\n it is hosted on name servers Azure has programmatic access to.", + "readOnly": true + }, + "managedHostNames": { + "type": "array", + "description": "All hostnames derived from the domain and assigned to Azure resources.", + "items": { + "$ref": "#/definitions/HostName" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + }, + "consent": { + "$ref": "#/definitions/DomainPurchaseConsent", + "description": "Legal agreement consent.", + "x-ms-mutability": [ + "create" + ] + }, + "domainNotRenewableReasons": { + "type": "array", + "description": "Reasons why domain is not renewable.", + "items": { + "$ref": "#/definitions/domainNotRenewableReasonsProperties" + }, + "readOnly": true + }, + "dnsType": { + "$ref": "#/definitions/DnsType", + "description": "Current DNS type" + }, + "dnsZoneId": { + "type": "string", + "description": "Azure DNS Zone to use" + }, + "targetDnsType": { + "$ref": "#/definitions/DnsType", + "description": "Target DNS type (would be used for migration)" + }, + "authCode": { + "type": "string", + "description": "Authorization code for the domain.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "contactAdmin", + "contactBilling", + "contactRegistrant", + "contactTech", + "consent" + ] + }, "DomainPurchaseConsent": { "type": "object", "description": "Domain purchase consent object, representing acceptance of applicable legal agreements.", @@ -1612,6 +1606,37 @@ } } }, + "DomainStatus": { + "type": "string", + "description": "Domain registration status.", + "enum": [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ], + "x-ms-enum": { + "name": "DomainStatus", + "modelAsString": false + } + }, "DomainType": { "type": "string", "description": "Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything.", @@ -1703,9 +1728,45 @@ "value" ] }, + "ProvisioningState": { + "type": "string", + "description": "Domain provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, "ProxyOnlyResource": { "type": "object", - "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager." + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", + "properties": { + "id": { + "type": "string", + "description": "Resource Id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Resource Name.", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Kind of resource." + }, + "type": { + "type": "string", + "description": "Resource type.", + "readOnly": true + } + } }, "TldLegalAgreement": { "type": "object", @@ -1853,52 +1914,6 @@ } ] } - }, - "provisioningState": { - "type": "string", - "description": "ARM resource for provisionState.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": false - } - }, - "registrationStatus": { - "type": "string", - "description": "ARM resource for registrationStatus.", - "enum": [ - "Active", - "Awaiting", - "Cancelled", - "Confiscated", - "Disabled", - "Excluded", - "Expired", - "Failed", - "Held", - "Locked", - "Parked", - "Pending", - "Reserved", - "Reverted", - "Suspended", - "Transferred", - "Unknown", - "Unlocked", - "Unparked", - "Updated", - "JsonConverterFailed" - ], - "x-ms-enum": { - "name": "registrationStatus", - "modelAsString": false - } } }, "parameters": {} From 8b932c6906899c8f09c2d70f8cd9a64a05ef20c4 Mon Sep 17 00:00:00 2001 From: Wenming Liu Date: Thu, 28 Aug 2025 16:28:39 +0800 Subject: [PATCH 09/43] update --- .../web/DomainRegistration.Management/Domain.tsp | 8 ++++++-- .../stable/2024-11-01/openapi.json | 14 +++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index c8de08570664..d4e849399dce 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -56,7 +56,7 @@ interface Domains { update is ArmCustomPatchSync< Domain, PatchModel = DomainPatchResource, - Response = ArmResponse | (AcceptedResponse & { + Response = ArmResponse | (ArmAcceptedLroResponse> & { @bodyRoot _: Domain; }) @@ -108,7 +108,11 @@ interface Domains { */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @put - transferOut is ArmResourceActionSync | ArmBadRequestResponse>; + transferOut is ArmResourceActionSync< + Domain, + void, + ArmResponse | ArmBadRequestResponse + >; } @@doc(Domain.name, "Name of the domain."); diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 61e9897b298a..2067e600acb6 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -595,6 +595,12 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Domain" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } } }, "default": { @@ -608,7 +614,12 @@ "Update App Service Domain": { "$ref": "./examples/UpdateAppServiceDomain.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/Domain" + }, + "x-ms-long-running-operation": true }, "delete": { "operationId": "Domains_Delete", @@ -1410,6 +1421,7 @@ }, "authCode": { "type": "string", + "description": "Authorization code for the domain.", "x-ms-mutability": [ "read", "create" From 9808c2f15f3c5ee7cf267a7107df7cc3e1fd270a Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 29 Aug 2025 17:24:40 +0800 Subject: [PATCH 10/43] update --- .../DomainRegistration.Management/Domain.tsp | 4 +- .../DomainOwnershipIdentifier.tsp | 22 ++--- .../TopLevelDomain.tsp | 9 +-- .../back-compatible.tsp | 28 ++++--- .../DomainRegistration.Management/main.tsp | 4 +- .../DomainRegistration.Management/models.tsp | 80 ++++++++++++------- .../DomainRegistration.Management/routes.tsp | 10 +-- .../stable/2024-11-01/openapi.json | 44 +++++----- 8 files changed, 113 insertions(+), 88 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index d4e849399dce..1c062fb5a4f8 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -13,7 +13,7 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = {}, @@ -39,7 +39,7 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< Domain, - Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse & { + Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse> & { @bodyRoot _: Domain; }), diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 6f00b54b29b1..2b26a4acff3d 100644 --- a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -14,16 +14,10 @@ namespace Microsoft.DomainRegistration; /** * Domain ownership Identifier. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(Domain) model DomainOwnershipIdentifier - is Azure.ResourceManager.ProxyResource< - { - /** - * Ownership Id. - */ - ownershipId?: string; - }> { + is Azure.ResourceManager.ProxyResource { ...ResourceNameParameter< Resource = DomainOwnershipIdentifier, KeyName = "name", @@ -37,15 +31,15 @@ interface DomainOwnershipIdentifiers { /** * Description for Get ownership identifier for domain */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_GetOwnershipIdentifier") getOwnershipIdentifier is ArmResourceRead; /** * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "" - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_CreateOrUpdateOwnershipIdentifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< DomainOwnershipIdentifier, @@ -55,7 +49,7 @@ interface DomainOwnershipIdentifiers { /** * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_UpdateOwnershipIdentifier") @patch(#{ implicitOptionality: false }) updateOwnershipIdentifier is ArmCustomPatchSync< @@ -66,14 +60,14 @@ interface DomainOwnershipIdentifiers { /** * Description for Delete ownership identifier for domain */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_DeleteOwnershipIdentifier") deleteOwnershipIdentifier is ArmResourceDeleteSync; /** * Description for Lists domain ownership identifiers. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_ListOwnershipIdentifiers") listOwnershipIdentifiers is ArmResourceListByParent< DomainOwnershipIdentifier, diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp index 8349b6055743..dd08bfede254 100644 --- a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp @@ -16,12 +16,7 @@ namespace Microsoft.DomainRegistration; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @subscriptionResource model TopLevelDomain - is Azure.ResourceManager.ProxyResource<{ - /** - * If true, then the top level domain supports domain privacy; otherwise, false. - */ - privacy?: boolean; -}> { + is Azure.ResourceManager.ProxyResource { ...ResourceNameParameter< Resource = TopLevelDomain, KeyName = "name", @@ -53,7 +48,7 @@ interface TopLevelDomains { * Description for Gets all legal agreements that user needs to accept before purchasing a domain. */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) + @list listAgreements is ArmResourceActionSync< TopLevelDomain, TopLevelDomainAgreementOption, diff --git a/specification/web/DomainRegistration.Management/back-compatible.tsp b/specification/web/DomainRegistration.Management/back-compatible.tsp index 68aeb5ad62b3..2567d58b1b5a 100644 --- a/specification/web/DomainRegistration.Management/back-compatible.tsp +++ b/specification/web/DomainRegistration.Management/back-compatible.tsp @@ -32,23 +32,33 @@ using Microsoft.DomainRegistration; @@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, "Domains"); @@clientLocation(DomainsOperationGroup.listRecommendations, "Domains"); -@@clientName(DomainsOperationGroup.listRecommendations::parameters.body, "parameters"); -@@clientName(DomainsOperationGroup.checkAvailability::parameters.body, "identifier"); +@@clientName(DomainsOperationGroup.listRecommendations::parameters.body, + "parameters" +); +@@clientName(DomainsOperationGroup.checkAvailability::parameters.body, + "identifier" +); -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainOwnershipIdentifier.properties); -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainPatchResource.properties); -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(TopLevelDomain.properties); -#suppress "deprecated" "@flattenProperty decorator is not recommended to use." +#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(Domain.properties); -@@OpenAPI.extension(NameIdentifierCollection.value, "x-ms-identifiers", #["name"]); -@@OpenAPI.extension(TldLegalAgreementCollection.value, "x-ms-identifiers", #["agreementKey"]); +@@OpenAPI.extension(NameIdentifierCollection.value, + "x-ms-identifiers", + #["name"] +); +@@OpenAPI.extension(TldLegalAgreementCollection.value, + "x-ms-identifiers", + #["agreementKey"] +); @@clientLocation(Operations.list, "DomainRegistrationProvider"); -@@clientName(Operations.list, "ListOperations"); \ No newline at end of file +@@clientName(Operations.list, "ListOperations"); diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp index 06d7280db0ed..f17d141aa165 100644 --- a/specification/web/DomainRegistration.Management/main.tsp +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -24,10 +24,10 @@ using Azure.ResourceManager.Foundations; using Azure.Core; using Azure.ResourceManager; using TypeSpec.Versioning; -#suppress "@azure-tools/typespec-client-generator-core/client-location-duplicate" "" /** - * + * */ +#suppress "@azure-tools/typespec-client-generator-core/client-location-duplicate" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armProviderNamespace @service(#{ title: "TopLevelDomains API Client" }) @versioned(Versions) diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 1984ba552f4c..0844c2a74618 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -35,7 +35,7 @@ union ResourceNotRenewableReason { /** * Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum DomainType { Regular, SoftDeleted, @@ -44,7 +44,7 @@ enum DomainType { /** * Domain registration status. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum DomainStatus { Active, Awaiting, @@ -72,7 +72,7 @@ enum DomainStatus { /** * Domain provisioning state. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum ProvisioningState { Succeeded, Failed, @@ -84,7 +84,7 @@ enum ProvisioningState { /** * Type of the Azure resource the hostname is assigned to. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum AzureResourceType { Website, TrafficManager, @@ -93,7 +93,7 @@ enum AzureResourceType { /** * Type of the DNS record. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum CustomHostNameDnsRecordType { CName, A, @@ -102,7 +102,7 @@ enum CustomHostNameDnsRecordType { /** * Type of the hostname. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum HostNameType { Verified, Managed, @@ -111,7 +111,7 @@ enum HostNameType { /** * Current DNS type */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum DnsType { AzureDns, DefaultDomainRegistrarDns, @@ -465,7 +465,7 @@ model DomainCollection is Azure.Core.Page; /** * Domain resource specific properties */ -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DomainProperties { /** * Administrative contact. @@ -494,17 +494,18 @@ model DomainProperties { /** * Domain registration status. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) registrationStatus?: DomainStatus; /** * Domain provisioning state. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; + /** * Name servers. */ @@ -564,14 +565,14 @@ model DomainProperties { /** * Reasons why domain is not renewable. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; /** * Current DNS type */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" dnsType?: DnsType; /** @@ -582,7 +583,7 @@ model DomainProperties { /** * Target DNS type (would be used for migration) */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" targetDnsType?: DnsType; /** @@ -769,7 +770,7 @@ model Resource { /** * Resource tags. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" tags?: Record; } @@ -819,8 +820,8 @@ model NameIdentifierCollection is Azure.Core.Page; /** * ARM resource for a domain. */ -#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "For backward compatibility" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DomainPatchResource extends ProxyOnlyResource { /** * DomainPatchResource resource specific properties @@ -923,14 +924,14 @@ model DomainPatchResource extends ProxyOnlyResource { /** * Reasons why domain is not renewable. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; /** * Current DNS type */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" dnsType?: dnsType; /** @@ -941,7 +942,7 @@ model DomainPatchResource extends ProxyOnlyResource { /** * Target DNS type (would be used for migration) */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" targetDnsType?: DnsType; /** @@ -955,17 +956,16 @@ model DomainPatchResource extends ProxyOnlyResource { /** * ARM resource for dnsType. */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" enum dnsType { AzureDns, DefaultDomainRegistrarDns, } - /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProxyOnlyResource { /** * Resource Id. @@ -997,11 +997,33 @@ model ProxyOnlyResource { model DomainOwnershipIdentifierCollection is Azure.Core.Page; +/** + * DomainOwnershipIdentifier resource specific properties + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model DomainOwnershipIdentifierProperties { + /** + * Ownership Id. + */ + ownershipId?: string; +} + /** * Collection of Top-level domains. */ model TopLevelDomainCollection is Azure.Core.Page; +/** + * TopLevelDomain resource specific properties + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model TopLevelDomainProperties { + /** + * If true, then the top level domain supports domain privacy; otherwise, false. + */ + privacy?: boolean; +} + /** * Options for retrieving the list of top level domain legal agreements. */ @@ -1060,10 +1082,10 @@ model ArmBadRequestResponse { */ union domainNotRenewableReasonsProperties { string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - RegistrationStatusNotSupportedForRenewal : "RegistrationStatusNotSupportedForRenewal", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" - ExpirationNotInRenewalTimeRange : "ExpirationNotInRenewalTimeRange", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SubscriptionNotActive: "SubscriptionNotActive", -} \ No newline at end of file +} diff --git a/specification/web/DomainRegistration.Management/routes.tsp b/specification/web/DomainRegistration.Management/routes.tsp index 8fc883f2fb6d..24f106fbc817 100644 --- a/specification/web/DomainRegistration.Management/routes.tsp +++ b/specification/web/DomainRegistration.Management/routes.tsp @@ -13,12 +13,12 @@ using TypeSpec.OpenAPI; namespace Microsoft.DomainRegistration; -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "For backward compatibility" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" interface DomainsOperationGroup { /** * Description for Check if a domain is available for registration. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @summary("Check if a domain is available for registration.") @operationId("Domains_CheckAvailability") @autoRoute @@ -32,7 +32,7 @@ interface DomainsOperationGroup { /** * Description for Generate a single sign-on request for the domain management portal. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @summary("Generate a single sign-on request for the domain management portal.") @operationId("Domains_GetControlCenterSsoRequest") @autoRoute @@ -45,12 +45,12 @@ interface DomainsOperationGroup { /** * Description for Get domain name recommendations based on keywords. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "non-standard operations" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @summary("Get domain name recommendations based on keywords.") @operationId("Domains_ListRecommendations") @autoRoute @action("listDomainRecommendations") - @extension("x-ms-pageable", #{ nextLinkName: "nextLink" }) + @list listRecommendations is ArmProviderActionSync< Request = DomainRecommendationSearchParameters, Response = NameIdentifierCollection, diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 2067e600acb6..3467cb1f1716 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -525,11 +525,6 @@ "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." - }, - "Retry-After": { - "type": "integer", - "format": "int32", - "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, @@ -546,7 +541,8 @@ } }, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "location", + "final-state-schema": "#/definitions/Domain" }, "x-ms-long-running-operation": true }, @@ -1257,14 +1253,8 @@ "description": "Domain ownership Identifier.", "properties": { "properties": { - "type": "object", + "$ref": "#/definitions/DomainOwnershipIdentifierProperties", "description": "DomainOwnershipIdentifier resource specific properties", - "properties": { - "ownershipId": { - "type": "string", - "description": "Ownership Id." - } - }, "x-ms-client-flatten": true } }, @@ -1295,6 +1285,16 @@ "value" ] }, + "DomainOwnershipIdentifierProperties": { + "type": "object", + "description": "DomainOwnershipIdentifier resource specific properties", + "properties": { + "ownershipId": { + "type": "string", + "description": "Ownership Id." + } + } + }, "DomainPatchResource": { "type": "object", "description": "ARM resource for a domain.", @@ -1836,14 +1836,8 @@ "description": "A top level domain object.", "properties": { "properties": { - "type": "object", + "$ref": "#/definitions/TopLevelDomainProperties", "description": "TopLevelDomain resource specific properties", - "properties": { - "privacy": { - "type": "boolean", - "description": "If true, then the top level domain supports domain privacy; otherwise, false." - } - }, "x-ms-client-flatten": true } }, @@ -1888,6 +1882,16 @@ "value" ] }, + "TopLevelDomainProperties": { + "type": "object", + "description": "TopLevelDomain resource specific properties", + "properties": { + "privacy": { + "type": "boolean", + "description": "If true, then the top level domain supports domain privacy; otherwise, false." + } + } + }, "dnsType": { "type": "string", "description": "ARM resource for dnsType.", From 8130589f6e055545f012ae020bcd4c72423e6ea0 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Wed, 3 Sep 2025 16:33:38 +0800 Subject: [PATCH 11/43] use DefaultErrorResponce --- .../DomainRegistration.Management/Domain.tsp | 26 +- .../DomainOwnershipIdentifier.tsp | 19 +- .../TopLevelDomain.tsp | 9 +- .../DomainRegistration.Management/main.tsp | 6 +- .../DomainRegistration.Management/models.tsp | 20 + .../DomainRegistration.Management/routes.tsp | 9 +- .../stable/2024-11-01/openapi.json | 364 +++++++++++++++++- 7 files changed, 412 insertions(+), 41 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index 1c062fb5a4f8..2f1d8562f73f 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -29,7 +29,10 @@ interface Domains { /** * Description for Get a domain. */ - get is ArmResourceRead; + get is ArmResourceRead< + Domain, + Error = DefaultErrorResponse + >; /** * Description for Creates or updates a domain. @@ -39,11 +42,12 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< Domain, + LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse> & { @bodyRoot _: Domain; }), - LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + Error = DefaultErrorResponse >; /** @@ -59,7 +63,8 @@ interface Domains { Response = ArmResponse | (ArmAcceptedLroResponse> & { @bodyRoot _: Domain; - }) + }), + Error = DefaultErrorResponse >; /** @@ -73,7 +78,8 @@ interface Domains { */ @query("forceHardDeleteDomain") forceHardDeleteDomain?: boolean; - } + }, + Error = DefaultErrorResponse >; /** @@ -81,7 +87,8 @@ interface Domains { */ listByResourceGroup is ArmResourceListByParent< Domain, - Response = ArmResponse + Response = ArmResponse, + Error = DefaultErrorResponse >; /** @@ -89,7 +96,8 @@ interface Domains { */ list is ArmListBySubscription< Domain, - Response = ArmResponse + Response = ArmResponse, + Error = DefaultErrorResponse >; /** @@ -100,7 +108,8 @@ interface Domains { renew is ArmResourceActionSync< Domain, void, - OkResponse | AcceptedResponse | NoContentResponse + OkResponse | AcceptedResponse | NoContentResponse, + Error = DefaultErrorResponse >; /** @@ -111,7 +120,8 @@ interface Domains { transferOut is ArmResourceActionSync< Domain, void, - ArmResponse | ArmBadRequestResponse + ArmResponse | ArmBadRequestResponse, + Error = DefaultErrorResponse >; } diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 2b26a4acff3d..a6b5f02e2b0f 100644 --- a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -33,7 +33,10 @@ interface DomainOwnershipIdentifiers { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_GetOwnershipIdentifier") - getOwnershipIdentifier is ArmResourceRead; + getOwnershipIdentifier is ArmResourceRead< + DomainOwnershipIdentifier, + Error = DefaultErrorResponse + >; /** * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier @@ -43,7 +46,8 @@ interface DomainOwnershipIdentifiers { @operationId("Domains_CreateOrUpdateOwnershipIdentifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< DomainOwnershipIdentifier, - Response = ArmResourceUpdatedResponse + Response = ArmResourceUpdatedResponse, + Error = DefaultErrorResponse >; /** @@ -54,7 +58,8 @@ interface DomainOwnershipIdentifiers { @patch(#{ implicitOptionality: false }) updateOwnershipIdentifier is ArmCustomPatchSync< DomainOwnershipIdentifier, - PatchModel = DomainOwnershipIdentifier + PatchModel = DomainOwnershipIdentifier, + Error = DefaultErrorResponse >; /** @@ -62,7 +67,10 @@ interface DomainOwnershipIdentifiers { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @operationId("Domains_DeleteOwnershipIdentifier") - deleteOwnershipIdentifier is ArmResourceDeleteSync; + deleteOwnershipIdentifier is ArmResourceDeleteSync< + DomainOwnershipIdentifier, + Error = DefaultErrorResponse + >; /** * Description for Lists domain ownership identifiers. @@ -71,7 +79,8 @@ interface DomainOwnershipIdentifiers { @operationId("Domains_ListOwnershipIdentifiers") listOwnershipIdentifiers is ArmResourceListByParent< DomainOwnershipIdentifier, - Response = ArmResponse + Response = ArmResponse, + Error = DefaultErrorResponse >; } diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp index dd08bfede254..791c75cf24f6 100644 --- a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp @@ -32,7 +32,8 @@ interface TopLevelDomains { */ get is ArmResourceRead< TopLevelDomain, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Error = DefaultErrorResponse >; /** @@ -41,7 +42,8 @@ interface TopLevelDomains { list is ArmResourceListByParent< TopLevelDomain, BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, - Response = ArmResponse + Response = ArmResponse, + Error = DefaultErrorResponse >; /** @@ -53,7 +55,8 @@ interface TopLevelDomains { TopLevelDomain, TopLevelDomainAgreementOption, ArmResponse, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters + BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, + Error = DefaultErrorResponse >; } diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp index f17d141aa165..27ccb1cd1bb7 100644 --- a/specification/web/DomainRegistration.Management/main.tsp +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -47,4 +47,8 @@ enum Versions { v2024_11_01: "2024-11-01", } -interface Operations extends Azure.ResourceManager.Operations {} +interface Operations + extends Azure.ResourceManager.Legacy.Operations< + ArmResponse, + DefaultErrorResponse + > {} diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 0844c2a74618..95131c156e73 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -1089,3 +1089,23 @@ union domainNotRenewableReasonsProperties { #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" SubscriptionNotActive: "SubscriptionNotActive", } + +/** + * Collection of Azure resource manager operation metadata. + */ +model CsmOperationCollection { + /** + * Collection of resources. + */ + @pageItems + @OpenAPI.extension("x-ms-identifiers", #["name"]) + value: CsmOperationDescription[]; // required + + /** + * Link to next page of resources. + */ + @doc("Link to next page of resources.") + @visibility(Lifecycle.Read) + @nextLink + nextLink?: string; +} \ No newline at end of file diff --git a/specification/web/DomainRegistration.Management/routes.tsp b/specification/web/DomainRegistration.Management/routes.tsp index 24f106fbc817..05caaa138faf 100644 --- a/specification/web/DomainRegistration.Management/routes.tsp +++ b/specification/web/DomainRegistration.Management/routes.tsp @@ -27,7 +27,8 @@ interface DomainsOperationGroup { Request = NameIdentifier, Response = DomainAvailabilityCheckResult, Scope = SubscriptionActionScope, - Parameters = {} + Parameters = {}, + Error = DefaultErrorResponse >; /** * Description for Generate a single sign-on request for the domain management portal. @@ -40,7 +41,8 @@ interface DomainsOperationGroup { getControlCenterSsoRequest is ArmProviderActionSync< Response = DomainControlCenterSsoRequest, Scope = SubscriptionActionScope, - Parameters = {} + Parameters = {}, + Error = DefaultErrorResponse >; /** * Description for Get domain name recommendations based on keywords. @@ -55,6 +57,7 @@ interface DomainsOperationGroup { Request = DomainRecommendationSearchParameters, Response = NameIdentifierCollection, Scope = SubscriptionActionScope, - Parameters = {} + Parameters = {}, + Error = DefaultErrorResponse >; } diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 3467cb1f1716..cb92f8c81ab0 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -68,13 +68,13 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + "$ref": "#/definitions/CsmOperationCollection" } }, "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -120,7 +120,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -156,7 +156,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -193,7 +193,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -236,7 +236,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -275,7 +275,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -321,7 +321,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -373,7 +373,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -415,7 +415,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -465,7 +465,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -531,7 +531,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -602,7 +602,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -659,7 +659,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -706,7 +706,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -763,7 +763,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -824,7 +824,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -885,7 +885,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -937,7 +937,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -987,7 +987,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -1038,7 +1038,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "#/definitions/DefaultErrorResponse" } } }, @@ -1148,6 +1148,88 @@ "phone" ] }, + "CsmOperationCollection": { + "type": "object", + "description": "Collection of Azure resource manager operation metadata.", + "properties": { + "value": { + "type": "array", + "description": "Collection of resources.", + "items": { + "$ref": "#/definitions/CsmOperationDescription" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "type": "string", + "description": "Link to next page of resources.", + "readOnly": true + } + }, + "required": [ + "value" + ] + }, + "CsmOperationDescription": { + "type": "object", + "description": "Description of an operation available for Microsoft.Web resource provider.", + "properties": { + "name": { + "type": "string", + "description": "Operation name, e.g. Microsoft.Web/sites/write." + }, + "isDataAction": { + "type": "boolean", + "description": "Operation display name." + }, + "display": { + "$ref": "#/definitions/CsmOperationDisplay", + "description": "Meta data about operation used for display in portal." + }, + "origin": { + "type": "string", + "description": "Origin of the operation, e.g. \"system\" or \"user\"." + }, + "properties": { + "$ref": "#/definitions/CsmOperationDescriptionProperties", + "description": "Properties available for a Microsoft.Web resource provider operation." + } + } + }, + "CsmOperationDescriptionProperties": { + "type": "object", + "description": "Properties available for a Microsoft.Web resource provider operation.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Resource metrics service provided by Microsoft.Insights resource provider." + } + } + }, + "CsmOperationDisplay": { + "type": "object", + "description": "Meta data about operation used for display in portal.", + "properties": { + "provider": { + "type": "string", + "description": "Provider name." + }, + "resource": { + "type": "string", + "description": "Resource type." + }, + "operation": { + "type": "string", + "description": "Operation name." + }, + "description": { + "type": "string", + "description": "Operation description." + } + } + }, "CustomHostNameDnsRecordType": { "type": "string", "description": "Type of the DNS record.", @@ -1160,6 +1242,94 @@ "modelAsString": false } }, + "DefaultErrorResponse": { + "type": "object", + "description": "App Service error response.", + "properties": { + "error": { + "$ref": "#/definitions/DefaultErrorResponseError", + "description": "Error model.", + "readOnly": true + } + } + }, + "DefaultErrorResponseError": { + "type": "object", + "description": "Error model.", + "properties": { + "code": { + "type": "string", + "description": "Standardized string to programmatically identify the error.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Detailed error description and debugging information.", + "readOnly": true + }, + "target": { + "type": "string", + "description": "Detailed error description and debugging information.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "Error details.", + "items": { + "$ref": "#/definitions/DefaultErrorResponseErrorDetailsItem" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "type": "string", + "description": "More information to debug error.", + "readOnly": true + } + } + }, + "DefaultErrorResponseErrorDetailsItem": { + "type": "object", + "description": "Detailed errors.", + "properties": { + "code": { + "type": "string", + "description": "Standardized string to programmatically identify the error.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Detailed error description and debugging information.", + "readOnly": true + }, + "target": { + "type": "string", + "description": "Detailed error description and debugging information.", + "readOnly": true + } + } + }, + "Dimension": { + "type": "object", + "description": "Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app,\nwhere instance name is dimension of the metric HTTP request", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of the dimension." + }, + "internalName": { + "type": "string", + "description": "Dimension of the internal name." + }, + "toBeExportedForShoebox": { + "type": "boolean", + "description": "Dimension to be exported for shoebox." + } + } + }, "DnsType": { "type": "string", "description": "Current DNS type", @@ -1706,6 +1876,132 @@ "modelAsString": false } }, + "LogSpecification": { + "type": "object", + "description": "Log Definition of a single resource metric.", + "properties": { + "name": { + "type": "string", + "description": "Name of the log." + }, + "displayName": { + "type": "string", + "description": "Display name of the log." + }, + "blobDuration": { + "type": "string", + "description": "Blob duration of the log." + }, + "logFilterPattern": { + "type": "string", + "description": "Log filtered pattern of the log." + } + } + }, + "MetricAvailability": { + "type": "object", + "description": "Retention policy of a resource metric.", + "properties": { + "timeGrain": { + "type": "string", + "description": "Metric availability time grain." + }, + "blobDuration": { + "type": "string", + "description": "Metric availability blob duration." + } + } + }, + "MetricSpecification": { + "type": "object", + "description": "Definition of a single resource metric.", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource metric." + }, + "displayName": { + "type": "string", + "description": "Display name of the resource metric." + }, + "displayDescription": { + "type": "string", + "description": "Description of the resource metric." + }, + "unit": { + "type": "string", + "description": "Resource metric unit." + }, + "aggregationType": { + "type": "string", + "description": "Resource metric aggregation type." + }, + "supportsInstanceLevelAggregation": { + "type": "boolean", + "description": "Resource metric supported aggregation types." + }, + "enableRegionalMdmAccount": { + "type": "boolean", + "description": "Resource metric supported time grain types." + }, + "sourceMdmAccount": { + "type": "string", + "description": "Resource metric source MDM account." + }, + "sourceMdmNamespace": { + "type": "string", + "description": "Resource metric source MDM namespace." + }, + "metricFilterPattern": { + "type": "string", + "description": "Resource metric filter pattern." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Resource metric fill gap with zero." + }, + "isInternal": { + "type": "boolean", + "description": "Resource metric is internal." + }, + "dimensions": { + "type": "array", + "description": "Resource metric dimensions.", + "items": { + "$ref": "#/definitions/Dimension" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "category": { + "type": "string", + "description": "Resource metric category." + }, + "availabilities": { + "type": "array", + "description": "Resource metric availability.", + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "x-ms-identifiers": [] + }, + "supportedTimeGrainTypes": { + "type": "array", + "description": "Resource metric supported time grain types.", + "items": { + "type": "string" + } + }, + "supportedAggregationTypes": { + "type": "array", + "description": "Resource metric supported aggregation types.", + "items": { + "type": "string" + } + } + } + }, "NameIdentifier": { "type": "object", "description": "Identifies an object.", @@ -1780,6 +2076,32 @@ } } }, + "ServiceSpecification": { + "type": "object", + "description": "Resource metrics service provided by Microsoft.Insights resource provider.", + "properties": { + "metricSpecifications": { + "type": "array", + "description": "Resource metrics service name.", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "logSpecifications": { + "type": "array", + "description": "Resource logs service provided by Microsoft.Insights resource provider.", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, "TldLegalAgreement": { "type": "object", "description": "Legal agreement for a top level domain.", From b1ae3fcd402194b32a0dd9b44ce36bd4d6a9bd16 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Wed, 3 Sep 2025 16:53:28 +0800 Subject: [PATCH 12/43] delete duplicate dnstype --- .../web/DomainRegistration.Management/models.tsp | 11 +---------- .../stable/2024-11-01/openapi.json | 14 +------------- 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 95131c156e73..03b6a951af68 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -932,7 +932,7 @@ model DomainPatchResource extends ProxyOnlyResource { * Current DNS type */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - dnsType?: dnsType; + dnsType?: DnsType; /** * Azure DNS Zone to use @@ -953,15 +953,6 @@ model DomainPatchResource extends ProxyOnlyResource { }; } -/** - * ARM resource for dnsType. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum dnsType { - AzureDns, - DefaultDomainRegistrarDns, -} - /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index cb92f8c81ab0..c213de33f451 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -1578,7 +1578,7 @@ "readOnly": true }, "dnsType": { - "$ref": "#/definitions/dnsType", + "$ref": "#/definitions/DnsType", "description": "Current DNS type" }, "dnsZoneId": { @@ -2214,18 +2214,6 @@ } } }, - "dnsType": { - "type": "string", - "description": "ARM resource for dnsType.", - "enum": [ - "AzureDns", - "DefaultDomainRegistrarDns" - ], - "x-ms-enum": { - "name": "dnsType", - "modelAsString": false - } - }, "domainNotRenewableReasonsProperties": { "type": "string", "description": "Reasons why domain is not renewable.", From 4130b1f2cb8aa9ac9e2d0dbea382104791fd1f89 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 4 Sep 2025 10:28:33 +0800 Subject: [PATCH 13/43] fix ci error --- .../DomainRegistration.Management/Domain.tsp | 12 +++--------- .../DomainRegistration.Management/main.tsp | 6 +++--- .../DomainRegistration.Management/models.tsp | 8 ++++---- .../stable/2024-11-01/openapi.json | 19 +------------------ 4 files changed, 11 insertions(+), 34 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index 2f1d8562f73f..0102f6633660 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -29,10 +29,7 @@ interface Domains { /** * Description for Get a domain. */ - get is ArmResourceRead< - Domain, - Error = DefaultErrorResponse - >; + get is ArmResourceRead; /** * Description for Creates or updates a domain. @@ -42,7 +39,8 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< Domain, - LroHeaders = ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader, + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse> & { @bodyRoot _: Domain; @@ -60,10 +58,6 @@ interface Domains { update is ArmCustomPatchSync< Domain, PatchModel = DomainPatchResource, - Response = ArmResponse | (ArmAcceptedLroResponse> & { - @bodyRoot - _: Domain; - }), Error = DefaultErrorResponse >; diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp index 27ccb1cd1bb7..93333d841312 100644 --- a/specification/web/DomainRegistration.Management/main.tsp +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -49,6 +49,6 @@ enum Versions { interface Operations extends Azure.ResourceManager.Legacy.Operations< - ArmResponse, - DefaultErrorResponse - > {} + ArmResponse, + DefaultErrorResponse + > {} diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 03b6a951af68..cf3fe8ab630c 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -1087,16 +1087,16 @@ union domainNotRenewableReasonsProperties { model CsmOperationCollection { /** * Collection of resources. - */ + */ @pageItems @OpenAPI.extension("x-ms-identifiers", #["name"]) value: CsmOperationDescription[]; // required /** - * Link to next page of resources. - */ + * Link to next page of resources. + */ @doc("Link to next page of resources.") @visibility(Lifecycle.Read) @nextLink nextLink?: string; -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index c213de33f451..57ca3003f860 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -587,18 +587,6 @@ "$ref": "#/definitions/Domain" } }, - "202": { - "description": "The request has been accepted for processing, but processing has not yet completed.", - "schema": { - "$ref": "#/definitions/Domain" - }, - "headers": { - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." - } - } - }, "default": { "description": "An unexpected error response.", "schema": { @@ -610,12 +598,7 @@ "Update App Service Domain": { "$ref": "./examples/UpdateAppServiceDomain.json" } - }, - "x-ms-long-running-operation-options": { - "final-state-via": "location", - "final-state-schema": "#/definitions/Domain" - }, - "x-ms-long-running-operation": true + } }, "delete": { "operationId": "Domains_Delete", From 3be28a643337040ce957060e8606aef8bbcaf1c1 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 4 Sep 2025 11:31:15 +0800 Subject: [PATCH 14/43] fix swagger modelvalidation error --- specification/web/DomainRegistration.Management/Domain.tsp | 4 ++++ .../stable/2024-11-01/openapi.json | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index 0102f6633660..2ce676ffc501 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -58,6 +58,10 @@ interface Domains { update is ArmCustomPatchSync< Domain, PatchModel = DomainPatchResource, + Response = ArmResponse | (AcceptedResponse & { + @bodyRoot + _: Domain; + }), Error = DefaultErrorResponse >; diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 57ca3003f860..74686deae6d8 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -587,6 +587,12 @@ "$ref": "#/definitions/Domain" } }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, "default": { "description": "An unexpected error response.", "schema": { From c040100a0acafffd77e39cc4831681135ce247a6 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 4 Sep 2025 15:11:43 +0800 Subject: [PATCH 15/43] delete unused decorator and suppress --- .../web/DomainRegistration.Management/Domain.tsp | 4 ---- .../DomainOwnershipIdentifier.tsp | 10 ---------- .../DomainRegistration.Management/TopLevelDomain.tsp | 2 -- .../web/DomainRegistration.Management/models.tsp | 2 +- .../web/DomainRegistration.Management/routes.tsp | 8 ++------ 5 files changed, 3 insertions(+), 23 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index 2ce676ffc501..b74d7301517e 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -13,7 +13,6 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = {}, @@ -23,7 +22,6 @@ model Domain is Azure.ResourceManager.TrackedResource { >; } -#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armResourceOperations interface Domains { /** @@ -34,7 +32,6 @@ interface Domains { /** * Description for Creates or updates a domain. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< @@ -53,7 +50,6 @@ interface Domains { */ #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< Domain, diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index a6b5f02e2b0f..29cef7ac74e4 100644 --- a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -31,8 +31,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Get ownership identifier for domain */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_GetOwnershipIdentifier") getOwnershipIdentifier is ArmResourceRead< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -42,8 +40,6 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_CreateOrUpdateOwnershipIdentifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< DomainOwnershipIdentifier, Response = ArmResourceUpdatedResponse, @@ -53,8 +49,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_UpdateOwnershipIdentifier") @patch(#{ implicitOptionality: false }) updateOwnershipIdentifier is ArmCustomPatchSync< DomainOwnershipIdentifier, @@ -65,8 +59,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Delete ownership identifier for domain */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_DeleteOwnershipIdentifier") deleteOwnershipIdentifier is ArmResourceDeleteSync< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -75,8 +67,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Lists domain ownership identifiers. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_ListOwnershipIdentifiers") listOwnershipIdentifiers is ArmResourceListByParent< DomainOwnershipIdentifier, Response = ArmResponse, diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp index 791c75cf24f6..c0c8f057e6f0 100644 --- a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp @@ -13,7 +13,6 @@ namespace Microsoft.DomainRegistration; /** * A top level domain object. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @subscriptionResource model TopLevelDomain is Azure.ResourceManager.ProxyResource { @@ -49,7 +48,6 @@ interface TopLevelDomains { /** * Description for Gets all legal agreements that user needs to accept before purchasing a domain. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @list listAgreements is ArmResourceActionSync< TopLevelDomain, diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index cf3fe8ab630c..3d34839149ae 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -1090,7 +1090,7 @@ model CsmOperationCollection { */ @pageItems @OpenAPI.extension("x-ms-identifiers", #["name"]) - value: CsmOperationDescription[]; // required + value: CsmOperationDescription[]; /** * Link to next page of resources. diff --git a/specification/web/DomainRegistration.Management/routes.tsp b/specification/web/DomainRegistration.Management/routes.tsp index 05caaa138faf..df0cd95bac5d 100644 --- a/specification/web/DomainRegistration.Management/routes.tsp +++ b/specification/web/DomainRegistration.Management/routes.tsp @@ -18,9 +18,7 @@ interface DomainsOperationGroup { /** * Description for Check if a domain is available for registration. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @summary("Check if a domain is available for registration.") - @operationId("Domains_CheckAvailability") @autoRoute @action("checkDomainAvailability") checkAvailability is ArmProviderActionSync< @@ -30,12 +28,11 @@ interface DomainsOperationGroup { Parameters = {}, Error = DefaultErrorResponse >; + /** * Description for Generate a single sign-on request for the domain management portal. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @summary("Generate a single sign-on request for the domain management portal.") - @operationId("Domains_GetControlCenterSsoRequest") @autoRoute @action("generateSsoRequest") getControlCenterSsoRequest is ArmProviderActionSync< @@ -44,12 +41,11 @@ interface DomainsOperationGroup { Parameters = {}, Error = DefaultErrorResponse >; + /** * Description for Get domain name recommendations based on keywords. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @summary("Get domain name recommendations based on keywords.") - @operationId("Domains_ListRecommendations") @autoRoute @action("listDomainRecommendations") @list From 1e2a7b1ba27d884d15973b4e49c15e0555a40500 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 4 Sep 2025 15:33:35 +0800 Subject: [PATCH 16/43] fix swagger avocado --- specification/web/resource-manager/readme.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/specification/web/resource-manager/readme.md b/specification/web/resource-manager/readme.md index 613b313491c7..be8aa1b5d94c 100644 --- a/specification/web/resource-manager/readme.md +++ b/specification/web/resource-manager/readme.md @@ -96,7 +96,25 @@ These settings apply only when `--tag=package-2024-11` is specified on the comma ```yaml $(tag) == 'package-2024-11' input-file: + - Microsoft.CertificateRegistration/stable/2024-11-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2024-11-01/CertificateOrdersDiagnostics.json + - Microsoft.CertificateRegistration/stable/2024-11-01/CertificateRegistrationProvider.json - Microsoft.DomainRegistration/stable/2024-11-01/openapi.json + - Microsoft.Web/stable/2024-11-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2024-11-01/AppServicePlans.json + - Microsoft.Web/stable/2024-11-01/Certificates.json + - Microsoft.Web/stable/2024-11-01/CommonDefinitions.json + - Microsoft.Web/stable/2024-11-01/DeletedWebApps.json + - Microsoft.Web/stable/2024-11-01/Diagnostics.json + - Microsoft.Web/stable/2024-11-01/Global.json + - Microsoft.Web/stable/2024-11-01/KubeEnvironments.json + - Microsoft.Web/stable/2024-11-01/Provider.json + - Microsoft.Web/stable/2024-11-01/Recommendations.json + - Microsoft.Web/stable/2024-11-01/ResourceHealthMetadata.json + - Microsoft.Web/stable/2024-11-01/ResourceProvider.json + - Microsoft.Web/stable/2024-11-01/SiteCertificates.json + - Microsoft.Web/stable/2024-11-01/StaticSites.json + - Microsoft.Web/stable/2024-11-01/WebApps.json ``` ### Tag: package-2024-04 From 26d20449382cef5959fe0d4fe0468623993d188e Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 4 Sep 2025 16:18:11 +0800 Subject: [PATCH 17/43] Update Domain.tsp --- specification/web/DomainRegistration.Management/Domain.tsp | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp index b74d7301517e..814e39ed2737 100644 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ b/specification/web/DomainRegistration.Management/Domain.tsp @@ -36,8 +36,6 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" createOrUpdate is ArmResourceCreateOrReplaceAsync< Domain, - LroHeaders = ArmLroLocationHeader & - Azure.Core.Foundations.RetryAfterHeader, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse> & { @bodyRoot _: Domain; From f8eb5b2a48208ed502c5b5fb6fe01b2181b183a5 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Mon, 15 Sep 2025 10:52:15 +0800 Subject: [PATCH 18/43] update tspconfig.yaml --- .../web/DomainRegistration.Management/tspconfig.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/web/DomainRegistration.Management/tspconfig.yaml b/specification/web/DomainRegistration.Management/tspconfig.yaml index 94b3fd844b69..c03ca1aef683 100644 --- a/specification/web/DomainRegistration.Management/tspconfig.yaml +++ b/specification/web/DomainRegistration.Management/tspconfig.yaml @@ -38,8 +38,8 @@ options: name: "@azure/arm-web" "@azure-tools/typespec-go": service-dir: "sdk/resourcemanager/web" - package-dir: "armweb" - module: "github.com/Azure/azure-sdk-for-go/{service-dir}/{package-dir}" + emitter-output-dir: "{output-dir}/{service-dir}/armweb" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armweb" fix-const-stuttering: true flavor: "azure" generate-samples: true From 19db79c9a37283db6f26e5de9122af8e686c2c7b Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Mon, 15 Sep 2025 15:48:05 +0800 Subject: [PATCH 19/43] update back-compatible.tsp --- .../web/DomainRegistration.Management/back-compatible.tsp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/specification/web/DomainRegistration.Management/back-compatible.tsp b/specification/web/DomainRegistration.Management/back-compatible.tsp index 2567d58b1b5a..747a481f938e 100644 --- a/specification/web/DomainRegistration.Management/back-compatible.tsp +++ b/specification/web/DomainRegistration.Management/back-compatible.tsp @@ -1,6 +1,7 @@ import "@azure-tools/typespec-client-generator-core"; using Azure.ClientGenerator.Core; +using Azure.ClientGenerator.Core.Legacy; using Microsoft.DomainRegistration; @@clientName(Domains.createOrUpdate::parameters.resource, "domain"); @@ -40,15 +41,19 @@ using Microsoft.DomainRegistration; ); #suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainOwnershipIdentifier.properties); #suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainPatchResource.properties); #suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(TopLevelDomain.properties); #suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(Domain.properties); @@OpenAPI.extension(NameIdentifierCollection.value, From 71c13d079c63b0c7b55cf60473fb8b304830435c Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 25 Sep 2025 15:49:47 +0800 Subject: [PATCH 20/43] update according to review --- .../back-compatible.tsp | 13 ------------- .../web/DomainRegistration.Management/main.tsp | 2 -- .../web/DomainRegistration.Management/models.tsp | 8 ++++++++ .../DomainRegistration.Management/tspconfig.yaml | 10 +++++----- .../stable/2024-11-01/openapi.json | 4 ++-- 5 files changed, 15 insertions(+), 22 deletions(-) diff --git a/specification/web/DomainRegistration.Management/back-compatible.tsp b/specification/web/DomainRegistration.Management/back-compatible.tsp index 747a481f938e..fa7cbd10ce69 100644 --- a/specification/web/DomainRegistration.Management/back-compatible.tsp +++ b/specification/web/DomainRegistration.Management/back-compatible.tsp @@ -40,30 +40,17 @@ using Microsoft.DomainRegistration; "identifier" ); -#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainOwnershipIdentifier.properties); -#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainPatchResource.properties); -#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(TopLevelDomain.properties); -#suppress "deprecated" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(Domain.properties); -@@OpenAPI.extension(NameIdentifierCollection.value, - "x-ms-identifiers", - #["name"] -); -@@OpenAPI.extension(TldLegalAgreementCollection.value, - "x-ms-identifiers", - #["agreementKey"] -); - @@clientLocation(Operations.list, "DomainRegistrationProvider"); @@clientName(Operations.list, "ListOperations"); diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp index 93333d841312..06bae94c7ac7 100644 --- a/specification/web/DomainRegistration.Management/main.tsp +++ b/specification/web/DomainRegistration.Management/main.tsp @@ -42,8 +42,6 @@ enum Versions { /** * The 2024-11-01 API version. */ - @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) - @useDependency(Azure.Core.Versions.v1_0_Preview_1) v2024_11_01: "2024-11-01", } diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp index 3d34839149ae..b4c8d5abbe51 100644 --- a/specification/web/DomainRegistration.Management/models.tsp +++ b/specification/web/DomainRegistration.Management/models.tsp @@ -815,6 +815,10 @@ model DomainRecommendationSearchParameters { /** * Collection of domain name identifiers. */ +@@OpenAPI.extension(NameIdentifierCollection.value, + "x-ms-identifiers", + #["name"] +); model NameIdentifierCollection is Azure.Core.Page; /** @@ -1033,6 +1037,10 @@ model TopLevelDomainAgreementOption { /** * Collection of top-level domain legal agreements. */ +@@OpenAPI.extension(TldLegalAgreementCollection.value, + "x-ms-identifiers", + #["agreementKey"] +); model TldLegalAgreementCollection is Azure.Core.Page; /** diff --git a/specification/web/DomainRegistration.Management/tspconfig.yaml b/specification/web/DomainRegistration.Management/tspconfig.yaml index c03ca1aef683..18474dce5045 100644 --- a/specification/web/DomainRegistration.Management/tspconfig.yaml +++ b/specification/web/DomainRegistration.Management/tspconfig.yaml @@ -13,24 +13,24 @@ options: emit-lro-options: "all" "@azure-tools/typespec-csharp": flavor: azure - package-dir: "Azure.ResourceManager.Web" + emitter-output-dir: "{output-dir}/{service-dir}/Azure.ResourceManager.Web" clear-output-folder: true model-namespace: true - namespace: "{package-dir}" + namespace: "Azure.ResourceManager.Web" "@azure-tools/typespec-python": - package-dir: "azure-mgmt-web" + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-web" namespace: "azure.mgmt.web" generate-test: true generate-sample: true flavor: "azure" "@azure-tools/typespec-java": - package-dir: "azure-resourcemanager-web" + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-web" namespace: "com.azure.resourcemanager.web" service-name: "Web" # human-readable service name, whitespace allowed flavor: azure "@azure-tools/typespec-ts": service-dir: sdk/web - package-dir: "arm-web" + emitter-output-dir: "{output-dir}/{service-dir}/arm-web" is-modular-library: true flavor: "azure" experimental-extensible-enums: true diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json index 74686deae6d8..b98ddc0b2799 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json @@ -2003,7 +2003,7 @@ }, "NameIdentifierCollection": { "type": "object", - "description": "Collection of domain name identifiers.", + "description": "Paged collection of NameIdentifier items", "properties": { "value": { "type": "array", @@ -2120,7 +2120,7 @@ }, "TldLegalAgreementCollection": { "type": "object", - "description": "Collection of top-level domain legal agreements.", + "description": "Paged collection of TldLegalAgreement items", "properties": { "value": { "type": "array", From eab673d89771dff6945aa7303dcc5770b0aad2ff Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 9 Oct 2025 17:44:21 +0800 Subject: [PATCH 21/43] move files and modify tspconfig --- .../tspconfig.yaml | 28 +- .../DomainRegistration.Management/Domain.tsp | 127 - .../DomainOwnershipIdentifier.tsp | 86 - .../TopLevelDomain.tsp | 65 - .../back-compatible.tsp | 56 - .../2024-11-01/CheckDomainAvailability.json | 20 - .../2024-11-01/CreateAppServiceDomain.json | 305 --- ...teAppServiceDomainOwnershipIdentifier.json | 29 - .../2024-11-01/DeleteAppServiceDomain.json | 15 - ...teAppServiceDomainOwnershipIdentifier.json | 15 - .../examples/2024-11-01/GetDomain.json | 117 - .../GetDomainControlCenterSsoRequest.json | 17 - .../GetDomainOwnershipIdentifier.json | 24 - .../2024-11-01/GetTopLevelDomain.json | 22 - .../ListDomainOwnershipIdentifiers.json | 27 - .../2024-11-01/ListDomainRecommendations.json | 30 - .../ListDomainsByResourceGroup.json | 119 - .../2024-11-01/ListDomainsBySubscription.json | 118 - .../examples/2024-11-01/ListOperations.json | 106 - .../ListTopLevelDomainAgreements.json | 34 - .../2024-11-01/ListTopLevelDomains.json | 89 - .../examples/2024-11-01/RenewDomain.json | 15 - .../2024-11-01/TransferOutDomain.json | 117 - .../2024-11-01/UpdateAppServiceDomain.json | 303 --- ...teAppServiceDomainOwnershipIdentifier.json | 29 - .../DomainRegistration.Management/main.tsp | 52 - .../DomainRegistration.Management/models.tsp | 1110 -------- .../DomainRegistration.Management/routes.tsp | 59 - .../tspconfig.yaml | 51 - .../Microsoft.Web/AppService/readme.md | 2355 +++++++++++++++++ 30 files changed, 2369 insertions(+), 3171 deletions(-) delete mode 100644 specification/web/DomainRegistration.Management/Domain.tsp delete mode 100644 specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp delete mode 100644 specification/web/DomainRegistration.Management/TopLevelDomain.tsp delete mode 100644 specification/web/DomainRegistration.Management/back-compatible.tsp delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json delete mode 100644 specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json delete mode 100644 specification/web/DomainRegistration.Management/main.tsp delete mode 100644 specification/web/DomainRegistration.Management/models.tsp delete mode 100644 specification/web/DomainRegistration.Management/routes.tsp delete mode 100644 specification/web/DomainRegistration.Management/tspconfig.yaml create mode 100644 specification/web/resource-manager/Microsoft.Web/AppService/readme.md diff --git a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml index 18474dce5045..fdad07056b6a 100644 --- a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml +++ b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml @@ -1,6 +1,6 @@ parameters: "service-dir": - default: "sdk/web" + default: "sdk/domainregistration" emit: - "@azure-tools/typespec-autorest" options: @@ -13,33 +13,33 @@ options: emit-lro-options: "all" "@azure-tools/typespec-csharp": flavor: azure - emitter-output-dir: "{output-dir}/{service-dir}/Azure.ResourceManager.Web" + emitter-output-dir: "{output-dir}/{service-dir}/Azure.ResourceManager.Domainregistration" clear-output-folder: true model-namespace: true - namespace: "Azure.ResourceManager.Web" + namespace: "Azure.ResourceManager.Domainregistration" "@azure-tools/typespec-python": - emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-web" - namespace: "azure.mgmt.web" + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-domainregistration" + namespace: "azure.mgmt.domainregistration" generate-test: true generate-sample: true flavor: "azure" "@azure-tools/typespec-java": - emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-web" - namespace: "com.azure.resourcemanager.web" - service-name: "Web" # human-readable service name, whitespace allowed + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-domainregistration" + namespace: "com.azure.resourcemanager.domainregistration" + service-name: "Domainregistration" # human-readable service name, whitespace allowed flavor: azure "@azure-tools/typespec-ts": - service-dir: sdk/web - emitter-output-dir: "{output-dir}/{service-dir}/arm-web" + service-dir: sdk/domainregistration + emitter-output-dir: "{output-dir}/{service-dir}/arm-domainregistration" is-modular-library: true flavor: "azure" experimental-extensible-enums: true package-details: - name: "@azure/arm-web" + name: "@azure/arm-domainregistration" "@azure-tools/typespec-go": - service-dir: "sdk/resourcemanager/web" - emitter-output-dir: "{output-dir}/{service-dir}/armweb" - module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armweb" + service-dir: "sdk/resourcemanager/domainregistration" + emitter-output-dir: "{output-dir}/{service-dir}/armdomainregistration" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armdomainregistration" fix-const-stuttering: true flavor: "azure" generate-samples: true diff --git a/specification/web/DomainRegistration.Management/Domain.tsp b/specification/web/DomainRegistration.Management/Domain.tsp deleted file mode 100644 index 814e39ed2737..000000000000 --- a/specification/web/DomainRegistration.Management/Domain.tsp +++ /dev/null @@ -1,127 +0,0 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; - -using TypeSpec.Rest; -using Azure.ResourceManager; -using TypeSpec.Http; -using TypeSpec.OpenAPI; - -namespace Microsoft.DomainRegistration; -/** - * Information about a domain. - */ -model Domain is Azure.ResourceManager.TrackedResource { - ...ResourceNameParameter< - Resource = {}, - KeyName = "domainName", - SegmentName = "domains", - NamePattern = "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" - >; -} - -@armResourceOperations -interface Domains { - /** - * Description for Get a domain. - */ - get is ArmResourceRead; - - /** - * Description for Creates or updates a domain. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - createOrUpdate is ArmResourceCreateOrReplaceAsync< - Domain, - Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse> & { - @bodyRoot - _: Domain; - }), - Error = DefaultErrorResponse - >; - - /** - * Description for Creates or updates a domain. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @patch(#{ implicitOptionality: false }) - update is ArmCustomPatchSync< - Domain, - PatchModel = DomainPatchResource, - Response = ArmResponse | (AcceptedResponse & { - @bodyRoot - _: Domain; - }), - Error = DefaultErrorResponse - >; - - /** - * Description for Delete a domain. - */ - delete is ArmResourceDeleteSync< - Domain, - Parameters = { - /** - * Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours. - */ - @query("forceHardDeleteDomain") - forceHardDeleteDomain?: boolean; - }, - Error = DefaultErrorResponse - >; - - /** - * Description for Get all domains in a resource group. - */ - listByResourceGroup is ArmResourceListByParent< - Domain, - Response = ArmResponse, - Error = DefaultErrorResponse - >; - - /** - * Description for Get all domains in a subscription. - */ - list is ArmListBySubscription< - Domain, - Response = ArmResponse, - Error = DefaultErrorResponse - >; - - /** - * Description for Renew a domain. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - renew is ArmResourceActionSync< - Domain, - void, - OkResponse | AcceptedResponse | NoContentResponse, - Error = DefaultErrorResponse - >; - - /** - * Transfer out domain to another registrar - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @put - transferOut is ArmResourceActionSync< - Domain, - void, - ArmResponse | ArmBadRequestResponse, - Error = DefaultErrorResponse - >; -} - -@@doc(Domain.name, "Name of the domain."); -@@doc(Domain.properties, "Domain resource specific properties"); -@@doc(Domains.createOrUpdate::parameters.resource, - "Domain registration information." -); -@@doc(Domains.update::parameters.properties, - "Domain registration information." -); diff --git a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp deleted file mode 100644 index 29cef7ac74e4..000000000000 --- a/specification/web/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ /dev/null @@ -1,86 +0,0 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; -import "./Domain.tsp"; - -using TypeSpec.Rest; -using Azure.ResourceManager; -using TypeSpec.Http; -using TypeSpec.OpenAPI; - -namespace Microsoft.DomainRegistration; -/** - * Domain ownership Identifier. - */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@parentResource(Domain) -model DomainOwnershipIdentifier - is Azure.ResourceManager.ProxyResource { - ...ResourceNameParameter< - Resource = DomainOwnershipIdentifier, - KeyName = "name", - SegmentName = "domainOwnershipIdentifiers", - NamePattern = "" - >; -} - -@armResourceOperations -interface DomainOwnershipIdentifiers { - /** - * Description for Get ownership identifier for domain - */ - getOwnershipIdentifier is ArmResourceRead< - DomainOwnershipIdentifier, - Error = DefaultErrorResponse - >; - - /** - * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< - DomainOwnershipIdentifier, - Response = ArmResourceUpdatedResponse, - Error = DefaultErrorResponse - >; - - /** - * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier - */ - @patch(#{ implicitOptionality: false }) - updateOwnershipIdentifier is ArmCustomPatchSync< - DomainOwnershipIdentifier, - PatchModel = DomainOwnershipIdentifier, - Error = DefaultErrorResponse - >; - - /** - * Description for Delete ownership identifier for domain - */ - deleteOwnershipIdentifier is ArmResourceDeleteSync< - DomainOwnershipIdentifier, - Error = DefaultErrorResponse - >; - - /** - * Description for Lists domain ownership identifiers. - */ - listOwnershipIdentifiers is ArmResourceListByParent< - DomainOwnershipIdentifier, - Response = ArmResponse, - Error = DefaultErrorResponse - >; -} - -@@doc(DomainOwnershipIdentifier.name, "Name of identifier."); -@@doc(DomainOwnershipIdentifier.properties, - "DomainOwnershipIdentifier resource specific properties" -); -@@doc(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, - "A JSON representation of the domain ownership properties." -); -@@doc(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, - "A JSON representation of the domain ownership properties." -); diff --git a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp b/specification/web/DomainRegistration.Management/TopLevelDomain.tsp deleted file mode 100644 index c0c8f057e6f0..000000000000 --- a/specification/web/DomainRegistration.Management/TopLevelDomain.tsp +++ /dev/null @@ -1,65 +0,0 @@ -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; -import "@typespec/rest"; -import "./models.tsp"; - -using TypeSpec.Rest; -using Azure.ResourceManager; -using TypeSpec.Http; -using TypeSpec.OpenAPI; - -namespace Microsoft.DomainRegistration; -/** - * A top level domain object. - */ -@subscriptionResource -model TopLevelDomain - is Azure.ResourceManager.ProxyResource { - ...ResourceNameParameter< - Resource = TopLevelDomain, - KeyName = "name", - SegmentName = "topLevelDomains", - NamePattern = "" - >; -} - -@armResourceOperations -interface TopLevelDomains { - /** - * Description for Get details of a top-level domain. - */ - get is ArmResourceRead< - TopLevelDomain, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, - Error = DefaultErrorResponse - >; - - /** - * Description for Get all top-level domains supported for registration. - */ - list is ArmResourceListByParent< - TopLevelDomain, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, - Response = ArmResponse, - Error = DefaultErrorResponse - >; - - /** - * Description for Gets all legal agreements that user needs to accept before purchasing a domain. - */ - @list - listAgreements is ArmResourceActionSync< - TopLevelDomain, - TopLevelDomainAgreementOption, - ArmResponse, - BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, - Error = DefaultErrorResponse - >; -} - -@@doc(TopLevelDomain.name, "Name of the top-level domain."); -@@doc(TopLevelDomain.properties, "TopLevelDomain resource specific properties"); -@@doc(TopLevelDomains.listAgreements::parameters.body, - "Domain agreement options." -); diff --git a/specification/web/DomainRegistration.Management/back-compatible.tsp b/specification/web/DomainRegistration.Management/back-compatible.tsp deleted file mode 100644 index fa7cbd10ce69..000000000000 --- a/specification/web/DomainRegistration.Management/back-compatible.tsp +++ /dev/null @@ -1,56 +0,0 @@ -import "@azure-tools/typespec-client-generator-core"; - -using Azure.ClientGenerator.Core; -using Azure.ClientGenerator.Core.Legacy; -using Microsoft.DomainRegistration; - -@@clientName(Domains.createOrUpdate::parameters.resource, "domain"); -@@clientName(Domains.update::parameters.properties, "domain"); -@@clientLocation(DomainOwnershipIdentifiers.getOwnershipIdentifier, "Domains"); -@@clientLocation(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier, - "Domains" -); -@@clientName(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, - "domainOwnershipIdentifier" -); -@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, - "Domains" -); -@@clientName(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, - "domainOwnershipIdentifier" -); -@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, - "Domains" -); -@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, - "Domains" -); - -@@clientName(TopLevelDomains.listAgreements::parameters.body, - "agreementOption" -); -@@clientLocation(DomainsOperationGroup.checkAvailability, "Domains"); -@@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, "Domains"); -@@clientLocation(DomainsOperationGroup.listRecommendations, "Domains"); - -@@clientName(DomainsOperationGroup.listRecommendations::parameters.body, - "parameters" -); -@@clientName(DomainsOperationGroup.checkAvailability::parameters.body, - "identifier" -); - -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@@flattenProperty(DomainOwnershipIdentifier.properties); - -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@@flattenProperty(DomainPatchResource.properties); - -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@@flattenProperty(TopLevelDomain.properties); - -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@@flattenProperty(Domain.properties); - -@@clientLocation(Operations.list, "DomainRegistrationProvider"); -@@clientName(Operations.list, "ListOperations"); diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json deleted file mode 100644 index b6bca2cd4414..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/CheckDomainAvailability.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "identifier": { - "name": "abcd.com" - }, - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "abcd.com", - "available": true, - "domainType": "Regular" - } - } - }, - "operationId": "Domains_CheckAvailability", - "title": "Check domain availability" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json deleted file mode 100644 index 869d9a99dc53..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomain.json +++ /dev/null @@ -1,305 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domain": { - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "dnsType": "DefaultDomainRegistrarDns", - "privacy": false - }, - "tags": {} - }, - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - }, - "202": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - } - }, - "operationId": "Domains_CreateOrUpdate", - "title": "Create App Service Domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json deleted file mode 100644 index f391c824f65e..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/CreateAppServiceDomainOwnershipIdentifier.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "name": "SampleOwnershipId", - "api-version": "2024-11-01", - "domainName": "example.com", - "domainOwnershipIdentifier": { - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "headers": {} - } - }, - "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", - "title": "Create App Service Domain OwnershipIdentifier" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json deleted file mode 100644 index f33f41a275a6..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomain.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "forceHardDeleteDomain": true, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": {}, - "204": {} - }, - "operationId": "Domains_Delete", - "title": "Delete App Service Domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json deleted file mode 100644 index 3e7d0e023dc8..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/DeleteAppServiceDomainOwnershipIdentifier.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "name": "ownershipIdentifier", - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": {}, - "204": {} - }, - "operationId": "Domains_DeleteOwnershipIdentifier", - "title": "Delete App Service Domain Ownership Identifier" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json deleted file mode 100644 index 3ec951036c1d..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomain.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "getOnlyIfReadyForDnsManagement": true, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - } - }, - "operationId": "Domains_Get", - "title": "Get Domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json deleted file mode 100644 index b43e7d7b2033..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainControlCenterSsoRequest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "postParameterKey": "saml", - "postParameterValue": "1242sds|k1340", - "url": "https://Reseller.provider.com/?xRequestId=sdsdsds&app=dcc" - } - } - }, - "operationId": "Domains_GetControlCenterSsoRequest", - "title": "Get Domain Control Center Sso Request" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json deleted file mode 100644 index 35a199cb45ae..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetDomainOwnershipIdentifier.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "name": "SampleOwnershipId", - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "headers": {} - } - }, - "operationId": "Domains_GetOwnershipIdentifier", - "title": "Get Domain Ownership Identifier" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json deleted file mode 100644 index 3293b7d746b1..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/GetTopLevelDomain.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "name": "com", - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "com", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", - "properties": { - "privacy": true - } - }, - "headers": {} - } - }, - "operationId": "TopLevelDomains_Get", - "title": "Get Top Level Domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json deleted file mode 100644 index a890737723c0..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainOwnershipIdentifiers.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_ListOwnershipIdentifiers", - "title": "List Domain Ownership Identifiers" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json deleted file mode 100644 index 2ccaa4fe7e43..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainRecommendations.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "parameters": { - "keywords": "example1", - "maxDomainRecommendations": 10 - }, - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "domainnamesuggestion1" - }, - { - "name": "domainnamesuggestion2" - }, - { - "name": "domainnamesuggestion3" - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_ListRecommendations", - "title": "List domain recommendations" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json deleted file mode 100644 index a008f123f0c2..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsByResourceGroup.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_ListByResourceGroup", - "title": "List domains by resource group" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json deleted file mode 100644 index 3364dec6869d..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListDomainsBySubscription.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_List", - "title": "List domains by subscription" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json deleted file mode 100644 index e31fe3242200..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListOperations.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "Microsoft.DomainRegistration/domains/Read", - "display": { - "description": "Get the list of domains", - "operation": "Get Domains", - "provider": "Microsoft Domains", - "resource": "Domain" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/domains/Write", - "display": { - "description": "Add a new Domain or update an existing one", - "operation": "Add or Update Domain", - "provider": "Microsoft Domains", - "resource": "Domain" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/domains/Delete", - "display": { - "description": "Delete an existing domain.", - "operation": "Delete Domain", - "provider": "Microsoft Domains", - "resource": "Domain" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/domains/operationresults/Read", - "display": { - "description": "Get a domain operation", - "operation": "Get Domain Operation", - "provider": "Microsoft Domains", - "resource": "Domain operation" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/generateSsoRequest/Action", - "display": { - "description": "Generate a request for signing into domain control center.", - "operation": "Generate Domain Control Center Single Sign On Request", - "provider": "Microsoft Domains", - "resource": "Domain Control Center Single Sign On Request" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/validateDomainRegistrationInformation/Action", - "display": { - "description": "Validate domain purchase object without submitting it", - "operation": "Domain Purchase Info Validation", - "provider": "Microsoft Domains", - "resource": "Domain Validation" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/checkDomainAvailability/Action", - "display": { - "description": "Check if a domain is available for purchase", - "operation": "Check Domain Availability", - "provider": "Microsoft Domains", - "resource": "Domain Availability Result" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/listDomainRecommendations/Action", - "display": { - "description": "Retrieve the list domain recommendations based on keywords", - "operation": "Retrieve Domain Recommendations", - "provider": "Microsoft Domains", - "resource": "Domain Recommendations" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/register/action", - "display": { - "description": "Register the Microsoft Domains resource provider for the subscription", - "operation": "Register Microsoft Domains resource provider", - "provider": "Microsoft Domains", - "resource": "Microsoft Domains resource provider" - }, - "origin": "user,system" - } - ] - }, - "headers": {} - } - }, - "operationId": "DomainRegistrationProvider_ListOperations", - "title": "List operations" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json deleted file mode 100644 index ab5e037f5d1e..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomainAgreements.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "name": "in", - "agreementOption": { - "forTransfer": false, - "includePrivacy": true - }, - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "agreementKey": "DNRA", - "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Registration Agreement\n
\n

Last Revised: October 6, 2017

\n

PLEASE READ THIS AGREEMENT CAREFULLY, AS IT CONTAINS IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS AND REMEDIES.

\r\n

1. OVERVIEW

\r\n

This Domain Name Registration Agreement (this \"Agreement\") is entered into by and between 510456, an individual (\"Azure\") and you, and is made effective as of the date of electronic acceptance.  This Agreement sets forth the terms and conditions of your use of Azure's Domain Name Registration services (the \"Domain Name Registration Services\" or the \"Services\"). The terms \"we\", \"us\" or \"our\" shall refer to Azure.  The terms \"you\", \"your\", \"User\" or \"customer\" shall refer to any individual or entity who accepts this Agreement.  Unless otherwise specified, nothing in this Agreement shall be deemed to confer any third-party rights or benefits.

\r\n

Your electronic acceptance of this Agreement signifies that you have read, understand, acknowledge and agree to be bound by this Agreement, which incorporates by reference each of (i) Azure’s Universal Terms of Service Agreement (\"UTOS\"), (ii) all agreements, guidelines, policies, practices, procedures, registration requirements or operational standards of the top-level domain (\"TLD\") in which you register any domain (“Registry Policies”), and (iii) any plan limits, product disclaimers or other restrictions presented to you on the Domain Name Registration Services landing page of the Azure website (this “Site”). 

\r\n

TO LINK TO AND REVIEW THE REGISTRY POLICIES FOR THE TLD IN WHICH YOU WISH TO REGISTER A DOMAIN NAME, PLEASE CLICK HERE   

\r\n

You acknowledge and agree that (i) Azure, in its sole and absolute discretion, may change or modify this Agreement, and any policies or agreements which are incorporated herein, at any time, and such changes or modifications shall be effective immediately upon posting to this Site, and (ii) your use of this Site or the Services found at this Site after such changes or modifications have been made shall constitute your acceptance of this Agreement as last revised.  If you do not agree to be bound by this Agreement as last revised, do not use (or continue to use) this Site or the Services found at this Site.  In addition, Azure may occasionally notify you of changes or modifications to this Agreement by email.  It is therefore very important that you keep your shopper account (“Shopper Account”) information, including your email address, current.  Azure assumes no liability or responsibility for your failure to receive an email notification if such failure results from an inaccurate or out-of-date email address.    Azure is not an Internet Corporation for Assigned Names and Numbers (\"ICANN\") accredited registrar; it is an authorized reseller of domain name registration services.  Accordingly, you acknowledge and agree that Azure may modify this Agreement in order to comply with any terms and conditions set forth by (i) the sponsoring registrar, (ii) ICANN, and/or (iii) the registry applicable to the TLD or country code top level domain (\"ccTLD\") in question.  As used herein, the terms \"registry\", \"Registry\", \"registry operator\" or \"Registry Operator\" shall refer to the registry applicable to the TLD or ccTLD in question.  To identify the sponsoring registrar, click here

\r\n

2. PROVISIONS SPECIFIC TO ALL REGISTRATIONS

\r\n

Unless otherwise noted, the provisions below in this Section 2 are generally applicable to all TLDs that we offer.  Special provisions specific to any TLD or ccTLD (those in addition to posted Registry Policies) are identified elsewhere below in this Agreement. 

\r\n
    \r\n
  1. \r\n
    Registry Policies. You agree to be bound by all Registry Policies (defined above in this Agreement) applicable to your domain name registration (at any level). IT IS YOUR RESPONSIBILITY TO VISIT THE APPLICABLE TLD SITE AND READ AND REVIEW ALL APPLICABLE REGISTRY POLICIES PRIOR TO YOUR REGISTRATION IN THE TLD.  REGISTRY POLICIES FOR EACH TLD CAN BE FOUND BY VISITING THE CORRESPONDING TLD LINK LISTED HERE.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator of the TLD in which the domain name registration is made is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the respective TLD. The third party beneficiary rights of the Registry Operator will survive any termination of this Agreement.    
    \r\n
  2. \r\n
  3. \r\n
    Registration Requirements.  To the extent any TLD or ccTLD requires you meet eligibility (e.g., residency for .JP, .EU, etc.), validation (e.g., DNS validation) or other authentication requirements as a condition to registering a domain name in the TLD, you agree that by submitting an application or registering or renewing your domain name, you represent and warrant that: (a) all information provided to register or renew the domain name (including all supporting documents, if any) is true, complete and correct, and is not misleading in any way, and the application is made in good faith; (b) you meet, and will continue to meet, the eligibility criteria prescribed in the Registry Policies for the applicable TLD for the duration of the domain name registration; (c) you have not previously submitted an application for the domain name with another registrar using the same eligibility criteria, and the other registrar has rejected the application (if applicable); (d) you acknowledge and agree that even if the domain name is accepted for registration, your entitlement to register the domain name may be challenged by others who claim to have an entitlement to the domain name; and (e) you acknowledge and agree that the Registry or the registrar can cancel the registration of the domain name if any of the warranties required are found to be untrue, incomplete, incorrect or misleading.
    \r\n
  4. \r\n
  5. \r\n
    Ownership.  You acknowledge and agree that registration of a domain name does not create any proprietary right for you, the registrar, or any other person in the name used as a domain name or the domain name registration and that the entry of a domain name in the Registry shall not be construed as evidence or ownership of the domain name registered as a domain name. You shall not in any way transfer or purport to transfer a proprietary right in any domain name registration or grant or purport to grant as security or in any other manner encumber or purport to encumber a domain name registration.
    \r\n
  6. \r\n
  7. \r\n
    ICANN Requirements. You agree to comply with the ICANN requirements, standards, policies, procedures, and practices for which each applicable Registry Operator has monitoring responsibility in accordance with the Registry Agreement between ICANN and itself or any other arrangement with ICANN.
    \r\n
  8. \r\n
  9. \r\n
    Indemnification of Registry.  You agree to indemnify, defend and hold harmless (within 30 days of demand) the Registry Operator and Registry Service Provider and their subcontractors, subsidiaries, affiliates, divisions, shareholders, directors, officers, employees, accountants, attorneys, insurers, agents, predecessors, successors and assigns, from and against any and all claims, demands, damages, losses, costs, expenses, causes of action or other liabilities of any kind, whether known or unknown, including reasonable legal and attorney’s fees and expenses, in any way arising out of, relating to, or otherwise in connection with the your domain name registration, including, without limitation, the use, registration, extension, renewal, deletion, and/or transfer thereof and/or the violation of any applicable terms or conditions governing the registration. You shall not enter into any settlement or compromise of any such indemnifiable claim without Registrar’s or Registry Operator’s prior written consent, which consent shall not be unreasonably withheld, and you agree that these indemnification obligations shall survive the termination or expiration of the Agreement for any reason.  IN NO EVENT SHALL THE REGISTRY OPERATOR BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY OR PUNITIVE DAMAGES, INCLUDING LOSS OF PROFIT OR GOODWILL, FOR ANY MATTER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTIES, EITHER EXPRESS OR IMPLIED, ANY BREACH OF THIS AGREEMENT OR ITS INCORPORATED AGREEMENTS AND POLICIES YOUR INABILITY TO USE THE DOMAIN NAME, YOUR LOSS OF DATA OR FILES OR OTHERWISE, EVEN IF THE REGISTRY OPERATOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    \r\n
  10. \r\n
  11. \r\n
    Regulated TLDs.   For domain name registration in any “Regulated” TLD, you acknowledge and agree your registration is subject to the following additional requirements: (a) comply with all applicable laws, including those that relate to privacy, data collection, consumer protection (including in relation to misleading and deceptive conduct), fair lending, debt collection, organic farming, disclosure of data, and financial disclosures; (b) if you collect and maintain sensitive health and financial data you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  Regulated TLDs include: .games, .juegos, .school, .schule, .toys, .eco, .care, .diet, .fitness, .health, .clinic, .dental, .healthcare, .cash, .broker, .claims, .exchange, .finance, .financial, .fund, .investments, .lease, .loans, .market, .money, .trading, .credit, .insure, .tax, .mortgage, .degree, .mba, .audio, .book, .broadway, .film, .movie, .music, .software, .fashion, .video, .app, .art, .band, .cloud, .data, .digital, .fan, .free, .gratis, .discount, .sale, .media, .news, .online, .pictures, .radio, .show, .theater, .tours, .accountants, .architect, .associates, .broker, .legal, .realty, .vet, .engineering, .law, .limited, .show; .theater; .town, .city, .reise, and .reisen
    \r\n
  12. \r\n
  13. \r\n
    Highly Regulated TLDs. In addition to the requirements for Regulated TLDs, domain name registration in any Highly-Regulated TLD is subject to the following requirements: (a) you will provide administrative contact information, which must be kept up‐to‐date, for the notification of complaints or reports of registration abuse, as well as the contact details of the relevant regulatory, or Industry self‐regulatory, bodies in their main place of business; (b) you represent that you possess any necessary authorizations, charters, licenses and/or other related credentials for participation in the sector associated with such Highly‐regulated TLD; and (c) you will report any material changes to the validity of you authorizations, charters, licenses and/or other related credentials for participation in the sector associated with the Highly‐regulated TLD to ensure you continue to conform to the appropriate regulations and licensing requirements and generally conduct your activities in the interests of the consumers they serve.  Highly Regulated TLDs include: .abogado, .attorney, .bank, .bet, .bingo, .casino .charity (and IDN equivalent xn--30rr7y), .cpa, .corp, creditcard, .creditunion .dds, .dentist, .doctor, .fail, .gmbh, .gripe, .hospital, .inc, .insurance, .lawyer, .lifeinsurance, .llc, .llp, .ltda, .medical, .mutuelle, .pharmacy, .poker, .university, .sarl, .spreadbetting, .srl, .surgery .university, .vermogensberater, and .vesicherung,  For .doctor, registrants who hold themselves out to be licensed medical practitioners must be able to demonstrate to the Registrar and Registry, upon request, that they hold the applicable license.
    \r\n
  14. \r\n
  15. \r\n
    Special Safeguard TLDs.  In addition to the requirements for Regulated and Highly-Regulated TLDs, by registering a domain name in any “Special-Safeguard” TLD, you agree to take reasonable steps to avoid misrepresenting or falsely implying that you or your business is affiliated with, sponsored or endorsed by one or more country's or government's military forces if such affiliation, sponsorship or endorsement does not exist.  Special Safeguard TLDs include:  .army, .navy, .airforce
    \r\n
  16. \r\n
  17. \r\n
    Third Party Beneficiary.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator for any TLD in which your register a domain name is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the TLD. Third party beneficiary rights of the Registry Operator shall survive any termination of this Agreement.
    \r\n
  18. \r\n
  19. \r\n
    Variable and Non-Uniform Pricing.  You acknowledge, understand and agree that certain domain names in certain TLDs are established by Registry Policies to be variably priced (i.e., standard v. premium names) and/or may have non-uniform renewal registration pricing (such that the Fee for a domain name registration renewal may differ from other domain names in the same TLD, e.g., renewal registration for one domain may be $100.00 and $33.00 for a different domain name).
    \r\n
  20. \r\n
  21. \r\n
    Restriction on Availability of Privacy or Proxy.  You acknowledge and agree that, as dictated by the Registry Policies, for certain TLDs you may not be permitted to purchase private or proxy TLD registrations. In such case, you must register for any and all TLD registrations using your personal information, which information you represent and warrant is current, accurate and complete.
    \r\n
  22. \r\n
\r\n

3. FEES AND PAYMENTS

\r\n

(A) GENERAL TERMS, INCLUDING AUTOMATIC RENEWAL TERMS

\r\n

You agree to pay any and all prices and fees due for Services purchased or obtained at this Site at the time you order the Services.  Azure expressly reserves the right to change or modify its prices and fees at any time, and such changes or modifications shall be posted online at this Site and effective immediately without need for further notice to you.  If you have purchased or obtained Services for a period of months or years, changes or modifications in prices and fees shall be effective when the Services in question come up for renewal as further described below. 

\r\n

Unless otherwise specifically noted (for reasons such as those highlighted in Section 2(x) above), the renewal price for any domain name in any TLD will be the same as the list (non-sale) price shown when you search for and select a domain, and again in the cart prior to purchase.  For example, if the list price is $9.99, and a different renewal price is not specifically identified, then the renewal price is also $9.99.  Likewise, if a domain name has a sale price of $8.99, with the list (non-sale) price shown (as a strike-through) at $9.99, the renewal price will be $9.99*.  

\r\n

*Renewal price subject to change prior to actual date of renewal. 

\r\n

For all other terms and conditions relating to fees, payment, refund and billing, etc. applicable to the Services offered under the scope of this Agreement, please refer to the “Fees and Payments” section of our UTOS

\r\n

(B) DOMAIN NAME RENEWAL TERMS

\r\n

When you register a domain name, you will have two renewal options: (i) \"Automatic Renewal\" (ii) \"Extended Automatic Renewal\", and (iii) \"Manual Renewal\": 

\r\n
    \r\n
  1. Automatic Renewal.  Automatic Renewal is the default setting. Therefore, unless you select Extended Automatic Renewal, Azure will enroll you in Automatic Renewal.  Domain names will automatically renew, for a period equivalent to the length of your original domain name registration, any domain name that is up for renewal and will take payment from the Payment Method you have on file with Azure, at Azure's then current rates. Thus, if you have chosen to register your domain name for one (1) year, Azure will automatically renew it for one (1) year. If you have chosen to register your domain name for two (2) years, Azure will automatically renew it for two (2) years, and so on.
  2. \r\n
  3. Extended Automatic Renewal.  If you enroll in the Extended Automatic Renewal plan, Azure will automatically renew any domain name that is up for renewal for an additional one-year period on each and every anniversary of your domain name registration, so the initial registration period will always remain intact.  Thus, if you have chosen to register your domain name for two (2) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your two (2) year registration period will always remain intact. If you have chosen to register your domain name for five (5) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your five (5) year registration period will always remain intact, and so on.  Azure will take payment from the Payment Method you have on file with Azure, at Azure's then current one-year domain name registration rate.
  4. \r\n
  5. Manual Renewal.  If you have elected to turn off automatic renewal and cancel the product (i.e., cancel the domain name registration) effective at expiration of the then current term, you may nonetheless elect to manually renew the domain name at anytime prior to its expiration date by logging into your Account Manager and manually implementing the renewal or by calling customer service (should you in fact want the domain name to be renewed). If you fail to manually implement the renewal before the expiration date, the domain name will be cancelled and you will no longer have use of that name.
  6. \r\n
\r\n

All renewals will be subject to the terms of this Agreement, as it may be amended from time to time, and you acknowledge and agree to be bound by the terms of this Agreement (as amended) for all renewed domains.  Domain name renewals will be non-refundable. In the event that we are unable to automatically renew your domain name for the renewal option selected for any reason, we may automatically renew your domain name for a period less than your original registration period to the extent necessary for the transaction to succeed. If for any reason Azure is not able to take the payment from the Payment Method you have on file, and you fail to respond to our notices, your domain name registration will expire. It is your responsibility to keep your Payment Method information current, which includes the expiration date if you are using a credit card.

\r\n

For certain ccTLDs (.am, .at, .be, .br, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal billing will occur on the first day of the month prior to the month of expiration.

\r\n

For certain ccTLDs (.am, .at, .be, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal will occur, or must occur manually if the product was previously cancelled, no later than the 20th of the month prior to the expiration date, or your domain name will be placed in non-renewal status. For some ccTLDs (.es) renewal must be processed no later than seven days before the expiration date, or your domain name will be placed in non-renewal status.  When the domain name is in non-renewal status, you can renew the domain name only by calling Azure and requesting that the domain name be renewed. You cannot renew the domain name through your Account Manager. If you fail to manually implement the renewal of any cancelled product before the expiration date, the domain name will be cancelled and you will no longer have use of that name.

\r\n

You agree that Azure will not be responsible for cancelled domain names that you fail to renew in the timeframes indicated in this Agreement. In any case, if you fail to renew your domain name in a timely fashion, additional charges may apply. If you signed up for privacy services, protected registration, or any other similar service, with your domain name registration, these services will automatically be renewed when your domain name registration is up for renewal, and you will incur the applicable additional renewal fee unless you cancel in advance. 

\r\n

If you fail to renew your domain name in the timeframes indicated in this Agreement, you agree that Azure may, in its sole discretion, renew your expired domain name on your behalf. If Azure decides to renew your expired domain name on your behalf, you will have a Renewal Grace Period during which you may reimburse Azure for the renewal and keep your domain name. The Renewal Grace Period is currently twelve (12) days but subject to change under the terms of this Agreement. For certain ccTLDs (.am, .at, .be, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg) there is no Renewal Grace Period after the expiration date of the domain name. If you do not reimburse Azure for the renewal during the Renewal Grace Period your domain name will be placed on Hold and flagged for deletion after which you will have a 30-day redemption period during which you may pay Azure a Redemption fee and redeem your domain name. The Redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the 30-day redemption period Azure may, in its sole discretion, delete your domain name or transfer it to another registrant on your behalf.  During the redemption period your domain name may be parked. 

\r\n

If your domain name is deleted, the Registry also provides a 30-day Redemption Grace Period during which you may pay Azure a redemption fee and redeem your domain name. The redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the Registry's Redemption Grace Period the Registry will release your name and it will become available for registration on a first-come-first-served basis.

\r\n

Renewal Grace Periods and Redemption Grace Periods vary for different ccTLDs. Please refer to the specific terms for the applicable TLD. In the event there is a conflict between the provisions of this paragraph and the ccTLD terms, the ccTLD terms shall control.

\r\n

\r\n

Our registration expiration notification policy and associated fees are described here.

\r\n

\r\n

\r\n

(C) FREE PRODUCT TERMS

\r\n

In the event you are provided with free products with the registration of a domain name, you acknowledge and agree that such free products will only be available with a valid purchase and may be terminated in the event the domain name is deleted or cancelled.  For free domain names, you acknowledge and agree that you may not change the account associated with such free domain for the first five (5) days after registration.  In the event a free domain name is offered with the registration of another domain and if the paid domain name registered fails, then we may, in its sole discretion, either delete the registration of the free domain or refund the difference between the amount paid and the value of the free domain.  Failed registrations associated with promotionals offers may result in the deletion of the free or discounted item or an adjustment between the registered domain price and the value of the discounted item, in our sole discretion.

\r\n

4. TERM OF AGREEMENT; TRANSFERS; DOMAIN TASTING

\r\n

The term of this Agreement shall continue in full force and effect as long as you have any domain name registered through Azure.

\r\n

You agree that you will not transfer any domain name registered through Azure to another domain name registrar during the first sixty (60) days after its initial registration date.  You agree that you may not transfer any domain name for ten (10) days after a Change of Account.

\r\n

You further agree that you will not engage in \"domain tasting\" by using the five (5) day grace period in which a registrant may choose to cancel a domain name and get a full refund of the registration fee as a vehicle to test the marketability or viability of a domain name.  If Azure determines (which determination shall be made by Azure in its sole and absolute discretion) that you have been engaging in \"domain tasting\", then Azure reserves the right to (a) charge you a small fee (which fee shall be deducted from any refund issued) or (b) refuse your cancellation/refund request altogether. Azure will not charge you a fee if Azure cancels your domain name during the five (5) day grace period due to fraud or other activity outside of your control. The five (5) day grace period does not apply to Premium Domains, which are non-refundable.

\r\n

You agree that Azure shall not be bound by (i) any representations made by third parties who you may use to purchase services from Azure, or (ii) any statements of a general nature, which may be posted on Azure's website or contained in Azure's promotional materials.

\r\n

5. UP TO DATE INFORMATION; USE OF INFORMATION AND EXPIRATION

\r\n

You agree to notify Azure within five (5) business days when any of the information you provided as part of the application and/or registration process changes. It is your responsibility to keep this information in a current and accurate status. Failure by you, for whatever reason, to provide Azure with accurate and reliable information on an initial and continual basis, shall be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. Failure by you, for whatever reason, to respond within five (5) business days to any inquiries made by Azure to determine the validity of information provided by you, shall also be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. You agree to retain a copy for your record of the receipt for purchase of your domain name.

\r\n

You agree that for each domain name registered by you, the following contact data is required: postal address, email address, telephone number, and if available, a facsimile number for the Registered Name Holder and, if different from the Registered Name Holder, the same contact information for, a technical contact, an administrative contact and a billing contact.

\r\n

You acknowledge and agree that domain name registration requires that this contact information, in whole or in part, be shared with the registry operator, for their use, copying, distribution, publication, modification and other processing  for (among other uses in accordance with our Privacy Policy) the purpose of administration of the domain name registration, which may require such information be transferred back and forth across international borders, to and from the U.S. to the EU, for example. As required by ICANN, this information must also be made publicly available by means of Whois, and that the registry operator may also be required to make this information publicly available by Whois. Both Azure and the registry operator may be required to archive this information with a third-party escrow service. You hereby consent and give permission for all such requirements and disclosures. Further, you represent and warrant that, if you are providing information about a third party, you have notified the third party of the disclosure and the purpose for the disclosure and you have obtained the third party's consent to such disclosure.  Registrar will not process data in a way that is incompatible with this Agreement.  Registrar will take reasonable precautions to protect data from loss or misuse.

\r\n

You agree that for each domain name registered by you the following information will be made publicly available in the Whois directory as determined by ICANN Policy and may be sold in bulk as set forth in the ICANN agreement:

\r\n
    \r\n
  • The domain name;
  • \r\n
  • Your name and postal address;
  • \r\n
  • The name, email address, postal address, voice and fax numbers for technical and administrative contacts;
  • \r\n
  • The Internet protocol numbers for the primary and secondary name servers;
  • \r\n
  • The corresponding names of the name servers; and
  • \r\n
  • The original date of registration and expiration date.
  • \r\n
  • Name of primary name server and secondary name server.
  • \r\n
  • Identity of the registrar.
  • \r\n
\r\n

You agree that, to the extent permitted by ICANN, Azure may make use of the publicly available information you provided during the registration process. If you engage in the reselling of domain names you agree to provide any individuals whose personal information you've obtained, information about the possible uses of their personal information pursuant to ICANN policy. You also agree to obtain consent, and evidence of consent, from those individuals for such use of the personal information they provide.

\r\n

You agree that Azure has the right to make public and share with third parties certain information in connection with the sale or purchase of domain names on the website, including but not limited to (a) the name of the domain name sold or purchased, (b) the sale or purchase price of the domain name sold or purchased, and (c) information relating to the timing of the sale or purchase.

\r\n

\r\n

In order for us to comply with any current or future rules and policies for domain name systems including any rules or policies established by the CIRA or any provincial or federal government or by other organization having control or authority to establish rules or policies, you hereby grant to us the right to disclose to third parties through an interactive publicly accessible registration database the following information that you are required to provide when applying for a domain name:

\r\n
    \r\n
  1. The domain or sub-domain name(s) registered by you;
  2. \r\n
  3. Your organization name, type and postal address;
  4. \r\n
  5. The name(s), position(s), postal address(es), e-mail address(es), voice telephone number(s) and where available the fax number(s) of the technical and administrative contacts for your domain or sub-domain name(s);
  6. \r\n
  7. The full hostnames and Internet protocol (IP) addresses of at least two (2) name server hosts (one primary and at least one secondary) for your domain or sub-domain name. Up to six (6) name servers may be specified. If a host has more than one (1) IP address, use a comma-separated list;
  8. \r\n
  9. The corresponding names of those name servers;
  10. \r\n
  11. The original creation date of the registration; and
  12. \r\n
  13. The expiration date of the registration.
  14. \r\n
\r\n

We may be required to make this information available in bulk form to third parties. We may also transfer or assign this information to CIRA or such other third party as we may decide, in our sole discretion.

\r\n

6. DISPUTE RESOLUTION POLICY

\r\n

You agree to be bound by our current Dispute Resolution Policy. This policy is incorporated herein and made a part of this Agreement. You can view the Uniform Domain Name Dispute Resolution Policy online. You agree that Azure may from time to time modify its Dispute Resolution Policy. Azure will post any changes to its Dispute Resolution Policy at least thirty (30) days before they become effective. You agree that by maintaining your domain name registrations with Azure after the updated policy becomes effective that you agree to the Dispute Resolution policy as amended. You agree to review Azure's website periodically to determine if changes have been made to the Dispute Resolution Policy. If you cancel or terminate your Services with Azure as a result of the modified Dispute Resolution policy, no fees will be refunded to you. You also agree to submit to proceedings commenced under ICANN's Uniform Rapid Suspension System, if applicable. 

\r\n

You agree that if a dispute arises as a result of one (1) or more domain names you have registered using Azure, you will indemnify, defend and hold Azure harmless as provided for in this Agreement. You also agree that if Azure is notified that a complaint has been filed with a governmental, administrative or judicial body, regarding a domain name registered by you using Azure, that Azure, in its sole discretion, may take whatever action Azure deems necessary regarding further modification, assignment of and/or control of the domain name deemed necessary to comply with the actions or requirements of the governmental, administrative or judicial body until such time as the dispute is settled. In this event you agree to hold Azure harmless for any action taken by Azure.

\r\n

You agree to submit, without prejudice to other potentially applicable jurisdictions, to the jurisdiction of the courts (1) of your domicile, (2) where registrar is located or (3) where the registry operator is located (e.g., China for .CN, Columbia for .CO, UK for .EU, etc.).

\r\n

\r\n

In the case of .ca domain names, you agree that, if your use of the service or the registration of a .ca domain name is challenged by a third party, you will be subject to the provisions specified by CIRA in their dispute resolution policy, in effect at the time of the dispute.

\r\n

\r\n

7. TRANSFER OF DOMAIN NAMES; RESALE PRACTICES

\r\n

If you transfer any domain name, you agree to provide the information required by, and to abide by, the procedures and conditions set forth in our Domain Name Transfer Agreement and Change of Registrant Agreement. You may view the latest versions of our Domain Name Transfer Agreement and Change of Registrant Agreementonline. In order to further protect your domain name, any domain name registered with Azure or transferred to Azure shall be placed on lock status, unless an opted-out has occurred as defined in our Change of Registrant Agreement or Domain Name Proxy Agreement. The domain name must be placed on unlock status in order to initiate a transfer of the domain name away from Azure to a new Registrar. You may log into your account with Azure at any time after your domain name has been successfully transferred to Azure, and change the status to unlock.

\r\n

In the event you are purchasing a domain name on behalf of a third party, you agree to inform any customer of yours, who may be acquiring a domain name through you using Azure's registration services, that they are in fact registering their domain name through Azure and that Azure or its licensor is an accredited registrar with ICANN. You agree not to represent that you are an ICANN-accredited registrar or that you are in any way providing superior access to the ICANN Domain Name Registry. You also agree not to use the ICANN trademark logo in any of your promotional materials including your website.

\r\n

You agree to obtain each of your customers' acceptances to the then current version of this Agreement, and to retain evidence of their acceptance for a period of not less than three (3) years. Should you require that your customers accept additional terms and conditions that are not required by Azure, you agree that such additional terms and conditions shall not conflict with this Agreement and the policies and procedures adopted by ICANN.

\r\n

You agree that Azure is not lending you access to its registrar connections or its registry access, nor will you be deemed to be a registrar in your own right. Furthermore, you agree you will not attempt to gain access to Azure's registrar connections or registry access. You agree to provide complete, accurate and current data for each registrant to be added to a registry in accordance with ICANN requirements for inclusion in the Whois database.

\r\n

You agree to provide your customers with adequate customer support, and to maintain contact with them with regard to providing a medium for them to communicate changes in the information they provided as part of the domain name registration process. Upon receiving corrected or updated information you will, within five (5) business days, provide such information to Azure so Azure may update its registration records. You will retain copies of all communications between you and your customers and will upon request provide Azure copies of same.

\r\n

8. YOUR OBLIGATIONS; SUSPENSION OF SERVICES; BREACH OF AGREEMENT

\r\n

You represent and warrant to the best of your knowledge that, neither the registration of the domain nor the manner it is directly or indirectly used, infringes the legal rights of any third party.  You will comply with all applicable laws, including, but not limited to those relating to privacy, data collection, consumer protection, fair lending, debt collection, organic farming, and disclosure of data and financial disclosures.  If you collect and maintain sensitive health and financial data, you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  You represent that you possess any necessary authorization, charter, license, and/or other related credential for participation in the sector associated with the associated registry tld string.  You will report any material changes to the validity of your authorization, charter, license, and/or other related credential. You will indemnify and hold harmless the registrar and registry operator, and their directors, officers, employees and agents, from and against any and all claims, damages, liabilities, costs and expenses (including reasonable legal fees and expenses) arising out of or related to the domain name registration.  This obligation shall survive expiration or termination of this Agreement or the domain name registration.

\r\n

You agree that, in addition to other events set forth in this Agreement:

\r\n
    \r\n
  1. Your ability to use any of the services provided by Azure is subject to cancellation or suspension in the event there is an unresolved breach of this Agreement and/or suspension or cancellation is required by any policy now in effect or adopted later by ICANN;
  2. \r\n
  3. Your registration of any domain names shall be subject to suspension, cancellation or transfer pursuant to any ICANN adopted specification or policy, or pursuant to any Azure procedure not inconsistent with an ICANN adopted specification or policy (a) to correct mistakes by Azure or the registry operator in registering any domain name; or (b) for the resolution of disputes concerning any domain name.
  4. \r\n
\r\n

You acknowledge and agree that Azure and registry reserve the right to deny, cancel or transfer any registration or transaction, or place any domain name(s) on registry lock, hold or similar status, as either deems necessary, in the unlimited and sole discretion of either Azure or the registry: (i) to comply with specifications adopted by any industry group generally recognized as authoritative with respect to the Internet (e.g., RFCs), (ii) to correct mistakes made by registry or any registrar in connection with a domain name registration, (iii) for the non-payment of fees to registry, (iv) to protect the integrity and stability of the registry, (v) to comply with any applicable court orders, laws, government rules or requirements, requests of law enforcement, or any dispute resolution process, (vi) to comply with any applicable ICANN rules or regulations, including without limitation, the registry agreement, (vii) to avoid any liability, civil or criminal, on the part of registry operator, as well as its affiliates, subsidiaries, officers, directors, and employees, (viii) per the terms of this Agreement, (ix) following an occurrence of any of the prohibited activities described in Section 8 below, or (x) during the resolution of a dispute.

\r\n

You agree that your failure to comply completely with the terms and conditions of this Agreement and any Azure rule or policy may be considered by Azure to be a material breach of this Agreement and Azure may provide you with notice of such breach either in writing or electronically (i.e. email). In the event you do not provide Azure with material evidence that you have not breached your obligations to Azure within ten (10) business days, Azure may terminate its relationship with you and take any remedial action available to Azure under the applicable laws. Such remedial action may be implemented without notice to you and may include, but is not limited to, cancelling the registration of any of your domain names and discontinuing any services provided by Azure to you. No fees will be refunded to you should your Services be cancelled or terminated because of a breach.

\r\n

Azure's failure to act upon or notify you of any event, which may constitute a breach, shall not relieve you from or excuse you of the fact that you have committed a breach.

\r\n

9. RESTRICTION OF SERVICES; RIGHT OF REFUSAL

\r\n

You agree not to use the services provided by Azure, or to allow or enable others, to use the services provided by Azure for the purposes of:

\r\n
    \r\n
  • The transmission of unsolicited email (Spam); and
  • \r\n
  • Repetitive, high volume inquires into any of the services provided by Azure (i.e. domain name availability, etc.).
  • \r\n
\r\n

You acknowledge and agree that you are prohibited from distributing malware, abusively operating botnets, phishing, piracy, trademark or copyright infringement, fraudulent or deceptive practices, counterfeiting or otherwise engaging in activity contrary to applicable law, and you acknowledge and agree that the consequences for such activities include suspension of the domain name.

\r\n

If you are hosting your domain name system (“DNS”) on Azure’s servers, or are using our systems to forward a domain name, URL, or otherwise to a system or site hosted elsewhere, or if you have your domain name registered with Azure, you are responsible for ensuring there is no excessive overloading on Azure’s servers. You may not use Azure’s servers and your domain name as a source, intermediary, reply to address, or destination address for email denial-of-service attack, Internet packet flooding, packet corruption, or other abusive attack. Server hacking or other perpetration of security breaches is prohibited. You agree that Azure reserves the right to deactivate your domain name from its DNS if Azure deems it is the recipient of activities caused by your site that threaten the stability of its network.

\r\n

You agree that Azure, in its sole discretion and without liability to you, may refuse to accept the registration of any domain name. Azure also may in its sole discretion and without liability to you delete the registration of any domain name during the first thirty (30) days after registration has taken place. Azure may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as determined by Azure in its sole discretion, in association with spam or morally objectionable activities. Morally objectionable activities will include, but not be limited to:

\r\n
    \r\n
  • Activities prohibited by the laws of the United States and/or foreign territories in which you conduct business;
  • \r\n
  • Activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography; and
  • \r\n
  • Activities designed to harm or use unethically minors in any way.
  • \r\n
\r\n

In the event Azure refuses a registration or deletes an existing registration during the first thirty (30) days after registration, you will receive a refund of any fees paid to Azure in connection with the registration either being cancelled or refused. In the event Azure deletes the registration of a domain name being used in association with spam or morally objectionable activities, no refund will be issued.

\r\n

10. DEFAULT SETTINGS; PARKED PAGE

\r\n

Choosing Your Domain Name Settings.  When you register a domain name with Azure, you will be prompted to choose your domain name settings during the checkout process.  If you plan on using another provider for your website or hosting needs, then you should enter the name servers of such provider when you choose your domain name settings.  This will direct your domain name away from Azure’s name servers.  If you are an existing Azure customer and have already set up a customer profile designating your domain name settings for new domain name registrations, you will not need to complete this step again during the checkout process.   

\r\n

Azure’s Default Settings.  If you do not direct your domain name away from Azure’s name servers as described above, Azure will direct your domain name to a “Parked Page” (“Default Setting”).  You acknowledge and agree that Azure has the right to set the Default Setting. 

\r\n

Parked Page Default Setting.  Azure’s Parked Page service is an online domain monetization system designed to generate revenue (through the use of pay per click advertising) from domain names that are not actively being used as websites.  If your domain name is directed to a Parked Page, you acknowledge and agree that Azure may display both (a) in-house advertising (which includes links to Azure products and services) and (b) third-party advertising (which includes links to third-party products and services) on your Parked Page through the use of pop-up or pop-under browser windows, banner advertisements, audio or video streams, or any other advertising means, and we may aggregate for our own use, related usage data by means of cookies and other similar means.  In addition, you acknowledge and agree that all in-house and third-party advertising will be selected by Azure and its advertising partners, as appropriate, and you will not be permitted to customize the advertising, or entitled to any compensation in exchange therefor.  Please note that the third-party advertising displayed on Azure’s Parked Pages may contain content offensive to you, including but not limited to links to adult content.  Azure makes no effort to edit, control, monitor, or restrict the content and third-party advertising displayed on Azure’s Parked Pages, and expressly disclaims any liability or responsibility to you or any third party in connection therewith.

\r\n

Changing Azure’s Default Settings.  You may change Azure’s Default Settings at any time during the term of your domain name registration.

\r\n
    \r\n
  1. Content Displaying On Your Parked Page.  You can not modify the content displaying on your Parked Page.  You may select one of the other options listed below.
  2. \r\n
  3. Participating In Domain Name Monetization.  If you wish to participate in the domain monetization potential presented by Azure’s Parked Page service, please review and consider purchasing our CashParking® service.   
  4. \r\n
  5. No Content.  If the options listed above are not acceptable to you, please contact customer support to learn what other options might be available to you.
  6. \r\n
\r\n

Return To Parked Page Default Setting Upon Domain Name Expiration.  Upon domain name expiration, and regardless of how you use your domain name during the term of your domain name registration, your domain name will automatically return to the Parked Page Default Setting described above.  As used in this paragraph, “expiration” is deemed to include any “renewal period” or “redemption period” immediately after the domain name expires, but before the domain name is returned to the registry.  Once your domain name has returned to the Parked Page Default Setting described above, the only way to opt out of the Parked Page service is to renew, redeem, or re-register your domain name in accordance with Section 2(B), Domain Name Renewal Terms, of this Agreement.   

\r\n

11. DOMAIN ADD-ONS

\r\n

Business Registration:  Business registration allows You to display additional information about the business that is the basis of Your domain name, including, but not limited to, such information as Your fax number, street address, and hours of operation.

\r\n

Certified Domains.  The certified domain service generally allow You to: (i) put a Certified Domain Validation seal on Your website; and (ii) have Your domain name listed as \"Certified\", in WHOIS lookups on our website.   The Certified Domain Validation seal renews independently of Your domain. When You renew Your domain, You must also, when necessary, separately renew Your Certified Validation seal. However, the Certified Domain Validation seal can be cancelled independently of Your domain. If the domain is cancelled, the Certified Domain associated with the cancelled domain will automatically cancel.  The Certified Domain seal is a trademark and is protected by copyright, trademark and other intellectual property laws. You may use the Certified Domain seal only in conjunction with the purchase of the Services set forth in the Agreement, and subject to the terms and conditions hereof. Other than provided for in this Agreement, You may not otherwise use, reproduce, or modify the mark for any additional promotional use, without our prior written approval. Your right to the use of the Certified Domain seal is immediately terminated upon expiration or termination of this Agreement.

\r\n

Expiration Consolidation.  You understand and acknowledge the expiration consolidation service may only be used to consolidate the expiration of .com and .net domain names. The service may not be used to consolidate domains that are on Registrar HOLD, Registry HOLD, or pending Transfer status. You acknowledge the service may only be used to push the expiration date of Your domains forward in time, at least one (1) month forward and no more than ten (10) years forward, and then, only for a period lasting less than twelve (12) months. Once the service has been used to consolidate domains, the new expiration date may not be reversed. To ensure the service is not abused or used as an alternative to renewals, you may only use the service on each domain once in any 12-month period. The service may only be used on domain names that have not passed their expiration date. In order to change the expiration date again, You will be required to renew the domain name first.  You further understand and acknowledge the service may only be used to coordinate domains where we are the registrar of record. Domains not registered with us must be transferred before we can perform the Service. 

\r\n

\r\n

Backordering/Monitoring.  You agree a domain name that has expired shall be subject first to a grace period of twelve (12) days, followed by the ICANN-mandated redemption grace period of thirty (30) days. During this period of time, the current domain name registrant may renew the domain name and retain ownership. We do not guarantee your backorder will result in you obtaining the domain name and expressly reserves the right to (a) refuse additional backorders or (b) cancel existing backorders at any time for any reason.  If your backorder is refused or cancelled, we agree to promptly refund any fees paid for such domain name backorder. The domain name may also be placed in a secondary market for resale through the Auctions® service.  After your first year of Auctions membership, you agree that unless otherwise advised, we will automatically renew your Auctions membership using the payment method you have on file for so long as your backorder credit is active. You may learn more about Auctions by visiting the Auctions website. The domain name may also be subject to a drop pool process before it is available for purchasing. You understand we and our registrar affiliates use our services, including backordering.  Therefore, the domain name may be registered with a different registrar, but can be managed through your account.  By using the Services, you will be able to, among other things:

\r\n
    \r\n
  1. Backorder any domain name under the top level domains .COM, .NET, .US, .BIZ, .INFO, .ORG, .MOBI. A backorder for a domain name will include the price of up to a one-year domain name registration. Should you successfully backorder any domain name, you will be subject to the terms and conditions of the Domain Name Registration and related agreements, which are incorporated herein by reference.
  2. \r\n
  3. Change your backorder until you obtain a domain name. You will have the opportunity to change the credit to a different domain name until you successfully capture one. After three (3) years, if the credit is not used, we reserves the right to remove the credit.
  4. \r\n
  5. Subscribe monthly to an expiring domain name list. You may also choose to purchase a subscription to a list of domain names expiring within the next five (5) days. If you subscribe to the expiring domain name list, you agree the payment method you have on file may be charged on a monthly subscription basis for the term of the Services you purchase.
  6. \r\n
  7. Select domain names off the expiring domain name list you would like to register. Each domain name you attempt to backorder will include the price of up to a one-year domain name registration, as set forth in subsection (i) above.
  8. \r\n
  9. Monitor your currently registered domain names for changes in registrar, status, expiration date or name servers at no additional cost.
  10. \r\n
  11. Subscribe to Domain Alert Pro or monitoring, which enables you to monitor any currently registered domain name, regardless of registrar, for historical tracking of status changes and designation of multiple email notification addresses.
  12. \r\n
\r\n

\r\n

\r\n

Transfer Validation. The transfer validation service is provided to help You keep Your domain name secure. By choosing to use the service, You are making an explicit and voluntary request to us to deny all attempts to transfer Your domain name to another registrar, or to move Your domain name to another account, unless You verify each request as described herein. You will provide us with a contact name, phone number and PIN for domain transfer validations. You will be contacted by us when a domain transfer is requested for a domain name in Your account. When we receive a transfer request, we will call You to verify the transfer request. If we cannot reach You with seventy-two (72) hours of receipt of the transfer request, the transfer will be denied. If You do not provide the proper PIN, the transfer will be denied. When we receive a change of account request, we will call You to verify the change request. If we cannot reach You with seventy-two (72) hours of receipt of the change request, the change will be denied. If You do not provide the proper PIN, the change will be denied. Availability of Services are subject to the terms and conditions of this Agreement and each of our policies and procedures. We shall use commercially reasonable efforts to attempt to provide certain portions of the Services on a twenty-four (24) hours a day, seven (7) days a week basis throughout the term of this Agreement and other portions of the service, during normal business hours. You acknowledge and agree that from time to time the Services may be inaccessible or inoperable for any reason, including, without limitation: (i) equipment malfunctions; (ii) periodic maintenance procedures or repairs that we may undertake from time to time; or (iii) causes beyond the reasonable control of us or that are not reasonably foreseeable by us, including, without limitation, interruption or failure of telecommunication or digital transmission links, hostile network attacks, network congestion or other failures. You acknowledge and agree that we has no control over the availability of the service on a continuous or uninterrupted basis.

\r\n

\r\n

12. PRE-REGISTRATIONS

\r\n

If you submit an application for pre-registration of a domain name, Azure does not guarantee that the name will be secured for you, or that you will have immediate access to the domain name if secured.  Azure may use third-party service providers for the pre-registration services.

\r\n

13. PROVISIONS SPECIFIC TO .BIZ REGISTRATIONS

\r\n

Domain Name Dispute Policy.  If you reserved or registered a .BIZ domain name through us, in addition to our Dispute Resolution Policy, you hereby acknowledge that you have read and understood and agree to be bound by the terms and conditions of the Restrictions Dispute Resolution Policy applicable to the .biz TLD.

\r\n

The RDRP sets forth the terms under which any allegation that a domain name is not used primarily for business or commercial purposes shall be enforced on a case-by-case basis by an independent ICANN-accredited dispute provider. Registry Operator will not review, monitor, or otherwise verify that any particular domain name is being used primarily for business or commercial purposes or that a domain name is being used in compliance with the SUDRP or UDRP processes.

\r\n

One Year Registration.  If you are registering a .BIZ domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .BIZ domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .BIZ domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

\r\n

14. PROVISIONS SPECIFIC TO .INFO REGISTRATIONS 

\r\n

One Year Registration.  If you are registering a .INFO domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .INFO domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .INFO domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

15. PROVISIONS SPECIFIC TO .MOBI REGISTRATIONS 

\r\n

Instant Mobilizer. You are hereby granted a personal, revocable, non-exclusive, non-transferable, non-assignable, non-sublicensable license to use the Instant Mobilizer service (“Service”), provided, however, You abide by the terms and conditions set forth. You shall not alter, modify, adapt or translate the whole or part of the Service in any way whatsoever. You may not create derivative works based on the Service. You may not rent, lease, assign, dispose of, novate, sub-license or otherwise transfer any of its rights to use the Service to any third party.  In the event that the volume of traffic to You from Your use of the Service is sufficient so as to jeopardize the provision of Service for other end users, we and our licensors reserve the right to, at its sole discretion, permanently or temporarily, discontinue Your use of the Service. For the avoidance of doubt, the volume of traffic generated by You should not exceed two thousand (2,000) page views per day.  You acknowledge and agree the text \"Instant Mobilizer from dotMobi\" or equivalent, will be inserted at the footer of Your site.  In the event a dotMobi domain to which the Service is being provided is transferred to another domain name registrar, the Service will be interrupted on that dotMobi domain, and Service will not be restored if the new registrar does not offer the Service. 

\r\n

\r\n

16. PROVISIONS SPECIFIC TO .NAME REGISTRATIONS 

\r\n

\r\n

17. PROVISIONS SPECIFIC TO .REISE REGISTRATIONS

\r\n

Domain Names registered in .REISE should be used for purposes dedicated to travel topics within six months following initial Registration, e.g. utilized on the Internet or otherwise used to perform a function.

\r\n

18. PROVISIONS SPECIFIC TO .SEXY REGISTRATIONS

\r\n

You shall not permit content unsuitable for viewing by a minor to be viewed from the main or top-level directory of a .SEXY domain name. For purposes of clarity, content viewed at the main or top-level directory of a .SEXY domain name is the content immediately visible if a user navigates to http://example.sexy or http://www.example.sexy. No restrictions apply to the content at any other page or subdirectory addressed by a .SEXY Registered Name. 

\r\n

19. COUNTRY CODE TOP LEVEL DOMAINS

\r\n

You represent and warrant that you meet the eligibility requirements of each ccTLD you apply for. You further agree to be bound by any registry rules, policies, and agreements for that particular ccTLD. These may include, but are not limited to, agreeing to indemnify the ccTLD provider, limiting the liability of the ccTLD provider, and requirements that any disputes be resolved under that particular country's laws.

\r\n

(A) PROVISIONS SPECIFIC TO .AU REGISTRATIONS 

\r\n

.au Registrations (to include com.au, net.au and org.au) are governed by the following additional terms and conditions:

\r\n

auDA. auDA means .au Domain Administration Limited ACN 079 009 340, the .au domain names administrator.  The Registrar acts as agent for auDA for the sole purpose, but only to the extent necessary, to enable auDA to receive the benefit of rights and covenants conferred to it under this Agreement. auDA is an intended third party beneficiary of this agreement.

\r\n

auDA Published Policy.  auDA Published Policies means those specifications and policies established and published by auDA from time to time at http://www.auda.org.au.  You must comply with all auDA Published Policies, as if they were incorporated into, and form part of, this Agreement. In the event of any inconsistency between any auDA Published Policy and this Agreement, then the auDA Published Policy will prevail to the extent of such inconsistency.  You acknowledge that under the auDA Published Policies: (1) there are mandatory terms and conditions that apply to all domain names; (2) licences, and such terms and conditions are incorporated into, and form part of, this Agreement; (3) You are bound by, and must submit to, the .au Dispute Resolution Policy; and (4) auDA may delete or cancel the registration of a .au domain name. 

\r\n

auDA's Liabilities and Indemnity.  To the fullest extent permitted by law, auDA will not be liable to Registrant for any direct, indirect, consequential, special, punitive or exemplary losses or damages of any kind (including, without limitation, loss of use, loss or profit, loss or corruption of data, business interruption or indirect costs) suffered by Registrant arising from, as a result of, or otherwise in connection with, any act or omission whatsoever of auDA, its employees, agents or contractors. Registrant agrees to indemnify, keep indemnified and hold auDA, its employees, agents and contractors harmless from all and any claims or liabilities, arising from, as a result of, or otherwise in connection with, Registrant's registration or use of its .au domain name. Nothing in this document is intended to exclude the operation of Trade Practices Act 1974.

\r\n

(B) PROVISIONS SPECIFIC TO .CA REGISTRATIONS

\r\n

You acknowledge and agree that registration of your selected domain name in your first application to CIRA shall not be effective until you have entered into and agreed to be bound by CIRA's Registrant Agreement.

\r\n

CIRA Certified Registrar.  The registrar shall immediately give notice to you in the event that it is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated, or the Registrar Agreement between CIRA and the Registrar is terminated or expires. CIRA may post notice of such suspension, termination, or expiry on its website and may, if CIRA deems appropriate, give notice to the registrants thereof. In the event that the registrar is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated or in the event the Registrar Agreement between CIRA and the Registrar is terminated or expires, you shall be responsible for changing your Registrar of Record to a new CIRA Certified Registrar within thirty (30) days of the earlier of notice thereof being given to you by (i) the Registrar or (ii) CIRA in accordance with CIRA's then current Registry PRP; provided, however, that if any of your domain name registrations are scheduled to expire within thirty (30) days of the giving of such notice, then you shall have thirty (30) days from the anniversary date of the registration(s), to register with a new CIRA certified registrar and to renew such domain name registration(s) in accordance with the Registry PRP.

\r\n

You acknowledge and agree that should there be insufficient funds prepaid by the registrar in the CIRA Deposit Account to be applied in payment of any fees, CIRA may in its sole discretion stop accepting applications for domain name registrations from the registrar, stop effecting registrations of domain names and transfers, renewals, modifications, and cancellations requested by the registrar and stop performing other billable transactions requested by the registrar not paid in full and CIRA may terminate the Registrar Agreement between CIRA and the Registrar.

\r\n

.CA ASCII and IDN domain variants are bundled and reserved for a single registrant.  Registrants are not required to register all variants in a bundle, but all registered variants must be registered and managed at a single registrar. Each variant registered will incur a registration fee.  In addition, when registering multiple .CA domain (ASCII and IDN) variants in a bundle, your registrant information must be identical.  If variants are registered at other registrars or if registrant information does not match, it may result in an \"unavailable\" search result, delayed or failed registration. If information does not match, validation is required and may take up to seven business days and delay availability of domain. 

\r\n

(C) PROVISIONS SPECIFIC TO .CN REGISTRATIONS 

\r\n

.CN is a restricted TLD – applications are subject to both a domain name check and real name verification as required by the China.  Registrations in .CN are therefore subject to the following additional terms:

\r\n

Verification, Registration and Activation.  If a domain name is not permitted to be registered by the Chinese government, as determined by us, the Registry Operator and/or a 3rd party provider utilized for such services and determinations, in either party’s discretion, the application for registration will not be successful.  In such event, the name will be deleted and you will be eligible for a refund as further described below.

\r\n

If permitted, then the Registration may proceed, but a .CN domain name may not be activated (i.e., it will not resolve in the Internet) unless and until you have submitted (via the process described during registration) valid documents required of us and the Registry to perform real name verification.  The following are acceptable forms of documents for the purpose of verification:

\r\n
    \r\n
  • China: Resident ID, temporary resident ID, business license or organization code certificate
  • \r\n
  • Hong Kong Special Administrative Region/Macao Special Administrative Region: Resident ID, driver’s license, passport or business license
  • \r\n
  • Singapore: Driver’s license, passport or business license
  • \r\n
  • Taiwan: Resident ID, driver’s license or business license
  • \r\n
  • Other Countries/Regions: Driver’s license or passport
  • \r\n
\r\n

Documents submitted to us are used by us and shared with the Registry solely for the purpose of real name verification, and are otherwise subject to our Privacy Policy.  By registering a .CN domain, you expressly agree that your data may be stored on servers in the U.S., or otherwise outside of the China.

\r\n

Refunds.  Refunds for .CN Registrations will only be allowed where (i) registration of the applied for domain name is not permitted by the Chinese government; or (ii) you notify us of your intent to cancel for any reason within the first five (5) days after the Registration (i.e., after it is deemed permissible by the Chinese government).  For the avoidance of doubt, refunds will not be permitted under any circumstances after five (5) days from the date of Registration, including, for example, in the event real name verification is not successful or if the Chinese government determines after Registration that the domain name should not have been registered (and directs us to delete).

\r\n

(D) PROVISIONS SPECIFIC TO .JP REGISTRATIONS

\r\n

Registration Restrictions.  You represent and warrant that you have a local presence in Japan with a home or office address. You agree that certain domain names are reserved and can only be registered by certain parties. These include: (i) TLDs, other than ccTLDs, as determined by ICANN; (ii) geographical-type .JP domain names that are defined as metropolitan, prefectural, and municipal labels; (iii) names of primary and secondary educational organizations; (iv) names of organizations related to Internet management; (v) names required for .JP domain name operations; and (vi) character strings which may be confused with ASCII-converted Japanese domain names. The complete list of .JP Reserved Domains is available here

\r\n

20. ENGLISH LANGUAGE CONTROLS

\r\n

This Agreement, along with all policies and the applicable product agreements identified above and incorporated herein by reference (collectively, the “Agreement”), is executed in the English language. To the extent any translation is provided to you, it is provided for convenience purposes only, and in the event of any conflict between the English and translated version, where permitted by law, the English version will control and prevail. Where the translated version is required to be provided to you and is to be considered binding by law (i) both language versions shall have equal validity, (ii) each party acknowledges that it has reviewed both language versions and that they are substantially the same in all material respects, and (iii) in the event of any discrepancy between these two versions, the translated version may prevail, provided that the intent of the Parties has been fully taken into consideration. 

\n
\n
\n\nRevised: 10/6/17
\nCopyright © 2000-2017 All Rights Reserved.\n
\n
\n
", - "title": "Domain Name Registration Agreement", - "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=reg_sa&pl_id=510456" - }, - { - "agreementKey": "DNPA", - "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Proxy Agreement\n
\n

Last Revised: October 25, 2017

\n

Please read this Domain Name Proxy Agreement (\"Agreement\") carefully. By using the Services and/or website of Domains By Proxy, LLC, a Delaware limited liability company (\"DBP\"), You (as defined below) agree to all the terms and conditions set forth both herein and in the DBP privacy policy, which is incorporated by reference and can be found by clicking here.  You acknowledge that DBP may amend this Agreement at any time upon posting the amended terms on its website, and that any new, different or additional features changing the services provided by DBP will automatically be subject to this Agreement. If You do not agree to be bound by, or if You object to, the terms and conditions of this Agreement and any amendments hereto, do not use or access DBP's services. Continued use of DBP's services and its website after any such changes to this Agreement have been posted, constitutes Your acceptance of those changes.

\r\n

This Agreement is by and between DBP and you, your heirs, assigns, agents and contractors (\"You\") and is made effective as of the date of electronic execution. This Agreement sets forth the terms and conditions of Your relationship with DBP and Your use of DBP's services and represents the entire Agreement between You and DBP. By using DBP's Services, You acknowledge that You have read, understand and agree to be bound by all the terms and conditions of this Agreement, and You further agree to be bound by the terms of this Agreement for transactions entered into by:

\r\n
    \r\n
  1. You on Your behalf;
  2. \r\n
  3. Anyone acting as Your agent; and
  4. \r\n
  5. Anyone who uses the account You have established with DBP, whether or not the transactions were on Your behalf and/or authorized by You.
  6. \r\n
\r\n

You agree You will be bound by representations made by third parties acting on Your behalf, which either use or purchase services from DBP. You further agree that DBP will not be bound by statements of a general nature on DBP's website or DBP promotional materials. You further agree to abide by the terms and conditions promulgated by the Internet Corporation for Assigned Names and Numbers (\"ICANN\") (including the Uniform Domain Name Dispute Resolution Policy (\"Dispute Resolution Policy\") and Your Registrar (i.e., the ICANN-accredited person or entity through which You register a domain name).

\r\n

1. description of DBP's private registration services

\r\n

When You subscribe to DBP's private registration service through a DBP-affiliated Registrar, DBP will display its contact information in the publicly available \"Whois\" directory in place of Your information. DBP shall keep Your name, postal address, email address, phone and fax numbers confidential, subject to Section 4 of this Agreement. The following information (and not Your personal information) will be made publicly available in the \"Whois\" directory as determined by ICANN policy:

\r\n
    \r\n
  1. DBP's name as the proxy Registrant of the domain name and a proxy email address, phone number and postal address for the proxy Registrant's contact information;
  2. \r\n
  3. A proxy postal address and phone number for the domain name registration's technical contact;
  4. \r\n
  5. A proxy email address, postal address and phone number for the domain name registration's administrative contact;
  6. \r\n
  7. A proxy email address, postal address and phone number for the domain's name registration's billing contact;
  8. \r\n
  9. The primary and secondary domain name servers You designate for the domain name;
  10. \r\n
  11. The domain name's original date of registration and expiration date of the registration; and
  12. \r\n
  13. The identity of the Registrar.
  14. \r\n
\r\n

2. full benefits of domain registration retained by you

\r\n

Although DBP will show in the \"Whois\" directory as the Registrant of each domain name registration You designate, You will retain the full benefits of domain name registration with respect to each such domain name registration, including, subject to Section 4 below:

\r\n
    \r\n
  1. The right to sell, transfer or assign each domain name registration, which shall require cancellation of the DBP services associated with each such domain name registration;
  2. \r\n
  3. The right to control the use of each domain name registration, including designating the primary and secondary domain name servers to which each domain name points;
  4. \r\n
  5. The right to cancel each domain name registration;
  6. \r\n
  7. The right to cancel the DBP services associated with each domain name registration and/or Your privacy services with DBP so that Your contract information is listed in the \"Whois\" directory; and
  8. \r\n
  9. The right to renew each domain name registration upon its expiration, subject to Your Registrar's applicable rules and policies.
  10. \r\n
\r\n

3. PERSONAL INFORMATION AND your notification obligations; representation and warranties; ACCOUNT SECURITY

\r\n

Personal Information and Your Notification Obligations 

\r\n

You agree that for each domain name for which you use DBP services, You will provide accurate and current information as to:

\r\n
    \r\n
  1. Your name, the email address, postal address, phone and fax numbers for the domain name registration's Registrant contact;
  2. \r\n
  3. The email address, postal address, phone and fax numbers for the domain name registration's technical contact;
  4. \r\n
  5. The email address, postal address, phone and fax numbers for the domain name registration's administrative contact;
  6. \r\n
  7. The email address, postal address, phone and fax numbers for the domain name registration's billing contact; and
  8. \r\n
  9. You agree to provide government issued photo identification and/or government issued business identification as required for verification of identity when requested.
  10. \r\n
\r\n

You agree to:

\r\n
    \r\n
  1. Notify DBP within three (3) calendar days when any of the personal information You provided upon subscribing to DBP's services, changes;
  2. \r\n
  3. Respond within three (3) calendar days to any inquiries made by DBP to determine the validity of personal information provided by You; and
  4. \r\n
  5. Timely respond to email messages DBP sends to You regarding correspondence DBP has received that is either addressed to or involves You and/or Your domain name registration, as more fully set forth in Section 5(c) below.
  6. \r\n
  7. To allow DBP to act as your Designated Agent (as that term is defined below) in instances when DBP services are added to or cancelled from your domain name and for the purpose of facilitating a change of registrant request (as further described below). 
  8. \r\n
\r\n

It is Your responsibility to keep Your personal information current and accurate at all times.

\r\n

Renewals

\r\n

You agree DBP will arrange for Your Registrar to charge the credit card You have on file with the Registrar, at the Registrar's then current rates.

\r\n

If for any reason DBP and/or the Registrar for Your domain name is unable to charge Your credit card for the full amount of the service provided, or if DBP and/or the Registrar is charged back for any fee it previously charged to the credit card You provided, You agree that DBP and/or the Registrar may, without notice to You, pursue all available remedies in order to obtain payment, including but not limited to immediate cancellation of all services DBP provides to You.

\r\n

Representations and Warranties

\r\n

You warrant that all information provided by You to DBP is truthful, complete, current and accurate. You also warrant that You are using DBP's private registration services in good faith and You have no knowledge of Your domain name infringing upon or conflicting with the legal rights of a third party or a third party's trademark or trade name. You also warrant the domain name being registered by DBP on Your behalf will not be used in connection with any illegal activity, or in connection with the transmission of Spam, or that contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable or, disrupting, damaging or limiting the functionality of any software or hardware.

\r\n

Account Security

\r\n

You agree You are entirely responsible for maintaining the confidentiality of Your customer number/login ID and password (\"Account Access Information\").  You agree to notify DBP immediately of any unauthorized use of Your account or any other breach of security.  You agree DBP will not be liable for any loss that You may incur as a result of someone else using Your Account Access Information, either with or without Your knowledge.  You further agree You could be held liable for losses incurred by DBP or another party due to someone else using Your Account Access Information.  For security purposes, You should keep Account Access Information in a secure location and take precautions to prevent others from gaining access to Your Account Access Information.  You agree that You are entirely responsible for all activity in Your account, whether initiated by You, or by others.  DBP specifically disclaims liability for any activity in Your account, regardless of whether You authorized the activity.

\r\n

Designated Agency and Change of Registrant Information

\r\n

“DESIGNATED AGENT” MEANS AN INDIVIDUAL OR ENTITY THAT THE PRIOR REGISTRANT OR NEW REGISTRANT EXPLICITLY AUTHORIZES TO APPROVE A CHANGE OF REGISTRANT REQUEST ON ITS BEHALF.  IN THE CASE OF DBP SERVICES, A CHANGE OF REGISTRANT REQUEST MAY ALSO ARISE DUE TO INSTANCES WHERE DBP SERVICES ARE ADDED, OR REMOVED, FROM A DOMAIN NAME.  FOR THE PURPOSE OF FACILITATING ANY SUCH CHANGE REQUEST, AND IN ACCORDANCE WITH ICANN'S CHANGE OF REGISTRANT POLICY, YOU AGREE TO APPOINT DBP AS YOUR DESIGNATED AGENT FOR THE SOLE PURPOSE OF EXPLICITLY CONSENTING TO MATERIAL CHANGES OF REGISTRATION CONTACT INFORMATION ON YOUR BEHALF.

\r\n

4. DBP's rights to deny, suspend, terminate service and to disclose your personal information

\r\n

You understand and agree that DBP has the absolute right and power, in its sole discretion and without any liability to You whatsoever, to:

\r\n
    \r\n
  1. Cancel the privacy service (which means that Your information will be available in the \"Whois\" directory) and/or reveal Your name and personal information that You provided to DBP:  
    A. When required by law, in the good faith belief that such action is necessary in order to conform to the edicts of the law or in the interest of public safety;
    B. To comply with legal process served upon DBP or in response to a reasonable threat of litigation against DBP (as determined by DBP in its sole and absolute discretion); or
    C. To comply with ICANN rules, policies, or procedures.
  2. \r\n
  3. Resolve any and all third party claims, whether threatened or made, arising out of Your use of a domain name for which DBP is the registrant listed in the \"Whois\" directory on Your behalf; or
  4. \r\n
  5. Take any other action DBP deems necessary:
    A. In the event you breach any provision of this Agreement or the DBP Anti-Spam Policy;
    B. To protect the integrity and stability of, and to comply with registration requirements, terms, conditions and policies of, the applicable domain name Registry and/or Registry Provider;
        C. To comply with any applicable laws, government rules or requirements, subpoenas, court orders or requests of law enforcement; 
    D. To comply with ICANN's Dispute Resolution Policy or ICANN's Change of Registrant Policy;
    E. To avoid any financial loss or legal liability (civil or criminal) on the part of DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, officers, directors and employees;
    F. If the domain name for which DBP is the registrant on Your behalf violates or infringes a third party's trademark, trade name or other legal rights; and
    G. If it comes to DBP's attention that You are using DBP's services in a manner (as determined by DBP in its sole and absolute discretion) that:
  6. \r\n
\r\n
\r\n
    \r\n
  • Is illegal, or promotes or encourages illegal activity;
  • \r\n
  • Promotes, encourages or engages in child pornography or the exploitation of children;
  • \r\n
  • Promotes, encourages or engages in terrorism, violence against people, animals, or property;
  • \r\n
  • Promotes, encourages or engages in any spam or other unsolicited bulk email, or computer or network hacking or cracking;
  • \r\n
  • Violates the Ryan Haight Online Pharmacy Consumer Protection Act of 2008 or similar legislation, or promotes, encourages or engages in the sale or distribution of prescription medication without a valid prescription;  
  • \r\n
  • Infringes on the intellectual property rights of another User or any other person or entity;
  • \r\n
  • Violates the privacy or publicity rights of another User or any other person or entity, or breaches any duty of confidentiality that you owe to another User or any other person or entity;
  • \r\n
  • Interferes with the operation of DBP services;
  • \r\n
  • Contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable of, disrupting, damaging or limiting the functionality of any software or hardware; or
  • \r\n
  • Contains false or deceptive language, or unsubstantiated or comparative claims, regarding DBP or its services.
  • \r\n
\r\n
\r\n

You further understand and agree that if DBP is named as a defendant in, or investigated in anticipation of, any legal or administrative proceeding arising out of Your domain name registration or Your use of DBP's services, Your private registration service may be canceled, which means the domain name registration will revert back to You and Your identity will therefore be revealed in the Whois directory as Registrant.

\r\n

In the event:

\r\n
    \r\n
  1. DBP takes any of the actions set forth in subsection i, ii, or iii above or section 5; and/or
  2. \r\n
  3. You elect to cancel DBP's services for any reason --
  4. \r\n
\r\n

Neither DBP nor your Registrar will refund any fees paid by You whatsoever.

\r\n

5. communications forwarding

\r\n

a. Correspondence Forwarding

\r\n

Inasmuch as DBP's name, postal address and phone number will be listed in the Whois directory, You agree DBP will review and forward communications addressed to Your domain name that are received via email, certified or traceable courier mail (such as UPS, FedEx, or DHL), or first class U.S. postal mail. You specifically acknowledge DBP will not forward to You first class postal mail (other than legal notices), \"junk\" mail or other unsolicited communications (whether delivered through email, fax, postal mail or telephone), and You further authorize DBP to either discard all such communications or return all such communications to sender unopened. You agree to waive any and all claims arising from Your failure to receive communications directed to Your domain name but not forwarded to You by DBP.

\r\n

b. Email Forwarding

\r\n

The Whois directory requires an email address for every purchased domain name registration. When You purchase a private domain registration, DBP creates a private email address for that domain name, \"@domainsbyproxy.com\". Thereafter, when messages are sent to that private email address, DBP handles them according to the email preference You selected for that particular domain name. You have three (3) email preferences from which to choose. You can elect to:

\r\n
    \r\n
  1. Have all of the messages forwarded;
  2. \r\n
  3. Have all of the messages filtered for Spam and then forwarded; or
  4. \r\n
  5. Have none of the messages forwarded.
  6. \r\n
\r\n

As with all communications, You agree to waive any and all claims arising from Your failure to receive email directed to Your domain name but not forwarded to You by DBP.

\r\n

c. Notifications Regarding Correspondence and Your Obligation to Respond

\r\n

When DBP receives certified or traceable courier mail or legal notices addressed to Your domain name, in most cases, DBP will attempt to forward the mail to you via email. If You do not respond to the DBP email and/or the correspondence DBP has received regarding Your domain name registration concerns a dispute of any kind or otherwise requires immediate disposition, DBP may immediately reveal Your identity and/or cancel the DBP private registration service regarding either the domain name registration(s) in question. This means the Whois directory will revert to displaying Your name, postal address, email address and phone number that you provided to DBP.

\r\n

d. Additional Administrative Fees

\r\n

DBP reserves the right to charge You reasonable \"administrative fees\" or \"processing fees\" for (i)  tasks DBP may perform outside the normal scope of its Services, (ii) additional time and/or costs DBP may incur in providing its Services, and/or (iii) Your non-compliance with the Agreement (as determined by DBP in its sole and absolute discretion). Typical administrative or processing fee scenarios include, but are not limited to, (i) customer service issues that require additional personal time and attention; (ii) disputes that require accounting or legal services, whether performed by DBP staff or by outside firms retained by DBP; (iii) recouping any and all costs and fees, including the cost of Services, incurred by DBP as the result of chargebacks or other payment disputes brought by You, Your bank or Payment Method processor.  These administrative fees or processing fees will be billed to the Payment Method You have on file with Your Registrar.

\r\n

You agree to waive the right to trial by jury in any proceeding that takes place relating to or arising out of this Agreement.

\r\n

6. limitations of liability

\r\n

UNDER NO CIRCUMSTANCES SHALL DBP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, SPECIAL, OR CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER RELATED TO THIS AGREEMENT, YOUR DOMAIN NAME REGISTRATION, DBP'S SERVICES, USE OR INABILITY TO USE THE DBP WEBSITE OR THE MATERIALS AND CONTENT OF THE WEBSITE OR ANY OTHER WEBSITES LINKED TO THE DBP WEBSITE OR YOUR PROVISION OF ANY PERSONALLY IDENTIFIABLE INFORMATION TO DBP OR ANY THIRD PARTY. THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE ALLEGED LIABILITY IS BASED ON CONTRACT, TORT, WARRANTY, NEGLIGENCE, STRICT LIABILITY OR ANY OTHER BASIS, EVEN IF DBP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR SUCH DAMAGES WERE REASONABLY FORESEEABLE. BECAUSE CERTAIN JURISDICTIONS DO NOT PERMIT THE LIMITATION OR ELIMINATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, DBP'S LIABILITY IN SUCH JURISDICTIONS SHALL BE LIMITED TO THE SMALLEST AMOUNT PERMITTED BY LAW.

\r\n

YOU FURTHER UNDERSTAND AND AGREE THAT DBP DISCLAIMS ANY LOSS OR LIABILITY RESULTING FROM:

\r\n
    \r\n
  1. THE INADVERTENT DISCLOSURE OR THEFT OF YOUR PERSONAL INFORMATION;
  2. \r\n
  3. ACCESS DELAYS OR INTERRUPTIONS TO OUR WEBSITE OR THE WEBSITES OF OUR AFFILIATED REGISTRARS;
  4. \r\n
  5. DATA NON-DELIVERY OF MIS-DELIVERY BETWEEN YOU AND DBP;
  6. \r\n
  7. THE FAILURE FOR WHATEVER REASON TO RENEW A PRIVATE DOMAIN NAME REGISTRATION;
  8. \r\n
  9. THE UNAUTHORIZED USE OF YOUR DBP ACCOUNT OR ANY OF DBP'S SERVICES;
  10. \r\n
  11. ERRORS, OMISSIONS OR MISSTATEMENTS BY DBP;
  12. \r\n
  13. DELETION OF, FAILURE TO STORE, FAILURE TO PROCESS OR ACT UPON EMAIL MESSAGES FORWARDED TO EITHER YOU OR YOUR PRIVATE DOMAIN NAME REGISTRATION;
  14. \r\n
  15. PROCESSING OF UPDATED INFORMATION REGARDING YOUR DBP ACCOUNT; AND/OR
  16. \r\n
  17. ANY ACT OR OMISSION CAUSED BY YOU OR YOUR AGENTS (WHETHER AUTHORIZED BY YOU OR NOT).
  18. \r\n
\r\n

7. indemnity

\r\n

You agree to release, defend, indemnify and hold harmless DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, directors, officers and employees and Your Registrar, from and against any and all claims, demands, liabilities, losses, damages or costs, including reasonable attorneys' fees, arising out of or related in any way to this Agreement, the services provided hereunder by DBP, the DBP website, Your account with DBP, Your use of Your domain name registration, and/or disputes arising in connection with the dispute policy.

\r\n

8. DBP warranty disclaimer

\r\n

DBP, ITS PARENT COMPANIES, SUBSIDIARIES, AFFILIATES, SHAREHOLDERS, AGENTS, DIRECTORS, OFFICERS, AND EMPLOYEES EXPRESSLY DISCLAIM ALL REPRESENTATIONS AND WARRANTIES OF ANY KIND IN CONNECTION WITH THIS AGREEMENT, THE SERVICE PROVIDED HEREUNDER, THE DBP WEBSITE OR ANY WEBSITES LINKED TO THE DBP WEBSITE, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL DBP SERVICES, AS WELL AS THE DBP WEBSITE, ARE PROVIDED \"AS IS\". YOUR SUBSCRIPTION TO AND USE OF DBP'S SERVICES AND ITS WEBSITE ARE ENTIRELY AT YOUR RISK. SOME JURISDICTIONS DO NOT ALLOW THE DISCLAIMER OF IMPLIED WARRANTIES, IN WHICH EVENT THE FOREGOING DISCLAIMER MAY NOT APPLY TO YOU.

\r\n

9. copyright and trademark

\r\n

You understand and agree that all content and materials contained in this Agreement, the Privacy Policy and the DBP website found here , are protected by the various copyright, patent, trademark, service mark and trade secret laws of the United States, as well as any other applicable proprietary rights and laws, and that DBP expressly reserves its rights in and to all such content and materials.

\r\n

You further understand and agree You are prohibited from using, in any manner whatsoever, any of the afore-described content and materials without the express written permission of DBP. No license or right under any copyright, patent, trademark, service mark or other proprietary right or license is granted to You or conferred upon You by this Agreement or otherwise.

\r\n

10. miscellaneous provisions

\r\n

a. Severability; Construction; Entire Agreement

\r\n

If any part of this Agreement shall be held to be illegal, unenforceable or invalid, in whole or in part, such provision shall be modified to the minimum extent necessary to make it legal, enforceable and valid, and the legality, enforceability and validity of the remaining provisions of this Agreement shall not be affected or impaired. The headings herein will not be considered a part of this Agreement. You agree this Agreement, including the policies it incorporates by reference, constitute the complete and only Agreement between You and DBP regarding the services contemplated herein.

\r\n

b. Governing Law; Venue; Waiver Of Trial By Jury

\r\n

This Agreement shall be governed in all respects by the laws and judicial decisions of Maricopa County, Arizona, excluding its conflicts of laws rules. Except as provided immediately below, You agree that any action relating to or arising out of this Agreement, shall be brought exclusively in the courts of Maricopa County, Arizona. For the adjudication of domain name registration disputes, you agree to submit to the exclusive jurisdiction and venue of the U.S. District Court for the District of Arizona located in Phoenix, Arizona. You agree to waive the right to trial by jury in any proceeding, regardless of venue, that takes place relating to or arising out of this Agreement.

\r\n

c. Notices

\r\n

All notices from DBP to You will be sent to the email address You provided to DBP. Notices by email shall be deemed effective twenty-four (24) hours after the email is sent by DBP, unless DBP receives notice that the email address is invalid, in which event DBP may give You notice via first class or certified mail, return receipt requested. All notices from You to DBP shall be sent via certified mail, return receipt requested or traceable courier to:

\r\n
      Domains By Proxy, LLC
      Attn: General Counsel
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

Notices sent via certified mail or traceable courier shall be deemed effective five (5) days after the date of mailing.

\r\n

d. Insurance

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's negligent actions (and absent fraud or other negligent or willful misconduct committed by a third party), You may be insured against such loss through DBP's Professional Liability Insurance Policy, which is currently underwritten by American International Insurance Company. Of course, every claim is subject to the then-carrier's investigation into the facts and circumstances surrounding such claim. In the event You have reason to believe that circumstances exist which warrant the filing of an insurance claim, please send a written notice (specifying the basis for such claim), via certified mail, return receipt requested, to:

\r\n
      Domains By Proxy, LLC
      Attn: Insurance Claims
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

e. Indemnification

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's willful misconduct, Your Registrar (the \"Indemnifying Party\") will indemnify and hold You harmless against any losses, damages or costs (including reasonable attorneys' fees) resulting from any claim, action, proceeding, suit or demand arising out of or related to the loss of Your domain name registration. Such indemnification obligations under this Section 10(e) are conditioned upon the following:

\r\n
    \r\n
  1. That You promptly give both DBP and the Indemnifying Party written notice of the claim, demand, or action and provide reasonable assistance to the Indemnifying Party, at its cost and expense, in connection therewith, and
  2. \r\n
  3. That the Indemnifying Party has the right, at its option, to control and direct the defense to any settlement of such claim, demand, or action.
  4. \r\n
\r\n

Any notice concerning indemnification shall, with respect to DBP, be sent in accordance with Section 10(c) of this Agreement. With respect to Your Registrar, notices regarding indemnification should be sent in accordance with the notification provisions contained in Your Registrar's Domain Name Registration Agreement.

\r\n

f. Term of Agreement; Survival

\r\n

The terms of this Agreement shall continue in full force and effect as long as DBP is the Registrant for any domain name on Your behalf. Sections 5 (Communications Forwarding), 6 (Limitation of Liability), 7 (Indemnity), 8 (Warranty Disclaimer) and 10 (Miscellaneous Provisions) shall survive any termination or expiration of this Agreement.

\n
\n
\n\nRevised: 10/25/17
\nCopyright © 2003-2017 All Rights Reserved.\n
\n
\n
", - "title": "Domain Name Proxy Agreement", - "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=domain_nameproxy&pl_id=510456" - } - ] - }, - "headers": {} - } - }, - "operationId": "TopLevelDomains_ListAgreements", - "title": "List Top Level Domain Agreements" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json deleted file mode 100644 index 96fe93a3d84c..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/ListTopLevelDomains.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "com", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", - "properties": { - "privacy": true - } - }, - { - "name": "net", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/net", - "properties": { - "privacy": true - } - }, - { - "name": "co.uk", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.uk", - "properties": { - "privacy": false - } - }, - { - "name": "org", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org", - "properties": { - "privacy": true - } - }, - { - "name": "nl", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/nl", - "properties": { - "privacy": true - } - }, - { - "name": "in", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/in", - "properties": { - "privacy": false - } - }, - { - "name": "biz", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/biz", - "properties": { - "privacy": true - } - }, - { - "name": "org.uk", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org.uk", - "properties": { - "privacy": false - } - }, - { - "name": "co.in", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.in", - "properties": { - "privacy": false - } - } - ] - }, - "headers": {} - } - }, - "operationId": "TopLevelDomains_List", - "title": "List Top Level Domains" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json deleted file mode 100644 index 911ecc9e2daf..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/RenewDomain.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "RG", - "subscriptionId": "3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545" - }, - "responses": { - "200": {}, - "202": {}, - "204": {} - }, - "operationId": "Domains_Renew", - "title": "Renew an existing domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json deleted file mode 100644 index 449adc7551c9..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/TransferOutDomain.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - }, - "400": {} - }, - "operationId": "Domains_TransferOut", - "title": "Transfer out domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json deleted file mode 100644 index bc03d98087a3..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomain.json +++ /dev/null @@ -1,303 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domain": { - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "dnsType": "DefaultDomainRegistrarDns", - "privacy": false - } - }, - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - }, - "202": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - } - }, - "operationId": "Domains_Update", - "title": "Update App Service Domain" -} diff --git a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json b/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json deleted file mode 100644 index 387a3d8a5594..000000000000 --- a/specification/web/DomainRegistration.Management/examples/2024-11-01/UpdateAppServiceDomainOwnershipIdentifier.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "name": "SampleOwnershipId", - "api-version": "2024-11-01", - "domainName": "example.com", - "domainOwnershipIdentifier": { - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "headers": {} - } - }, - "operationId": "Domains_UpdateOwnershipIdentifier", - "title": "Update App Service Domain OwnershipIdentifier" -} diff --git a/specification/web/DomainRegistration.Management/main.tsp b/specification/web/DomainRegistration.Management/main.tsp deleted file mode 100644 index 06bae94c7ac7..000000000000 --- a/specification/web/DomainRegistration.Management/main.tsp +++ /dev/null @@ -1,52 +0,0 @@ -/** - * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS - * Generated by package: @autorest/openapi-to-typespec - * Parameters used: - * isFullCompatible: false - * guessResourceKey: false - * Version: 0.11.4 - * Date: 2025-08-08T07:49:59.812Z - */ -import "@typespec/rest"; -import "@typespec/versioning"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; -import "./models.tsp"; -import "./back-compatible.tsp"; -import "./Domain.tsp"; -import "./DomainOwnershipIdentifier.tsp"; -import "./TopLevelDomain.tsp"; -import "./routes.tsp"; - -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.ResourceManager.Foundations; -using Azure.Core; -using Azure.ResourceManager; -using TypeSpec.Versioning; -/** - * - */ -#suppress "@azure-tools/typespec-client-generator-core/client-location-duplicate" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -@armProviderNamespace -@service(#{ title: "TopLevelDomains API Client" }) -@versioned(Versions) -// FIXME: Common type version not set. Set to v3. -@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) -namespace Microsoft.DomainRegistration; - -/** - * The available API versions. - */ -enum Versions { - /** - * The 2024-11-01 API version. - */ - v2024_11_01: "2024-11-01", -} - -interface Operations - extends Azure.ResourceManager.Legacy.Operations< - ArmResponse, - DefaultErrorResponse - > {} diff --git a/specification/web/DomainRegistration.Management/models.tsp b/specification/web/DomainRegistration.Management/models.tsp deleted file mode 100644 index b4c8d5abbe51..000000000000 --- a/specification/web/DomainRegistration.Management/models.tsp +++ /dev/null @@ -1,1110 +0,0 @@ -import "@typespec/rest"; -import "@typespec/http"; -import "@azure-tools/typespec-azure-core"; -import "@azure-tools/typespec-azure-resource-manager"; - -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.ResourceManager; -using Azure.ResourceManager.Foundations; - -namespace Microsoft.DomainRegistration; - -/** - * Reasons why domain is not renewable. - */ -union ResourceNotRenewableReason { - string, - - /** - * Registration status is not supported for renewal. - */ - RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", - - /** - * Domain expiration is not in the renewal time range. - */ - ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", - - /** - * Subscription is not active. - */ - SubscriptionNotActive: "SubscriptionNotActive", -} - -/** - * Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum DomainType { - Regular, - SoftDeleted, -} - -/** - * Domain registration status. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum DomainStatus { - Active, - Awaiting, - Cancelled, - Confiscated, - Disabled, - Excluded, - Expired, - Failed, - Held, - Locked, - Parked, - Pending, - Reserved, - Reverted, - Suspended, - Transferred, - Unknown, - Unlocked, - Unparked, - Updated, - JsonConverterFailed, -} - -/** - * Domain provisioning state. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum ProvisioningState { - Succeeded, - Failed, - Canceled, - InProgress, - Deleting, -} - -/** - * Type of the Azure resource the hostname is assigned to. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum AzureResourceType { - Website, - TrafficManager, -} - -/** - * Type of the DNS record. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum CustomHostNameDnsRecordType { - CName, - A, -} - -/** - * Type of the hostname. - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum HostNameType { - Verified, - Managed, -} - -/** - * Current DNS type - */ -#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -enum DnsType { - AzureDns, - DefaultDomainRegistrarDns, -} - -/** - * Description of an operation available for Microsoft.Web resource provider. - */ -model CsmOperationDescription { - /** - * Operation name, e.g. Microsoft.Web/sites/write. - */ - name?: string; - - /** - * Operation display name. - */ - isDataAction?: boolean; - - /** - * Meta data about operation used for display in portal. - */ - display?: CsmOperationDisplay; - - /** - * Origin of the operation, e.g. "system" or "user". - */ - origin?: string; - - /** - * Properties available for a Microsoft.Web resource provider operation. - */ - properties?: CsmOperationDescriptionProperties; -} - -/** - * Meta data about operation used for display in portal. - */ -model CsmOperationDisplay { - /** - * Provider name. - */ - provider?: string; - - /** - * Resource type. - */ - resource?: string; - - /** - * Operation name. - */ - operation?: string; - - /** - * Operation description. - */ - description?: string; -} - -/** - * Properties available for a Microsoft.Web resource provider operation. - */ -model CsmOperationDescriptionProperties { - /** - * Resource metrics service provided by Microsoft.Insights resource provider. - */ - serviceSpecification?: ServiceSpecification; -} - -/** - * Resource metrics service provided by Microsoft.Insights resource provider. - */ -model ServiceSpecification { - /** - * Resource metrics service name. - */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) - metricSpecifications?: MetricSpecification[]; - - /** - * Resource logs service provided by Microsoft.Insights resource provider. - */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) - logSpecifications?: LogSpecification[]; -} - -/** - * Definition of a single resource metric. - */ -model MetricSpecification { - /** - * Name of the resource metric. - */ - name?: string; - - /** - * Display name of the resource metric. - */ - displayName?: string; - - /** - * Description of the resource metric. - */ - displayDescription?: string; - - /** - * Resource metric unit. - */ - unit?: string; - - /** - * Resource metric aggregation type. - */ - aggregationType?: string; - - /** - * Resource metric supported aggregation types. - */ - supportsInstanceLevelAggregation?: boolean; - - /** - * Resource metric supported time grain types. - */ - enableRegionalMdmAccount?: boolean; - - /** - * Resource metric source MDM account. - */ - sourceMdmAccount?: string; - - /** - * Resource metric source MDM namespace. - */ - sourceMdmNamespace?: string; - - /** - * Resource metric filter pattern. - */ - metricFilterPattern?: string; - - /** - * Resource metric fill gap with zero. - */ - fillGapWithZero?: boolean; - - /** - * Resource metric is internal. - */ - isInternal?: boolean; - - /** - * Resource metric dimensions. - */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) - dimensions?: Dimension[]; - - /** - * Resource metric category. - */ - category?: string; - - /** - * Resource metric availability. - */ - @OpenAPI.extension("x-ms-identifiers", #[]) - availabilities?: MetricAvailability[]; - - /** - * Resource metric supported time grain types. - */ - supportedTimeGrainTypes?: string[]; - - /** - * Resource metric supported aggregation types. - */ - supportedAggregationTypes?: string[]; -} - -/** - * Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, - * where instance name is dimension of the metric HTTP request - */ -model Dimension { - /** - * Name of the dimension. - */ - name?: string; - - /** - * Display name of the dimension. - */ - displayName?: string; - - /** - * Dimension of the internal name. - */ - internalName?: string; - - /** - * Dimension to be exported for shoebox. - */ - toBeExportedForShoebox?: boolean; -} - -/** - * Retention policy of a resource metric. - */ -model MetricAvailability { - /** - * Metric availability time grain. - */ - timeGrain?: string; - - /** - * Metric availability blob duration. - */ - blobDuration?: string; -} - -/** - * Log Definition of a single resource metric. - */ -model LogSpecification { - /** - * Name of the log. - */ - name?: string; - - /** - * Display name of the log. - */ - displayName?: string; - - /** - * Blob duration of the log. - */ - blobDuration?: string; - - /** - * Log filtered pattern of the log. - */ - logFilterPattern?: string; -} - -/** - * App Service error response. - */ -@error -model DefaultErrorResponse { - /** - * Error model. - */ - @visibility(Lifecycle.Read) - error?: DefaultErrorResponseError; -} - -/** - * Error model. - */ -model DefaultErrorResponseError { - /** - * Standardized string to programmatically identify the error. - */ - @visibility(Lifecycle.Read) - code?: string; - - /** - * Detailed error description and debugging information. - */ - @visibility(Lifecycle.Read) - message?: string; - - /** - * Detailed error description and debugging information. - */ - @visibility(Lifecycle.Read) - target?: string; - - /** - * Error details. - */ - @OpenAPI.extension("x-ms-identifiers", #[]) - details?: DefaultErrorResponseErrorDetailsItem[]; - - /** - * More information to debug error. - */ - @visibility(Lifecycle.Read) - innererror?: string; -} - -/** - * Detailed errors. - */ -model DefaultErrorResponseErrorDetailsItem { - /** - * Standardized string to programmatically identify the error. - */ - @visibility(Lifecycle.Read) - code?: string; - - /** - * Detailed error description and debugging information. - */ - @visibility(Lifecycle.Read) - message?: string; - - /** - * Detailed error description and debugging information. - */ - @visibility(Lifecycle.Read) - target?: string; -} - -/** - * Identifies an object. - */ -model NameIdentifier { - /** - * Name of the object. - */ - name?: string; -} - -/** - * Domain availability check result. - */ -model DomainAvailabilityCheckResult { - /** - * Name of the domain. - */ - name?: string; - - /** - * true if domain can be purchased using CreateDomain API; otherwise, false. - */ - available?: boolean; - - /** - * Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. - */ - domainType?: DomainType; -} - -/** - * Collection of domains. - */ -model DomainCollection is Azure.Core.Page; - -/** - * Domain resource specific properties - */ -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -model DomainProperties { - /** - * Administrative contact. - */ - @visibility(Lifecycle.Create) - contactAdmin: Contact; - - /** - * Billing contact. - */ - @visibility(Lifecycle.Create) - contactBilling: Contact; - - /** - * Registrant contact. - */ - @visibility(Lifecycle.Create) - contactRegistrant: Contact; - - /** - * Technical contact. - */ - @visibility(Lifecycle.Create) - contactTech: Contact; - - /** - * Domain registration status. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - registrationStatus?: DomainStatus; - - /** - * Domain provisioning state. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - provisioningState?: ProvisioningState; - - /** - * Name servers. - */ - @visibility(Lifecycle.Read) - nameServers?: string[]; - - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ - privacy?: boolean; - - /** - * Domain creation timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - createdTime?: utcDateTime; - - /** - * Domain expiration timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - expirationTime?: utcDateTime; - - /** - * Timestamp when the domain was renewed last time. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - lastRenewedTime?: utcDateTime; - - /** - * true if the domain should be automatically renewed; otherwise, false. - */ - autoRenew?: boolean = true; - - /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. - */ - @visibility(Lifecycle.Read) - readyForDnsRecordManagement?: boolean; - - /** - * All hostnames derived from the domain and assigned to Azure resources. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) - managedHostNames?: HostName[]; - - /** - * Legal agreement consent. - */ - @visibility(Lifecycle.Create) - consent: DomainPurchaseConsent; - - /** - * Reasons why domain is not renewable. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; - - /** - * Current DNS type - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - dnsType?: DnsType; - - /** - * Azure DNS Zone to use - */ - dnsZoneId?: string; - - /** - * Target DNS type (would be used for migration) - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - targetDnsType?: DnsType; - - /** - * Authorization code for the domain. - */ - @visibility(Lifecycle.Create, Lifecycle.Read) - authCode?: string; -} - -/** - * Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois - * directories as per ICANN requirements. - */ -model Contact { - /** - * Mailing address. - */ - addressMailing?: Address; - - /** - * Email address. - */ - email: string; - - /** - * Fax number. - */ - fax?: string; - - /** - * Job title. - */ - jobTitle?: string; - - /** - * First name. - */ - nameFirst: string; - - /** - * Last name. - */ - nameLast: string; - - /** - * Middle name. - */ - nameMiddle?: string; - - /** - * Organization contact belongs to. - */ - organization?: string; - - /** - * Phone number. - */ - phone: string; -} - -/** - * Address information for domain registration. - */ -model Address { - /** - * First line of an Address. - */ - address1: string; - - /** - * The second line of the Address. Optional. - */ - address2?: string; - - /** - * The city for the address. - */ - city: string; - - /** - * The country for the address. - */ - country: string; - - /** - * The postal code for the address. - */ - postalCode: string; - - /** - * The state or province for the address. - */ - state: string; -} - -/** - * Details of a hostname derived from a domain. - */ -model HostName { - /** - * Name of the hostname. - */ - name?: string; - - /** - * List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager. - */ - siteNames?: string[]; - - /** - * Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name. - */ - azureResourceName?: string; - - /** - * Type of the Azure resource the hostname is assigned to. - */ - azureResourceType?: AzureResourceType; - - /** - * Type of the DNS record. - */ - customHostNameDnsRecordType?: CustomHostNameDnsRecordType; - - /** - * Type of the hostname. - */ - hostNameType?: HostNameType; -} - -/** - * Domain purchase consent object, representing acceptance of applicable legal agreements. - */ -model DomainPurchaseConsent { - /** - * List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource. - */ - agreementKeys?: string[]; - - /** - * Client IP address. - */ - agreedBy?: string; - - /** - * Timestamp when the agreements were accepted. - */ - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - agreedAt?: utcDateTime; -} - -/** - * Azure resource. This resource is tracked in Azure Resource Manager - */ -model Resource { - /** - * Resource Id. - */ - @visibility(Lifecycle.Read) - id?: string; - - /** - * Resource Name. - */ - @visibility(Lifecycle.Read) - name?: string; - - /** - * Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. - */ - kind?: string; - - /** - * Resource Location. - */ - location: string; - - /** - * Resource type. - */ - @visibility(Lifecycle.Read) - type?: string; - - /** - * Resource tags. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - tags?: Record; -} - -/** - * Single sign-on request information for domain management. - */ -model DomainControlCenterSsoRequest { - /** - * URL where the single sign-on request is to be made. - */ - @visibility(Lifecycle.Read) - url?: string; - - /** - * Post parameter key. - */ - @visibility(Lifecycle.Read) - postParameterKey?: string; - - /** - * Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value. - */ - @visibility(Lifecycle.Read) - postParameterValue?: string; -} - -/** - * Domain recommendation search parameters. - */ -model DomainRecommendationSearchParameters { - /** - * Keywords to be used for generating domain recommendations. - */ - keywords?: string; - - /** - * Maximum number of recommendations. - */ - maxDomainRecommendations?: int32; -} - -/** - * Collection of domain name identifiers. - */ -@@OpenAPI.extension(NameIdentifierCollection.value, - "x-ms-identifiers", - #["name"] -); -model NameIdentifierCollection is Azure.Core.Page; - -/** - * ARM resource for a domain. - */ -#suppress "@azure-tools/typespec-azure-resource-manager/patch-envelope" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -model DomainPatchResource extends ProxyOnlyResource { - /** - * DomainPatchResource resource specific properties - */ - properties?: { - /** - * Administrative contact. - */ - @visibility(Lifecycle.Create) - contactAdmin: Contact; - - /** - * Billing contact. - */ - @visibility(Lifecycle.Create) - contactBilling: Contact; - - /** - * Registrant contact. - */ - @visibility(Lifecycle.Create) - contactRegistrant: Contact; - - /** - * Technical contact. - */ - @visibility(Lifecycle.Create) - contactTech: Contact; - - /** - * Domain registration status. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - registrationStatus?: DomainStatus; - - /** - * Domain provisioning state. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - provisioningState?: ProvisioningState; - - /** - * Name servers. - */ - @visibility(Lifecycle.Read) - nameServers?: string[]; - - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ - privacy?: boolean; - - /** - * Domain creation timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - createdTime?: utcDateTime; - - /** - * Domain expiration timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - expirationTime?: utcDateTime; - - /** - * Timestamp when the domain was renewed last time. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - lastRenewedTime?: utcDateTime; - - /** - * true if the domain should be automatically renewed; otherwise, false. - */ - autoRenew?: boolean = true; - - /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. - */ - @visibility(Lifecycle.Read) - readyForDnsRecordManagement?: boolean; - - /** - * All hostnames derived from the domain and assigned to Azure resources. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) - managedHostNames?: HostName[]; - - /** - * Legal agreement consent. - */ - @visibility(Lifecycle.Create) - consent: DomainPurchaseConsent; - - /** - * Reasons why domain is not renewable. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; - - /** - * Current DNS type - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - dnsType?: DnsType; - - /** - * Azure DNS Zone to use - */ - dnsZoneId?: string; - - /** - * Target DNS type (would be used for migration) - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - targetDnsType?: DnsType; - - /** - * Authorization code for the domain. - */ - @visibility(Lifecycle.Create, Lifecycle.Read) - authCode?: string; - }; -} - -/** - * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. - */ -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -model ProxyOnlyResource { - /** - * Resource Id. - */ - @visibility(Lifecycle.Read) - id?: string; - - /** - * Resource Name. - */ - @visibility(Lifecycle.Read) - name?: string; - - /** - * Kind of resource. - */ - kind?: string; - - /** - * Resource type. - */ - @visibility(Lifecycle.Read) - type?: string; -} - -/** - * Collection of domain ownership identifiers. - */ -model DomainOwnershipIdentifierCollection - is Azure.Core.Page; - -/** - * DomainOwnershipIdentifier resource specific properties - */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -model DomainOwnershipIdentifierProperties { - /** - * Ownership Id. - */ - ownershipId?: string; -} - -/** - * Collection of Top-level domains. - */ -model TopLevelDomainCollection is Azure.Core.Page; - -/** - * TopLevelDomain resource specific properties - */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -model TopLevelDomainProperties { - /** - * If true, then the top level domain supports domain privacy; otherwise, false. - */ - privacy?: boolean; -} - -/** - * Options for retrieving the list of top level domain legal agreements. - */ -model TopLevelDomainAgreementOption { - /** - * If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false. - */ - includePrivacy?: boolean; - - /** - * If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false. - */ - forTransfer?: boolean; -} - -/** - * Collection of top-level domain legal agreements. - */ -@@OpenAPI.extension(TldLegalAgreementCollection.value, - "x-ms-identifiers", - #["agreementKey"] -); -model TldLegalAgreementCollection is Azure.Core.Page; - -/** - * Legal agreement for a top level domain. - */ -model TldLegalAgreement { - /** - * Unique identifier for the agreement. - */ - agreementKey: string; - - /** - * Agreement title. - */ - title: string; - - /** - * Agreement details. - */ - content: string; - - /** - * URL where a copy of the agreement details is hosted. - */ - url?: string; -} - -/** - * The server could not understand the request due to invalid syntax. - */ -@error -model ArmBadRequestResponse { - ...TypeSpec.Http.Response<400>; -} - -/** - * Reasons why domain is not renewable. - */ -union domainNotRenewableReasonsProperties { - string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - SubscriptionNotActive: "SubscriptionNotActive", -} - -/** - * Collection of Azure resource manager operation metadata. - */ -model CsmOperationCollection { - /** - * Collection of resources. - */ - @pageItems - @OpenAPI.extension("x-ms-identifiers", #["name"]) - value: CsmOperationDescription[]; - - /** - * Link to next page of resources. - */ - @doc("Link to next page of resources.") - @visibility(Lifecycle.Read) - @nextLink - nextLink?: string; -} diff --git a/specification/web/DomainRegistration.Management/routes.tsp b/specification/web/DomainRegistration.Management/routes.tsp deleted file mode 100644 index df0cd95bac5d..000000000000 --- a/specification/web/DomainRegistration.Management/routes.tsp +++ /dev/null @@ -1,59 +0,0 @@ -// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually - -import "@azure-tools/typespec-azure-core"; -import "@typespec/rest"; -import "./models.tsp"; -import "@azure-tools/typespec-azure-resource-manager"; -import "@typespec/openapi"; - -using TypeSpec.Rest; -using TypeSpec.Http; -using Azure.ResourceManager; -using TypeSpec.OpenAPI; - -namespace Microsoft.DomainRegistration; - -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -interface DomainsOperationGroup { - /** - * Description for Check if a domain is available for registration. - */ - @summary("Check if a domain is available for registration.") - @autoRoute - @action("checkDomainAvailability") - checkAvailability is ArmProviderActionSync< - Request = NameIdentifier, - Response = DomainAvailabilityCheckResult, - Scope = SubscriptionActionScope, - Parameters = {}, - Error = DefaultErrorResponse - >; - - /** - * Description for Generate a single sign-on request for the domain management portal. - */ - @summary("Generate a single sign-on request for the domain management portal.") - @autoRoute - @action("generateSsoRequest") - getControlCenterSsoRequest is ArmProviderActionSync< - Response = DomainControlCenterSsoRequest, - Scope = SubscriptionActionScope, - Parameters = {}, - Error = DefaultErrorResponse - >; - - /** - * Description for Get domain name recommendations based on keywords. - */ - @summary("Get domain name recommendations based on keywords.") - @autoRoute - @action("listDomainRecommendations") - @list - listRecommendations is ArmProviderActionSync< - Request = DomainRecommendationSearchParameters, - Response = NameIdentifierCollection, - Scope = SubscriptionActionScope, - Parameters = {}, - Error = DefaultErrorResponse - >; -} diff --git a/specification/web/DomainRegistration.Management/tspconfig.yaml b/specification/web/DomainRegistration.Management/tspconfig.yaml deleted file mode 100644 index 18474dce5045..000000000000 --- a/specification/web/DomainRegistration.Management/tspconfig.yaml +++ /dev/null @@ -1,51 +0,0 @@ -parameters: - "service-dir": - default: "sdk/web" -emit: - - "@azure-tools/typespec-autorest" -options: - "@azure-tools/typespec-autorest": - omit-unreachable-types: true - emitter-output-dir: "{project-root}/.." - azure-resource-provider-folder: "resource-manager" - output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" - examples-dir: "{project-root}/examples" - emit-lro-options: "all" - "@azure-tools/typespec-csharp": - flavor: azure - emitter-output-dir: "{output-dir}/{service-dir}/Azure.ResourceManager.Web" - clear-output-folder: true - model-namespace: true - namespace: "Azure.ResourceManager.Web" - "@azure-tools/typespec-python": - emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-web" - namespace: "azure.mgmt.web" - generate-test: true - generate-sample: true - flavor: "azure" - "@azure-tools/typespec-java": - emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-web" - namespace: "com.azure.resourcemanager.web" - service-name: "Web" # human-readable service name, whitespace allowed - flavor: azure - "@azure-tools/typespec-ts": - service-dir: sdk/web - emitter-output-dir: "{output-dir}/{service-dir}/arm-web" - is-modular-library: true - flavor: "azure" - experimental-extensible-enums: true - package-details: - name: "@azure/arm-web" - "@azure-tools/typespec-go": - service-dir: "sdk/resourcemanager/web" - emitter-output-dir: "{output-dir}/{service-dir}/armweb" - module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armweb" - fix-const-stuttering: true - flavor: "azure" - generate-samples: true - generate-fakes: true - head-as-boolean: true - inject-spans: true -linter: - extends: - - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/readme.md b/specification/web/resource-manager/Microsoft.Web/AppService/readme.md new file mode 100644 index 000000000000..fb20ac32b01f --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/AppService/readme.md @@ -0,0 +1,2355 @@ +# AppService + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for AppService. + +The App service RP comprises of services where each service has its own tag. +Hence, each sub-service has its own swagger spec. + +All of them are tied together using this configuration and are packaged together into one compute client library. +This makes it easier for customers to download one (NuGet/npm/pip/maven/gem) compute client library package rather than installing individual packages for each sub service. + +--- + +## Getting Started + +To build the SDK for AppService, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` + +--- + +## Configuration + +### Basic Information + +These are the global settings for the AppService API. + +```yaml +title: AppServiceManagementClient +description: AppService Management Client +openapi-type: arm +tag: package-2024-11 +``` + +### Suppression + +```yaml +directive: + - suppress: XmsResourceInPutResponse + from: WebApps.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/keys/{keyName}"].put + reason: Model type is not an Azure resource + - suppress: RequiredPropertiesMissingInResourceModel + from: WebApps.json + where: $.definitions.KeyInfo + reason: Model type is not an Azure resource + - suppress: BodyTopLevelProperties + from: WebApps.json + where: $.definitions.KeyInfo.properties + reason: Model type is not an Azure resource + - suppress: DefinitionsPropertiesNamesCamelCase + from: WebApps.json + where: $.definitions.AzureActiveDirectoryLogin.properties.disableWWWAuthenticate + reason: Property name contains WWW which is an acronym, so camel case does not apply here. + - suppress: DefinitionsPropertiesNamesCamelCase + from: WebApps.json + where: $.definitions.AzureActiveDirectoryLogin.properties.disableWWWAuthenticate + reason: Property name contains WWW which is an acronym, so camel case does not apply here. + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: ResourceProvider.json + reason: Model type is not owned by cert and domain team + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: WebApps.json + reason: Retroactive addition of missing examples out of scope at this time. + - suppress: RESPONSE_STATUS_CODE_NOT_IN_SPEC + from: StaticSites.json + reason: Retroactive addition of missing examples out of scope at this time. + - suppress: RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE + from: StaticSites.json + reason: Retroactive addition of missing examples out of scope at this time. + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: AppServicePlans.json + reason: Retroactive addition of missing examples out of scope at this time. + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: Recommendations.json + reason: Retroactive addition of missing examples out of scope at this time. + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: DeletedWebApps.json + reason: Retroactive addition of missing examples out of scope at this time. + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: Provider.json + reason: Retroactive addition of missing examples out of scope at this time. +``` + +### Tag: package-2024-11 + +These settings apply only when `--tag=package-2024-11` is specified on the command line. + +```yaml $(tag) == 'package-2024-11' +input-file: + - stable/2024-11-01/AppServiceEnvironments.json + - stable/2024-11-01/AppServicePlans.json + - stable/2024-11-01/Certificates.json + - stable/2024-11-01/CommonDefinitions.json + - stable/2024-11-01/DeletedWebApps.json + - stable/2024-11-01/Diagnostics.json + - stable/2024-11-01/Global.json + - stable/2024-11-01/KubeEnvironments.json + - stable/2024-11-01/Provider.json + - stable/2024-11-01/Recommendations.json + - stable/2024-11-01/ResourceHealthMetadata.json + - stable/2024-11-01/ResourceProvider.json + - stable/2024-11-01/SiteCertificates.json + - stable/2024-11-01/StaticSites.json + - stable/2024-11-01/WebApps.json +``` + +### Tag: package-2024-04 + +These settings apply only when `--tag=package-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-2024-04' +input-file: + - stable/2024-04-01/AppServiceEnvironments.json + - stable/2024-04-01/AppServicePlans.json + - stable/2024-04-01/Certificates.json + - stable/2024-04-01/CommonDefinitions.json + - stable/2024-04-01/DeletedWebApps.json + - stable/2024-04-01/Diagnostics.json + - stable/2024-04-01/Global.json + - stable/2024-04-01/KubeEnvironments.json + - stable/2024-04-01/Provider.json + - stable/2024-04-01/Recommendations.json + - stable/2024-04-01/ResourceHealthMetadata.json + - stable/2024-04-01/ResourceProvider.json + - stable/2024-04-01/StaticSites.json + - stable/2024-04-01/WebApps.json +``` + +### Tag: package-2023-12 + +These settings apply only when `--tag=package-2023-12` is specified on the command line. + +```yaml $(tag) == 'package-2023-12' +input-file: + - stable/2023-12-01/AppServiceEnvironments.json + - stable/2023-12-01/AppServicePlans.json + - stable/2023-12-01/Certificates.json + - stable/2023-12-01/CommonDefinitions.json + - stable/2023-12-01/ContainerApps.json + - stable/2023-12-01/ContainerAppsRevisions.json + - stable/2023-12-01/DeletedWebApps.json + - stable/2023-12-01/Diagnostics.json + - stable/2023-12-01/Global.json + - stable/2023-12-01/KubeEnvironments.json + - stable/2023-12-01/Provider.json + - stable/2023-12-01/Recommendations.json + - stable/2023-12-01/ResourceHealthMetadata.json + - stable/2023-12-01/ResourceProvider.json + - stable/2023-12-01/StaticSites.json + - stable/2023-12-01/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfoResource + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version + - where: $.definitions.TriggeredJobRun.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.start_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.end_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.output_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.error_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_id + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - suppress: R4009 + from: ContainerApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ContainerAppsRevisions.json + reason: SystemData will implement in next version. + - suppress: R3026 + from: ContainerApps.json + reason: Patch operation will be implemented in later version. + - suppress: R3026 + from: ContainerAppsRevisions.json + reason: Patch operation will be implemented in later version. +``` + +### Tag: package-2023-01 + +These settings apply only when `--tag=package-2023-01` is specified on the command line. + +```yaml $(tag) == 'package-2023-01' +input-file: + - stable/2023-01-01/AppServiceEnvironments.json + - stable/2023-01-01/AppServicePlans.json + - stable/2023-01-01/Certificates.json + - stable/2023-01-01/CommonDefinitions.json + - stable/2023-01-01/ContainerApps.json + - stable/2023-01-01/ContainerAppsRevisions.json + - stable/2023-01-01/DeletedWebApps.json + - stable/2023-01-01/Diagnostics.json + - stable/2023-01-01/Global.json + - stable/2023-01-01/KubeEnvironments.json + - stable/2023-01-01/Provider.json + - stable/2023-01-01/Recommendations.json + - stable/2023-01-01/ResourceHealthMetadata.json + - stable/2023-01-01/ResourceProvider.json + - stable/2023-01-01/StaticSites.json + - stable/2023-01-01/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfoResource + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version + - where: $.definitions.TriggeredJobRun.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.start_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.end_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.output_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.error_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_id + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - suppress: R4009 + from: ContainerApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ContainerAppsRevisions.json + reason: SystemData will implement in next version. + - suppress: R3026 + from: ContainerApps.json + reason: Patch operation will be implemented in later version. + - suppress: R3026 + from: ContainerAppsRevisions.json + reason: Patch operation will be implemented in later version. +``` + +### Tag: package-2022-09 + +These settings apply only when `--tag=package-2022-09` is specified on the command line. + +```yaml $(tag) == 'package-2022-09' +input-file: + - stable/2022-09-01/AppServiceEnvironments.json + - stable/2022-09-01/AppServicePlans.json + - stable/2022-09-01/Certificates.json + - stable/2022-09-01/CommonDefinitions.json + - stable/2022-09-01/ContainerApps.json + - stable/2022-09-01/ContainerAppsRevisions.json + - stable/2022-09-01/DeletedWebApps.json + - stable/2022-09-01/Diagnostics.json + - stable/2022-09-01/Global.json + - stable/2022-09-01/KubeEnvironments.json + - stable/2022-09-01/Provider.json + - stable/2022-09-01/Recommendations.json + - stable/2022-09-01/ResourceHealthMetadata.json + - stable/2022-09-01/ResourceProvider.json + - stable/2022-09-01/StaticSites.json + - stable/2022-09-01/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfoResource + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version + - where: $.definitions.TriggeredJobRun.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.start_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.end_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.output_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.error_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_id + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - suppress: R4009 + from: ContainerApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ContainerAppsRevisions.json + reason: SystemData will implement in next version. + - suppress: R3026 + from: ContainerApps.json + reason: Patch operation will be implemented in later version. + - suppress: R3026 + from: ContainerAppsRevisions.json + reason: Patch operation will be implemented in later version. +``` + +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' || $(tag) == 'package-2022-03-only' +input-file: + - stable/2022-03-01/AppServiceEnvironments.json + - stable/2022-03-01/AppServicePlans.json + - stable/2022-03-01/Certificates.json + - stable/2022-03-01/CommonDefinitions.json + - stable/2022-03-01/ContainerApps.json + - stable/2022-03-01/ContainerAppsRevisions.json + - stable/2022-03-01/DeletedWebApps.json + - stable/2022-03-01/Diagnostics.json + - stable/2022-03-01/Global.json + - stable/2022-03-01/KubeEnvironments.json + - stable/2022-03-01/Provider.json + - stable/2022-03-01/Recommendations.json + - stable/2022-03-01/ResourceHealthMetadata.json + - stable/2022-03-01/ResourceProvider.json + - stable/2022-03-01/StaticSites.json + - stable/2022-03-01/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfoResource + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version + - where: $.definitions.TriggeredJobRun.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.start_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.end_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.output_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.error_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_id + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - suppress: R4009 + from: ContainerApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ContainerAppsRevisions.json + reason: SystemData will implement in next version. + - suppress: R3026 + from: ContainerApps.json + reason: Patch operation will be implemented in later version. + - suppress: R3026 + from: ContainerAppsRevisions.json + reason: Patch operation will be implemented in later version. +``` + +### Tag: package-2021-03 + +These settings apply only when `--tag=package-2021-03` is specified on the command line. + +```yaml $(tag) == 'package-2021-03' || $(tag) == 'package-2021-03-only' +input-file: + - stable/2021-03-01/AppServiceEnvironments.json + - stable/2021-03-01/AppServicePlans.json + - stable/2021-03-01/Certificates.json + - stable/2021-03-01/CommonDefinitions.json + - stable/2021-03-01/ContainerApps.json + - stable/2021-03-01/ContainerAppsRevisions.json + - stable/2021-03-01/DeletedWebApps.json + - stable/2021-03-01/Diagnostics.json + - stable/2021-03-01/Global.json + - stable/2021-03-01/KubeEnvironments.json + - stable/2021-03-01/Provider.json + - stable/2021-03-01/Recommendations.json + - stable/2021-03-01/ResourceHealthMetadata.json + - stable/2021-03-01/ResourceProvider.json + - stable/2021-03-01/StaticSites.json + - stable/2021-03-01/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfoResource + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version + - where: $.definitions.TriggeredJobRun.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.start_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.end_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.output_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.error_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_id + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - suppress: R4009 + from: ContainerApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ContainerAppsRevisions.json + reason: SystemData will implement in next version. + - suppress: R3026 + from: ContainerApps.json + reason: Patch operation will be implemented in later version. + - suppress: R3026 + from: ContainerAppsRevisions.json + reason: Patch operation will be implemented in later version. +``` + +### Tag: package-2021-02 + +These settings apply only when `--tag=package-2021-02` is specified on the command line. + +```yaml $(tag) == 'package-2021-02' || $(tag) == 'package-2021-02-only' +input-file: +- stable/2021-02-01/AppServiceEnvironments.json +- stable/2021-02-01/AppServicePlans.json +- stable/2021-02-01/Certificates.json +- stable/2021-02-01/CommonDefinitions.json +- stable/2021-02-01/DeletedWebApps.json +- stable/2021-02-01/Diagnostics.json +- stable/2021-02-01/Global.json +- stable/2021-02-01/KubeEnvironments.json +- stable/2021-02-01/Provider.json +- stable/2021-02-01/Recommendations.json +- stable/2021-02-01/ResourceHealthMetadata.json +- stable/2021-02-01/ResourceProvider.json +- stable/2021-02-01/StaticSites.json +- stable/2021-02-01/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfoResource + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version + - where: $.definitions.TriggeredJobRun.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.start_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.end_time + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.output_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.error_url + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.job_name + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. + - where: $.definitions.TriggeredJobRun.properties.web_job_id + suppress: R3016 + reason: This requires a breaking change in kudu runtime API. +``` + +### Tag: package-2021-01-15 + +These settings apply only when `--tag=package-2021-01-15` is specified on the command line. + +```yaml $(tag) == 'package-2021-01-15' || $(tag) == 'package-2021-01-15-only' +input-file: + - stable/2021-01-15/AppServiceEnvironments.json + - stable/2021-01-15/AppServicePlans.json + - stable/2021-01-15/Certificates.json + - stable/2021-01-15/CommonDefinitions.json + - stable/2021-01-15/DeletedWebApps.json + - stable/2021-01-15/Diagnostics.json + - stable/2021-01-15/Global.json + - stable/2021-01-15/KubeEnvironments.json + - stable/2021-01-15/Provider.json + - stable/2021-01-15/Recommendations.json + - stable/2021-01-15/ResourceHealthMetadata.json + - stable/2021-01-15/ResourceProvider.json + - stable/2021-01-15/StaticSites.json + - stable/2021-01-15/WebApps.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfo + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4015 + from: WebApps.json + where: $.definitions.NetworkFeatures + reason: Will fix in next version + - suppress: R4019 + from: Recommendations.json + reason: Will fix in next version + - suppress: R4019 + from: WebApps.json + reason: Will fix in next version + - suppress: R3021 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: WebApps.json + reason: Will fix in next version + - suppress: R4011 + from: AppServiceEnvironments.json + reason: Will fix in next version + - suppress: R4011 + from: StaticSites.json + reason: Will fix in next version + - suppress: R4011 + from: AppServicePlans.json + reason: Will fix in next version + - suppress: D5001 + reason: Will fix in next version + - suppress: R1003 + reason: Will fix in next version + - suppress: R2001 + reason: Will fix in next version + - suppress: R2029 + reason: Will fix in next version + - suppress: R2063 + reason: Will fix in next version + - suppress: R3010 + reason: Will fix in next version +``` + +### Tag: package-2021-01 + +These settings apply only when `--tag=package-2021-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-01' || $(tag) == 'package-2021-01-only' +input-file: + - stable/2021-01-01/AppServiceEnvironments.json + - stable/2021-01-01/AppServicePlans.json + - stable/2021-01-01/Certificates.json + - stable/2021-01-01/CommonDefinitions.json + - stable/2021-01-01/DeletedWebApps.json + - stable/2021-01-01/Diagnostics.json + - stable/2021-01-01/Global.json + - stable/2021-01-01/Provider.json + - stable/2021-01-01/Recommendations.json + - stable/2021-01-01/ResourceHealthMetadata.json + - stable/2021-01-01/ResourceProvider.json + - stable/2021-01-01/StaticSites.json + - stable/2021-01-01/WebApps.json + - stable/2021-01-01/KubeEnvironments.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfo + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: KubeEnvironments.json + reason: SystemData will implement in next version. +``` + +### Tag: package-2020-12 + +These settings apply only when `--tag=package-2020-12` or `--tag=package-2020-12-only` is specified on the command line. +NOTE: Currently these tags are the same, but it will need to be split if any files from folders other than 2020-06-01 are included. + +```yaml $(tag) == 'package-2020-12' || $(tag) == 'package-2020-12-only' +input-file: + - stable/2020-12-01/Certificates.json + - stable/2020-12-01/CommonDefinitions.json + - stable/2020-12-01/DeletedWebApps.json + - stable/2020-12-01/Diagnostics.json + - stable/2020-12-01/Global.json + - stable/2020-12-01/Provider.json + - stable/2020-12-01/Recommendations.json + - stable/2020-12-01/ResourceProvider.json + - stable/2020-12-01/WebApps.json + - stable/2020-12-01/StaticSites.json + - stable/2020-12-01/AppServiceEnvironments.json + - stable/2020-12-01/AppServicePlans.json + - stable/2020-12-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfo + suppress: R4015 + reason: Does not have list operation + - suppress: R4009 + from: Certificates.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: CommonDefinitions.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: DeletedWebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Diagnostics.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Global.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Provider.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: Recommendations.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: WebApps.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: StaticSites.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServiceEnvironments.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: AppServicePlans.json + reason: SystemData will implement in next version. + - suppress: R4009 + from: ResourceHealthMetadata.json + reason: SystemData will implement in next version. +``` + +### Tag: package-2020-10 + +These settings apply only when `--tag=package-2020-10` or `--tag=package-2020-10-only` is specified on the command line. +NOTE: Currently these tags are the same, but it will need to be split if any files from folders other than 2020-06-01 are included. + +```yaml $(tag) == 'package-2020-10' || $(tag) == 'package-2020-10-only' +input-file: + - stable/2020-10-01/Certificates.json + - stable/2020-10-01/CommonDefinitions.json + - stable/2020-10-01/DeletedWebApps.json + - stable/2020-10-01/Diagnostics.json + - stable/2020-10-01/Provider.json + - stable/2020-10-01/Recommendations.json + - stable/2020-10-01/ResourceProvider.json + - stable/2020-10-01/WebApps.json + - stable/2020-10-01/StaticSites.json + - stable/2020-10-01/AppServiceEnvironments.json + - stable/2020-10-01/AppServicePlans.json + - stable/2020-10-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + - where: $.definitions.VnetInfo + suppress: R4015 + reason: Does not have list operation +``` + +### Tag: package-2020-09 + +These settings apply only when `--tag=package-2020-09` or `--tag=package-2020-09-only` is specified on the command line. +NOTE: Currently these tags are the same, but it will need to be split if any files from folders other than 2020-06-01 are included. + +```yaml $(tag) == 'package-2020-09' || $(tag) == 'package-2020-09-only' +input-file: + - stable/2020-09-01/Certificates.json + - stable/2020-09-01/CommonDefinitions.json + - stable/2020-09-01/DeletedWebApps.json + - stable/2020-09-01/Diagnostics.json + - stable/2020-09-01/Provider.json + - stable/2020-09-01/Recommendations.json + - stable/2020-09-01/ResourceProvider.json + - stable/2020-09-01/WebApps.json + - stable/2020-09-01/StaticSites.json + - stable/2020-09-01/AppServiceEnvironments.json + - stable/2020-09-01/AppServicePlans.json + - stable/2020-09-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + approved-by: "@weidongxu-microsoft" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetGateway + suppress: R4015 + reason: Does not have list operation + approved-by: "@mark.cowlishaw" + - where: $.definitions.VnetInfo + suppress: R4015 + reason: Does not have list operation + approved-by: "@mark.cowlishaw" +``` + +### Tag: package-2020-06 + +These settings apply only when `--tag=package-2020-06` or `--tag=package-2020-06-only` is specified on the command line. +NOTE: Currently these tags are the same, but it will need to be split if any files from folders other than 2019-08-01 are included. + +```yaml $(tag) == 'package-2020-06' || $(tag) == 'package-2020-06-only' +input-file: + - stable/2020-06-01/Certificates.json + - stable/2020-06-01/CommonDefinitions.json + - stable/2020-06-01/DeletedWebApps.json + - stable/2020-06-01/Diagnostics.json + - stable/2020-06-01/Provider.json + - stable/2020-06-01/Recommendations.json + - stable/2020-06-01/ResourceProvider.json + - stable/2020-06-01/WebApps.json + - stable/2020-06-01/StaticSites.json + - stable/2020-06-01/AppServiceEnvironments.json + - stable/2020-06-01/AppServicePlans.json + - stable/2020-06-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3016 error + - where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + approved-by: "@weidongxu-microsoft" +``` + +### Tag: package-2019-08 + +These settings apply only when `--tag=package-2019-08` or `--tag=package-2019-08-only` is specified on the command line. +NOTE: Currently these tags are the same, but it will need to be split if any files from folders other than 2019-08-01 are included. + +```yaml $(tag) == 'package-2019-08' || $(tag) == 'package-2019-08-only' +input-file: + - stable/2019-08-01/Certificates.json + - stable/2019-08-01/CommonDefinitions.json + - stable/2019-08-01/DeletedWebApps.json + - stable/2019-08-01/Diagnostics.json + - stable/2019-08-01/Provider.json + - stable/2019-08-01/Recommendations.json + - stable/2019-08-01/ResourceProvider.json + - stable/2019-08-01/WebApps.json + - stable/2019-08-01/StaticSites.json + - stable/2019-08-01/AppServiceEnvironments.json + - stable/2019-08-01/AppServicePlans.json + - stable/2019-08-01/ResourceHealthMetadata.json +``` + +### Tag: package-2018-12 + +These settings apply only when `--tag=package-2018-12` is specified on the command line. + +```yaml $(tag) == 'package-2018-12' +input-file: + - stable/2018-11-01/Certificates.json + - stable/2018-02-01/CommonDefinitions.json + - stable/2018-02-01/DeletedWebApps.json + - stable/2018-02-01/Diagnostics.json + - stable/2018-02-01/Provider.json + - stable/2018-02-01/Recommendations.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-11-01/WebApps.json + - stable/2018-02-01/AppServiceEnvironments.json + - stable/2018-02-01/AppServicePlans.json + - stable/2018-02-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2018-11 + +These settings apply only when `--tag=package-2018-11` is specified on the command line. + +```yaml $(tag) == 'package-2018-11' +input-file: + - stable/2018-11-01/Certificates.json + - stable/2018-02-01/CommonDefinitions.json + - stable/2018-02-01/DeletedWebApps.json + - stable/2018-02-01/Diagnostics.json + - stable/2018-02-01/Provider.json + - stable/2018-02-01/Recommendations.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/WebApps.json + - stable/2018-02-01/AppServiceEnvironments.json + - stable/2018-02-01/AppServicePlans.json + - stable/2018-02-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2018-11-only + +These settings apply only when `--tag=package-2018-11-only` is specified on the command line. + +```yaml $(tag) == 'package-2018-11-only' +input-file: + - stable/2018-11-01/Certificates.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2018-02 + +These settings apply only when `--tag=package-2018-02` is specified on the command line. + +```yaml $(tag) == 'package-2018-02' +input-file: + - stable/2018-02-01/Certificates.json + - stable/2018-02-01/CommonDefinitions.json + - stable/2018-02-01/DeletedWebApps.json + - stable/2018-02-01/Diagnostics.json + - stable/2018-02-01/Provider.json + - stable/2018-02-01/Recommendations.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/WebApps.json + - stable/2018-02-01/AppServiceEnvironments.json + - stable/2018-02-01/AppServicePlans.json + - stable/2018-02-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2018-02-only + +These settings apply only when `--tag=package-2018-02` is specified on the command line. + +```yaml $(tag) == 'package-2018-02-only' +input-file: + - stable/2018-02-01/Certificates.json + - stable/2018-02-01/CommonDefinitions.json + - stable/2018-02-01/DeletedWebApps.json + - stable/2018-02-01/Diagnostics.json + - stable/2018-02-01/Provider.json + - stable/2018-02-01/Recommendations.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/WebApps.json + - stable/2018-02-01/AppServiceEnvironments.json + - stable/2018-02-01/AppServicePlans.json + - stable/2018-02-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2016-09 + +These settings apply only when `--tag=package-2016-09` is specified on the command line. + +```yaml $(tag) == 'package-2016-09' +input-file: + - stable/2016-03-01/Certificates.json + - stable/2016-03-01/CommonDefinitions.json + - stable/2016-03-01/DeletedWebApps.json + - stable/2016-03-01/Diagnostics.json + - stable/2016-03-01/Provider.json + - stable/2016-03-01/Recommendations.json + - stable/2016-03-01/ResourceHealthMetadata.json + - stable/2016-03-01/ResourceProvider.json + - stable/2016-08-01/WebApps.json + - stable/2016-09-01/AppServiceEnvironments.json + - stable/2016-09-01/AppServicePlans.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.User.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SourceControl.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.BackupRequest.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Deployment.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOn.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteExtensionInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlan.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetRoute.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.FunctionEnvelope.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.CertificateOrderAction.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ResourceMetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.GeoRegion.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOnOffer.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ContinuousWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessThreadInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteConfigurationSnapshotInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteInstance.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SlotDifference.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredJobRun.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.WebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.MetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Usage.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlanPatchResource.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2016-09-only + +These settings apply only when `--tag=package-2016-09-only` is specified on the command line. + +```yaml $(tag) == 'package-2016-09-only' +input-file: + - stable/2016-09-01/AppServiceEnvironments.json + - stable/2016-09-01/AppServicePlans.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.User.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SourceControl.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.BackupRequest.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Deployment.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOn.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteExtensionInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlan.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetRoute.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.FunctionEnvelope.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.CertificateOrderAction.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ResourceMetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.GeoRegion.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOnOffer.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ContinuousWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessThreadInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteConfigurationSnapshotInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteInstance.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SlotDifference.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredJobRun.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.WebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.MetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Usage.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlanPatchResource.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2016-08-only + +These settings apply only when `--tag=package-2016-08-only` is specified on the command line. + +```yaml $(tag) == 'package-2016-08-only' +input-file: + - stable/2016-08-01/WebApps.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.User.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SourceControl.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.BackupRequest.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Deployment.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOn.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteExtensionInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlan.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetRoute.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.FunctionEnvelope.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.CertificateOrderAction.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ResourceMetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.GeoRegion.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOnOffer.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ContinuousWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessThreadInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteConfigurationSnapshotInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteInstance.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SlotDifference.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredJobRun.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.WebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.MetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Usage.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlanPatchResource.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2016-03-only + +These settings apply only when `--tag=package-2016-03-only` is specified on the command line. + +```yaml $(tag) == 'package-2016-03-only' +input-file: + - stable/2016-03-01/Certificates.json + - stable/2016-03-01/CommonDefinitions.json + - stable/2016-03-01/DeletedWebApps.json + - stable/2016-03-01/Diagnostics.json + - stable/2016-03-01/Provider.json + - stable/2016-03-01/Recommendations.json + - stable/2016-03-01/ResourceHealthMetadata.json + - stable/2016-03-01/ResourceProvider.json +directive: + # suppress each RPC 3019 error + - where: $.definitions.User.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SourceControl.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.BackupRequest.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Deployment.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOn.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteExtensionInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlan.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetRoute.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.FunctionEnvelope.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.CertificateOrderAction.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ResourceMetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.GeoRegion.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOnOffer.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ContinuousWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessThreadInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteConfigurationSnapshotInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteInstance.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SlotDifference.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredJobRun.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.WebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.MetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Usage.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlanPatchResource.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2015-08-only + +These settings apply only when `--tag=package-2015-08-only` is specified on the command line. + +```yaml $(tag) == 'package-2015-08-only' +directive: + # suppress each RPC 3019 error + - where: $.definitions.User.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SourceControl.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.BackupRequest.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Deployment.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOn.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteExtensionInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlan.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetRoute.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.FunctionEnvelope.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.CertificateOrderAction.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ResourceMetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.GeoRegion.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOnOffer.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ContinuousWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessThreadInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteConfigurationSnapshotInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteInstance.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SlotDifference.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredJobRun.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.WebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.MetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Usage.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlanPatchResource.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2015-04-only + +These settings apply only when `--tag=package-2015-04-only` is specified on the command line. + +```yaml $(tag) == 'package-2015-04-only' +directive: + # suppress each RPC 3019 error + - where: $.definitions.User.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SourceControl.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.BackupRequest.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Deployment.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOn.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteExtensionInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlan.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.VnetRoute.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.FunctionEnvelope.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.CertificateOrderAction.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ResourceMetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.GeoRegion.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.PremierAddOnOffer.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ContinuousWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.ProcessThreadInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteConfigurationSnapshotInfo.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SiteInstance.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.SlotDifference.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredJobRun.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.TriggeredWebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.WebJob.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.MetricDefinition.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.Usage.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" + - where: $.definitions.AppServicePlanPatchResource.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + +### Tag: package-2016-06-01 + +These settings apply only when `--tag=package-2016-06-01` is specified on the command line. + +```yaml $(tag) == 'package-2016-06-01' +input-file: + - stable/2016-06-01/logicAppsManagementClient.json +``` + +### Tag: package-2015-08-preview + +These settings apply only when `--tag=package-2015-08-preview` is specified on the command line. + +```yaml $(tag) == 'package-2015-08-preview' +input-file: + - stable/2015-08-01/service.json + - preview/2015-08-01-preview/logicAppsManagementClient.json +``` + +### Tag: package-2016-09-01-web + +These settings apply only when `--tag=package-2016-09-01-web` is specified on the command line. + +```yaml $(tag) == 'package-2016-09-01-web' +input-file: + - stable/2016-09-01/AppServiceEnvironments.json + - stable/2016-09-01/AppServicePlans.json +``` + +### Tag: package-2016-08-01-web + +These settings apply only when `--tag=package-2016-08-01-web` is specified on the command line. + +```yaml $(tag) == 'package-2016-08-01-web' +input-file: + - stable/2016-08-01/WebApps.json +``` + +### Tag: package-2016-03-01-web + +These settings apply only when `--tag=package-2016-03-01-web` is specified on the command line. + +```yaml $(tag) == 'package-2016-03-01-web' +input-file: + - stable/2016-03-01/Certificates.json + - stable/2016-03-01/CommonDefinitions.json + - stable/2016-03-01/DeletedWebApps.json + - stable/2016-03-01/Diagnostics.json + - stable/2016-03-01/Provider.json + - stable/2016-03-01/Recommendations.json + - stable/2016-03-01/ResourceHealthMetadata.json + - stable/2016-03-01/ResourceProvider.json +``` + +--- + +## Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-powershell +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +### Tag: package-2018-03-01-hybrid + +These settings apply only when `--tag=package-2018-03-01-hybrid` is specified on the command line. +Creating this tag to pick proper resources from the hybrid profile for csharp code generation. + +```yaml $(tag) == 'package-2018-03-01-hybrid' +input-file: + - stable/2016-03-01/Certificates.json + - stable/2016-03-01/CommonDefinitions.json + - stable/2016-08-01/WebApps.json + - stable/2016-03-01/ResourceProvider.json + - stable/2016-03-01/Provider.json + - stable/2016-03-01/Recommendations.json + - stable/2016-09-01/AppServiceEnvironments.json + - stable/2016-09-01/AppServicePlans.json +``` + +### Tag: profile-hybrid-2019-03-01 + +These settings apply only when `--tag=profile-hybrid-2019-03-01` is specified on the command line. +Creating this tag to pick proper resources from the hybrid profile. + +```yaml $(tag) == 'profile-hybrid-2019-03-01' +input-file: + - stable/2018-02-01/Certificates.json + - stable/2018-02-01/CommonDefinitions.json + - stable/2018-02-01/WebApps.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/AppServicePlans.json + - stable/2018-02-01/Provider.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/Recommendations.json +``` + +### Tag: profile-hybrid-2020-09-01 + +These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line. +Creating this tag to pick proper resources from the hybrid profile. + +```yaml $(tag) == 'profile-hybrid-2020-09-01' +input-file: + - stable/2018-02-01/Certificates.json + - stable/2018-02-01/WebApps.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/AppServicePlans.json + - stable/2018-02-01/Provider.json + - stable/2018-02-01/ResourceProvider.json + - stable/2018-02-01/Recommendations.json +``` \ No newline at end of file From 05dcaf6cf8a2b7a31afefe1e6d64a0fafe85eb7f Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 9 Oct 2025 17:58:21 +0800 Subject: [PATCH 22/43] modify tspconfig --- .../stable/2024-11-01/openapi.json | 0 .../examples/CheckDomainAvailability.json | 20 -- .../examples/CreateAppServiceDomain.json | 305 ------------------ ...teAppServiceDomainOwnershipIdentifier.json | 29 -- .../examples/DeleteAppServiceDomain.json | 15 - ...teAppServiceDomainOwnershipIdentifier.json | 15 - .../stable/2024-11-01/examples/GetDomain.json | 117 ------- .../GetDomainControlCenterSsoRequest.json | 17 - .../GetDomainOwnershipIdentifier.json | 24 -- .../examples/GetTopLevelDomain.json | 22 -- .../ListDomainOwnershipIdentifiers.json | 27 -- .../examples/ListDomainRecommendations.json | 30 -- .../examples/ListDomainsByResourceGroup.json | 119 ------- .../examples/ListDomainsBySubscription.json | 118 ------- .../2024-11-01/examples/ListOperations.json | 106 ------ .../ListTopLevelDomainAgreements.json | 34 -- .../examples/ListTopLevelDomains.json | 89 ----- .../2024-11-01/examples/RenewDomain.json | 15 - .../examples/TransferOutDomain.json | 117 ------- .../examples/UpdateAppServiceDomain.json | 303 ----------------- ...teAppServiceDomainOwnershipIdentifier.json | 29 -- .../Microsoft.Web/AppService/readme.md | 2 +- 22 files changed, 1 insertion(+), 1552 deletions(-) rename specification/domainregistration/resource-manager/Microsoft.DomainRegistration/{ => DomainRegistration}/stable/2024-11-01/openapi.json (100%) delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json similarity index 100% rename from specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/openapi.json rename to specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json deleted file mode 100644 index b6bca2cd4414..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CheckDomainAvailability.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "identifier": { - "name": "abcd.com" - }, - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "abcd.com", - "available": true, - "domainType": "Regular" - } - } - }, - "operationId": "Domains_CheckAvailability", - "title": "Check domain availability" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json deleted file mode 100644 index 869d9a99dc53..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomain.json +++ /dev/null @@ -1,305 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domain": { - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "dnsType": "DefaultDomainRegistrarDns", - "privacy": false - }, - "tags": {} - }, - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - }, - "202": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - } - }, - "operationId": "Domains_CreateOrUpdate", - "title": "Create App Service Domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json deleted file mode 100644 index f391c824f65e..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/CreateAppServiceDomainOwnershipIdentifier.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "name": "SampleOwnershipId", - "api-version": "2024-11-01", - "domainName": "example.com", - "domainOwnershipIdentifier": { - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "headers": {} - } - }, - "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", - "title": "Create App Service Domain OwnershipIdentifier" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json deleted file mode 100644 index f33f41a275a6..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomain.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "forceHardDeleteDomain": true, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": {}, - "204": {} - }, - "operationId": "Domains_Delete", - "title": "Delete App Service Domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json deleted file mode 100644 index 3e7d0e023dc8..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/DeleteAppServiceDomainOwnershipIdentifier.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "name": "ownershipIdentifier", - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": {}, - "204": {} - }, - "operationId": "Domains_DeleteOwnershipIdentifier", - "title": "Delete App Service Domain Ownership Identifier" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json deleted file mode 100644 index 3ec951036c1d..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomain.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "getOnlyIfReadyForDnsManagement": true, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - } - }, - "operationId": "Domains_Get", - "title": "Get Domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json deleted file mode 100644 index b43e7d7b2033..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainControlCenterSsoRequest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "postParameterKey": "saml", - "postParameterValue": "1242sds|k1340", - "url": "https://Reseller.provider.com/?xRequestId=sdsdsds&app=dcc" - } - } - }, - "operationId": "Domains_GetControlCenterSsoRequest", - "title": "Get Domain Control Center Sso Request" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json deleted file mode 100644 index 35a199cb45ae..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetDomainOwnershipIdentifier.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "name": "SampleOwnershipId", - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "headers": {} - } - }, - "operationId": "Domains_GetOwnershipIdentifier", - "title": "Get Domain Ownership Identifier" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json deleted file mode 100644 index 3293b7d746b1..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/GetTopLevelDomain.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "name": "com", - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "com", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", - "properties": { - "privacy": true - } - }, - "headers": {} - } - }, - "operationId": "TopLevelDomains_Get", - "title": "Get Top Level Domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json deleted file mode 100644 index a890737723c0..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainOwnershipIdentifiers.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_ListOwnershipIdentifiers", - "title": "List Domain Ownership Identifiers" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json deleted file mode 100644 index 2ccaa4fe7e43..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainRecommendations.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "parameters": { - "keywords": "example1", - "maxDomainRecommendations": 10 - }, - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "domainnamesuggestion1" - }, - { - "name": "domainnamesuggestion2" - }, - { - "name": "domainnamesuggestion3" - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_ListRecommendations", - "title": "List domain recommendations" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json deleted file mode 100644 index a008f123f0c2..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsByResourceGroup.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_ListByResourceGroup", - "title": "List domains by resource group" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json deleted file mode 100644 index 3364dec6869d..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListDomainsBySubscription.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - } - ] - }, - "headers": {} - } - }, - "operationId": "Domains_List", - "title": "List domains by subscription" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json deleted file mode 100644 index e31fe3242200..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListOperations.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "Microsoft.DomainRegistration/domains/Read", - "display": { - "description": "Get the list of domains", - "operation": "Get Domains", - "provider": "Microsoft Domains", - "resource": "Domain" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/domains/Write", - "display": { - "description": "Add a new Domain or update an existing one", - "operation": "Add or Update Domain", - "provider": "Microsoft Domains", - "resource": "Domain" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/domains/Delete", - "display": { - "description": "Delete an existing domain.", - "operation": "Delete Domain", - "provider": "Microsoft Domains", - "resource": "Domain" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/domains/operationresults/Read", - "display": { - "description": "Get a domain operation", - "operation": "Get Domain Operation", - "provider": "Microsoft Domains", - "resource": "Domain operation" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/generateSsoRequest/Action", - "display": { - "description": "Generate a request for signing into domain control center.", - "operation": "Generate Domain Control Center Single Sign On Request", - "provider": "Microsoft Domains", - "resource": "Domain Control Center Single Sign On Request" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/validateDomainRegistrationInformation/Action", - "display": { - "description": "Validate domain purchase object without submitting it", - "operation": "Domain Purchase Info Validation", - "provider": "Microsoft Domains", - "resource": "Domain Validation" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/checkDomainAvailability/Action", - "display": { - "description": "Check if a domain is available for purchase", - "operation": "Check Domain Availability", - "provider": "Microsoft Domains", - "resource": "Domain Availability Result" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/listDomainRecommendations/Action", - "display": { - "description": "Retrieve the list domain recommendations based on keywords", - "operation": "Retrieve Domain Recommendations", - "provider": "Microsoft Domains", - "resource": "Domain Recommendations" - }, - "origin": "user,system" - }, - { - "name": "Microsoft.DomainRegistration/register/action", - "display": { - "description": "Register the Microsoft Domains resource provider for the subscription", - "operation": "Register Microsoft Domains resource provider", - "provider": "Microsoft Domains", - "resource": "Microsoft Domains resource provider" - }, - "origin": "user,system" - } - ] - }, - "headers": {} - } - }, - "operationId": "DomainRegistrationProvider_ListOperations", - "title": "List operations" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json deleted file mode 100644 index ab5e037f5d1e..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomainAgreements.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "name": "in", - "agreementOption": { - "forTransfer": false, - "includePrivacy": true - }, - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "agreementKey": "DNRA", - "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Registration Agreement\n
\n

Last Revised: October 6, 2017

\n

PLEASE READ THIS AGREEMENT CAREFULLY, AS IT CONTAINS IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS AND REMEDIES.

\r\n

1. OVERVIEW

\r\n

This Domain Name Registration Agreement (this \"Agreement\") is entered into by and between 510456, an individual (\"Azure\") and you, and is made effective as of the date of electronic acceptance.  This Agreement sets forth the terms and conditions of your use of Azure's Domain Name Registration services (the \"Domain Name Registration Services\" or the \"Services\"). The terms \"we\", \"us\" or \"our\" shall refer to Azure.  The terms \"you\", \"your\", \"User\" or \"customer\" shall refer to any individual or entity who accepts this Agreement.  Unless otherwise specified, nothing in this Agreement shall be deemed to confer any third-party rights or benefits.

\r\n

Your electronic acceptance of this Agreement signifies that you have read, understand, acknowledge and agree to be bound by this Agreement, which incorporates by reference each of (i) Azure’s Universal Terms of Service Agreement (\"UTOS\"), (ii) all agreements, guidelines, policies, practices, procedures, registration requirements or operational standards of the top-level domain (\"TLD\") in which you register any domain (“Registry Policies”), and (iii) any plan limits, product disclaimers or other restrictions presented to you on the Domain Name Registration Services landing page of the Azure website (this “Site”). 

\r\n

TO LINK TO AND REVIEW THE REGISTRY POLICIES FOR THE TLD IN WHICH YOU WISH TO REGISTER A DOMAIN NAME, PLEASE CLICK HERE   

\r\n

You acknowledge and agree that (i) Azure, in its sole and absolute discretion, may change or modify this Agreement, and any policies or agreements which are incorporated herein, at any time, and such changes or modifications shall be effective immediately upon posting to this Site, and (ii) your use of this Site or the Services found at this Site after such changes or modifications have been made shall constitute your acceptance of this Agreement as last revised.  If you do not agree to be bound by this Agreement as last revised, do not use (or continue to use) this Site or the Services found at this Site.  In addition, Azure may occasionally notify you of changes or modifications to this Agreement by email.  It is therefore very important that you keep your shopper account (“Shopper Account”) information, including your email address, current.  Azure assumes no liability or responsibility for your failure to receive an email notification if such failure results from an inaccurate or out-of-date email address.    Azure is not an Internet Corporation for Assigned Names and Numbers (\"ICANN\") accredited registrar; it is an authorized reseller of domain name registration services.  Accordingly, you acknowledge and agree that Azure may modify this Agreement in order to comply with any terms and conditions set forth by (i) the sponsoring registrar, (ii) ICANN, and/or (iii) the registry applicable to the TLD or country code top level domain (\"ccTLD\") in question.  As used herein, the terms \"registry\", \"Registry\", \"registry operator\" or \"Registry Operator\" shall refer to the registry applicable to the TLD or ccTLD in question.  To identify the sponsoring registrar, click here

\r\n

2. PROVISIONS SPECIFIC TO ALL REGISTRATIONS

\r\n

Unless otherwise noted, the provisions below in this Section 2 are generally applicable to all TLDs that we offer.  Special provisions specific to any TLD or ccTLD (those in addition to posted Registry Policies) are identified elsewhere below in this Agreement. 

\r\n
    \r\n
  1. \r\n
    Registry Policies. You agree to be bound by all Registry Policies (defined above in this Agreement) applicable to your domain name registration (at any level). IT IS YOUR RESPONSIBILITY TO VISIT THE APPLICABLE TLD SITE AND READ AND REVIEW ALL APPLICABLE REGISTRY POLICIES PRIOR TO YOUR REGISTRATION IN THE TLD.  REGISTRY POLICIES FOR EACH TLD CAN BE FOUND BY VISITING THE CORRESPONDING TLD LINK LISTED HERE.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator of the TLD in which the domain name registration is made is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the respective TLD. The third party beneficiary rights of the Registry Operator will survive any termination of this Agreement.    
    \r\n
  2. \r\n
  3. \r\n
    Registration Requirements.  To the extent any TLD or ccTLD requires you meet eligibility (e.g., residency for .JP, .EU, etc.), validation (e.g., DNS validation) or other authentication requirements as a condition to registering a domain name in the TLD, you agree that by submitting an application or registering or renewing your domain name, you represent and warrant that: (a) all information provided to register or renew the domain name (including all supporting documents, if any) is true, complete and correct, and is not misleading in any way, and the application is made in good faith; (b) you meet, and will continue to meet, the eligibility criteria prescribed in the Registry Policies for the applicable TLD for the duration of the domain name registration; (c) you have not previously submitted an application for the domain name with another registrar using the same eligibility criteria, and the other registrar has rejected the application (if applicable); (d) you acknowledge and agree that even if the domain name is accepted for registration, your entitlement to register the domain name may be challenged by others who claim to have an entitlement to the domain name; and (e) you acknowledge and agree that the Registry or the registrar can cancel the registration of the domain name if any of the warranties required are found to be untrue, incomplete, incorrect or misleading.
    \r\n
  4. \r\n
  5. \r\n
    Ownership.  You acknowledge and agree that registration of a domain name does not create any proprietary right for you, the registrar, or any other person in the name used as a domain name or the domain name registration and that the entry of a domain name in the Registry shall not be construed as evidence or ownership of the domain name registered as a domain name. You shall not in any way transfer or purport to transfer a proprietary right in any domain name registration or grant or purport to grant as security or in any other manner encumber or purport to encumber a domain name registration.
    \r\n
  6. \r\n
  7. \r\n
    ICANN Requirements. You agree to comply with the ICANN requirements, standards, policies, procedures, and practices for which each applicable Registry Operator has monitoring responsibility in accordance with the Registry Agreement between ICANN and itself or any other arrangement with ICANN.
    \r\n
  8. \r\n
  9. \r\n
    Indemnification of Registry.  You agree to indemnify, defend and hold harmless (within 30 days of demand) the Registry Operator and Registry Service Provider and their subcontractors, subsidiaries, affiliates, divisions, shareholders, directors, officers, employees, accountants, attorneys, insurers, agents, predecessors, successors and assigns, from and against any and all claims, demands, damages, losses, costs, expenses, causes of action or other liabilities of any kind, whether known or unknown, including reasonable legal and attorney’s fees and expenses, in any way arising out of, relating to, or otherwise in connection with the your domain name registration, including, without limitation, the use, registration, extension, renewal, deletion, and/or transfer thereof and/or the violation of any applicable terms or conditions governing the registration. You shall not enter into any settlement or compromise of any such indemnifiable claim without Registrar’s or Registry Operator’s prior written consent, which consent shall not be unreasonably withheld, and you agree that these indemnification obligations shall survive the termination or expiration of the Agreement for any reason.  IN NO EVENT SHALL THE REGISTRY OPERATOR BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY OR PUNITIVE DAMAGES, INCLUDING LOSS OF PROFIT OR GOODWILL, FOR ANY MATTER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTIES, EITHER EXPRESS OR IMPLIED, ANY BREACH OF THIS AGREEMENT OR ITS INCORPORATED AGREEMENTS AND POLICIES YOUR INABILITY TO USE THE DOMAIN NAME, YOUR LOSS OF DATA OR FILES OR OTHERWISE, EVEN IF THE REGISTRY OPERATOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
    \r\n
  10. \r\n
  11. \r\n
    Regulated TLDs.   For domain name registration in any “Regulated” TLD, you acknowledge and agree your registration is subject to the following additional requirements: (a) comply with all applicable laws, including those that relate to privacy, data collection, consumer protection (including in relation to misleading and deceptive conduct), fair lending, debt collection, organic farming, disclosure of data, and financial disclosures; (b) if you collect and maintain sensitive health and financial data you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  Regulated TLDs include: .games, .juegos, .school, .schule, .toys, .eco, .care, .diet, .fitness, .health, .clinic, .dental, .healthcare, .cash, .broker, .claims, .exchange, .finance, .financial, .fund, .investments, .lease, .loans, .market, .money, .trading, .credit, .insure, .tax, .mortgage, .degree, .mba, .audio, .book, .broadway, .film, .movie, .music, .software, .fashion, .video, .app, .art, .band, .cloud, .data, .digital, .fan, .free, .gratis, .discount, .sale, .media, .news, .online, .pictures, .radio, .show, .theater, .tours, .accountants, .architect, .associates, .broker, .legal, .realty, .vet, .engineering, .law, .limited, .show; .theater; .town, .city, .reise, and .reisen
    \r\n
  12. \r\n
  13. \r\n
    Highly Regulated TLDs. In addition to the requirements for Regulated TLDs, domain name registration in any Highly-Regulated TLD is subject to the following requirements: (a) you will provide administrative contact information, which must be kept up‐to‐date, for the notification of complaints or reports of registration abuse, as well as the contact details of the relevant regulatory, or Industry self‐regulatory, bodies in their main place of business; (b) you represent that you possess any necessary authorizations, charters, licenses and/or other related credentials for participation in the sector associated with such Highly‐regulated TLD; and (c) you will report any material changes to the validity of you authorizations, charters, licenses and/or other related credentials for participation in the sector associated with the Highly‐regulated TLD to ensure you continue to conform to the appropriate regulations and licensing requirements and generally conduct your activities in the interests of the consumers they serve.  Highly Regulated TLDs include: .abogado, .attorney, .bank, .bet, .bingo, .casino .charity (and IDN equivalent xn--30rr7y), .cpa, .corp, creditcard, .creditunion .dds, .dentist, .doctor, .fail, .gmbh, .gripe, .hospital, .inc, .insurance, .lawyer, .lifeinsurance, .llc, .llp, .ltda, .medical, .mutuelle, .pharmacy, .poker, .university, .sarl, .spreadbetting, .srl, .surgery .university, .vermogensberater, and .vesicherung,  For .doctor, registrants who hold themselves out to be licensed medical practitioners must be able to demonstrate to the Registrar and Registry, upon request, that they hold the applicable license.
    \r\n
  14. \r\n
  15. \r\n
    Special Safeguard TLDs.  In addition to the requirements for Regulated and Highly-Regulated TLDs, by registering a domain name in any “Special-Safeguard” TLD, you agree to take reasonable steps to avoid misrepresenting or falsely implying that you or your business is affiliated with, sponsored or endorsed by one or more country's or government's military forces if such affiliation, sponsorship or endorsement does not exist.  Special Safeguard TLDs include:  .army, .navy, .airforce
    \r\n
  16. \r\n
  17. \r\n
    Third Party Beneficiary.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator for any TLD in which your register a domain name is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the TLD. Third party beneficiary rights of the Registry Operator shall survive any termination of this Agreement.
    \r\n
  18. \r\n
  19. \r\n
    Variable and Non-Uniform Pricing.  You acknowledge, understand and agree that certain domain names in certain TLDs are established by Registry Policies to be variably priced (i.e., standard v. premium names) and/or may have non-uniform renewal registration pricing (such that the Fee for a domain name registration renewal may differ from other domain names in the same TLD, e.g., renewal registration for one domain may be $100.00 and $33.00 for a different domain name).
    \r\n
  20. \r\n
  21. \r\n
    Restriction on Availability of Privacy or Proxy.  You acknowledge and agree that, as dictated by the Registry Policies, for certain TLDs you may not be permitted to purchase private or proxy TLD registrations. In such case, you must register for any and all TLD registrations using your personal information, which information you represent and warrant is current, accurate and complete.
    \r\n
  22. \r\n
\r\n

3. FEES AND PAYMENTS

\r\n

(A) GENERAL TERMS, INCLUDING AUTOMATIC RENEWAL TERMS

\r\n

You agree to pay any and all prices and fees due for Services purchased or obtained at this Site at the time you order the Services.  Azure expressly reserves the right to change or modify its prices and fees at any time, and such changes or modifications shall be posted online at this Site and effective immediately without need for further notice to you.  If you have purchased or obtained Services for a period of months or years, changes or modifications in prices and fees shall be effective when the Services in question come up for renewal as further described below. 

\r\n

Unless otherwise specifically noted (for reasons such as those highlighted in Section 2(x) above), the renewal price for any domain name in any TLD will be the same as the list (non-sale) price shown when you search for and select a domain, and again in the cart prior to purchase.  For example, if the list price is $9.99, and a different renewal price is not specifically identified, then the renewal price is also $9.99.  Likewise, if a domain name has a sale price of $8.99, with the list (non-sale) price shown (as a strike-through) at $9.99, the renewal price will be $9.99*.  

\r\n

*Renewal price subject to change prior to actual date of renewal. 

\r\n

For all other terms and conditions relating to fees, payment, refund and billing, etc. applicable to the Services offered under the scope of this Agreement, please refer to the “Fees and Payments” section of our UTOS

\r\n

(B) DOMAIN NAME RENEWAL TERMS

\r\n

When you register a domain name, you will have two renewal options: (i) \"Automatic Renewal\" (ii) \"Extended Automatic Renewal\", and (iii) \"Manual Renewal\": 

\r\n
    \r\n
  1. Automatic Renewal.  Automatic Renewal is the default setting. Therefore, unless you select Extended Automatic Renewal, Azure will enroll you in Automatic Renewal.  Domain names will automatically renew, for a period equivalent to the length of your original domain name registration, any domain name that is up for renewal and will take payment from the Payment Method you have on file with Azure, at Azure's then current rates. Thus, if you have chosen to register your domain name for one (1) year, Azure will automatically renew it for one (1) year. If you have chosen to register your domain name for two (2) years, Azure will automatically renew it for two (2) years, and so on.
  2. \r\n
  3. Extended Automatic Renewal.  If you enroll in the Extended Automatic Renewal plan, Azure will automatically renew any domain name that is up for renewal for an additional one-year period on each and every anniversary of your domain name registration, so the initial registration period will always remain intact.  Thus, if you have chosen to register your domain name for two (2) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your two (2) year registration period will always remain intact. If you have chosen to register your domain name for five (5) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your five (5) year registration period will always remain intact, and so on.  Azure will take payment from the Payment Method you have on file with Azure, at Azure's then current one-year domain name registration rate.
  4. \r\n
  5. Manual Renewal.  If you have elected to turn off automatic renewal and cancel the product (i.e., cancel the domain name registration) effective at expiration of the then current term, you may nonetheless elect to manually renew the domain name at anytime prior to its expiration date by logging into your Account Manager and manually implementing the renewal or by calling customer service (should you in fact want the domain name to be renewed). If you fail to manually implement the renewal before the expiration date, the domain name will be cancelled and you will no longer have use of that name.
  6. \r\n
\r\n

All renewals will be subject to the terms of this Agreement, as it may be amended from time to time, and you acknowledge and agree to be bound by the terms of this Agreement (as amended) for all renewed domains.  Domain name renewals will be non-refundable. In the event that we are unable to automatically renew your domain name for the renewal option selected for any reason, we may automatically renew your domain name for a period less than your original registration period to the extent necessary for the transaction to succeed. If for any reason Azure is not able to take the payment from the Payment Method you have on file, and you fail to respond to our notices, your domain name registration will expire. It is your responsibility to keep your Payment Method information current, which includes the expiration date if you are using a credit card.

\r\n

For certain ccTLDs (.am, .at, .be, .br, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal billing will occur on the first day of the month prior to the month of expiration.

\r\n

For certain ccTLDs (.am, .at, .be, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal will occur, or must occur manually if the product was previously cancelled, no later than the 20th of the month prior to the expiration date, or your domain name will be placed in non-renewal status. For some ccTLDs (.es) renewal must be processed no later than seven days before the expiration date, or your domain name will be placed in non-renewal status.  When the domain name is in non-renewal status, you can renew the domain name only by calling Azure and requesting that the domain name be renewed. You cannot renew the domain name through your Account Manager. If you fail to manually implement the renewal of any cancelled product before the expiration date, the domain name will be cancelled and you will no longer have use of that name.

\r\n

You agree that Azure will not be responsible for cancelled domain names that you fail to renew in the timeframes indicated in this Agreement. In any case, if you fail to renew your domain name in a timely fashion, additional charges may apply. If you signed up for privacy services, protected registration, or any other similar service, with your domain name registration, these services will automatically be renewed when your domain name registration is up for renewal, and you will incur the applicable additional renewal fee unless you cancel in advance. 

\r\n

If you fail to renew your domain name in the timeframes indicated in this Agreement, you agree that Azure may, in its sole discretion, renew your expired domain name on your behalf. If Azure decides to renew your expired domain name on your behalf, you will have a Renewal Grace Period during which you may reimburse Azure for the renewal and keep your domain name. The Renewal Grace Period is currently twelve (12) days but subject to change under the terms of this Agreement. For certain ccTLDs (.am, .at, .be, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg) there is no Renewal Grace Period after the expiration date of the domain name. If you do not reimburse Azure for the renewal during the Renewal Grace Period your domain name will be placed on Hold and flagged for deletion after which you will have a 30-day redemption period during which you may pay Azure a Redemption fee and redeem your domain name. The Redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the 30-day redemption period Azure may, in its sole discretion, delete your domain name or transfer it to another registrant on your behalf.  During the redemption period your domain name may be parked. 

\r\n

If your domain name is deleted, the Registry also provides a 30-day Redemption Grace Period during which you may pay Azure a redemption fee and redeem your domain name. The redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the Registry's Redemption Grace Period the Registry will release your name and it will become available for registration on a first-come-first-served basis.

\r\n

Renewal Grace Periods and Redemption Grace Periods vary for different ccTLDs. Please refer to the specific terms for the applicable TLD. In the event there is a conflict between the provisions of this paragraph and the ccTLD terms, the ccTLD terms shall control.

\r\n

\r\n

Our registration expiration notification policy and associated fees are described here.

\r\n

\r\n

\r\n

(C) FREE PRODUCT TERMS

\r\n

In the event you are provided with free products with the registration of a domain name, you acknowledge and agree that such free products will only be available with a valid purchase and may be terminated in the event the domain name is deleted or cancelled.  For free domain names, you acknowledge and agree that you may not change the account associated with such free domain for the first five (5) days after registration.  In the event a free domain name is offered with the registration of another domain and if the paid domain name registered fails, then we may, in its sole discretion, either delete the registration of the free domain or refund the difference between the amount paid and the value of the free domain.  Failed registrations associated with promotionals offers may result in the deletion of the free or discounted item or an adjustment between the registered domain price and the value of the discounted item, in our sole discretion.

\r\n

4. TERM OF AGREEMENT; TRANSFERS; DOMAIN TASTING

\r\n

The term of this Agreement shall continue in full force and effect as long as you have any domain name registered through Azure.

\r\n

You agree that you will not transfer any domain name registered through Azure to another domain name registrar during the first sixty (60) days after its initial registration date.  You agree that you may not transfer any domain name for ten (10) days after a Change of Account.

\r\n

You further agree that you will not engage in \"domain tasting\" by using the five (5) day grace period in which a registrant may choose to cancel a domain name and get a full refund of the registration fee as a vehicle to test the marketability or viability of a domain name.  If Azure determines (which determination shall be made by Azure in its sole and absolute discretion) that you have been engaging in \"domain tasting\", then Azure reserves the right to (a) charge you a small fee (which fee shall be deducted from any refund issued) or (b) refuse your cancellation/refund request altogether. Azure will not charge you a fee if Azure cancels your domain name during the five (5) day grace period due to fraud or other activity outside of your control. The five (5) day grace period does not apply to Premium Domains, which are non-refundable.

\r\n

You agree that Azure shall not be bound by (i) any representations made by third parties who you may use to purchase services from Azure, or (ii) any statements of a general nature, which may be posted on Azure's website or contained in Azure's promotional materials.

\r\n

5. UP TO DATE INFORMATION; USE OF INFORMATION AND EXPIRATION

\r\n

You agree to notify Azure within five (5) business days when any of the information you provided as part of the application and/or registration process changes. It is your responsibility to keep this information in a current and accurate status. Failure by you, for whatever reason, to provide Azure with accurate and reliable information on an initial and continual basis, shall be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. Failure by you, for whatever reason, to respond within five (5) business days to any inquiries made by Azure to determine the validity of information provided by you, shall also be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. You agree to retain a copy for your record of the receipt for purchase of your domain name.

\r\n

You agree that for each domain name registered by you, the following contact data is required: postal address, email address, telephone number, and if available, a facsimile number for the Registered Name Holder and, if different from the Registered Name Holder, the same contact information for, a technical contact, an administrative contact and a billing contact.

\r\n

You acknowledge and agree that domain name registration requires that this contact information, in whole or in part, be shared with the registry operator, for their use, copying, distribution, publication, modification and other processing  for (among other uses in accordance with our Privacy Policy) the purpose of administration of the domain name registration, which may require such information be transferred back and forth across international borders, to and from the U.S. to the EU, for example. As required by ICANN, this information must also be made publicly available by means of Whois, and that the registry operator may also be required to make this information publicly available by Whois. Both Azure and the registry operator may be required to archive this information with a third-party escrow service. You hereby consent and give permission for all such requirements and disclosures. Further, you represent and warrant that, if you are providing information about a third party, you have notified the third party of the disclosure and the purpose for the disclosure and you have obtained the third party's consent to such disclosure.  Registrar will not process data in a way that is incompatible with this Agreement.  Registrar will take reasonable precautions to protect data from loss or misuse.

\r\n

You agree that for each domain name registered by you the following information will be made publicly available in the Whois directory as determined by ICANN Policy and may be sold in bulk as set forth in the ICANN agreement:

\r\n
    \r\n
  • The domain name;
  • \r\n
  • Your name and postal address;
  • \r\n
  • The name, email address, postal address, voice and fax numbers for technical and administrative contacts;
  • \r\n
  • The Internet protocol numbers for the primary and secondary name servers;
  • \r\n
  • The corresponding names of the name servers; and
  • \r\n
  • The original date of registration and expiration date.
  • \r\n
  • Name of primary name server and secondary name server.
  • \r\n
  • Identity of the registrar.
  • \r\n
\r\n

You agree that, to the extent permitted by ICANN, Azure may make use of the publicly available information you provided during the registration process. If you engage in the reselling of domain names you agree to provide any individuals whose personal information you've obtained, information about the possible uses of their personal information pursuant to ICANN policy. You also agree to obtain consent, and evidence of consent, from those individuals for such use of the personal information they provide.

\r\n

You agree that Azure has the right to make public and share with third parties certain information in connection with the sale or purchase of domain names on the website, including but not limited to (a) the name of the domain name sold or purchased, (b) the sale or purchase price of the domain name sold or purchased, and (c) information relating to the timing of the sale or purchase.

\r\n

\r\n

In order for us to comply with any current or future rules and policies for domain name systems including any rules or policies established by the CIRA or any provincial or federal government or by other organization having control or authority to establish rules or policies, you hereby grant to us the right to disclose to third parties through an interactive publicly accessible registration database the following information that you are required to provide when applying for a domain name:

\r\n
    \r\n
  1. The domain or sub-domain name(s) registered by you;
  2. \r\n
  3. Your organization name, type and postal address;
  4. \r\n
  5. The name(s), position(s), postal address(es), e-mail address(es), voice telephone number(s) and where available the fax number(s) of the technical and administrative contacts for your domain or sub-domain name(s);
  6. \r\n
  7. The full hostnames and Internet protocol (IP) addresses of at least two (2) name server hosts (one primary and at least one secondary) for your domain or sub-domain name. Up to six (6) name servers may be specified. If a host has more than one (1) IP address, use a comma-separated list;
  8. \r\n
  9. The corresponding names of those name servers;
  10. \r\n
  11. The original creation date of the registration; and
  12. \r\n
  13. The expiration date of the registration.
  14. \r\n
\r\n

We may be required to make this information available in bulk form to third parties. We may also transfer or assign this information to CIRA or such other third party as we may decide, in our sole discretion.

\r\n

6. DISPUTE RESOLUTION POLICY

\r\n

You agree to be bound by our current Dispute Resolution Policy. This policy is incorporated herein and made a part of this Agreement. You can view the Uniform Domain Name Dispute Resolution Policy online. You agree that Azure may from time to time modify its Dispute Resolution Policy. Azure will post any changes to its Dispute Resolution Policy at least thirty (30) days before they become effective. You agree that by maintaining your domain name registrations with Azure after the updated policy becomes effective that you agree to the Dispute Resolution policy as amended. You agree to review Azure's website periodically to determine if changes have been made to the Dispute Resolution Policy. If you cancel or terminate your Services with Azure as a result of the modified Dispute Resolution policy, no fees will be refunded to you. You also agree to submit to proceedings commenced under ICANN's Uniform Rapid Suspension System, if applicable. 

\r\n

You agree that if a dispute arises as a result of one (1) or more domain names you have registered using Azure, you will indemnify, defend and hold Azure harmless as provided for in this Agreement. You also agree that if Azure is notified that a complaint has been filed with a governmental, administrative or judicial body, regarding a domain name registered by you using Azure, that Azure, in its sole discretion, may take whatever action Azure deems necessary regarding further modification, assignment of and/or control of the domain name deemed necessary to comply with the actions or requirements of the governmental, administrative or judicial body until such time as the dispute is settled. In this event you agree to hold Azure harmless for any action taken by Azure.

\r\n

You agree to submit, without prejudice to other potentially applicable jurisdictions, to the jurisdiction of the courts (1) of your domicile, (2) where registrar is located or (3) where the registry operator is located (e.g., China for .CN, Columbia for .CO, UK for .EU, etc.).

\r\n

\r\n

In the case of .ca domain names, you agree that, if your use of the service or the registration of a .ca domain name is challenged by a third party, you will be subject to the provisions specified by CIRA in their dispute resolution policy, in effect at the time of the dispute.

\r\n

\r\n

7. TRANSFER OF DOMAIN NAMES; RESALE PRACTICES

\r\n

If you transfer any domain name, you agree to provide the information required by, and to abide by, the procedures and conditions set forth in our Domain Name Transfer Agreement and Change of Registrant Agreement. You may view the latest versions of our Domain Name Transfer Agreement and Change of Registrant Agreementonline. In order to further protect your domain name, any domain name registered with Azure or transferred to Azure shall be placed on lock status, unless an opted-out has occurred as defined in our Change of Registrant Agreement or Domain Name Proxy Agreement. The domain name must be placed on unlock status in order to initiate a transfer of the domain name away from Azure to a new Registrar. You may log into your account with Azure at any time after your domain name has been successfully transferred to Azure, and change the status to unlock.

\r\n

In the event you are purchasing a domain name on behalf of a third party, you agree to inform any customer of yours, who may be acquiring a domain name through you using Azure's registration services, that they are in fact registering their domain name through Azure and that Azure or its licensor is an accredited registrar with ICANN. You agree not to represent that you are an ICANN-accredited registrar or that you are in any way providing superior access to the ICANN Domain Name Registry. You also agree not to use the ICANN trademark logo in any of your promotional materials including your website.

\r\n

You agree to obtain each of your customers' acceptances to the then current version of this Agreement, and to retain evidence of their acceptance for a period of not less than three (3) years. Should you require that your customers accept additional terms and conditions that are not required by Azure, you agree that such additional terms and conditions shall not conflict with this Agreement and the policies and procedures adopted by ICANN.

\r\n

You agree that Azure is not lending you access to its registrar connections or its registry access, nor will you be deemed to be a registrar in your own right. Furthermore, you agree you will not attempt to gain access to Azure's registrar connections or registry access. You agree to provide complete, accurate and current data for each registrant to be added to a registry in accordance with ICANN requirements for inclusion in the Whois database.

\r\n

You agree to provide your customers with adequate customer support, and to maintain contact with them with regard to providing a medium for them to communicate changes in the information they provided as part of the domain name registration process. Upon receiving corrected or updated information you will, within five (5) business days, provide such information to Azure so Azure may update its registration records. You will retain copies of all communications between you and your customers and will upon request provide Azure copies of same.

\r\n

8. YOUR OBLIGATIONS; SUSPENSION OF SERVICES; BREACH OF AGREEMENT

\r\n

You represent and warrant to the best of your knowledge that, neither the registration of the domain nor the manner it is directly or indirectly used, infringes the legal rights of any third party.  You will comply with all applicable laws, including, but not limited to those relating to privacy, data collection, consumer protection, fair lending, debt collection, organic farming, and disclosure of data and financial disclosures.  If you collect and maintain sensitive health and financial data, you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  You represent that you possess any necessary authorization, charter, license, and/or other related credential for participation in the sector associated with the associated registry tld string.  You will report any material changes to the validity of your authorization, charter, license, and/or other related credential. You will indemnify and hold harmless the registrar and registry operator, and their directors, officers, employees and agents, from and against any and all claims, damages, liabilities, costs and expenses (including reasonable legal fees and expenses) arising out of or related to the domain name registration.  This obligation shall survive expiration or termination of this Agreement or the domain name registration.

\r\n

You agree that, in addition to other events set forth in this Agreement:

\r\n
    \r\n
  1. Your ability to use any of the services provided by Azure is subject to cancellation or suspension in the event there is an unresolved breach of this Agreement and/or suspension or cancellation is required by any policy now in effect or adopted later by ICANN;
  2. \r\n
  3. Your registration of any domain names shall be subject to suspension, cancellation or transfer pursuant to any ICANN adopted specification or policy, or pursuant to any Azure procedure not inconsistent with an ICANN adopted specification or policy (a) to correct mistakes by Azure or the registry operator in registering any domain name; or (b) for the resolution of disputes concerning any domain name.
  4. \r\n
\r\n

You acknowledge and agree that Azure and registry reserve the right to deny, cancel or transfer any registration or transaction, or place any domain name(s) on registry lock, hold or similar status, as either deems necessary, in the unlimited and sole discretion of either Azure or the registry: (i) to comply with specifications adopted by any industry group generally recognized as authoritative with respect to the Internet (e.g., RFCs), (ii) to correct mistakes made by registry or any registrar in connection with a domain name registration, (iii) for the non-payment of fees to registry, (iv) to protect the integrity and stability of the registry, (v) to comply with any applicable court orders, laws, government rules or requirements, requests of law enforcement, or any dispute resolution process, (vi) to comply with any applicable ICANN rules or regulations, including without limitation, the registry agreement, (vii) to avoid any liability, civil or criminal, on the part of registry operator, as well as its affiliates, subsidiaries, officers, directors, and employees, (viii) per the terms of this Agreement, (ix) following an occurrence of any of the prohibited activities described in Section 8 below, or (x) during the resolution of a dispute.

\r\n

You agree that your failure to comply completely with the terms and conditions of this Agreement and any Azure rule or policy may be considered by Azure to be a material breach of this Agreement and Azure may provide you with notice of such breach either in writing or electronically (i.e. email). In the event you do not provide Azure with material evidence that you have not breached your obligations to Azure within ten (10) business days, Azure may terminate its relationship with you and take any remedial action available to Azure under the applicable laws. Such remedial action may be implemented without notice to you and may include, but is not limited to, cancelling the registration of any of your domain names and discontinuing any services provided by Azure to you. No fees will be refunded to you should your Services be cancelled or terminated because of a breach.

\r\n

Azure's failure to act upon or notify you of any event, which may constitute a breach, shall not relieve you from or excuse you of the fact that you have committed a breach.

\r\n

9. RESTRICTION OF SERVICES; RIGHT OF REFUSAL

\r\n

You agree not to use the services provided by Azure, or to allow or enable others, to use the services provided by Azure for the purposes of:

\r\n
    \r\n
  • The transmission of unsolicited email (Spam); and
  • \r\n
  • Repetitive, high volume inquires into any of the services provided by Azure (i.e. domain name availability, etc.).
  • \r\n
\r\n

You acknowledge and agree that you are prohibited from distributing malware, abusively operating botnets, phishing, piracy, trademark or copyright infringement, fraudulent or deceptive practices, counterfeiting or otherwise engaging in activity contrary to applicable law, and you acknowledge and agree that the consequences for such activities include suspension of the domain name.

\r\n

If you are hosting your domain name system (“DNS”) on Azure’s servers, or are using our systems to forward a domain name, URL, or otherwise to a system or site hosted elsewhere, or if you have your domain name registered with Azure, you are responsible for ensuring there is no excessive overloading on Azure’s servers. You may not use Azure’s servers and your domain name as a source, intermediary, reply to address, or destination address for email denial-of-service attack, Internet packet flooding, packet corruption, or other abusive attack. Server hacking or other perpetration of security breaches is prohibited. You agree that Azure reserves the right to deactivate your domain name from its DNS if Azure deems it is the recipient of activities caused by your site that threaten the stability of its network.

\r\n

You agree that Azure, in its sole discretion and without liability to you, may refuse to accept the registration of any domain name. Azure also may in its sole discretion and without liability to you delete the registration of any domain name during the first thirty (30) days after registration has taken place. Azure may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as determined by Azure in its sole discretion, in association with spam or morally objectionable activities. Morally objectionable activities will include, but not be limited to:

\r\n
    \r\n
  • Activities prohibited by the laws of the United States and/or foreign territories in which you conduct business;
  • \r\n
  • Activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography; and
  • \r\n
  • Activities designed to harm or use unethically minors in any way.
  • \r\n
\r\n

In the event Azure refuses a registration or deletes an existing registration during the first thirty (30) days after registration, you will receive a refund of any fees paid to Azure in connection with the registration either being cancelled or refused. In the event Azure deletes the registration of a domain name being used in association with spam or morally objectionable activities, no refund will be issued.

\r\n

10. DEFAULT SETTINGS; PARKED PAGE

\r\n

Choosing Your Domain Name Settings.  When you register a domain name with Azure, you will be prompted to choose your domain name settings during the checkout process.  If you plan on using another provider for your website or hosting needs, then you should enter the name servers of such provider when you choose your domain name settings.  This will direct your domain name away from Azure’s name servers.  If you are an existing Azure customer and have already set up a customer profile designating your domain name settings for new domain name registrations, you will not need to complete this step again during the checkout process.   

\r\n

Azure’s Default Settings.  If you do not direct your domain name away from Azure’s name servers as described above, Azure will direct your domain name to a “Parked Page” (“Default Setting”).  You acknowledge and agree that Azure has the right to set the Default Setting. 

\r\n

Parked Page Default Setting.  Azure’s Parked Page service is an online domain monetization system designed to generate revenue (through the use of pay per click advertising) from domain names that are not actively being used as websites.  If your domain name is directed to a Parked Page, you acknowledge and agree that Azure may display both (a) in-house advertising (which includes links to Azure products and services) and (b) third-party advertising (which includes links to third-party products and services) on your Parked Page through the use of pop-up or pop-under browser windows, banner advertisements, audio or video streams, or any other advertising means, and we may aggregate for our own use, related usage data by means of cookies and other similar means.  In addition, you acknowledge and agree that all in-house and third-party advertising will be selected by Azure and its advertising partners, as appropriate, and you will not be permitted to customize the advertising, or entitled to any compensation in exchange therefor.  Please note that the third-party advertising displayed on Azure’s Parked Pages may contain content offensive to you, including but not limited to links to adult content.  Azure makes no effort to edit, control, monitor, or restrict the content and third-party advertising displayed on Azure’s Parked Pages, and expressly disclaims any liability or responsibility to you or any third party in connection therewith.

\r\n

Changing Azure’s Default Settings.  You may change Azure’s Default Settings at any time during the term of your domain name registration.

\r\n
    \r\n
  1. Content Displaying On Your Parked Page.  You can not modify the content displaying on your Parked Page.  You may select one of the other options listed below.
  2. \r\n
  3. Participating In Domain Name Monetization.  If you wish to participate in the domain monetization potential presented by Azure’s Parked Page service, please review and consider purchasing our CashParking® service.   
  4. \r\n
  5. No Content.  If the options listed above are not acceptable to you, please contact customer support to learn what other options might be available to you.
  6. \r\n
\r\n

Return To Parked Page Default Setting Upon Domain Name Expiration.  Upon domain name expiration, and regardless of how you use your domain name during the term of your domain name registration, your domain name will automatically return to the Parked Page Default Setting described above.  As used in this paragraph, “expiration” is deemed to include any “renewal period” or “redemption period” immediately after the domain name expires, but before the domain name is returned to the registry.  Once your domain name has returned to the Parked Page Default Setting described above, the only way to opt out of the Parked Page service is to renew, redeem, or re-register your domain name in accordance with Section 2(B), Domain Name Renewal Terms, of this Agreement.   

\r\n

11. DOMAIN ADD-ONS

\r\n

Business Registration:  Business registration allows You to display additional information about the business that is the basis of Your domain name, including, but not limited to, such information as Your fax number, street address, and hours of operation.

\r\n

Certified Domains.  The certified domain service generally allow You to: (i) put a Certified Domain Validation seal on Your website; and (ii) have Your domain name listed as \"Certified\", in WHOIS lookups on our website.   The Certified Domain Validation seal renews independently of Your domain. When You renew Your domain, You must also, when necessary, separately renew Your Certified Validation seal. However, the Certified Domain Validation seal can be cancelled independently of Your domain. If the domain is cancelled, the Certified Domain associated with the cancelled domain will automatically cancel.  The Certified Domain seal is a trademark and is protected by copyright, trademark and other intellectual property laws. You may use the Certified Domain seal only in conjunction with the purchase of the Services set forth in the Agreement, and subject to the terms and conditions hereof. Other than provided for in this Agreement, You may not otherwise use, reproduce, or modify the mark for any additional promotional use, without our prior written approval. Your right to the use of the Certified Domain seal is immediately terminated upon expiration or termination of this Agreement.

\r\n

Expiration Consolidation.  You understand and acknowledge the expiration consolidation service may only be used to consolidate the expiration of .com and .net domain names. The service may not be used to consolidate domains that are on Registrar HOLD, Registry HOLD, or pending Transfer status. You acknowledge the service may only be used to push the expiration date of Your domains forward in time, at least one (1) month forward and no more than ten (10) years forward, and then, only for a period lasting less than twelve (12) months. Once the service has been used to consolidate domains, the new expiration date may not be reversed. To ensure the service is not abused or used as an alternative to renewals, you may only use the service on each domain once in any 12-month period. The service may only be used on domain names that have not passed their expiration date. In order to change the expiration date again, You will be required to renew the domain name first.  You further understand and acknowledge the service may only be used to coordinate domains where we are the registrar of record. Domains not registered with us must be transferred before we can perform the Service. 

\r\n

\r\n

Backordering/Monitoring.  You agree a domain name that has expired shall be subject first to a grace period of twelve (12) days, followed by the ICANN-mandated redemption grace period of thirty (30) days. During this period of time, the current domain name registrant may renew the domain name and retain ownership. We do not guarantee your backorder will result in you obtaining the domain name and expressly reserves the right to (a) refuse additional backorders or (b) cancel existing backorders at any time for any reason.  If your backorder is refused or cancelled, we agree to promptly refund any fees paid for such domain name backorder. The domain name may also be placed in a secondary market for resale through the Auctions® service.  After your first year of Auctions membership, you agree that unless otherwise advised, we will automatically renew your Auctions membership using the payment method you have on file for so long as your backorder credit is active. You may learn more about Auctions by visiting the Auctions website. The domain name may also be subject to a drop pool process before it is available for purchasing. You understand we and our registrar affiliates use our services, including backordering.  Therefore, the domain name may be registered with a different registrar, but can be managed through your account.  By using the Services, you will be able to, among other things:

\r\n
    \r\n
  1. Backorder any domain name under the top level domains .COM, .NET, .US, .BIZ, .INFO, .ORG, .MOBI. A backorder for a domain name will include the price of up to a one-year domain name registration. Should you successfully backorder any domain name, you will be subject to the terms and conditions of the Domain Name Registration and related agreements, which are incorporated herein by reference.
  2. \r\n
  3. Change your backorder until you obtain a domain name. You will have the opportunity to change the credit to a different domain name until you successfully capture one. After three (3) years, if the credit is not used, we reserves the right to remove the credit.
  4. \r\n
  5. Subscribe monthly to an expiring domain name list. You may also choose to purchase a subscription to a list of domain names expiring within the next five (5) days. If you subscribe to the expiring domain name list, you agree the payment method you have on file may be charged on a monthly subscription basis for the term of the Services you purchase.
  6. \r\n
  7. Select domain names off the expiring domain name list you would like to register. Each domain name you attempt to backorder will include the price of up to a one-year domain name registration, as set forth in subsection (i) above.
  8. \r\n
  9. Monitor your currently registered domain names for changes in registrar, status, expiration date or name servers at no additional cost.
  10. \r\n
  11. Subscribe to Domain Alert Pro or monitoring, which enables you to monitor any currently registered domain name, regardless of registrar, for historical tracking of status changes and designation of multiple email notification addresses.
  12. \r\n
\r\n

\r\n

\r\n

Transfer Validation. The transfer validation service is provided to help You keep Your domain name secure. By choosing to use the service, You are making an explicit and voluntary request to us to deny all attempts to transfer Your domain name to another registrar, or to move Your domain name to another account, unless You verify each request as described herein. You will provide us with a contact name, phone number and PIN for domain transfer validations. You will be contacted by us when a domain transfer is requested for a domain name in Your account. When we receive a transfer request, we will call You to verify the transfer request. If we cannot reach You with seventy-two (72) hours of receipt of the transfer request, the transfer will be denied. If You do not provide the proper PIN, the transfer will be denied. When we receive a change of account request, we will call You to verify the change request. If we cannot reach You with seventy-two (72) hours of receipt of the change request, the change will be denied. If You do not provide the proper PIN, the change will be denied. Availability of Services are subject to the terms and conditions of this Agreement and each of our policies and procedures. We shall use commercially reasonable efforts to attempt to provide certain portions of the Services on a twenty-four (24) hours a day, seven (7) days a week basis throughout the term of this Agreement and other portions of the service, during normal business hours. You acknowledge and agree that from time to time the Services may be inaccessible or inoperable for any reason, including, without limitation: (i) equipment malfunctions; (ii) periodic maintenance procedures or repairs that we may undertake from time to time; or (iii) causes beyond the reasonable control of us or that are not reasonably foreseeable by us, including, without limitation, interruption or failure of telecommunication or digital transmission links, hostile network attacks, network congestion or other failures. You acknowledge and agree that we has no control over the availability of the service on a continuous or uninterrupted basis.

\r\n

\r\n

12. PRE-REGISTRATIONS

\r\n

If you submit an application for pre-registration of a domain name, Azure does not guarantee that the name will be secured for you, or that you will have immediate access to the domain name if secured.  Azure may use third-party service providers for the pre-registration services.

\r\n

13. PROVISIONS SPECIFIC TO .BIZ REGISTRATIONS

\r\n

Domain Name Dispute Policy.  If you reserved or registered a .BIZ domain name through us, in addition to our Dispute Resolution Policy, you hereby acknowledge that you have read and understood and agree to be bound by the terms and conditions of the Restrictions Dispute Resolution Policy applicable to the .biz TLD.

\r\n

The RDRP sets forth the terms under which any allegation that a domain name is not used primarily for business or commercial purposes shall be enforced on a case-by-case basis by an independent ICANN-accredited dispute provider. Registry Operator will not review, monitor, or otherwise verify that any particular domain name is being used primarily for business or commercial purposes or that a domain name is being used in compliance with the SUDRP or UDRP processes.

\r\n

One Year Registration.  If you are registering a .BIZ domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .BIZ domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .BIZ domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

\r\n

14. PROVISIONS SPECIFIC TO .INFO REGISTRATIONS 

\r\n

One Year Registration.  If you are registering a .INFO domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .INFO domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .INFO domain name during the first year, you will automatically be charged the second year renewal fees.

\r\n

15. PROVISIONS SPECIFIC TO .MOBI REGISTRATIONS 

\r\n

Instant Mobilizer. You are hereby granted a personal, revocable, non-exclusive, non-transferable, non-assignable, non-sublicensable license to use the Instant Mobilizer service (“Service”), provided, however, You abide by the terms and conditions set forth. You shall not alter, modify, adapt or translate the whole or part of the Service in any way whatsoever. You may not create derivative works based on the Service. You may not rent, lease, assign, dispose of, novate, sub-license or otherwise transfer any of its rights to use the Service to any third party.  In the event that the volume of traffic to You from Your use of the Service is sufficient so as to jeopardize the provision of Service for other end users, we and our licensors reserve the right to, at its sole discretion, permanently or temporarily, discontinue Your use of the Service. For the avoidance of doubt, the volume of traffic generated by You should not exceed two thousand (2,000) page views per day.  You acknowledge and agree the text \"Instant Mobilizer from dotMobi\" or equivalent, will be inserted at the footer of Your site.  In the event a dotMobi domain to which the Service is being provided is transferred to another domain name registrar, the Service will be interrupted on that dotMobi domain, and Service will not be restored if the new registrar does not offer the Service. 

\r\n

\r\n

16. PROVISIONS SPECIFIC TO .NAME REGISTRATIONS 

\r\n

\r\n

17. PROVISIONS SPECIFIC TO .REISE REGISTRATIONS

\r\n

Domain Names registered in .REISE should be used for purposes dedicated to travel topics within six months following initial Registration, e.g. utilized on the Internet or otherwise used to perform a function.

\r\n

18. PROVISIONS SPECIFIC TO .SEXY REGISTRATIONS

\r\n

You shall not permit content unsuitable for viewing by a minor to be viewed from the main or top-level directory of a .SEXY domain name. For purposes of clarity, content viewed at the main or top-level directory of a .SEXY domain name is the content immediately visible if a user navigates to http://example.sexy or http://www.example.sexy. No restrictions apply to the content at any other page or subdirectory addressed by a .SEXY Registered Name. 

\r\n

19. COUNTRY CODE TOP LEVEL DOMAINS

\r\n

You represent and warrant that you meet the eligibility requirements of each ccTLD you apply for. You further agree to be bound by any registry rules, policies, and agreements for that particular ccTLD. These may include, but are not limited to, agreeing to indemnify the ccTLD provider, limiting the liability of the ccTLD provider, and requirements that any disputes be resolved under that particular country's laws.

\r\n

(A) PROVISIONS SPECIFIC TO .AU REGISTRATIONS 

\r\n

.au Registrations (to include com.au, net.au and org.au) are governed by the following additional terms and conditions:

\r\n

auDA. auDA means .au Domain Administration Limited ACN 079 009 340, the .au domain names administrator.  The Registrar acts as agent for auDA for the sole purpose, but only to the extent necessary, to enable auDA to receive the benefit of rights and covenants conferred to it under this Agreement. auDA is an intended third party beneficiary of this agreement.

\r\n

auDA Published Policy.  auDA Published Policies means those specifications and policies established and published by auDA from time to time at http://www.auda.org.au.  You must comply with all auDA Published Policies, as if they were incorporated into, and form part of, this Agreement. In the event of any inconsistency between any auDA Published Policy and this Agreement, then the auDA Published Policy will prevail to the extent of such inconsistency.  You acknowledge that under the auDA Published Policies: (1) there are mandatory terms and conditions that apply to all domain names; (2) licences, and such terms and conditions are incorporated into, and form part of, this Agreement; (3) You are bound by, and must submit to, the .au Dispute Resolution Policy; and (4) auDA may delete or cancel the registration of a .au domain name. 

\r\n

auDA's Liabilities and Indemnity.  To the fullest extent permitted by law, auDA will not be liable to Registrant for any direct, indirect, consequential, special, punitive or exemplary losses or damages of any kind (including, without limitation, loss of use, loss or profit, loss or corruption of data, business interruption or indirect costs) suffered by Registrant arising from, as a result of, or otherwise in connection with, any act or omission whatsoever of auDA, its employees, agents or contractors. Registrant agrees to indemnify, keep indemnified and hold auDA, its employees, agents and contractors harmless from all and any claims or liabilities, arising from, as a result of, or otherwise in connection with, Registrant's registration or use of its .au domain name. Nothing in this document is intended to exclude the operation of Trade Practices Act 1974.

\r\n

(B) PROVISIONS SPECIFIC TO .CA REGISTRATIONS

\r\n

You acknowledge and agree that registration of your selected domain name in your first application to CIRA shall not be effective until you have entered into and agreed to be bound by CIRA's Registrant Agreement.

\r\n

CIRA Certified Registrar.  The registrar shall immediately give notice to you in the event that it is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated, or the Registrar Agreement between CIRA and the Registrar is terminated or expires. CIRA may post notice of such suspension, termination, or expiry on its website and may, if CIRA deems appropriate, give notice to the registrants thereof. In the event that the registrar is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated or in the event the Registrar Agreement between CIRA and the Registrar is terminated or expires, you shall be responsible for changing your Registrar of Record to a new CIRA Certified Registrar within thirty (30) days of the earlier of notice thereof being given to you by (i) the Registrar or (ii) CIRA in accordance with CIRA's then current Registry PRP; provided, however, that if any of your domain name registrations are scheduled to expire within thirty (30) days of the giving of such notice, then you shall have thirty (30) days from the anniversary date of the registration(s), to register with a new CIRA certified registrar and to renew such domain name registration(s) in accordance with the Registry PRP.

\r\n

You acknowledge and agree that should there be insufficient funds prepaid by the registrar in the CIRA Deposit Account to be applied in payment of any fees, CIRA may in its sole discretion stop accepting applications for domain name registrations from the registrar, stop effecting registrations of domain names and transfers, renewals, modifications, and cancellations requested by the registrar and stop performing other billable transactions requested by the registrar not paid in full and CIRA may terminate the Registrar Agreement between CIRA and the Registrar.

\r\n

.CA ASCII and IDN domain variants are bundled and reserved for a single registrant.  Registrants are not required to register all variants in a bundle, but all registered variants must be registered and managed at a single registrar. Each variant registered will incur a registration fee.  In addition, when registering multiple .CA domain (ASCII and IDN) variants in a bundle, your registrant information must be identical.  If variants are registered at other registrars or if registrant information does not match, it may result in an \"unavailable\" search result, delayed or failed registration. If information does not match, validation is required and may take up to seven business days and delay availability of domain. 

\r\n

(C) PROVISIONS SPECIFIC TO .CN REGISTRATIONS 

\r\n

.CN is a restricted TLD – applications are subject to both a domain name check and real name verification as required by the China.  Registrations in .CN are therefore subject to the following additional terms:

\r\n

Verification, Registration and Activation.  If a domain name is not permitted to be registered by the Chinese government, as determined by us, the Registry Operator and/or a 3rd party provider utilized for such services and determinations, in either party’s discretion, the application for registration will not be successful.  In such event, the name will be deleted and you will be eligible for a refund as further described below.

\r\n

If permitted, then the Registration may proceed, but a .CN domain name may not be activated (i.e., it will not resolve in the Internet) unless and until you have submitted (via the process described during registration) valid documents required of us and the Registry to perform real name verification.  The following are acceptable forms of documents for the purpose of verification:

\r\n
    \r\n
  • China: Resident ID, temporary resident ID, business license or organization code certificate
  • \r\n
  • Hong Kong Special Administrative Region/Macao Special Administrative Region: Resident ID, driver’s license, passport or business license
  • \r\n
  • Singapore: Driver’s license, passport or business license
  • \r\n
  • Taiwan: Resident ID, driver’s license or business license
  • \r\n
  • Other Countries/Regions: Driver’s license or passport
  • \r\n
\r\n

Documents submitted to us are used by us and shared with the Registry solely for the purpose of real name verification, and are otherwise subject to our Privacy Policy.  By registering a .CN domain, you expressly agree that your data may be stored on servers in the U.S., or otherwise outside of the China.

\r\n

Refunds.  Refunds for .CN Registrations will only be allowed where (i) registration of the applied for domain name is not permitted by the Chinese government; or (ii) you notify us of your intent to cancel for any reason within the first five (5) days after the Registration (i.e., after it is deemed permissible by the Chinese government).  For the avoidance of doubt, refunds will not be permitted under any circumstances after five (5) days from the date of Registration, including, for example, in the event real name verification is not successful or if the Chinese government determines after Registration that the domain name should not have been registered (and directs us to delete).

\r\n

(D) PROVISIONS SPECIFIC TO .JP REGISTRATIONS

\r\n

Registration Restrictions.  You represent and warrant that you have a local presence in Japan with a home or office address. You agree that certain domain names are reserved and can only be registered by certain parties. These include: (i) TLDs, other than ccTLDs, as determined by ICANN; (ii) geographical-type .JP domain names that are defined as metropolitan, prefectural, and municipal labels; (iii) names of primary and secondary educational organizations; (iv) names of organizations related to Internet management; (v) names required for .JP domain name operations; and (vi) character strings which may be confused with ASCII-converted Japanese domain names. The complete list of .JP Reserved Domains is available here

\r\n

20. ENGLISH LANGUAGE CONTROLS

\r\n

This Agreement, along with all policies and the applicable product agreements identified above and incorporated herein by reference (collectively, the “Agreement”), is executed in the English language. To the extent any translation is provided to you, it is provided for convenience purposes only, and in the event of any conflict between the English and translated version, where permitted by law, the English version will control and prevail. Where the translated version is required to be provided to you and is to be considered binding by law (i) both language versions shall have equal validity, (ii) each party acknowledges that it has reviewed both language versions and that they are substantially the same in all material respects, and (iii) in the event of any discrepancy between these two versions, the translated version may prevail, provided that the intent of the Parties has been fully taken into consideration. 

\n
\n
\n\nRevised: 10/6/17
\nCopyright © 2000-2017 All Rights Reserved.\n
\n
\n
", - "title": "Domain Name Registration Agreement", - "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=reg_sa&pl_id=510456" - }, - { - "agreementKey": "DNPA", - "content": "\n\n\n\n\n
\n\n\n\n\n\n\n
\nDomain Name Proxy Agreement\n
\n

Last Revised: October 25, 2017

\n

Please read this Domain Name Proxy Agreement (\"Agreement\") carefully. By using the Services and/or website of Domains By Proxy, LLC, a Delaware limited liability company (\"DBP\"), You (as defined below) agree to all the terms and conditions set forth both herein and in the DBP privacy policy, which is incorporated by reference and can be found by clicking here.  You acknowledge that DBP may amend this Agreement at any time upon posting the amended terms on its website, and that any new, different or additional features changing the services provided by DBP will automatically be subject to this Agreement. If You do not agree to be bound by, or if You object to, the terms and conditions of this Agreement and any amendments hereto, do not use or access DBP's services. Continued use of DBP's services and its website after any such changes to this Agreement have been posted, constitutes Your acceptance of those changes.

\r\n

This Agreement is by and between DBP and you, your heirs, assigns, agents and contractors (\"You\") and is made effective as of the date of electronic execution. This Agreement sets forth the terms and conditions of Your relationship with DBP and Your use of DBP's services and represents the entire Agreement between You and DBP. By using DBP's Services, You acknowledge that You have read, understand and agree to be bound by all the terms and conditions of this Agreement, and You further agree to be bound by the terms of this Agreement for transactions entered into by:

\r\n
    \r\n
  1. You on Your behalf;
  2. \r\n
  3. Anyone acting as Your agent; and
  4. \r\n
  5. Anyone who uses the account You have established with DBP, whether or not the transactions were on Your behalf and/or authorized by You.
  6. \r\n
\r\n

You agree You will be bound by representations made by third parties acting on Your behalf, which either use or purchase services from DBP. You further agree that DBP will not be bound by statements of a general nature on DBP's website or DBP promotional materials. You further agree to abide by the terms and conditions promulgated by the Internet Corporation for Assigned Names and Numbers (\"ICANN\") (including the Uniform Domain Name Dispute Resolution Policy (\"Dispute Resolution Policy\") and Your Registrar (i.e., the ICANN-accredited person or entity through which You register a domain name).

\r\n

1. description of DBP's private registration services

\r\n

When You subscribe to DBP's private registration service through a DBP-affiliated Registrar, DBP will display its contact information in the publicly available \"Whois\" directory in place of Your information. DBP shall keep Your name, postal address, email address, phone and fax numbers confidential, subject to Section 4 of this Agreement. The following information (and not Your personal information) will be made publicly available in the \"Whois\" directory as determined by ICANN policy:

\r\n
    \r\n
  1. DBP's name as the proxy Registrant of the domain name and a proxy email address, phone number and postal address for the proxy Registrant's contact information;
  2. \r\n
  3. A proxy postal address and phone number for the domain name registration's technical contact;
  4. \r\n
  5. A proxy email address, postal address and phone number for the domain name registration's administrative contact;
  6. \r\n
  7. A proxy email address, postal address and phone number for the domain's name registration's billing contact;
  8. \r\n
  9. The primary and secondary domain name servers You designate for the domain name;
  10. \r\n
  11. The domain name's original date of registration and expiration date of the registration; and
  12. \r\n
  13. The identity of the Registrar.
  14. \r\n
\r\n

2. full benefits of domain registration retained by you

\r\n

Although DBP will show in the \"Whois\" directory as the Registrant of each domain name registration You designate, You will retain the full benefits of domain name registration with respect to each such domain name registration, including, subject to Section 4 below:

\r\n
    \r\n
  1. The right to sell, transfer or assign each domain name registration, which shall require cancellation of the DBP services associated with each such domain name registration;
  2. \r\n
  3. The right to control the use of each domain name registration, including designating the primary and secondary domain name servers to which each domain name points;
  4. \r\n
  5. The right to cancel each domain name registration;
  6. \r\n
  7. The right to cancel the DBP services associated with each domain name registration and/or Your privacy services with DBP so that Your contract information is listed in the \"Whois\" directory; and
  8. \r\n
  9. The right to renew each domain name registration upon its expiration, subject to Your Registrar's applicable rules and policies.
  10. \r\n
\r\n

3. PERSONAL INFORMATION AND your notification obligations; representation and warranties; ACCOUNT SECURITY

\r\n

Personal Information and Your Notification Obligations 

\r\n

You agree that for each domain name for which you use DBP services, You will provide accurate and current information as to:

\r\n
    \r\n
  1. Your name, the email address, postal address, phone and fax numbers for the domain name registration's Registrant contact;
  2. \r\n
  3. The email address, postal address, phone and fax numbers for the domain name registration's technical contact;
  4. \r\n
  5. The email address, postal address, phone and fax numbers for the domain name registration's administrative contact;
  6. \r\n
  7. The email address, postal address, phone and fax numbers for the domain name registration's billing contact; and
  8. \r\n
  9. You agree to provide government issued photo identification and/or government issued business identification as required for verification of identity when requested.
  10. \r\n
\r\n

You agree to:

\r\n
    \r\n
  1. Notify DBP within three (3) calendar days when any of the personal information You provided upon subscribing to DBP's services, changes;
  2. \r\n
  3. Respond within three (3) calendar days to any inquiries made by DBP to determine the validity of personal information provided by You; and
  4. \r\n
  5. Timely respond to email messages DBP sends to You regarding correspondence DBP has received that is either addressed to or involves You and/or Your domain name registration, as more fully set forth in Section 5(c) below.
  6. \r\n
  7. To allow DBP to act as your Designated Agent (as that term is defined below) in instances when DBP services are added to or cancelled from your domain name and for the purpose of facilitating a change of registrant request (as further described below). 
  8. \r\n
\r\n

It is Your responsibility to keep Your personal information current and accurate at all times.

\r\n

Renewals

\r\n

You agree DBP will arrange for Your Registrar to charge the credit card You have on file with the Registrar, at the Registrar's then current rates.

\r\n

If for any reason DBP and/or the Registrar for Your domain name is unable to charge Your credit card for the full amount of the service provided, or if DBP and/or the Registrar is charged back for any fee it previously charged to the credit card You provided, You agree that DBP and/or the Registrar may, without notice to You, pursue all available remedies in order to obtain payment, including but not limited to immediate cancellation of all services DBP provides to You.

\r\n

Representations and Warranties

\r\n

You warrant that all information provided by You to DBP is truthful, complete, current and accurate. You also warrant that You are using DBP's private registration services in good faith and You have no knowledge of Your domain name infringing upon or conflicting with the legal rights of a third party or a third party's trademark or trade name. You also warrant the domain name being registered by DBP on Your behalf will not be used in connection with any illegal activity, or in connection with the transmission of Spam, or that contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable or, disrupting, damaging or limiting the functionality of any software or hardware.

\r\n

Account Security

\r\n

You agree You are entirely responsible for maintaining the confidentiality of Your customer number/login ID and password (\"Account Access Information\").  You agree to notify DBP immediately of any unauthorized use of Your account or any other breach of security.  You agree DBP will not be liable for any loss that You may incur as a result of someone else using Your Account Access Information, either with or without Your knowledge.  You further agree You could be held liable for losses incurred by DBP or another party due to someone else using Your Account Access Information.  For security purposes, You should keep Account Access Information in a secure location and take precautions to prevent others from gaining access to Your Account Access Information.  You agree that You are entirely responsible for all activity in Your account, whether initiated by You, or by others.  DBP specifically disclaims liability for any activity in Your account, regardless of whether You authorized the activity.

\r\n

Designated Agency and Change of Registrant Information

\r\n

“DESIGNATED AGENT” MEANS AN INDIVIDUAL OR ENTITY THAT THE PRIOR REGISTRANT OR NEW REGISTRANT EXPLICITLY AUTHORIZES TO APPROVE A CHANGE OF REGISTRANT REQUEST ON ITS BEHALF.  IN THE CASE OF DBP SERVICES, A CHANGE OF REGISTRANT REQUEST MAY ALSO ARISE DUE TO INSTANCES WHERE DBP SERVICES ARE ADDED, OR REMOVED, FROM A DOMAIN NAME.  FOR THE PURPOSE OF FACILITATING ANY SUCH CHANGE REQUEST, AND IN ACCORDANCE WITH ICANN'S CHANGE OF REGISTRANT POLICY, YOU AGREE TO APPOINT DBP AS YOUR DESIGNATED AGENT FOR THE SOLE PURPOSE OF EXPLICITLY CONSENTING TO MATERIAL CHANGES OF REGISTRATION CONTACT INFORMATION ON YOUR BEHALF.

\r\n

4. DBP's rights to deny, suspend, terminate service and to disclose your personal information

\r\n

You understand and agree that DBP has the absolute right and power, in its sole discretion and without any liability to You whatsoever, to:

\r\n
    \r\n
  1. Cancel the privacy service (which means that Your information will be available in the \"Whois\" directory) and/or reveal Your name and personal information that You provided to DBP:  
    A. When required by law, in the good faith belief that such action is necessary in order to conform to the edicts of the law or in the interest of public safety;
    B. To comply with legal process served upon DBP or in response to a reasonable threat of litigation against DBP (as determined by DBP in its sole and absolute discretion); or
    C. To comply with ICANN rules, policies, or procedures.
  2. \r\n
  3. Resolve any and all third party claims, whether threatened or made, arising out of Your use of a domain name for which DBP is the registrant listed in the \"Whois\" directory on Your behalf; or
  4. \r\n
  5. Take any other action DBP deems necessary:
    A. In the event you breach any provision of this Agreement or the DBP Anti-Spam Policy;
    B. To protect the integrity and stability of, and to comply with registration requirements, terms, conditions and policies of, the applicable domain name Registry and/or Registry Provider;
        C. To comply with any applicable laws, government rules or requirements, subpoenas, court orders or requests of law enforcement; 
    D. To comply with ICANN's Dispute Resolution Policy or ICANN's Change of Registrant Policy;
    E. To avoid any financial loss or legal liability (civil or criminal) on the part of DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, officers, directors and employees;
    F. If the domain name for which DBP is the registrant on Your behalf violates or infringes a third party's trademark, trade name or other legal rights; and
    G. If it comes to DBP's attention that You are using DBP's services in a manner (as determined by DBP in its sole and absolute discretion) that:
  6. \r\n
\r\n
\r\n
    \r\n
  • Is illegal, or promotes or encourages illegal activity;
  • \r\n
  • Promotes, encourages or engages in child pornography or the exploitation of children;
  • \r\n
  • Promotes, encourages or engages in terrorism, violence against people, animals, or property;
  • \r\n
  • Promotes, encourages or engages in any spam or other unsolicited bulk email, or computer or network hacking or cracking;
  • \r\n
  • Violates the Ryan Haight Online Pharmacy Consumer Protection Act of 2008 or similar legislation, or promotes, encourages or engages in the sale or distribution of prescription medication without a valid prescription;  
  • \r\n
  • Infringes on the intellectual property rights of another User or any other person or entity;
  • \r\n
  • Violates the privacy or publicity rights of another User or any other person or entity, or breaches any duty of confidentiality that you owe to another User or any other person or entity;
  • \r\n
  • Interferes with the operation of DBP services;
  • \r\n
  • Contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable of, disrupting, damaging or limiting the functionality of any software or hardware; or
  • \r\n
  • Contains false or deceptive language, or unsubstantiated or comparative claims, regarding DBP or its services.
  • \r\n
\r\n
\r\n

You further understand and agree that if DBP is named as a defendant in, or investigated in anticipation of, any legal or administrative proceeding arising out of Your domain name registration or Your use of DBP's services, Your private registration service may be canceled, which means the domain name registration will revert back to You and Your identity will therefore be revealed in the Whois directory as Registrant.

\r\n

In the event:

\r\n
    \r\n
  1. DBP takes any of the actions set forth in subsection i, ii, or iii above or section 5; and/or
  2. \r\n
  3. You elect to cancel DBP's services for any reason --
  4. \r\n
\r\n

Neither DBP nor your Registrar will refund any fees paid by You whatsoever.

\r\n

5. communications forwarding

\r\n

a. Correspondence Forwarding

\r\n

Inasmuch as DBP's name, postal address and phone number will be listed in the Whois directory, You agree DBP will review and forward communications addressed to Your domain name that are received via email, certified or traceable courier mail (such as UPS, FedEx, or DHL), or first class U.S. postal mail. You specifically acknowledge DBP will not forward to You first class postal mail (other than legal notices), \"junk\" mail or other unsolicited communications (whether delivered through email, fax, postal mail or telephone), and You further authorize DBP to either discard all such communications or return all such communications to sender unopened. You agree to waive any and all claims arising from Your failure to receive communications directed to Your domain name but not forwarded to You by DBP.

\r\n

b. Email Forwarding

\r\n

The Whois directory requires an email address for every purchased domain name registration. When You purchase a private domain registration, DBP creates a private email address for that domain name, \"@domainsbyproxy.com\". Thereafter, when messages are sent to that private email address, DBP handles them according to the email preference You selected for that particular domain name. You have three (3) email preferences from which to choose. You can elect to:

\r\n
    \r\n
  1. Have all of the messages forwarded;
  2. \r\n
  3. Have all of the messages filtered for Spam and then forwarded; or
  4. \r\n
  5. Have none of the messages forwarded.
  6. \r\n
\r\n

As with all communications, You agree to waive any and all claims arising from Your failure to receive email directed to Your domain name but not forwarded to You by DBP.

\r\n

c. Notifications Regarding Correspondence and Your Obligation to Respond

\r\n

When DBP receives certified or traceable courier mail or legal notices addressed to Your domain name, in most cases, DBP will attempt to forward the mail to you via email. If You do not respond to the DBP email and/or the correspondence DBP has received regarding Your domain name registration concerns a dispute of any kind or otherwise requires immediate disposition, DBP may immediately reveal Your identity and/or cancel the DBP private registration service regarding either the domain name registration(s) in question. This means the Whois directory will revert to displaying Your name, postal address, email address and phone number that you provided to DBP.

\r\n

d. Additional Administrative Fees

\r\n

DBP reserves the right to charge You reasonable \"administrative fees\" or \"processing fees\" for (i)  tasks DBP may perform outside the normal scope of its Services, (ii) additional time and/or costs DBP may incur in providing its Services, and/or (iii) Your non-compliance with the Agreement (as determined by DBP in its sole and absolute discretion). Typical administrative or processing fee scenarios include, but are not limited to, (i) customer service issues that require additional personal time and attention; (ii) disputes that require accounting or legal services, whether performed by DBP staff or by outside firms retained by DBP; (iii) recouping any and all costs and fees, including the cost of Services, incurred by DBP as the result of chargebacks or other payment disputes brought by You, Your bank or Payment Method processor.  These administrative fees or processing fees will be billed to the Payment Method You have on file with Your Registrar.

\r\n

You agree to waive the right to trial by jury in any proceeding that takes place relating to or arising out of this Agreement.

\r\n

6. limitations of liability

\r\n

UNDER NO CIRCUMSTANCES SHALL DBP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, SPECIAL, OR CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER RELATED TO THIS AGREEMENT, YOUR DOMAIN NAME REGISTRATION, DBP'S SERVICES, USE OR INABILITY TO USE THE DBP WEBSITE OR THE MATERIALS AND CONTENT OF THE WEBSITE OR ANY OTHER WEBSITES LINKED TO THE DBP WEBSITE OR YOUR PROVISION OF ANY PERSONALLY IDENTIFIABLE INFORMATION TO DBP OR ANY THIRD PARTY. THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE ALLEGED LIABILITY IS BASED ON CONTRACT, TORT, WARRANTY, NEGLIGENCE, STRICT LIABILITY OR ANY OTHER BASIS, EVEN IF DBP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR SUCH DAMAGES WERE REASONABLY FORESEEABLE. BECAUSE CERTAIN JURISDICTIONS DO NOT PERMIT THE LIMITATION OR ELIMINATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, DBP'S LIABILITY IN SUCH JURISDICTIONS SHALL BE LIMITED TO THE SMALLEST AMOUNT PERMITTED BY LAW.

\r\n

YOU FURTHER UNDERSTAND AND AGREE THAT DBP DISCLAIMS ANY LOSS OR LIABILITY RESULTING FROM:

\r\n
    \r\n
  1. THE INADVERTENT DISCLOSURE OR THEFT OF YOUR PERSONAL INFORMATION;
  2. \r\n
  3. ACCESS DELAYS OR INTERRUPTIONS TO OUR WEBSITE OR THE WEBSITES OF OUR AFFILIATED REGISTRARS;
  4. \r\n
  5. DATA NON-DELIVERY OF MIS-DELIVERY BETWEEN YOU AND DBP;
  6. \r\n
  7. THE FAILURE FOR WHATEVER REASON TO RENEW A PRIVATE DOMAIN NAME REGISTRATION;
  8. \r\n
  9. THE UNAUTHORIZED USE OF YOUR DBP ACCOUNT OR ANY OF DBP'S SERVICES;
  10. \r\n
  11. ERRORS, OMISSIONS OR MISSTATEMENTS BY DBP;
  12. \r\n
  13. DELETION OF, FAILURE TO STORE, FAILURE TO PROCESS OR ACT UPON EMAIL MESSAGES FORWARDED TO EITHER YOU OR YOUR PRIVATE DOMAIN NAME REGISTRATION;
  14. \r\n
  15. PROCESSING OF UPDATED INFORMATION REGARDING YOUR DBP ACCOUNT; AND/OR
  16. \r\n
  17. ANY ACT OR OMISSION CAUSED BY YOU OR YOUR AGENTS (WHETHER AUTHORIZED BY YOU OR NOT).
  18. \r\n
\r\n

7. indemnity

\r\n

You agree to release, defend, indemnify and hold harmless DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, directors, officers and employees and Your Registrar, from and against any and all claims, demands, liabilities, losses, damages or costs, including reasonable attorneys' fees, arising out of or related in any way to this Agreement, the services provided hereunder by DBP, the DBP website, Your account with DBP, Your use of Your domain name registration, and/or disputes arising in connection with the dispute policy.

\r\n

8. DBP warranty disclaimer

\r\n

DBP, ITS PARENT COMPANIES, SUBSIDIARIES, AFFILIATES, SHAREHOLDERS, AGENTS, DIRECTORS, OFFICERS, AND EMPLOYEES EXPRESSLY DISCLAIM ALL REPRESENTATIONS AND WARRANTIES OF ANY KIND IN CONNECTION WITH THIS AGREEMENT, THE SERVICE PROVIDED HEREUNDER, THE DBP WEBSITE OR ANY WEBSITES LINKED TO THE DBP WEBSITE, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL DBP SERVICES, AS WELL AS THE DBP WEBSITE, ARE PROVIDED \"AS IS\". YOUR SUBSCRIPTION TO AND USE OF DBP'S SERVICES AND ITS WEBSITE ARE ENTIRELY AT YOUR RISK. SOME JURISDICTIONS DO NOT ALLOW THE DISCLAIMER OF IMPLIED WARRANTIES, IN WHICH EVENT THE FOREGOING DISCLAIMER MAY NOT APPLY TO YOU.

\r\n

9. copyright and trademark

\r\n

You understand and agree that all content and materials contained in this Agreement, the Privacy Policy and the DBP website found here , are protected by the various copyright, patent, trademark, service mark and trade secret laws of the United States, as well as any other applicable proprietary rights and laws, and that DBP expressly reserves its rights in and to all such content and materials.

\r\n

You further understand and agree You are prohibited from using, in any manner whatsoever, any of the afore-described content and materials without the express written permission of DBP. No license or right under any copyright, patent, trademark, service mark or other proprietary right or license is granted to You or conferred upon You by this Agreement or otherwise.

\r\n

10. miscellaneous provisions

\r\n

a. Severability; Construction; Entire Agreement

\r\n

If any part of this Agreement shall be held to be illegal, unenforceable or invalid, in whole or in part, such provision shall be modified to the minimum extent necessary to make it legal, enforceable and valid, and the legality, enforceability and validity of the remaining provisions of this Agreement shall not be affected or impaired. The headings herein will not be considered a part of this Agreement. You agree this Agreement, including the policies it incorporates by reference, constitute the complete and only Agreement between You and DBP regarding the services contemplated herein.

\r\n

b. Governing Law; Venue; Waiver Of Trial By Jury

\r\n

This Agreement shall be governed in all respects by the laws and judicial decisions of Maricopa County, Arizona, excluding its conflicts of laws rules. Except as provided immediately below, You agree that any action relating to or arising out of this Agreement, shall be brought exclusively in the courts of Maricopa County, Arizona. For the adjudication of domain name registration disputes, you agree to submit to the exclusive jurisdiction and venue of the U.S. District Court for the District of Arizona located in Phoenix, Arizona. You agree to waive the right to trial by jury in any proceeding, regardless of venue, that takes place relating to or arising out of this Agreement.

\r\n

c. Notices

\r\n

All notices from DBP to You will be sent to the email address You provided to DBP. Notices by email shall be deemed effective twenty-four (24) hours after the email is sent by DBP, unless DBP receives notice that the email address is invalid, in which event DBP may give You notice via first class or certified mail, return receipt requested. All notices from You to DBP shall be sent via certified mail, return receipt requested or traceable courier to:

\r\n
      Domains By Proxy, LLC
      Attn: General Counsel
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

Notices sent via certified mail or traceable courier shall be deemed effective five (5) days after the date of mailing.

\r\n

d. Insurance

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's negligent actions (and absent fraud or other negligent or willful misconduct committed by a third party), You may be insured against such loss through DBP's Professional Liability Insurance Policy, which is currently underwritten by American International Insurance Company. Of course, every claim is subject to the then-carrier's investigation into the facts and circumstances surrounding such claim. In the event You have reason to believe that circumstances exist which warrant the filing of an insurance claim, please send a written notice (specifying the basis for such claim), via certified mail, return receipt requested, to:

\r\n
      Domains By Proxy, LLC
      Attn: Insurance Claims
      14455 North Hayden Rd.
      Suite 219
      Scottsdale, AZ 85260
\r\n

e. Indemnification

\r\n

In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's willful misconduct, Your Registrar (the \"Indemnifying Party\") will indemnify and hold You harmless against any losses, damages or costs (including reasonable attorneys' fees) resulting from any claim, action, proceeding, suit or demand arising out of or related to the loss of Your domain name registration. Such indemnification obligations under this Section 10(e) are conditioned upon the following:

\r\n
    \r\n
  1. That You promptly give both DBP and the Indemnifying Party written notice of the claim, demand, or action and provide reasonable assistance to the Indemnifying Party, at its cost and expense, in connection therewith, and
  2. \r\n
  3. That the Indemnifying Party has the right, at its option, to control and direct the defense to any settlement of such claim, demand, or action.
  4. \r\n
\r\n

Any notice concerning indemnification shall, with respect to DBP, be sent in accordance with Section 10(c) of this Agreement. With respect to Your Registrar, notices regarding indemnification should be sent in accordance with the notification provisions contained in Your Registrar's Domain Name Registration Agreement.

\r\n

f. Term of Agreement; Survival

\r\n

The terms of this Agreement shall continue in full force and effect as long as DBP is the Registrant for any domain name on Your behalf. Sections 5 (Communications Forwarding), 6 (Limitation of Liability), 7 (Indemnity), 8 (Warranty Disclaimer) and 10 (Miscellaneous Provisions) shall survive any termination or expiration of this Agreement.

\n
\n
\n\nRevised: 10/25/17
\nCopyright © 2003-2017 All Rights Reserved.\n
\n
\n
", - "title": "Domain Name Proxy Agreement", - "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=domain_nameproxy&pl_id=510456" - } - ] - }, - "headers": {} - } - }, - "operationId": "TopLevelDomains_ListAgreements", - "title": "List Top Level Domain Agreements" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json deleted file mode 100644 index 96fe93a3d84c..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/ListTopLevelDomains.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "com", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", - "properties": { - "privacy": true - } - }, - { - "name": "net", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/net", - "properties": { - "privacy": true - } - }, - { - "name": "co.uk", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.uk", - "properties": { - "privacy": false - } - }, - { - "name": "org", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org", - "properties": { - "privacy": true - } - }, - { - "name": "nl", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/nl", - "properties": { - "privacy": true - } - }, - { - "name": "in", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/in", - "properties": { - "privacy": false - } - }, - { - "name": "biz", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/biz", - "properties": { - "privacy": true - } - }, - { - "name": "org.uk", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org.uk", - "properties": { - "privacy": false - } - }, - { - "name": "co.in", - "type": "Microsoft.DomainRegistration/topLevelDomains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.in", - "properties": { - "privacy": false - } - } - ] - }, - "headers": {} - } - }, - "operationId": "TopLevelDomains_List", - "title": "List Top Level Domains" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json deleted file mode 100644 index 911ecc9e2daf..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/RenewDomain.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "RG", - "subscriptionId": "3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545" - }, - "responses": { - "200": {}, - "202": {}, - "204": {} - }, - "operationId": "Domains_Renew", - "title": "Renew an existing domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json deleted file mode 100644 index 449adc7551c9..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/TransferOutDomain.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - }, - "400": {} - }, - "operationId": "Domains_TransferOut", - "title": "Transfer out domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json deleted file mode 100644 index bc03d98087a3..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomain.json +++ /dev/null @@ -1,303 +0,0 @@ -{ - "parameters": { - "api-version": "2024-11-01", - "domain": { - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "dnsType": "DefaultDomainRegistrarDns", - "privacy": false - } - }, - "domainName": "example.com", - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - }, - "202": { - "body": { - "name": "example.com", - "type": "Microsoft.DomainRegistration/domains", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com", - "location": "global", - "properties": { - "authCode": "exampleAuthCode", - "autoRenew": true, - "consent": { - "agreedAt": "2021-09-10T19:30:53Z", - "agreedBy": "192.0.2.1", - "agreementKeys": [ - "agreementKey1" - ] - }, - "contactAdmin": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "admin@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Admin", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactBilling": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "billing@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Billing", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactRegistrant": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "registrant@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Registrant", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "contactTech": { - "addressMailing": { - "address1": "3400 State St", - "city": "Chicago", - "country": "United States", - "postalCode": "67098", - "state": "IL" - }, - "email": "tech@email.com", - "fax": "1-245-534-2242", - "jobTitle": "Tech", - "nameFirst": "John", - "nameLast": "Doe", - "nameMiddle": "", - "organization": "Microsoft Inc.", - "phone": "1-245-534-2242" - }, - "createdTime": "2021-09-10T19:30:53Z", - "dnsType": "DefaultDomainRegistrarDns", - "domainNotRenewableReasons": [ - "ExpirationNotInRenewalTimeRange" - ], - "expirationTime": "2022-09-10T19:30:53Z", - "managedHostNames": [], - "nameServers": [ - "ns01.ote.domaincontrol.com", - "ns02.ote.domaincontrol.com" - ], - "privacy": false, - "provisioningState": "Succeeded", - "readyForDnsRecordManagement": true, - "registrationStatus": "Active" - }, - "tags": {} - }, - "headers": {} - } - }, - "operationId": "Domains_Update", - "title": "Update App Service Domain" -} diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json deleted file mode 100644 index 387a3d8a5594..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/stable/2024-11-01/examples/UpdateAppServiceDomainOwnershipIdentifier.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "parameters": { - "name": "SampleOwnershipId", - "api-version": "2024-11-01", - "domainName": "example.com", - "domainOwnershipIdentifier": { - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "resourceGroupName": "testrg123", - "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" - }, - "responses": { - "200": { - "body": { - "name": "SampleOwnershipId", - "type": "Microsoft.DomainRegistration/domains/domainownershipidentifiers", - "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.DomainRegistration/domains/example.com/domainownershipidentifiers/SampleOwnershipId", - "properties": { - "ownershipId": "SampleOwnershipId" - } - }, - "headers": {} - } - }, - "operationId": "Domains_UpdateOwnershipIdentifier", - "title": "Update App Service Domain OwnershipIdentifier" -} diff --git a/specification/web/resource-manager/Microsoft.Web/AppService/readme.md b/specification/web/resource-manager/Microsoft.Web/AppService/readme.md index fb20ac32b01f..e2a8ee4576bb 100644 --- a/specification/web/resource-manager/Microsoft.Web/AppService/readme.md +++ b/specification/web/resource-manager/Microsoft.Web/AppService/readme.md @@ -2352,4 +2352,4 @@ input-file: - stable/2018-02-01/Provider.json - stable/2018-02-01/ResourceProvider.json - stable/2018-02-01/Recommendations.json -``` \ No newline at end of file +``` From 472758101c4dc6f9ed4a4e19c66ae095fc455028 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 9 Oct 2025 18:00:56 +0800 Subject: [PATCH 23/43] modify tspconfig --- .../tspconfig.yaml | 2 +- .../stable/2024-11-01/openapi.json | 108 +++++++++--------- 2 files changed, 55 insertions(+), 55 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml index fdad07056b6a..ea9ac410dccd 100644 --- a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml +++ b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml @@ -8,7 +8,7 @@ options: omit-unreachable-types: true emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" - output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" + output-file: "{azure-resource-provider-folder}/{service-name}/DomainRegistration/{version-status}/{version}/openapi.json" examples-dir: "{project-root}/examples" emit-lro-options: "all" "@azure-tools/typespec-csharp": diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index b98ddc0b2799..96da127ddf96 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -61,7 +61,7 @@ "description": "List the operations for the provider", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -95,10 +95,10 @@ "description": "Description for Check if a domain is available for registration.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "identifier", @@ -140,10 +140,10 @@ "description": "Description for Get all domains in a subscription.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -177,10 +177,10 @@ "description": "Description for Generate a single sign-on request for the domain management portal.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -211,10 +211,10 @@ "description": "Description for Get domain name recommendations based on keywords.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -259,10 +259,10 @@ "description": "Description for Get all top-level domains supported for registration.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -298,10 +298,10 @@ "description": "Description for Get details of a top-level domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "name", @@ -341,10 +341,10 @@ "description": "Description for Gets all legal agreements that user needs to accept before purchasing a domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "name", @@ -396,13 +396,13 @@ "description": "Description for Get all domains in a resource group.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -438,13 +438,13 @@ "description": "Description for Get a domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -483,13 +483,13 @@ "description": "Description for Creates or updates a domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -554,13 +554,13 @@ "description": "Description for Creates or updates a domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -614,13 +614,13 @@ "description": "Description for Delete a domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -668,13 +668,13 @@ "description": "Description for Lists domain ownership identifiers.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -718,13 +718,13 @@ "description": "Description for Get ownership identifier for domain", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -770,13 +770,13 @@ "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -831,13 +831,13 @@ "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -892,13 +892,13 @@ "description": "Description for Delete ownership identifier for domain", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -946,13 +946,13 @@ "description": "Description for Renew a domain.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -996,13 +996,13 @@ "description": "Transfer out domain to another registrar", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "domainName", @@ -1343,7 +1343,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ] }, @@ -1419,7 +1419,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ] }, @@ -2154,7 +2154,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ] }, From 4640b7e177fc419a95cc95111e24615e11022c53 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 10 Oct 2025 14:14:05 +0800 Subject: [PATCH 24/43] update readme --- .../DomainRegistration/readme.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/readme.md b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/readme.md index dff671f20b03..d73d55d7a9a8 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/readme.md +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/readme.md @@ -43,10 +43,7 @@ These settings apply only when `--tag=package-2024-11` is specified on the comma ```yaml $(tag) == 'package-2024-11' input-file: - - stable/2024-11-01/DomainRegistrationProvider.json - - stable/2024-11-01/Domains.json - - stable/2024-11-01/TopLevelDomains.json - - stable/2024-11-01/CommonDefinitions.json + - stable/2024-11-01/openapi.json ``` ### Tag: package-2024-04 From 005aa4f16ee2065dba15edda40866f3a326fa30e Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 17 Oct 2025 10:16:43 +0800 Subject: [PATCH 25/43] update to use decorator directly --- .../DomainRegistration.Management/models.tsp | 10 ++------ .../stable/2024-11-01/openapi.json | 24 +++++++++---------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index b4c8d5abbe51..74167069ee68 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -434,6 +434,7 @@ model NameIdentifier { /** * Name of the object. */ + @OpenAPI.extension("x-ms-identifiers", #["name"]) name?: string; } @@ -815,10 +816,6 @@ model DomainRecommendationSearchParameters { /** * Collection of domain name identifiers. */ -@@OpenAPI.extension(NameIdentifierCollection.value, - "x-ms-identifiers", - #["name"] -); model NameIdentifierCollection is Azure.Core.Page; /** @@ -1037,10 +1034,6 @@ model TopLevelDomainAgreementOption { /** * Collection of top-level domain legal agreements. */ -@@OpenAPI.extension(TldLegalAgreementCollection.value, - "x-ms-identifiers", - #["agreementKey"] -); model TldLegalAgreementCollection is Azure.Core.Page; /** @@ -1050,6 +1043,7 @@ model TldLegalAgreement { /** * Unique identifier for the agreement. */ + @OpenAPI.extension("x-ms-identifiers", #["agreementKey"]) agreementKey: string; /** diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index 96da127ddf96..f51af8495f80 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -1997,23 +1997,23 @@ "properties": { "name": { "type": "string", - "description": "Name of the object." + "description": "Name of the object.", + "x-ms-identifiers": [ + "name" + ] } } }, "NameIdentifierCollection": { "type": "object", - "description": "Paged collection of NameIdentifier items", + "description": "Collection of domain name identifiers.", "properties": { "value": { "type": "array", "description": "The NameIdentifier items on this page", "items": { "$ref": "#/definitions/NameIdentifier" - }, - "x-ms-identifiers": [ - "name" - ] + } }, "nextLink": { "type": "string", @@ -2097,7 +2097,10 @@ "properties": { "agreementKey": { "type": "string", - "description": "Unique identifier for the agreement." + "description": "Unique identifier for the agreement.", + "x-ms-identifiers": [ + "agreementKey" + ] }, "title": { "type": "string", @@ -2120,17 +2123,14 @@ }, "TldLegalAgreementCollection": { "type": "object", - "description": "Paged collection of TldLegalAgreement items", + "description": "Collection of top-level domain legal agreements.", "properties": { "value": { "type": "array", "description": "The TldLegalAgreement items on this page", "items": { "$ref": "#/definitions/TldLegalAgreement" - }, - "x-ms-identifiers": [ - "agreementKey" - ] + } }, "nextLink": { "type": "string", From aeed3ee6d5fce2cd63b60ce6a8cecee070d12f8d Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Wed, 22 Oct 2025 16:05:05 +0800 Subject: [PATCH 26/43] Update --- .../DomainOwnershipIdentifier.tsp | 10 ++++++++++ .../back-compatible.tsp | 16 ---------------- .../DomainRegistration.Management/main.tsp | 1 - .../DomainRegistration.Management/routes.tsp | 6 ++++++ 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 29cef7ac74e4..3836a8bac40d 100644 --- a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -31,6 +31,8 @@ interface DomainOwnershipIdentifiers { /** * Description for Get ownership identifier for domain */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_GetOwnershipIdentifier") getOwnershipIdentifier is ArmResourceRead< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -40,6 +42,8 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_CreateOrUpdateOwnershipIdentifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< DomainOwnershipIdentifier, Response = ArmResourceUpdatedResponse, @@ -50,6 +54,8 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ @patch(#{ implicitOptionality: false }) + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_UpdateOwnershipIdentifier") updateOwnershipIdentifier is ArmCustomPatchSync< DomainOwnershipIdentifier, PatchModel = DomainOwnershipIdentifier, @@ -59,6 +65,8 @@ interface DomainOwnershipIdentifiers { /** * Description for Delete ownership identifier for domain */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_DeleteOwnershipIdentifier") deleteOwnershipIdentifier is ArmResourceDeleteSync< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -67,6 +75,8 @@ interface DomainOwnershipIdentifiers { /** * Description for Lists domain ownership identifiers. */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_ListOwnershipIdentifiers") listOwnershipIdentifiers is ArmResourceListByParent< DomainOwnershipIdentifier, Response = ArmResponse, diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index fa7cbd10ce69..696e2e116064 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -6,32 +6,16 @@ using Microsoft.DomainRegistration; @@clientName(Domains.createOrUpdate::parameters.resource, "domain"); @@clientName(Domains.update::parameters.properties, "domain"); -@@clientLocation(DomainOwnershipIdentifiers.getOwnershipIdentifier, "Domains"); -@@clientLocation(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier, - "Domains" -); @@clientName(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, "domainOwnershipIdentifier" ); -@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, - "Domains" -); @@clientName(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, "domainOwnershipIdentifier" ); -@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, - "Domains" -); -@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, - "Domains" -); @@clientName(TopLevelDomains.listAgreements::parameters.body, "agreementOption" ); -@@clientLocation(DomainsOperationGroup.checkAvailability, "Domains"); -@@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, "Domains"); -@@clientLocation(DomainsOperationGroup.listRecommendations, "Domains"); @@clientName(DomainsOperationGroup.listRecommendations::parameters.body, "parameters" diff --git a/specification/domainregistration/DomainRegistration.Management/main.tsp b/specification/domainregistration/DomainRegistration.Management/main.tsp index 06bae94c7ac7..245d353d7b65 100644 --- a/specification/domainregistration/DomainRegistration.Management/main.tsp +++ b/specification/domainregistration/DomainRegistration.Management/main.tsp @@ -27,7 +27,6 @@ using TypeSpec.Versioning; /** * */ -#suppress "@azure-tools/typespec-client-generator-core/client-location-duplicate" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @armProviderNamespace @service(#{ title: "TopLevelDomains API Client" }) @versioned(Versions) diff --git a/specification/domainregistration/DomainRegistration.Management/routes.tsp b/specification/domainregistration/DomainRegistration.Management/routes.tsp index df0cd95bac5d..e20328ef0f44 100644 --- a/specification/domainregistration/DomainRegistration.Management/routes.tsp +++ b/specification/domainregistration/DomainRegistration.Management/routes.tsp @@ -21,6 +21,8 @@ interface DomainsOperationGroup { @summary("Check if a domain is available for registration.") @autoRoute @action("checkDomainAvailability") + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_CheckAvailability") checkAvailability is ArmProviderActionSync< Request = NameIdentifier, Response = DomainAvailabilityCheckResult, @@ -35,6 +37,8 @@ interface DomainsOperationGroup { @summary("Generate a single sign-on request for the domain management portal.") @autoRoute @action("generateSsoRequest") + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_GetControlCenterSsoRequest") getControlCenterSsoRequest is ArmProviderActionSync< Response = DomainControlCenterSsoRequest, Scope = SubscriptionActionScope, @@ -49,6 +53,8 @@ interface DomainsOperationGroup { @autoRoute @action("listDomainRecommendations") @list + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @operationId("Domains_ListRecommendations") listRecommendations is ArmProviderActionSync< Request = DomainRecommendationSearchParameters, Response = NameIdentifierCollection, From f5709d94c5b6c805d431ee5eb5e0acdf38c6e1e0 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Wed, 22 Oct 2025 16:58:04 +0800 Subject: [PATCH 27/43] Update --- .../DomainRegistration.Management/Domain.tsp | 8 +- .../DomainRegistration.Management/models.tsp | 257 +++++++-------- .../stable/2024-11-01/openapi.json | 300 ++++++++++-------- 3 files changed, 296 insertions(+), 269 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/Domain.tsp b/specification/domainregistration/DomainRegistration.Management/Domain.tsp index 814e39ed2737..c3752773b3f0 100644 --- a/specification/domainregistration/DomainRegistration.Management/Domain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/Domain.tsp @@ -15,7 +15,7 @@ namespace Microsoft.DomainRegistration; */ model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< - Resource = {}, + Resource = Domain, KeyName = "domainName", SegmentName = "domains", NamePattern = "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" @@ -47,12 +47,11 @@ interface Domains { * Description for Creates or updates a domain. */ #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< Domain, PatchModel = DomainPatchResource, - Response = ArmResponse | (AcceptedResponse & { + Response = ArmResponse | (ArmAcceptedResponse> & { @bodyRoot _: Domain; }), @@ -95,12 +94,11 @@ interface Domains { /** * Description for Renew a domain. */ - #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" renew is ArmResourceActionSync< Domain, void, - OkResponse | AcceptedResponse | NoContentResponse, + OkResponse | ArmAcceptedResponse> | NoContentResponse, Error = DefaultErrorResponse >; diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 74167069ee68..6e25f01304b7 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -495,14 +495,12 @@ model DomainProperties { /** * Domain registration status. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) registrationStatus?: DomainStatus; /** * Domain provisioning state. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @@ -827,131 +825,136 @@ model DomainPatchResource extends ProxyOnlyResource { /** * DomainPatchResource resource specific properties */ - properties?: { - /** - * Administrative contact. - */ - @visibility(Lifecycle.Create) - contactAdmin: Contact; - - /** - * Billing contact. - */ - @visibility(Lifecycle.Create) - contactBilling: Contact; - - /** - * Registrant contact. - */ - @visibility(Lifecycle.Create) - contactRegistrant: Contact; - - /** - * Technical contact. - */ - @visibility(Lifecycle.Create) - contactTech: Contact; - - /** - * Domain registration status. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - registrationStatus?: DomainStatus; - - /** - * Domain provisioning state. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - provisioningState?: ProvisioningState; - - /** - * Name servers. - */ - @visibility(Lifecycle.Read) - nameServers?: string[]; - - /** - * true if domain privacy is enabled for this domain; otherwise, false. - */ - privacy?: boolean; - - /** - * Domain creation timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - createdTime?: utcDateTime; - - /** - * Domain expiration timestamp. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - expirationTime?: utcDateTime; - - /** - * Timestamp when the domain was renewed last time. - */ - @visibility(Lifecycle.Read) - // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. - lastRenewedTime?: utcDateTime; - - /** - * true if the domain should be automatically renewed; otherwise, false. - */ - autoRenew?: boolean = true; - - /** - * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. - */ - @visibility(Lifecycle.Read) - readyForDnsRecordManagement?: boolean; - - /** - * All hostnames derived from the domain and assigned to Azure resources. - */ - @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) - managedHostNames?: HostName[]; - - /** - * Legal agreement consent. - */ - @visibility(Lifecycle.Create) - consent: DomainPurchaseConsent; - - /** - * Reasons why domain is not renewable. - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @visibility(Lifecycle.Read) - domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; - - /** - * Current DNS type - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - dnsType?: DnsType; - - /** - * Azure DNS Zone to use - */ - dnsZoneId?: string; - - /** - * Target DNS type (would be used for migration) - */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - targetDnsType?: DnsType; - - /** - * Authorization code for the domain. - */ - @visibility(Lifecycle.Create, Lifecycle.Read) - authCode?: string; - }; + properties?: DomainPatchResourceProperties; +} + +/** + * DomainPatchResource resource specific properties + */ +model DomainPatchResourceProperties { + /** + * Administrative contact. + */ + @visibility(Lifecycle.Create) + contactAdmin: Contact; + + /** + * Billing contact. + */ + @visibility(Lifecycle.Create) + contactBilling: Contact; + + /** + * Registrant contact. + */ + @visibility(Lifecycle.Create) + contactRegistrant: Contact; + + /** + * Technical contact. + */ + @visibility(Lifecycle.Create) + contactTech: Contact; + + /** + * Domain registration status. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + registrationStatus?: DomainStatus; + + /** + * Domain provisioning state. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Name servers. + */ + @visibility(Lifecycle.Read) + nameServers?: string[]; + + /** + * true if domain privacy is enabled for this domain; otherwise, false. + */ + privacy?: boolean; + + /** + * Domain creation timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdTime?: utcDateTime; + + /** + * Domain expiration timestamp. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + expirationTime?: utcDateTime; + + /** + * Timestamp when the domain was renewed last time. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastRenewedTime?: utcDateTime; + + /** + * true if the domain should be automatically renewed; otherwise, false. + */ + autoRenew?: boolean = true; + + /** + * true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to. + */ + @visibility(Lifecycle.Read) + readyForDnsRecordManagement?: boolean; + + /** + * All hostnames derived from the domain and assigned to Azure resources. + */ + @visibility(Lifecycle.Read) + @OpenAPI.extension("x-ms-identifiers", #["name"]) + managedHostNames?: HostName[]; + + /** + * Legal agreement consent. + */ + @visibility(Lifecycle.Create) + consent: DomainPurchaseConsent; + + /** + * Reasons why domain is not renewable. + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; + + /** + * Current DNS type + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + dnsType?: DnsType; + + /** + * Azure DNS Zone to use + */ + dnsZoneId?: string; + + /** + * Target DNS type (would be used for migration) + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + targetDnsType?: DnsType; + + /** + * Authorization code for the domain. + */ + @visibility(Lifecycle.Create, Lifecycle.Read) + authCode?: string; } /** diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index f51af8495f80..85ee2611dca4 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -591,6 +591,12 @@ "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Domain" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } } }, "default": { @@ -604,7 +610,12 @@ "Update App Service Domain": { "$ref": "./examples/UpdateAppServiceDomain.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/Domain" + }, + "x-ms-long-running-operation": true }, "delete": { "operationId": "Domains_Delete", @@ -968,7 +979,13 @@ "description": "The request has succeeded." }, "202": { - "description": "The request has been accepted for processing, but processing has not yet completed." + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } }, "204": { "description": "There is no content to send for this request, but the headers may be useful." @@ -984,7 +1001,12 @@ "Renew an existing domain": { "$ref": "./examples/RenewDomain.json" } - } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location", + "final-state-schema": "#/definitions/Domain" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/transferOut": { @@ -1459,141 +1481,8 @@ "description": "ARM resource for a domain.", "properties": { "properties": { - "type": "object", + "$ref": "#/definitions/DomainPatchResourceProperties", "description": "DomainPatchResource resource specific properties", - "properties": { - "contactAdmin": { - "$ref": "#/definitions/Contact", - "description": "Administrative contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactBilling": { - "$ref": "#/definitions/Contact", - "description": "Billing contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactRegistrant": { - "$ref": "#/definitions/Contact", - "description": "Registrant contact.", - "x-ms-mutability": [ - "create" - ] - }, - "contactTech": { - "$ref": "#/definitions/Contact", - "description": "Technical contact.", - "x-ms-mutability": [ - "create" - ] - }, - "registrationStatus": { - "$ref": "#/definitions/DomainStatus", - "description": "Domain registration status.", - "readOnly": true - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "description": "Domain provisioning state.", - "readOnly": true - }, - "nameServers": { - "type": "array", - "description": "Name servers.", - "items": { - "type": "string" - }, - "readOnly": true - }, - "privacy": { - "type": "boolean", - "description": "true if domain privacy is enabled for this domain; otherwise, false." - }, - "createdTime": { - "type": "string", - "format": "date-time", - "description": "Domain creation timestamp.", - "readOnly": true - }, - "expirationTime": { - "type": "string", - "format": "date-time", - "description": "Domain expiration timestamp.", - "readOnly": true - }, - "lastRenewedTime": { - "type": "string", - "format": "date-time", - "description": "Timestamp when the domain was renewed last time.", - "readOnly": true - }, - "autoRenew": { - "type": "boolean", - "description": "true if the domain should be automatically renewed; otherwise, false.", - "default": true - }, - "readyForDnsRecordManagement": { - "type": "boolean", - "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \\n it is hosted on name servers Azure has programmatic access to.", - "readOnly": true - }, - "managedHostNames": { - "type": "array", - "description": "All hostnames derived from the domain and assigned to Azure resources.", - "items": { - "$ref": "#/definitions/HostName" - }, - "readOnly": true, - "x-ms-identifiers": [ - "name" - ] - }, - "consent": { - "$ref": "#/definitions/DomainPurchaseConsent", - "description": "Legal agreement consent.", - "x-ms-mutability": [ - "create" - ] - }, - "domainNotRenewableReasons": { - "type": "array", - "description": "Reasons why domain is not renewable.", - "items": { - "$ref": "#/definitions/domainNotRenewableReasonsProperties" - }, - "readOnly": true - }, - "dnsType": { - "$ref": "#/definitions/DnsType", - "description": "Current DNS type" - }, - "dnsZoneId": { - "type": "string", - "description": "Azure DNS Zone to use" - }, - "targetDnsType": { - "$ref": "#/definitions/DnsType", - "description": "Target DNS type (would be used for migration)" - }, - "authCode": { - "type": "string", - "description": "Authorization code for the domain.", - "x-ms-mutability": [ - "read", - "create" - ] - } - }, - "required": [ - "contactAdmin", - "contactBilling", - "contactRegistrant", - "contactTech", - "consent" - ], "x-ms-client-flatten": true } }, @@ -1603,6 +1492,143 @@ } ] }, + "DomainPatchResourceProperties": { + "type": "object", + "description": "DomainPatchResource resource specific properties", + "properties": { + "contactAdmin": { + "$ref": "#/definitions/Contact", + "description": "Administrative contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactBilling": { + "$ref": "#/definitions/Contact", + "description": "Billing contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactRegistrant": { + "$ref": "#/definitions/Contact", + "description": "Registrant contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactTech": { + "$ref": "#/definitions/Contact", + "description": "Technical contact.", + "x-ms-mutability": [ + "create" + ] + }, + "registrationStatus": { + "$ref": "#/definitions/DomainStatus", + "description": "Domain registration status.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Domain provisioning state.", + "readOnly": true + }, + "nameServers": { + "type": "array", + "description": "Name servers.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privacy": { + "type": "boolean", + "description": "true if domain privacy is enabled for this domain; otherwise, false." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "description": "Domain creation timestamp.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Domain expiration timestamp.", + "readOnly": true + }, + "lastRenewedTime": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the domain was renewed last time.", + "readOnly": true + }, + "autoRenew": { + "type": "boolean", + "description": "true if the domain should be automatically renewed; otherwise, false.", + "default": true + }, + "readyForDnsRecordManagement": { + "type": "boolean", + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \\n it is hosted on name servers Azure has programmatic access to.", + "readOnly": true + }, + "managedHostNames": { + "type": "array", + "description": "All hostnames derived from the domain and assigned to Azure resources.", + "items": { + "$ref": "#/definitions/HostName" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + }, + "consent": { + "$ref": "#/definitions/DomainPurchaseConsent", + "description": "Legal agreement consent.", + "x-ms-mutability": [ + "create" + ] + }, + "domainNotRenewableReasons": { + "type": "array", + "description": "Reasons why domain is not renewable.", + "items": { + "$ref": "#/definitions/domainNotRenewableReasonsProperties" + }, + "readOnly": true + }, + "dnsType": { + "$ref": "#/definitions/DnsType", + "description": "Current DNS type" + }, + "dnsZoneId": { + "type": "string", + "description": "Azure DNS Zone to use" + }, + "targetDnsType": { + "$ref": "#/definitions/DnsType", + "description": "Target DNS type (would be used for migration)" + }, + "authCode": { + "type": "string", + "description": "Authorization code for the domain.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "contactAdmin", + "contactBilling", + "contactRegistrant", + "contactTech", + "consent" + ] + }, "DomainProperties": { "type": "object", "description": "Domain resource specific properties", From b6cbaa9e87be8dabd3afcd3a4788dd1e386954cd Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 23 Oct 2025 11:27:40 +0800 Subject: [PATCH 28/43] Update --- .../DomainOwnershipIdentifier.tsp | 10 ---------- .../back-compatible.tsp | 16 ++++++++++++++++ .../DomainRegistration.Management/routes.tsp | 6 ------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 3836a8bac40d..29cef7ac74e4 100644 --- a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -31,8 +31,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Get ownership identifier for domain */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_GetOwnershipIdentifier") getOwnershipIdentifier is ArmResourceRead< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -42,8 +40,6 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_CreateOrUpdateOwnershipIdentifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< DomainOwnershipIdentifier, Response = ArmResourceUpdatedResponse, @@ -54,8 +50,6 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ @patch(#{ implicitOptionality: false }) - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_UpdateOwnershipIdentifier") updateOwnershipIdentifier is ArmCustomPatchSync< DomainOwnershipIdentifier, PatchModel = DomainOwnershipIdentifier, @@ -65,8 +59,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Delete ownership identifier for domain */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_DeleteOwnershipIdentifier") deleteOwnershipIdentifier is ArmResourceDeleteSync< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -75,8 +67,6 @@ interface DomainOwnershipIdentifiers { /** * Description for Lists domain ownership identifiers. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_ListOwnershipIdentifiers") listOwnershipIdentifiers is ArmResourceListByParent< DomainOwnershipIdentifier, Response = ArmResponse, diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index 696e2e116064..02f03a98a316 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -6,16 +6,32 @@ using Microsoft.DomainRegistration; @@clientName(Domains.createOrUpdate::parameters.resource, "domain"); @@clientName(Domains.update::parameters.properties, "domain"); +@@clientLocation(DomainOwnershipIdentifiers.getOwnershipIdentifier, Domains); +@@clientLocation(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier, + Domains +); @@clientName(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, "domainOwnershipIdentifier" ); +@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, + Domains +); @@clientName(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, "domainOwnershipIdentifier" ); +@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, + Domains +); +@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, + Domains +); @@clientName(TopLevelDomains.listAgreements::parameters.body, "agreementOption" ); +@@clientLocation(DomainsOperationGroup.checkAvailability, Domains); +@@clientLocation(DomainsOperationGroup.getControlCenterSsoRequest, Domains); +@@clientLocation(DomainsOperationGroup.listRecommendations, Domains); @@clientName(DomainsOperationGroup.listRecommendations::parameters.body, "parameters" diff --git a/specification/domainregistration/DomainRegistration.Management/routes.tsp b/specification/domainregistration/DomainRegistration.Management/routes.tsp index e20328ef0f44..df0cd95bac5d 100644 --- a/specification/domainregistration/DomainRegistration.Management/routes.tsp +++ b/specification/domainregistration/DomainRegistration.Management/routes.tsp @@ -21,8 +21,6 @@ interface DomainsOperationGroup { @summary("Check if a domain is available for registration.") @autoRoute @action("checkDomainAvailability") - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_CheckAvailability") checkAvailability is ArmProviderActionSync< Request = NameIdentifier, Response = DomainAvailabilityCheckResult, @@ -37,8 +35,6 @@ interface DomainsOperationGroup { @summary("Generate a single sign-on request for the domain management portal.") @autoRoute @action("generateSsoRequest") - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_GetControlCenterSsoRequest") getControlCenterSsoRequest is ArmProviderActionSync< Response = DomainControlCenterSsoRequest, Scope = SubscriptionActionScope, @@ -53,8 +49,6 @@ interface DomainsOperationGroup { @autoRoute @action("listDomainRecommendations") @list - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - @operationId("Domains_ListRecommendations") listRecommendations is ArmProviderActionSync< Request = DomainRecommendationSearchParameters, Response = NameIdentifierCollection, From 4f68803a2c983179d28a35cf51c5d8c0eb5d4602 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 30 Oct 2025 10:25:39 +0800 Subject: [PATCH 29/43] run tsp format --- sparse-spec | 1 + .../back-compatible.tsp | 12 +++--------- 2 files changed, 4 insertions(+), 9 deletions(-) create mode 160000 sparse-spec diff --git a/sparse-spec b/sparse-spec new file mode 160000 index 000000000000..64532bab5808 --- /dev/null +++ b/sparse-spec @@ -0,0 +1 @@ +Subproject commit 64532bab58086c84b9dbe5e08766e8ffde8c4493 diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index 02f03a98a316..a45b0a56bf93 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -13,18 +13,12 @@ using Microsoft.DomainRegistration; @@clientName(DomainOwnershipIdentifiers.createOrUpdateOwnershipIdentifier::parameters.resource, "domainOwnershipIdentifier" ); -@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, - Domains -); +@@clientLocation(DomainOwnershipIdentifiers.updateOwnershipIdentifier, Domains); @@clientName(DomainOwnershipIdentifiers.updateOwnershipIdentifier::parameters.properties, "domainOwnershipIdentifier" ); -@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, - Domains -); -@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, - Domains -); +@@clientLocation(DomainOwnershipIdentifiers.deleteOwnershipIdentifier, Domains); +@@clientLocation(DomainOwnershipIdentifiers.listOwnershipIdentifiers, Domains); @@clientName(TopLevelDomains.listAgreements::parameters.body, "agreementOption" From aea72dfbdaf875e6f2fe45e1b651165fd6081e2e Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 30 Oct 2025 14:50:13 +0800 Subject: [PATCH 30/43] fix diff --- .../DomainRegistration.Management/Domain.tsp | 6 ++-- .../stable/2024-11-01/openapi.json | 28 +++++++------------ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/Domain.tsp b/specification/domainregistration/DomainRegistration.Management/Domain.tsp index c3752773b3f0..85d462c5ec94 100644 --- a/specification/domainregistration/DomainRegistration.Management/Domain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/Domain.tsp @@ -47,11 +47,12 @@ interface Domains { * Description for Creates or updates a domain. */ #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) update is ArmCustomPatchSync< Domain, PatchModel = DomainPatchResource, - Response = ArmResponse | (ArmAcceptedResponse> & { + Response = ArmResponse | (ArmAcceptedResponse & { @bodyRoot _: Domain; }), @@ -95,10 +96,11 @@ interface Domains { * Description for Renew a domain. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" renew is ArmResourceActionSync< Domain, void, - OkResponse | ArmAcceptedResponse> | NoContentResponse, + OkResponse | ArmAcceptedResponse | NoContentResponse, Error = DefaultErrorResponse >; diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index 85ee2611dca4..4ca64da7f019 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -593,9 +593,10 @@ "$ref": "#/definitions/Domain" }, "headers": { - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, @@ -610,12 +611,7 @@ "Update App Service Domain": { "$ref": "./examples/UpdateAppServiceDomain.json" } - }, - "x-ms-long-running-operation-options": { - "final-state-via": "location", - "final-state-schema": "#/definitions/Domain" - }, - "x-ms-long-running-operation": true + } }, "delete": { "operationId": "Domains_Delete", @@ -981,9 +977,10 @@ "202": { "description": "Resource operation accepted.", "headers": { - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, @@ -1001,12 +998,7 @@ "Renew an existing domain": { "$ref": "./examples/RenewDomain.json" } - }, - "x-ms-long-running-operation-options": { - "final-state-via": "location", - "final-state-schema": "#/definitions/Domain" - }, - "x-ms-long-running-operation": true + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/transferOut": { From 99ee5924ef0c5302b79537af6162abf65e688a03 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 30 Oct 2025 15:02:41 +0800 Subject: [PATCH 31/43] add summary --- .../DomainRegistration.Management/Domain.tsp | 7 +++++++ .../DomainOwnershipIdentifier.tsp | 5 +++++ .../TopLevelDomain.tsp | 2 ++ .../stable/2024-11-01/openapi.json | 14 ++++++++++++++ 4 files changed, 28 insertions(+) diff --git a/specification/domainregistration/DomainRegistration.Management/Domain.tsp b/specification/domainregistration/DomainRegistration.Management/Domain.tsp index 85d462c5ec94..2fb32274e185 100644 --- a/specification/domainregistration/DomainRegistration.Management/Domain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/Domain.tsp @@ -27,6 +27,7 @@ interface Domains { /** * Description for Get a domain. */ + @summary("Get a domain.") get is ArmResourceRead; /** @@ -34,6 +35,7 @@ interface Domains { */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @summary("Creates or updates a domain.") createOrUpdate is ArmResourceCreateOrReplaceAsync< Domain, Response = ArmResourceUpdatedResponse | (ArmAcceptedLroResponse> & { @@ -49,6 +51,7 @@ interface Domains { #suppress "@azure-tools/typespec-azure-resource-manager/no-response-body" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @patch(#{ implicitOptionality: false }) + @summary("Creates or updates a domain.") update is ArmCustomPatchSync< Domain, PatchModel = DomainPatchResource, @@ -62,6 +65,7 @@ interface Domains { /** * Description for Delete a domain. */ + @summary("Delete a domain.") delete is ArmResourceDeleteSync< Domain, Parameters = { @@ -77,6 +81,7 @@ interface Domains { /** * Description for Get all domains in a resource group. */ + @summary("Get all domains in a resource group.") listByResourceGroup is ArmResourceListByParent< Domain, Response = ArmResponse, @@ -97,6 +102,7 @@ interface Domains { */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @summary("Renew a domain.") renew is ArmResourceActionSync< Domain, void, @@ -109,6 +115,7 @@ interface Domains { */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @put + @summary("Transfer out domain to another registrar") transferOut is ArmResourceActionSync< Domain, void, diff --git a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 29cef7ac74e4..bbd921446fe8 100644 --- a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -31,6 +31,7 @@ interface DomainOwnershipIdentifiers { /** * Description for Get ownership identifier for domain */ + @summary("Get ownership identifier for domain") getOwnershipIdentifier is ArmResourceRead< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -40,6 +41,7 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @summary("Creates an ownership identifier for a domain or updates identifier details for an existing identifier") createOrUpdateOwnershipIdentifier is ArmResourceCreateOrReplaceSync< DomainOwnershipIdentifier, Response = ArmResourceUpdatedResponse, @@ -50,6 +52,7 @@ interface DomainOwnershipIdentifiers { * Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier */ @patch(#{ implicitOptionality: false }) + @summary("Creates an ownership identifier for a domain or updates identifier details for an existing identifier") updateOwnershipIdentifier is ArmCustomPatchSync< DomainOwnershipIdentifier, PatchModel = DomainOwnershipIdentifier, @@ -59,6 +62,7 @@ interface DomainOwnershipIdentifiers { /** * Description for Delete ownership identifier for domain */ + @summary("Delete ownership identifier for domain") deleteOwnershipIdentifier is ArmResourceDeleteSync< DomainOwnershipIdentifier, Error = DefaultErrorResponse @@ -67,6 +71,7 @@ interface DomainOwnershipIdentifiers { /** * Description for Lists domain ownership identifiers. */ + @summary("Lists domain ownership identifiers.") listOwnershipIdentifiers is ArmResourceListByParent< DomainOwnershipIdentifier, Response = ArmResponse, diff --git a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp index c0c8f057e6f0..09a3b7e7c1fd 100644 --- a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp @@ -29,6 +29,7 @@ interface TopLevelDomains { /** * Description for Get details of a top-level domain. */ + @summary("Get details of a top-level domain.") get is ArmResourceRead< TopLevelDomain, BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, @@ -49,6 +50,7 @@ interface TopLevelDomains { * Description for Gets all legal agreements that user needs to accept before purchasing a domain. */ @list + @summary("Gets all legal agreements that user needs to accept before purchasing a domain.") listAgreements is ArmResourceActionSync< TopLevelDomain, TopLevelDomainAgreementOption, diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index 4ca64da7f019..6652a17a0ccc 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -295,6 +295,7 @@ "tags": [ "TopLevelDomains" ], + "summary": "Get details of a top-level domain.", "description": "Description for Get details of a top-level domain.", "parameters": [ { @@ -338,6 +339,7 @@ "tags": [ "TopLevelDomains" ], + "summary": "Gets all legal agreements that user needs to accept before purchasing a domain.", "description": "Description for Gets all legal agreements that user needs to accept before purchasing a domain.", "parameters": [ { @@ -393,6 +395,7 @@ "tags": [ "Domains" ], + "summary": "Get all domains in a resource group.", "description": "Description for Get all domains in a resource group.", "parameters": [ { @@ -435,6 +438,7 @@ "tags": [ "Domains" ], + "summary": "Get a domain.", "description": "Description for Get a domain.", "parameters": [ { @@ -480,6 +484,7 @@ "tags": [ "Domains" ], + "summary": "Creates or updates a domain.", "description": "Description for Creates or updates a domain.", "parameters": [ { @@ -551,6 +556,7 @@ "tags": [ "Domains" ], + "summary": "Creates or updates a domain.", "description": "Description for Creates or updates a domain.", "parameters": [ { @@ -618,6 +624,7 @@ "tags": [ "Domains" ], + "summary": "Delete a domain.", "description": "Description for Delete a domain.", "parameters": [ { @@ -672,6 +679,7 @@ "tags": [ "DomainOwnershipIdentifiers" ], + "summary": "Lists domain ownership identifiers.", "description": "Description for Lists domain ownership identifiers.", "parameters": [ { @@ -722,6 +730,7 @@ "tags": [ "DomainOwnershipIdentifiers" ], + "summary": "Get ownership identifier for domain", "description": "Description for Get ownership identifier for domain", "parameters": [ { @@ -774,6 +783,7 @@ "tags": [ "DomainOwnershipIdentifiers" ], + "summary": "Creates an ownership identifier for a domain or updates identifier details for an existing identifier", "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", "parameters": [ { @@ -835,6 +845,7 @@ "tags": [ "DomainOwnershipIdentifiers" ], + "summary": "Creates an ownership identifier for a domain or updates identifier details for an existing identifier", "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifier", "parameters": [ { @@ -896,6 +907,7 @@ "tags": [ "DomainOwnershipIdentifiers" ], + "summary": "Delete ownership identifier for domain", "description": "Description for Delete ownership identifier for domain", "parameters": [ { @@ -950,6 +962,7 @@ "tags": [ "Domains" ], + "summary": "Renew a domain.", "description": "Description for Renew a domain.", "parameters": [ { @@ -1007,6 +1020,7 @@ "tags": [ "Domains" ], + "summary": "Transfer out domain to another registrar", "description": "Transfer out domain to another registrar", "parameters": [ { From 5e120c3392c7ed996aae0fc9e5e7a2cd5f699229 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 30 Oct 2025 15:22:28 +0800 Subject: [PATCH 32/43] delete CommonDefinitions.json --- .../stable/2024-11-01/CommonDefinitions.json | 4918 ----------------- 1 file changed, 4918 deletions(-) delete mode 100644 specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/CommonDefinitions.json diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/CommonDefinitions.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/CommonDefinitions.json deleted file mode 100644 index 32d63fd459d4..000000000000 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/CommonDefinitions.json +++ /dev/null @@ -1,4918 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2024-11-01", - "title": "Common Definitions" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": {}, - "definitions": { - "ApiDefinitionInfo": { - "description": "Information about the formal API definition for the app.", - "type": "object", - "properties": { - "url": { - "description": "The URL of the API definition.", - "type": "string" - } - } - }, - "ApiManagementConfig": { - "description": "Azure API management (APIM) configuration linked to the app.", - "type": "object", - "properties": { - "id": { - "description": "APIM-Api Identifier.", - "type": "string" - } - } - }, - "AppServiceEnvironment": { - "description": "Description of an App Service Environment.", - "required": [ - "virtualNetwork" - ], - "type": "object", - "properties": { - "provisioningState": { - "description": "Provisioning state of the App Service Environment.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - } - }, - "status": { - "description": "Current status of the App Service Environment.", - "enum": [ - "Preparing", - "Ready", - "Scaling", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "HostingEnvironmentStatus", - "modelAsString": false - } - }, - "virtualNetwork": { - "$ref": "#/definitions/VirtualNetworkProfile", - "description": "Description of the Virtual Network." - }, - "internalLoadBalancingMode": { - "description": "Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.", - "enum": [ - "None", - "Web", - "Publishing", - "Web, Publishing" - ], - "type": "string", - "x-ms-enum": { - "name": "LoadBalancingMode", - "modelAsString": true - } - }, - "multiSize": { - "description": "Front-end VM size, e.g. \"Medium\", \"Large\".", - "type": "string" - }, - "multiRoleCount": { - "format": "int32", - "description": "Number of front-end instances.", - "type": "integer", - "readOnly": true - }, - "ipsslAddressCount": { - "format": "int32", - "description": "Number of IP SSL addresses reserved for the App Service Environment.", - "type": "integer" - }, - "dnsSuffix": { - "description": "DNS suffix of the App Service Environment.", - "type": "string" - }, - "maximumNumberOfMachines": { - "format": "int32", - "description": "Maximum number of VMs in the App Service Environment.", - "type": "integer", - "readOnly": true - }, - "frontEndScaleFactor": { - "format": "int32", - "description": "Scale factor for front-ends.", - "type": "integer" - }, - "suspended": { - "description": "true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available\n (most likely because NSG blocked the incoming traffic).", - "type": "boolean", - "readOnly": true - }, - "clusterSettings": { - "description": "Custom settings for changing the behavior of the App Service Environment.", - "type": "array", - "items": { - "$ref": "#/definitions/NameValuePair" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "userWhitelistedIpRanges": { - "description": "User added ip ranges to whitelist on ASE db", - "type": "array", - "items": { - "type": "string" - } - }, - "hasLinuxWorkers": { - "description": "Flag that displays whether an ASE has linux workers or not", - "type": "boolean", - "readOnly": true - }, - "upgradePreference": { - "description": "Upgrade Preference", - "default": "None", - "enum": [ - "None", - "Early", - "Late", - "Manual" - ], - "type": "string", - "x-ms-enum": { - "name": "UpgradePreference", - "modelAsString": true, - "values": [ - { - "value": "None", - "description": "No preference on when this App Service Environment will be upgraded" - }, - { - "value": "Early", - "description": "This App Service Environment will be upgraded before others in the same region that have Upgrade Preference 'Late'" - }, - { - "value": "Late", - "description": "This App Service Environment will be upgraded after others in the same region that have Upgrade Preference 'Early'" - }, - { - "value": "Manual", - "description": "ASEv3 only. Once an upgrade is available, this App Service Environment will wait 10 days for the upgrade to be manually initiated. After 10 days the upgrade will begin automatically" - } - ] - } - }, - "dedicatedHostCount": { - "format": "int32", - "description": "Dedicated Host Count", - "type": "integer" - }, - "zoneRedundant": { - "description": "Whether or not this App Service Environment is zone-redundant.", - "type": "boolean" - }, - "customDnsSuffixConfiguration": { - "$ref": "#/definitions/CustomDnsSuffixConfiguration" - }, - "networkingConfiguration": { - "$ref": "#/definitions/AseV3NetworkingConfiguration" - }, - "upgradeAvailability": { - "description": "Whether an upgrade is available for this App Service Environment.", - "enum": [ - "None", - "Ready" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "UpgradeAvailability", - "modelAsString": true, - "values": [ - { - "value": "None", - "description": "No upgrade is currently available for this App Service Environment" - }, - { - "value": "Ready", - "description": "An upgrade is ready to be manually initiated on this App Service Environment" - } - ] - } - } - } - }, - "AppServicePlan": { - "description": "App Service plan.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "AppServicePlan resource specific properties", - "type": "object", - "properties": { - "workerTierName": { - "description": "Target worker tier assigned to the App Service plan.", - "type": "string" - }, - "status": { - "description": "App Service plan status.", - "enum": [ - "Ready", - "Pending", - "Creating" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "StatusOptions", - "modelAsString": false - } - }, - "subscription": { - "description": "App Service plan subscription.", - "type": "string", - "readOnly": true - }, - "hostingEnvironmentProfile": { - "$ref": "#/definitions/HostingEnvironmentProfile", - "description": "Specification for the App Service Environment to use for the App Service plan.", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "maximumNumberOfWorkers": { - "format": "int32", - "description": "Maximum number of instances that can be assigned to this App Service plan.", - "type": "integer", - "readOnly": true - }, - "numberOfWorkers": { - "format": "int32", - "description": "The number of instances that are assigned to this App Service plan.", - "type": "integer", - "readOnly": true - }, - "geoRegion": { - "description": "Geographical location for the App Service plan.", - "type": "string", - "readOnly": true - }, - "perSiteScaling": { - "description": "If true, apps assigned to this App Service plan can be scaled independently.\nIf false, apps assigned to this App Service plan will scale to all instances of the plan.", - "default": false, - "type": "boolean" - }, - "elasticScaleEnabled": { - "description": "ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was ElasticPremium sku", - "type": "boolean" - }, - "maximumElasticWorkerCount": { - "format": "int32", - "description": "Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan", - "type": "integer" - }, - "numberOfSites": { - "format": "int32", - "description": "Number of apps assigned to this App Service plan.", - "type": "integer", - "readOnly": true - }, - "isSpot": { - "description": "If true, this App Service Plan owns spot instances.", - "type": "boolean" - }, - "spotExpirationTime": { - "format": "date-time", - "description": "The time when the server farm expires. Valid only if it is a spot server farm.", - "type": "string" - }, - "freeOfferExpirationTime": { - "format": "date-time", - "description": "The time when the server farm free offer expires.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of the App Service plan.", - "type": "string", - "readOnly": true - }, - "reserved": { - "description": "If Linux app service plan true, false otherwise.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "isXenon": { - "description": "Obsolete: If Hyper-V container app service plan true, false otherwise.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "hyperV": { - "description": "If Hyper-V container app service plan true, false otherwise.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "targetWorkerCount": { - "format": "int32", - "description": "Scaling worker count.", - "type": "integer" - }, - "targetWorkerSizeId": { - "format": "int32", - "description": "Scaling worker size ID.", - "type": "integer" - }, - "provisioningState": { - "description": "Provisioning state of the App Service Plan.", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "InProgress", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - } - }, - "kubeEnvironmentProfile": { - "$ref": "#/definitions/KubeEnvironmentProfile", - "description": "Specification for the Kubernetes Environment to use for the App Service plan." - }, - "zoneRedundant": { - "description": "If true, this App Service Plan will perform availability zone balancing.\nIf false, this App Service Plan will not perform availability zone balancing.", - "default": false, - "type": "boolean" - }, - "asyncScalingEnabled": { - "description": "If true, this App Service Plan will attempt to scale asynchronously if there are insufficient workers to scale synchronously.\nIf false, this App Service Plan will only attempt sync scaling.", - "type": "boolean" - } - }, - "x-ms-client-flatten": true - }, - "sku": { - "$ref": "#/definitions/SkuDescription" - }, - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation" - } - } - }, - "AppServicePlanCollection": { - "description": "Collection of App Service plans.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/AppServicePlan" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "ArmIdWrapper": { - "description": "A wrapper for an ARM resource id", - "type": "object", - "properties": { - "id": { - "type": "string", - "readOnly": true - } - } - }, - "AseV3NetworkingConfiguration": { - "description": "Full view of networking configuration for an ASE.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "AseV3NetworkingConfiguration resource specific properties", - "type": "object", - "properties": { - "windowsOutboundIpAddresses": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "linuxOutboundIpAddresses": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "externalInboundIpAddresses": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "internalInboundIpAddresses": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "allowNewPrivateEndpointConnections": { - "description": "Property to enable and disable new private endpoint connection creation on ASE", - "type": "boolean" - }, - "ftpEnabled": { - "description": "Property to enable and disable FTP on ASEV3", - "type": "boolean" - }, - "remoteDebugEnabled": { - "description": "Property to enable and disable Remote Debug on ASEV3", - "type": "boolean" - }, - "inboundIpAddressOverride": { - "description": "Customer provided Inbound IP Address. Only able to be set on Ase create.", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "AutoHealActions": { - "description": "Actions which to take by the auto-heal module when a rule is triggered.", - "type": "object", - "properties": { - "actionType": { - "description": "Predefined action to be taken.", - "enum": [ - "Recycle", - "LogEvent", - "CustomAction" - ], - "type": "string", - "x-ms-enum": { - "name": "AutoHealActionType", - "modelAsString": false - } - }, - "customAction": { - "$ref": "#/definitions/AutoHealCustomAction", - "description": "Custom action to be taken." - }, - "minProcessExecutionTime": { - "description": "Minimum time the process must execute\nbefore taking the action", - "type": "string" - } - } - }, - "AutoHealCustomAction": { - "description": "Custom action to be executed\nwhen an auto heal rule is triggered.", - "type": "object", - "properties": { - "exe": { - "description": "Executable to be run.", - "type": "string" - }, - "parameters": { - "description": "Parameters for the executable.", - "type": "string" - } - } - }, - "AutoHealRules": { - "description": "Rules that can be defined for auto-heal.", - "type": "object", - "properties": { - "triggers": { - "$ref": "#/definitions/AutoHealTriggers", - "description": "Conditions that describe when to execute the auto-heal actions." - }, - "actions": { - "$ref": "#/definitions/AutoHealActions", - "description": "Actions to be executed when a rule is triggered." - } - } - }, - "AutoHealTriggers": { - "description": "Triggers for auto-heal.", - "type": "object", - "properties": { - "requests": { - "$ref": "#/definitions/RequestsBasedTrigger", - "description": "A rule based on total requests." - }, - "privateBytesInKB": { - "format": "int32", - "description": "A rule based on private bytes.", - "type": "integer" - }, - "statusCodes": { - "description": "A rule based on status codes.", - "type": "array", - "items": { - "$ref": "#/definitions/StatusCodesBasedTrigger" - }, - "x-ms-identifiers": [ - "path" - ] - }, - "slowRequests": { - "$ref": "#/definitions/SlowRequestsBasedTrigger", - "description": "A rule based on request execution time." - }, - "slowRequestsWithPath": { - "description": "A rule based on multiple Slow Requests Rule with path", - "type": "array", - "items": { - "$ref": "#/definitions/SlowRequestsBasedTrigger" - }, - "x-ms-identifiers": [ - "path" - ] - }, - "statusCodesRange": { - "description": "A rule based on status codes ranges.", - "type": "array", - "items": { - "$ref": "#/definitions/StatusCodesRangeBasedTrigger" - }, - "x-ms-identifiers": [ - "path" - ] - } - } - }, - "AzureStorageInfoValue": { - "description": "Azure Files or Blob Storage access information value for dictionary storage.", - "type": "object", - "properties": { - "type": { - "description": "Type of storage.", - "enum": [ - "AzureFiles", - "AzureBlob" - ], - "type": "string", - "x-ms-enum": { - "name": "AzureStorageType", - "modelAsString": false - } - }, - "accountName": { - "description": "Name of the storage account.", - "type": "string" - }, - "shareName": { - "description": "Name of the file share (container name, for Blob storage).", - "type": "string" - }, - "accessKey": { - "description": "Access key for the storage account.", - "type": "string", - "x-ms-secret": true - }, - "mountPath": { - "description": "Path to mount the storage within the site's runtime environment.", - "type": "string" - }, - "state": { - "description": "State of the storage account.", - "enum": [ - "Ok", - "InvalidCredentials", - "InvalidShare", - "NotValidated" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "AzureStorageState", - "modelAsString": false - } - }, - "protocol": { - "description": "Mounting protocol to use for the storage account.", - "enum": [ - "Smb", - "Http", - "Nfs" - ], - "type": "string", - "x-ms-enum": { - "name": "AzureStorageProtocol", - "modelAsString": true - } - } - } - }, - "Capability": { - "description": "Describes the capabilities/features allowed for a specific SKU.", - "type": "object", - "properties": { - "name": { - "description": "Name of the SKU capability.", - "type": "string" - }, - "value": { - "description": "Value of the SKU capability.", - "type": "string" - }, - "reason": { - "description": "Reason of the SKU capability.", - "type": "string" - } - } - }, - "Certificate": { - "description": "SSL certificate for an app.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "Certificate resource specific properties", - "type": "object", - "properties": { - "password": { - "description": "Certificate password.", - "type": "string", - "x-ms-secret": true - }, - "friendlyName": { - "description": "Friendly name of the certificate.", - "type": "string", - "readOnly": true - }, - "subjectName": { - "description": "Subject name of the certificate.", - "type": "string", - "readOnly": true - }, - "hostNames": { - "description": "Host names the certificate applies to.", - "type": "array", - "items": { - "type": "string" - } - }, - "pfxBlob": { - "format": "byte", - "description": "Pfx blob.", - "type": "string" - }, - "siteName": { - "description": "App name.", - "type": "string", - "readOnly": true - }, - "selfLink": { - "description": "Self link.", - "type": "string", - "readOnly": true - }, - "issuer": { - "description": "Certificate issuer.", - "type": "string", - "readOnly": true - }, - "issueDate": { - "format": "date-time", - "description": "Certificate issue Date.", - "type": "string", - "readOnly": true - }, - "expirationDate": { - "format": "date-time", - "description": "Certificate expiration date.", - "type": "string", - "readOnly": true - }, - "thumbprint": { - "description": "Certificate thumbprint.", - "type": "string", - "readOnly": true - }, - "valid": { - "description": "Is the certificate valid?.", - "type": "boolean", - "readOnly": true - }, - "cerBlob": { - "format": "byte", - "description": "Raw bytes of .cer file", - "type": "string", - "readOnly": true - }, - "publicKeyHash": { - "description": "Public key hash.", - "type": "string", - "readOnly": true - }, - "hostingEnvironmentProfile": { - "$ref": "#/definitions/HostingEnvironmentProfile", - "description": "Specification for the App Service Environment to use for the certificate.", - "readOnly": true - }, - "keyVaultId": { - "description": "Azure Key Vault Csm resource Id.", - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.KeyVault/vaults" - } - ] - } - }, - "keyVaultSecretName": { - "description": "Azure Key Vault secret name.", - "type": "string" - }, - "keyVaultSecretStatus": { - "description": "Status of the Key Vault secret.", - "enum": [ - "Initialized", - "WaitingOnCertificateOrder", - "Succeeded", - "CertificateOrderFailed", - "OperationNotPermittedOnKeyVault", - "AzureServiceUnauthorizedToAccessKeyVault", - "KeyVaultDoesNotExist", - "KeyVaultSecretDoesNotExist", - "UnknownError", - "ExternalPrivateKey", - "Unknown" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "KeyVaultSecretStatus", - "modelAsString": false - } - }, - "serverFarmId": { - "description": "Resource ID of the associated App Service plan.", - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Web/serverfarms" - } - ] - } - }, - "canonicalName": { - "description": "CNAME of the certificate to be issued via free certificate", - "type": "string" - }, - "domainValidationMethod": { - "description": "Method of domain validation for free cert", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "CertificateCollection": { - "description": "Collection of certificates.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/Certificate" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "CertificatePatchResource": { - "description": "ARM resource for a certificate.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "CertificatePatchResource resource specific properties", - "type": "object", - "properties": { - "password": { - "description": "Certificate password.", - "type": "string", - "x-ms-mutability": [ - "read" - ] - }, - "friendlyName": { - "description": "Friendly name of the certificate.", - "type": "string", - "readOnly": true - }, - "subjectName": { - "description": "Subject name of the certificate.", - "type": "string", - "readOnly": true - }, - "hostNames": { - "description": "Host names the certificate applies to.", - "type": "array", - "items": { - "type": "string" - } - }, - "pfxBlob": { - "format": "byte", - "description": "Pfx blob.", - "type": "string" - }, - "siteName": { - "description": "App name.", - "type": "string", - "readOnly": true - }, - "selfLink": { - "description": "Self link.", - "type": "string", - "readOnly": true - }, - "issuer": { - "description": "Certificate issuer.", - "type": "string", - "readOnly": true - }, - "issueDate": { - "format": "date-time", - "description": "Certificate issue Date.", - "type": "string", - "readOnly": true - }, - "expirationDate": { - "format": "date-time", - "description": "Certificate expiration date.", - "type": "string", - "readOnly": true - }, - "thumbprint": { - "description": "Certificate thumbprint.", - "type": "string", - "readOnly": true - }, - "valid": { - "description": "Is the certificate valid?.", - "type": "boolean", - "readOnly": true - }, - "cerBlob": { - "format": "byte", - "description": "Raw bytes of .cer file", - "type": "string", - "readOnly": true - }, - "publicKeyHash": { - "description": "Public key hash.", - "type": "string", - "readOnly": true - }, - "hostingEnvironmentProfile": { - "$ref": "#/definitions/HostingEnvironmentProfile", - "description": "Specification for the App Service Environment to use for the certificate.", - "readOnly": true - }, - "keyVaultId": { - "description": "Key Vault Csm resource Id.", - "type": "string" - }, - "keyVaultSecretName": { - "description": "Key Vault secret name.", - "type": "string" - }, - "keyVaultSecretStatus": { - "description": "Status of the Key Vault secret.", - "enum": [ - "Initialized", - "WaitingOnCertificateOrder", - "Succeeded", - "CertificateOrderFailed", - "OperationNotPermittedOnKeyVault", - "AzureServiceUnauthorizedToAccessKeyVault", - "KeyVaultDoesNotExist", - "KeyVaultSecretDoesNotExist", - "UnknownError", - "ExternalPrivateKey", - "Unknown" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "KeyVaultSecretStatus", - "modelAsString": false - } - }, - "serverFarmId": { - "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", - "type": "string" - }, - "canonicalName": { - "description": "CNAME of the certificate to be issued via free certificate", - "type": "string" - }, - "domainValidationMethod": { - "description": "Method of domain validation for free cert", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "CipherSuites": { - "description": "Describes valid TLS cipher suites.", - "type": "object", - "properties": { - "suites": { - "description": "List of TLS Cipher Suites that are supported by App Service.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CloningInfo": { - "description": "Information needed for cloning operation.", - "required": [ - "sourceWebAppId" - ], - "type": "object", - "properties": { - "correlationId": { - "format": "uuid", - "description": "Correlation ID of cloning operation. This ID ties multiple cloning operations\ntogether to use the same snapshot.", - "type": "string", - "example": "00000000-0000-0000-0000-000000000000" - }, - "overwrite": { - "description": "true to overwrite destination app; otherwise, false.", - "type": "boolean" - }, - "cloneCustomHostNames": { - "description": "true to clone custom hostnames from source app; otherwise, false.", - "type": "boolean" - }, - "cloneSourceControl": { - "description": "true to clone source control from source app; otherwise, false.", - "type": "boolean" - }, - "sourceWebAppId": { - "description": "ARM resource ID of the source app. App resource ID is of the form \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.", - "type": "string" - }, - "sourceWebAppLocation": { - "description": "Location of source app ex: West US or North Europe", - "type": "string" - }, - "hostingEnvironment": { - "description": "App Service Environment.", - "type": "string" - }, - "appSettingsOverrides": { - "description": "Application setting overrides for cloned app. If specified, these settings override the settings cloned \nfrom source app. Otherwise, application settings from source app are retained.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "configureLoadBalancing": { - "description": "true to configure load balancing for source and destination app.", - "type": "boolean" - }, - "trafficManagerProfileId": { - "description": "ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.", - "type": "string" - }, - "trafficManagerProfileName": { - "description": "Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.", - "type": "string" - } - } - }, - "ConnStringInfo": { - "description": "Database connection string information.", - "type": "object", - "properties": { - "name": { - "description": "Name of connection string.", - "type": "string" - }, - "connectionString": { - "description": "Connection string value.", - "type": "string" - }, - "type": { - "description": "Type of database.", - "enum": [ - "MySql", - "SQLServer", - "SQLAzure", - "Custom", - "NotificationHub", - "ServiceBus", - "EventHub", - "ApiHub", - "DocDb", - "RedisCache", - "PostgreSQL" - ], - "type": "string", - "x-ms-enum": { - "name": "ConnectionStringType", - "modelAsString": false - } - } - } - }, - "Container": { - "description": "Container App container definition.", - "type": "object", - "properties": { - "image": { - "description": "Container image tag.", - "type": "string" - }, - "name": { - "description": "Custom container name.", - "type": "string" - }, - "command": { - "description": "Container start command.", - "type": "array", - "items": { - "type": "string" - } - }, - "args": { - "description": "Container start command arguments.", - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "description": "Container environment variables.", - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentVar" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "resources": { - "$ref": "#/definitions/ContainerResources", - "description": "Container resource requirements." - } - } - }, - "ContainerResources": { - "description": "Container App container resource requirements.", - "type": "object", - "properties": { - "cpu": { - "format": "double", - "description": "Required CPU in cores, e.g. 0.5", - "type": "number" - }, - "memory": { - "description": "Required memory, e.g. \"250Mb\"", - "type": "string" - } - } - }, - "CorsSettings": { - "description": "Cross-Origin Resource Sharing (CORS) settings for the app.", - "type": "object", - "properties": { - "allowedOrigins": { - "description": "Gets or sets the list of origins that should be allowed to make cross-origin\ncalls (for example: http://example.com:12345). Use \"*\" to allow all.", - "type": "array", - "items": { - "type": "string" - } - }, - "supportCredentials": { - "description": "Gets or sets whether CORS requests with credentials are allowed. See \nhttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials\nfor more details.", - "type": "boolean" - } - } - }, - "CsmOperationCollection": { - "description": "Collection of Azure resource manager operation metadata.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/CsmOperationDescription" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "CsmOperationDescription": { - "description": "Description of an operation available for Microsoft.Web resource provider.", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "isDataAction": { - "type": "boolean" - }, - "display": { - "$ref": "#/definitions/CsmOperationDisplay" - }, - "origin": { - "type": "string" - }, - "properties": { - "$ref": "#/definitions/CsmOperationDescriptionProperties" - } - } - }, - "CsmOperationDescriptionProperties": { - "description": "Properties available for a Microsoft.Web resource provider operation.", - "type": "object", - "properties": { - "serviceSpecification": { - "$ref": "#/definitions/ServiceSpecification" - } - } - }, - "CsmOperationDisplay": { - "description": "Meta data about operation used for display in portal.", - "type": "object", - "properties": { - "provider": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "operation": { - "type": "string" - }, - "description": { - "type": "string" - } - } - }, - "CsmUsageQuota": { - "description": "Usage of the quota resource.", - "type": "object", - "properties": { - "unit": { - "description": "Units of measurement for the quota resource.", - "type": "string" - }, - "nextResetTime": { - "format": "date-time", - "description": "Next reset time for the resource counter.", - "type": "string" - }, - "currentValue": { - "format": "int64", - "description": "The current value of the resource counter.", - "type": "integer" - }, - "limit": { - "format": "int64", - "description": "The resource limit.", - "type": "integer" - }, - "name": { - "$ref": "#/definitions/LocalizableString", - "description": "Quota name." - } - } - }, - "CsmUsageQuotaCollection": { - "description": "Collection of CSM usage quotas.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/CsmUsageQuota" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "CustomDnsSuffixConfiguration": { - "description": "Full view of the custom domain suffix configuration for ASEv3.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "CustomDnsSuffixConfiguration resource specific properties", - "type": "object", - "properties": { - "provisioningState": { - "enum": [ - "Succeeded", - "Failed", - "Degraded", - "InProgress" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "CustomDnsSuffixProvisioningState", - "modelAsString": false - } - }, - "provisioningDetails": { - "type": "string", - "readOnly": true - }, - "dnsSuffix": { - "description": "The default custom domain suffix to use for all sites deployed on the ASE.", - "type": "string" - }, - "certificateUrl": { - "description": "The URL referencing the Azure Key Vault certificate secret that should be used as the default SSL/TLS certificate for sites with the custom domain suffix.", - "type": "string" - }, - "keyVaultReferenceIdentity": { - "description": "The user-assigned identity to use for resolving the key vault certificate reference. If not specified, the system-assigned ASE identity will be used if available.", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "CustomScaleRule": { - "description": "Container App container Custom scaling rule.", - "type": "object", - "properties": { - "type": { - "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc.", - "type": "string" - }, - "metadata": { - "description": "Metadata properties to describe custom scale rule.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "auth": { - "description": "Authentication secrets for the custom scale rule.", - "type": "array", - "items": { - "$ref": "#/definitions/ScaleRuleAuth" - }, - "x-ms-identifiers": [ - "triggerParameter" - ] - } - } - }, - "Dapr": { - "description": "Container App Dapr configuration.", - "type": "object", - "properties": { - "enabled": { - "description": "Boolean indicating if the Dapr side car is enabled", - "type": "boolean" - }, - "appId": { - "description": "Dapr application identifier", - "type": "string" - }, - "appPort": { - "format": "int32", - "description": "Port on which the Dapr side car", - "type": "integer" - }, - "components": { - "description": "Collection of Dapr components", - "type": "array", - "items": { - "$ref": "#/definitions/DaprComponent" - }, - "x-ms-identifiers": [ - "name" - ] - } - } - }, - "DaprComponent": { - "description": "Dapr component configuration", - "type": "object", - "properties": { - "name": { - "description": "Component name", - "type": "string" - }, - "type": { - "description": "Component type", - "type": "string" - }, - "version": { - "description": "Component version", - "type": "string" - }, - "metadata": { - "description": "Component metadata", - "type": "array", - "items": { - "$ref": "#/definitions/DaprMetadata" - }, - "x-ms-identifiers": [ - "name" - ] - } - } - }, - "DaprMetadata": { - "description": "Container App Dapr component metadata.", - "type": "object", - "properties": { - "name": { - "description": "Metadata property name.", - "type": "string" - }, - "value": { - "description": "Metadata property value.", - "type": "string" - }, - "secretRef": { - "description": "Name of the Container App secret from which to pull the metadata property value.", - "type": "string" - } - } - }, - "DataProviderMetadata": { - "description": "Additional configuration for a data providers", - "type": "object", - "properties": { - "providerName": { - "type": "string" - }, - "propertyBag": { - "description": "Settings for the data provider", - "type": "array", - "items": { - "$ref": "#/definitions/KeyValuePair[String,Object]" - }, - "readOnly": true, - "x-ms-identifiers": [ - "key" - ] - } - } - }, - "DataTableResponseColumn": { - "description": "Column definition", - "type": "object", - "properties": { - "columnName": { - "description": "Name of the column", - "type": "string" - }, - "dataType": { - "description": "Data type which looks like 'String' or 'Int32'.", - "type": "string" - }, - "columnType": { - "description": "Column Type", - "type": "string" - } - } - }, - "DataTableResponseObject": { - "description": "Data Table which defines columns and raw row values", - "type": "object", - "properties": { - "tableName": { - "description": "Name of the table", - "type": "string" - }, - "columns": { - "description": "List of columns with data types", - "type": "array", - "items": { - "$ref": "#/definitions/DataTableResponseColumn" - }, - "x-ms-identifiers": [ - "columnName" - ] - }, - "rows": { - "description": "Raw row values", - "type": "array", - "items": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "DefaultErrorResponse": { - "description": "App Service error response.", - "type": "object", - "properties": { - "error": { - "description": "Error model.", - "type": "object", - "properties": { - "code": { - "description": "Standardized string to programmatically identify the error.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Detailed error description and debugging information.", - "type": "string", - "readOnly": true - }, - "target": { - "description": "Detailed error description and debugging information.", - "type": "string", - "readOnly": true - }, - "details": { - "type": "array", - "items": { - "description": "Detailed errors.", - "type": "object", - "properties": { - "code": { - "description": "Standardized string to programmatically identify the error.", - "type": "string", - "readOnly": true - }, - "message": { - "description": "Detailed error description and debugging information.", - "type": "string", - "readOnly": true - }, - "target": { - "description": "Detailed error description and debugging information.", - "type": "string", - "readOnly": true - } - }, - "readOnly": true - }, - "x-ms-identifiers": [] - }, - "innererror": { - "description": "More information to debug error.", - "type": "string", - "readOnly": true - } - }, - "readOnly": true - } - } - }, - "DeletedSite": { - "description": "A deleted app.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "DeletedSite resource specific properties", - "type": "object", - "properties": { - "deletedSiteId": { - "format": "int32", - "description": "Numeric id for the deleted site", - "type": "integer", - "readOnly": true - }, - "deletedTimestamp": { - "description": "Time in UTC when the app was deleted.", - "type": "string", - "readOnly": true - }, - "subscription": { - "description": "Subscription containing the deleted site", - "type": "string", - "readOnly": true - }, - "resourceGroup": { - "description": "ResourceGroup that contained the deleted site", - "type": "string", - "readOnly": true - }, - "deletedSiteName": { - "description": "Name of the deleted site", - "type": "string", - "readOnly": true - }, - "slot": { - "description": "Slot of the deleted site", - "type": "string", - "readOnly": true - }, - "kind": { - "description": "Kind of site that was deleted", - "type": "string", - "readOnly": true - }, - "geoRegionName": { - "description": "Geo Region of the deleted site", - "type": "string", - "readOnly": true - } - }, - "x-ms-client-flatten": true - } - } - }, - "DetectorInfo": { - "description": "Definition of Detector", - "type": "object", - "properties": { - "id": { - "description": "Id of detector", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Name of detector", - "type": "string", - "readOnly": true - }, - "description": { - "description": "Short description of the detector and its purpose.", - "type": "string", - "readOnly": true - }, - "author": { - "description": "Author of the detector.", - "type": "string", - "readOnly": true - }, - "category": { - "description": "Problem category. This serves for organizing group for detectors.", - "type": "string", - "readOnly": true - }, - "supportTopicList": { - "description": "List of Support Topics for which this detector is enabled.", - "type": "array", - "items": { - "$ref": "#/definitions/SupportTopic" - }, - "readOnly": true - }, - "analysisType": { - "description": "Analysis Types for which this detector should apply to.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "type": { - "description": "Whether this detector is an Analysis Detector or not.", - "enum": [ - "Detector", - "Analysis", - "CategoryOverview" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "DetectorType", - "modelAsString": false - } - }, - "score": { - "format": "float", - "description": "Defines score of a detector to power ML based matching.", - "type": "number", - "readOnly": true - } - } - }, - "DetectorResponse": { - "description": "Class representing Response from Detector", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "DetectorResponse resource specific properties", - "type": "object", - "properties": { - "metadata": { - "$ref": "#/definitions/DetectorInfo", - "description": "metadata for the detector" - }, - "dataset": { - "description": "Data Set", - "type": "array", - "items": { - "$ref": "#/definitions/DiagnosticData" - }, - "x-ms-identifiers": [] - }, - "status": { - "$ref": "#/definitions/Status", - "description": "Indicates status of the most severe insight." - }, - "dataProvidersMetadata": { - "description": "Additional configuration for different data providers to be used by the UI", - "type": "array", - "items": { - "$ref": "#/definitions/DataProviderMetadata" - }, - "x-ms-identifiers": [ - "providerName" - ] - }, - "suggestedUtterances": { - "$ref": "#/definitions/QueryUtterancesResults", - "description": "Suggested utterances where the detector can be applicable." - } - }, - "x-ms-client-flatten": true - } - } - }, - "DetectorResponseCollection": { - "description": "Collection of detector responses", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/DetectorResponse" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "DiagnosticData": { - "description": "Set of data with rendering instructions", - "type": "object", - "properties": { - "table": { - "$ref": "#/definitions/DataTableResponseObject", - "description": "Data in table form" - }, - "renderingProperties": { - "$ref": "#/definitions/Rendering", - "description": "Properties that describe how the table should be rendered" - } - } - }, - "Dimension": { - "description": "Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, \nwhere instance name is dimension of the metric HTTP request", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "internalName": { - "type": "string" - }, - "toBeExportedForShoebox": { - "type": "boolean" - } - } - }, - "EnvironmentVar": { - "description": "Container App container environment variable.", - "type": "object", - "properties": { - "name": { - "description": "Environment variable name.", - "type": "string" - }, - "value": { - "description": "Non-secret environment variable value.", - "type": "string" - }, - "secretRef": { - "description": "Name of the Container App secret from which to pull the environment variable value.", - "type": "string" - } - } - }, - "ErrorEntity": { - "description": "Body of the error response returned from the API.", - "type": "object", - "properties": { - "extendedCode": { - "description": "Type of error.", - "type": "string" - }, - "messageTemplate": { - "description": "Message template.", - "type": "string" - }, - "parameters": { - "description": "Parameters for the template.", - "type": "array", - "items": { - "type": "string" - } - }, - "innerErrors": { - "description": "Inner errors.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorEntity" - }, - "x-ms-identifiers": [] - }, - "details": { - "description": "Error Details.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorEntity" - }, - "x-ms-identifiers": [] - }, - "target": { - "description": "The error target.", - "type": "string" - }, - "code": { - "description": "Basic error code.", - "type": "string" - }, - "message": { - "description": "Any details of the error.", - "type": "string" - } - } - }, - "Experiments": { - "description": "Routing rules in production experiments.", - "type": "object", - "properties": { - "rampUpRules": { - "description": "List of ramp-up rules.", - "type": "array", - "items": { - "$ref": "#/definitions/RampUpRule" - }, - "x-ms-identifiers": [ - "name" - ] - } - } - }, - "ExtendedLocation": { - "description": "Extended Location.", - "type": "object", - "properties": { - "name": { - "description": "Name of extended location.", - "type": "string" - }, - "type": { - "description": "Type of extended location.", - "type": "string", - "readOnly": true - } - } - }, - "HandlerMapping": { - "description": "The IIS handler mappings used to define which handler processes HTTP requests with certain extension. \nFor example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.", - "type": "object", - "properties": { - "extension": { - "description": "Requests with this extension will be handled using the specified FastCGI application.", - "type": "string" - }, - "scriptProcessor": { - "description": "The absolute path to the FastCGI application.", - "type": "string" - }, - "arguments": { - "description": "Command-line arguments to be passed to the script processor.", - "type": "string" - } - } - }, - "HostNameBinding": { - "description": "A hostname binding object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "HostNameBinding resource specific properties", - "type": "object", - "properties": { - "siteName": { - "description": "App Service app name.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "domainId": { - "description": "Fully qualified ARM domain resource URI.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "azureResourceName": { - "description": "Azure resource name.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "azureResourceType": { - "description": "Azure resource type.", - "enum": [ - "Website", - "TrafficManager" - ], - "type": "string", - "x-ms-enum": { - "name": "AzureResourceType", - "modelAsString": false - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "customHostNameDnsRecordType": { - "description": "Custom DNS record type.", - "enum": [ - "CName", - "A" - ], - "type": "string", - "x-ms-enum": { - "name": "CustomHostNameDnsRecordType", - "modelAsString": false - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "hostNameType": { - "description": "Hostname type.", - "enum": [ - "Verified", - "Managed" - ], - "type": "string", - "x-ms-enum": { - "name": "HostNameType", - "modelAsString": false - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "sslState": { - "description": "SSL type", - "enum": [ - "Disabled", - "SniEnabled", - "IpBasedEnabled" - ], - "type": "string", - "x-ms-enum": { - "name": "SslState", - "modelAsString": false - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "thumbprint": { - "description": "SSL certificate thumbprint", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "virtualIP": { - "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.", - "type": "string", - "readOnly": true - } - }, - "x-ms-client-flatten": true - } - } - }, - "HostNameBindingCollection": { - "description": "Collection of hostname bindings.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/HostNameBinding" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "HostNameSslState": { - "description": "SSL-enabled hostname.", - "type": "object", - "properties": { - "name": { - "description": "Hostname.", - "type": "string" - }, - "sslState": { - "description": "SSL type.", - "enum": [ - "Disabled", - "SniEnabled", - "IpBasedEnabled" - ], - "type": "string", - "x-ms-enum": { - "name": "SslState", - "modelAsString": false - } - }, - "virtualIP": { - "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.", - "type": "string" - }, - "thumbprint": { - "description": "SSL certificate thumbprint.", - "type": "string" - }, - "toUpdate": { - "description": "Set to true to update existing hostname.", - "type": "boolean" - }, - "hostType": { - "description": "Indicates whether the hostname is a standard or repository hostname.", - "enum": [ - "Standard", - "Repository" - ], - "type": "string", - "x-ms-enum": { - "name": "HostType", - "modelAsString": false - } - } - } - }, - "HostingEnvironmentProfile": { - "description": "Specification for an App Service Environment to use for this resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID of the App Service Environment.", - "type": "string" - }, - "name": { - "description": "Name of the App Service Environment.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type of the App Service Environment.", - "type": "string", - "readOnly": true - } - } - }, - "HttpScaleRule": { - "description": "Container App container Custom scaling rule.", - "type": "object", - "properties": { - "metadata": { - "description": "Metadata properties to describe http scale rule.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "auth": { - "description": "Authentication secrets for the custom scale rule.", - "type": "array", - "items": { - "$ref": "#/definitions/ScaleRuleAuth" - }, - "x-ms-identifiers": [ - "triggerParameter" - ] - } - } - }, - "HybridConnection": { - "description": "Hybrid Connection contract. This is used to configure a Hybrid Connection.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "HybridConnection resource specific properties", - "type": "object", - "properties": { - "serviceBusNamespace": { - "description": "The name of the Service Bus namespace.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "relayName": { - "description": "The name of the Service Bus relay.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "relayArmUri": { - "description": "The ARM URI to the Service Bus relay.", - "type": "string" - }, - "hostname": { - "description": "The hostname of the endpoint.", - "type": "string" - }, - "port": { - "format": "int32", - "description": "The port of the endpoint.", - "type": "integer" - }, - "sendKeyName": { - "description": "The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus.", - "type": "string" - }, - "sendKeyValue": { - "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\nnormally, use the POST /listKeys API instead.", - "type": "string" - }, - "serviceBusSuffix": { - "description": "The suffix for the service bus endpoint. By default this is .servicebus.windows.net", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "Identifier": { - "description": "A domain specific resource identifier.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "Identifier resource specific properties", - "type": "object", - "properties": { - "id": { - "description": "String representation of the identity.", - "type": "string", - "x-ms-client-name": "value" - } - }, - "x-ms-client-flatten": true - } - } - }, - "IdentifierCollection": { - "description": "Collection of identifiers.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/Identifier" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "IpSecurityRestriction": { - "description": "IP security restriction on an app.", - "type": "object", - "properties": { - "ipAddress": { - "description": "IP address the security restriction is valid for.\nIt can be in form of pure ipv4 address (required SubnetMask property) or\nCIDR notation such as ipv4/mask (leading bit match). For CIDR,\nSubnetMask property must not be specified.", - "type": "string" - }, - "subnetMask": { - "description": "Subnet mask for the range of IP addresses the restriction is valid for.", - "type": "string" - }, - "vnetSubnetResourceId": { - "description": "Virtual network resource id", - "type": "string" - }, - "vnetTrafficTag": { - "format": "int32", - "description": "(internal) Vnet traffic tag", - "type": "integer" - }, - "subnetTrafficTag": { - "format": "int32", - "description": "(internal) Subnet traffic tag", - "type": "integer" - }, - "action": { - "description": "Allow or Deny access for this IP range.", - "type": "string" - }, - "tag": { - "description": "Defines what this IP filter will be used for. This is to support IP filtering on proxies.", - "enum": [ - "Default", - "XffProxy", - "ServiceTag" - ], - "type": "string", - "x-ms-enum": { - "name": "IpFilterTag", - "modelAsString": true - } - }, - "priority": { - "format": "int32", - "description": "Priority of IP restriction rule.", - "type": "integer" - }, - "name": { - "description": "IP restriction rule name.", - "type": "string" - }, - "description": { - "description": "IP restriction rule description.", - "type": "string" - }, - "headers": { - "description": "IP restriction rule headers.\nX-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). \nThe matching logic is ..\n- If the property is null or empty (default), all hosts(or lack of) are allowed.\n- A value is compared using ordinal-ignore-case (excluding port number).\n- Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain foo.contoso.com\n but not the root domain contoso.com or multi-level foo.bar.contoso.com\n- Unicode host names are allowed but are converted to Punycode for matching.\n\nX-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples).\nThe matching logic is ..\n- If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed.\n- If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property.\n\nX-Azure-FDID and X-FD-HealthProbe.\nThe matching logic is exact match.", - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "KeyValuePair[String,Object]": { - "type": "object", - "properties": { - "key": { - "type": "string", - "readOnly": true - }, - "value": { - "type": "object", - "readOnly": true - } - } - }, - "KubeEnvironmentProfile": { - "description": "Specification for a Kubernetes Environment to use for this resource.", - "type": "object", - "properties": { - "id": { - "description": "Resource ID of the Kubernetes Environment.", - "type": "string" - }, - "name": { - "description": "Name of the Kubernetes Environment.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type of the Kubernetes Environment.", - "type": "string", - "readOnly": true - } - } - }, - "LocalizableString": { - "description": "Localizable string object containing the name and a localized value.", - "type": "object", - "properties": { - "value": { - "description": "Non-localized name.", - "type": "string" - }, - "localizedValue": { - "description": "Localized name.", - "type": "string" - } - } - }, - "LogSpecification": { - "description": "Log Definition of a single resource metric.", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "blobDuration": { - "type": "string" - }, - "logFilterPattern": { - "type": "string" - } - } - }, - "ManagedServiceIdentity": { - "description": "Managed service identity.", - "type": "object", - "properties": { - "type": { - "description": "Type of managed service identity.", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedServiceIdentityType", - "modelAsString": false - } - }, - "tenantId": { - "description": "Tenant of managed service identity.", - "type": "string", - "readOnly": true - }, - "principalId": { - "description": "Principal Id of managed service identity.", - "type": "string", - "readOnly": true - }, - "userAssignedIdentities": { - "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/userAssignedIdentity" - } - } - } - }, - "MetricAvailability": { - "description": "Retention policy of a resource metric.", - "type": "object", - "properties": { - "timeGrain": { - "type": "string" - }, - "blobDuration": { - "type": "string" - } - } - }, - "MetricSpecification": { - "description": "Definition of a single resource metric.", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "displayDescription": { - "type": "string" - }, - "unit": { - "type": "string" - }, - "aggregationType": { - "type": "string" - }, - "supportsInstanceLevelAggregation": { - "type": "boolean" - }, - "enableRegionalMdmAccount": { - "type": "boolean" - }, - "sourceMdmAccount": { - "type": "string" - }, - "sourceMdmNamespace": { - "type": "string" - }, - "metricFilterPattern": { - "type": "string" - }, - "fillGapWithZero": { - "type": "boolean" - }, - "isInternal": { - "type": "boolean" - }, - "dimensions": { - "type": "array", - "items": { - "$ref": "#/definitions/Dimension" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "category": { - "type": "string" - }, - "availabilities": { - "type": "array", - "items": { - "$ref": "#/definitions/MetricAvailability" - }, - "x-ms-identifiers": [] - }, - "supportedTimeGrainTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "supportedAggregationTypes": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "NameIdentifier": { - "description": "Identifies an object.", - "type": "object", - "properties": { - "name": { - "description": "Name of the object.", - "type": "string" - } - } - }, - "NameValuePair": { - "description": "Name value pair.", - "type": "object", - "properties": { - "name": { - "description": "Pair name.", - "type": "string" - }, - "value": { - "description": "Pair value.", - "type": "string" - } - } - }, - "Operation": { - "description": "An operation on a resource.", - "type": "object", - "properties": { - "id": { - "description": "Operation ID.", - "type": "string" - }, - "name": { - "description": "Operation name.", - "type": "string" - }, - "status": { - "description": "The current status of the operation.", - "enum": [ - "InProgress", - "Failed", - "Succeeded", - "TimedOut", - "Created" - ], - "type": "string", - "x-ms-enum": { - "name": "OperationStatus", - "modelAsString": false - } - }, - "errors": { - "description": "Any errors associate with the operation.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorEntity" - }, - "x-ms-identifiers": [] - }, - "createdTime": { - "format": "date-time", - "description": "Time when operation has started.", - "type": "string" - }, - "modifiedTime": { - "format": "date-time", - "description": "Time when operation has been updated.", - "type": "string" - }, - "expirationTime": { - "format": "date-time", - "description": "Time when operation will expire.", - "type": "string" - }, - "geoMasterOperationId": { - "format": "uuid", - "description": "Applicable only for stamp operation ids.", - "type": "string", - "example": "00000000-0000-0000-0000-000000000000" - } - } - }, - "PrivateEndpointConnectionCollection": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/RemotePrivateEndpointConnectionARMResource" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "PrivateLinkConnectionApprovalRequest": { - "description": "A request to approve or reject a private endpoint connection", - "type": "object", - "properties": { - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkConnectionState" - } - } - }, - "PrivateLinkConnectionApprovalRequestResource": { - "description": "Private Endpoint Connection Approval ARM resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest", - "description": "Core resource properties", - "type": "object", - "x-ms-client-flatten": true - } - } - }, - "PrivateLinkConnectionState": { - "description": "The state of a private link connection", - "type": "object", - "properties": { - "status": { - "description": "Status of a private link connection", - "type": "string" - }, - "description": { - "description": "Description of a private link connection", - "type": "string" - }, - "actionsRequired": { - "description": "ActionsRequired for a private link connection", - "type": "string" - } - } - }, - "PrivateLinkResource": { - "description": "A private link resource", - "required": [ - "id", - "name", - "type", - "properties" - ], - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "description": "Name of a private link resource", - "type": "string" - }, - "type": { - "type": "string" - }, - "properties": { - "$ref": "#/definitions/PrivateLinkResourceProperties", - "description": "Properties of a private link resource" - } - } - }, - "PrivateLinkResourceProperties": { - "description": "Properties of a private link resource", - "type": "object", - "properties": { - "groupId": { - "description": "GroupId of a private link resource", - "type": "string", - "readOnly": true - }, - "requiredMembers": { - "description": "RequiredMembers of a private link resource", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "requiredZoneNames": { - "description": "RequiredZoneNames of a private link resource", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "PrivateLinkResourcesWrapper": { - "description": "Wrapper for a collection of private link resources", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PrivateLinkResource" - } - } - } - }, - "ProxyOnlyResource": { - "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", - "type": "object", - "properties": { - "id": { - "description": "Resource Id.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource Name.", - "type": "string", - "readOnly": true - }, - "kind": { - "description": "Kind of resource.", - "type": "string" - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "PushSettings": { - "description": "Push settings for the App.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "PushSettings resource specific properties", - "required": [ - "isPushEnabled" - ], - "type": "object", - "properties": { - "isPushEnabled": { - "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.", - "type": "boolean" - }, - "tagWhitelistJson": { - "description": "Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint.", - "type": "string" - }, - "tagsRequiringAuth": { - "description": "Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint.\nTags can consist of alphanumeric characters and the following:\n'_', '@', '#', '.', ':', '-'. \nValidation should be performed at the PushRequestHandler.", - "type": "string" - }, - "dynamicTagsJson": { - "description": "Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint.", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "QueryUtterancesResult": { - "description": "Result for utterances query.", - "type": "object", - "properties": { - "sampleUtterance": { - "$ref": "#/definitions/SampleUtterance", - "description": "A sample utterance." - }, - "score": { - "format": "float", - "description": "Score of a sample utterance.", - "type": "number" - } - } - }, - "QueryUtterancesResults": { - "description": "Suggested utterances where the detector can be applicable", - "type": "object", - "properties": { - "query": { - "description": "Search Query.", - "type": "string" - }, - "results": { - "description": "Array of utterance results for search query.", - "type": "array", - "items": { - "$ref": "#/definitions/QueryUtterancesResult" - }, - "x-ms-identifiers": [] - } - } - }, - "QueueScaleRule": { - "description": "Container App container Azure Queue based scaling rule.", - "type": "object", - "properties": { - "queueName": { - "description": "Queue name.", - "type": "string" - }, - "queueLength": { - "format": "int32", - "description": "Queue length.", - "type": "integer" - }, - "auth": { - "description": "Authentication secrets for the queue scale rule.", - "type": "array", - "items": { - "$ref": "#/definitions/ScaleRuleAuth" - }, - "x-ms-identifiers": [ - "triggerParameter" - ] - } - } - }, - "RampUpRule": { - "description": "Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change routing % based on performance.", - "type": "object", - "properties": { - "actionHostName": { - "description": "Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net.", - "type": "string" - }, - "reroutePercentage": { - "format": "double", - "description": "Percentage of the traffic which will be redirected to ActionHostName.", - "type": "number" - }, - "changeStep": { - "format": "double", - "description": "In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches \\nMinReroutePercentage or \nMaxReroutePercentage. Site metrics are checked every N minutes specified in ChangeIntervalInMinutes.\\nCustom decision algorithm \ncan be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl.", - "type": "number" - }, - "changeIntervalInMinutes": { - "format": "int32", - "description": "Specifies interval in minutes to reevaluate ReroutePercentage.", - "type": "integer" - }, - "minReroutePercentage": { - "format": "double", - "description": "Specifies lower boundary above which ReroutePercentage will stay.", - "type": "number" - }, - "maxReroutePercentage": { - "format": "double", - "description": "Specifies upper boundary below which ReroutePercentage will stay.", - "type": "number" - }, - "changeDecisionCallbackUrl": { - "description": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified.", - "type": "string" - }, - "name": { - "description": "Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.", - "type": "string" - } - } - }, - "RemotePrivateEndpointConnectionARMResource": { - "description": "Remote Private Endpoint Connection ARM resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "RemotePrivateEndpointConnectionARMResource resource specific properties", - "type": "object", - "properties": { - "provisioningState": { - "type": "string", - "readOnly": true - }, - "privateEndpoint": { - "$ref": "#/definitions/ArmIdWrapper", - "description": "PrivateEndpoint of a remote private endpoint connection" - }, - "privateLinkServiceConnectionState": { - "$ref": "#/definitions/PrivateLinkConnectionState" - }, - "ipAddresses": { - "description": "Private IPAddresses mapped to the remote private endpoint", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true - } - } - }, - "Rendering": { - "description": "Instructions for rendering the data", - "type": "object", - "properties": { - "type": { - "description": "Rendering Type", - "enum": [ - "NoGraph", - "Table", - "TimeSeries", - "TimeSeriesPerInstance", - "PieChart", - "DataSummary", - "Email", - "Insights", - "DynamicInsight", - "Markdown", - "Detector", - "DropDown", - "Card", - "Solution", - "Guage", - "Form", - "ChangeSets", - "ChangeAnalysisOnboarding", - "ChangesView", - "AppInsight", - "DependencyGraph", - "DownTime", - "SummaryCard", - "SearchComponent", - "AppInsightEnablement" - ], - "type": "string", - "x-ms-enum": { - "name": "RenderingType", - "modelAsString": false - } - }, - "title": { - "description": "Title of data", - "type": "string" - }, - "description": { - "description": "Description of the data that will help it be interpreted", - "type": "string" - } - } - }, - "RequestsBasedTrigger": { - "description": "Trigger based on total requests.", - "type": "object", - "properties": { - "count": { - "format": "int32", - "description": "Request Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - } - } - }, - "Resource": { - "description": "Azure resource. This resource is tracked in Azure Resource Manager", - "required": [ - "location" - ], - "type": "object", - "properties": { - "id": { - "description": "Resource Id.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Resource Name.", - "type": "string", - "readOnly": true - }, - "kind": { - "description": "Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind.", - "type": "string" - }, - "location": { - "description": "Resource Location.", - "type": "string" - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "x-ms-azure-resource": true - }, - "SampleUtterance": { - "description": "Sample utterance.", - "type": "object", - "properties": { - "text": { - "description": "Text attribute of sample utterance.", - "type": "string" - }, - "links": { - "description": "Links attribute of sample utterance.", - "type": "array", - "items": { - "type": "string" - } - }, - "qid": { - "description": "Question id of sample utterance (for stackoverflow questions titles).", - "type": "string" - } - } - }, - "Scale": { - "description": "Container App scaling configurations.", - "type": "object", - "properties": { - "minReplicas": { - "format": "int32", - "description": "Optional. Minimum number of container replicas.", - "type": "integer" - }, - "maxReplicas": { - "format": "int32", - "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set.", - "type": "integer" - }, - "rules": { - "description": "Scaling rules.", - "type": "array", - "items": { - "$ref": "#/definitions/ScaleRule" - }, - "x-ms-identifiers": [ - "name" - ] - } - } - }, - "ScaleRule": { - "description": "Container App container scaling rule.", - "type": "object", - "properties": { - "name": { - "description": "Scale Rule Name", - "type": "string" - }, - "azureQueue": { - "$ref": "#/definitions/QueueScaleRule", - "description": "Azure Queue based scaling." - }, - "custom": { - "$ref": "#/definitions/CustomScaleRule", - "description": "Custom scale rule." - }, - "http": { - "$ref": "#/definitions/HttpScaleRule", - "description": "HTTP requests based scaling." - } - } - }, - "ScaleRuleAuth": { - "description": "Auth Secrets for Container App Scale Rule", - "type": "object", - "properties": { - "secretRef": { - "description": "Name of the Container App secret from which to pull the auth params.", - "type": "string" - }, - "triggerParameter": { - "description": "Trigger Parameter that uses the secret", - "type": "string" - } - } - }, - "ServiceSpecification": { - "description": "Resource metrics service provided by Microsoft.Insights resource provider.", - "type": "object", - "properties": { - "metricSpecifications": { - "type": "array", - "items": { - "$ref": "#/definitions/MetricSpecification" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "logSpecifications": { - "type": "array", - "items": { - "$ref": "#/definitions/LogSpecification" - }, - "x-ms-identifiers": [ - "name" - ] - } - } - }, - "Site": { - "description": "A web app, a mobile app backend, or an API app.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "Site resource specific properties", - "type": "object", - "properties": { - "state": { - "description": "Current state of the app.", - "type": "string", - "readOnly": true - }, - "hostNames": { - "description": "Hostnames associated with the app.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "repositorySiteName": { - "description": "Name of the repository site.", - "type": "string", - "readOnly": true - }, - "usageState": { - "description": "State indicating whether the app has exceeded its quota usage. Read-only.", - "enum": [ - "Normal", - "Exceeded" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "UsageState", - "modelAsString": false - } - }, - "enabled": { - "description": "true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline).", - "type": "boolean" - }, - "enabledHostNames": { - "description": "Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,\nthe app is not served on those hostnames.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "availabilityState": { - "description": "Management information availability state for the app.", - "enum": [ - "Normal", - "Limited", - "DisasterRecoveryMode" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "SiteAvailabilityState", - "modelAsString": false - } - }, - "hostNameSslStates": { - "description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.", - "type": "array", - "items": { - "$ref": "#/definitions/HostNameSslState" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "serverFarmId": { - "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", - "type": "string" - }, - "reserved": { - "description": "true if reserved; otherwise, false.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "isXenon": { - "description": "Obsolete: Hyper-V sandbox.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "hyperV": { - "description": "Hyper-V sandbox.", - "default": false, - "type": "boolean", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "lastModifiedTimeUtc": { - "format": "date-time", - "description": "Last time the app was modified, in UTC. Read-only.", - "type": "string", - "readOnly": true - }, - "dnsConfiguration": { - "$ref": "#/definitions/SiteDnsConfig", - "description": "Property to configure various DNS related settings for a site." - }, - "outboundVnetRouting": { - "$ref": "#/definitions/OutboundVnetRouting", - "description": "Property to configure various outbound traffic routing options over virtual network for a site" - }, - "siteConfig": { - "$ref": "#/definitions/SiteConfig", - "description": "Configuration of an App Service app. This property is not returned in response to normal create and read requests since it may contain sensitive information.", - "x-ms-mutability": [ - "create", - "update" - ] - }, - "functionAppConfig": { - "$ref": "#/definitions/FunctionAppConfig", - "description": "Configuration specific of the Azure Function app." - }, - "daprConfig": { - "$ref": "#/definitions/DaprConfig", - "description": "Dapr configuration of the app." - }, - "workloadProfileName": { - "description": "Workload profile name for function app to execute on.", - "type": "string" - }, - "resourceConfig": { - "$ref": "#/definitions/ResourceConfig", - "description": "Function app resource requirements." - }, - "trafficManagerHostNames": { - "description": "Azure Traffic Manager hostnames associated with the app. Read-only.", - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - }, - "scmSiteAlsoStopped": { - "description": "true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false.", - "default": false, - "type": "boolean" - }, - "targetSwapSlot": { - "description": "Specifies which deployment slot this app will swap into. Read-only.", - "type": "string", - "readOnly": true - }, - "hostingEnvironmentProfile": { - "$ref": "#/definitions/HostingEnvironmentProfile", - "description": "App Service Environment to use for the app.", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "clientAffinityEnabled": { - "description": "true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true.", - "type": "boolean" - }, - "clientAffinityPartitioningEnabled": { - "description": "true to enable client affinity partitioning using CHIPS cookies, this will add the partitioned property to the affinity cookies; false to stop sending partitioned affinity cookies. Default is false.", - "type": "boolean" - }, - "clientAffinityProxyEnabled": { - "description": "true to override client affinity cookie domain with X-Forwarded-Host request header. false to use default domain. Default is false.", - "type": "boolean" - }, - "clientCertEnabled": { - "description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false.", - "type": "boolean" - }, - "clientCertMode": { - "description": "This composes with ClientCertEnabled setting.\n- ClientCertEnabled: false means ClientCert is ignored.\n- ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required.\n- ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted.", - "enum": [ - "Required", - "Optional", - "OptionalInteractiveUser" - ], - "type": "string", - "x-ms-enum": { - "name": "ClientCertMode", - "modelAsString": false - } - }, - "clientCertExclusionPaths": { - "description": "client certificate authentication comma-separated exclusion paths", - "type": "string" - }, - "ipMode": { - "description": "Specifies the IP mode of the app.", - "enum": [ - "IPv4", - "IPv6", - "IPv4AndIPv6" - ], - "type": "string", - "x-ms-enum": { - "name": "IPMode", - "modelAsString": false - } - }, - "endToEndEncryptionEnabled": { - "description": "Whether to use end to end encryption between the FrontEnd and the Worker", - "type": "boolean" - }, - "sshEnabled": { - "description": "Whether to enable ssh access.", - "type": "boolean" - }, - "hostNamesDisabled": { - "description": "true to disable the public hostnames of the app; otherwise, false.\n If true, the app is only accessible via API management process.", - "type": "boolean" - }, - "customDomainVerificationId": { - "description": "Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification.", - "type": "string" - }, - "outboundIpAddresses": { - "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.", - "type": "string", - "readOnly": true - }, - "possibleOutboundIpAddresses": { - "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only.", - "type": "string", - "readOnly": true - }, - "containerSize": { - "format": "int32", - "description": "Size of the function container.", - "type": "integer" - }, - "dailyMemoryTimeQuota": { - "format": "int32", - "description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only).", - "type": "integer" - }, - "suspendedTill": { - "format": "date-time", - "description": "App suspended till in case memory-time quota is exceeded.", - "type": "string", - "readOnly": true - }, - "maxNumberOfWorkers": { - "format": "int32", - "description": "Maximum number of workers.\nThis only applies to Functions container.", - "type": "integer", - "readOnly": true - }, - "cloningInfo": { - "$ref": "#/definitions/CloningInfo", - "description": "If specified during app creation, the app is cloned from a source app.", - "x-ms-mutability": [ - "create" - ] - }, - "resourceGroup": { - "description": "Name of the resource group the app belongs to. Read-only.", - "type": "string", - "readOnly": true - }, - "isDefaultContainer": { - "description": "true if the app is a default container; otherwise, false.", - "type": "boolean", - "readOnly": true - }, - "defaultHostName": { - "description": "Default hostname of the app. Read-only.", - "type": "string", - "readOnly": true - }, - "slotSwapStatus": { - "$ref": "#/definitions/SlotSwapStatus", - "description": "Status of the last deployment slot swap operation.", - "readOnly": true - }, - "httpsOnly": { - "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", - "type": "boolean" - }, - "redundancyMode": { - "description": "Site redundancy mode", - "enum": [ - "None", - "Manual", - "Failover", - "ActiveActive", - "GeoRedundant" - ], - "type": "string", - "x-ms-enum": { - "name": "RedundancyMode", - "modelAsString": false - } - }, - "inProgressOperationId": { - "format": "uuid", - "description": "Specifies an operation id if this site has a pending operation.", - "type": "string", - "readOnly": true, - "example": "00000000-0000-0000-0000-000000000000" - }, - "publicNetworkAccess": { - "description": "Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty string.", - "type": "string" - }, - "storageAccountRequired": { - "description": "Checks if Customer provided storage account is required", - "type": "boolean" - }, - "keyVaultReferenceIdentity": { - "description": "Identity to use for Key Vault Reference authentication.", - "type": "string" - }, - "autoGeneratedDomainNameLabelScope": { - "description": "Specifies the scope of uniqueness for the default hostname during resource creation", - "enum": [ - "TenantReuse", - "SubscriptionReuse", - "ResourceGroupReuse", - "NoReuse" - ], - "type": "string", - "x-ms-enum": { - "name": "autoGeneratedDomainNameLabelScope", - "modelAsString": false - } - }, - "virtualNetworkSubnetId": { - "description": "Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration.\nThis must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", - "type": "string" - }, - "managedEnvironmentId": { - "description": "Azure Resource Manager ID of the customer's selected Managed Environment on which to host this app. This must be of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}", - "type": "string" - }, - "sku": { - "description": "Current SKU of application based on associated App Service Plan. Some valid SKU values are Free, Shared, Basic, Dynamic, FlexConsumption, Standard, Premium, PremiumV2, PremiumV3, Isolated, IsolatedV2", - "type": "string", - "readOnly": true - } - }, - "x-ms-client-flatten": true - }, - "identity": { - "$ref": "#/definitions/ManagedServiceIdentity" - }, - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation" - } - } - }, - "SiteConfig": { - "description": "Configuration of an App Service app.", - "type": "object", - "properties": { - "numberOfWorkers": { - "format": "int32", - "description": "Number of workers.", - "type": "integer" - }, - "defaultDocuments": { - "description": "Default documents.", - "type": "array", - "items": { - "type": "string" - } - }, - "netFrameworkVersion": { - "description": ".NET Framework version.", - "default": "v4.6", - "type": "string" - }, - "phpVersion": { - "description": "Version of PHP.", - "type": "string" - }, - "pythonVersion": { - "description": "Version of Python.", - "type": "string" - }, - "nodeVersion": { - "description": "Version of Node.js.", - "type": "string" - }, - "powerShellVersion": { - "description": "Version of PowerShell.", - "type": "string" - }, - "linuxFxVersion": { - "description": "Linux App Framework and version", - "type": "string" - }, - "windowsFxVersion": { - "description": "Xenon App Framework and version", - "type": "string" - }, - "requestTracingEnabled": { - "description": "true if request tracing is enabled; otherwise, false.", - "type": "boolean" - }, - "requestTracingExpirationTime": { - "format": "date-time", - "description": "Request tracing expiration time.", - "type": "string" - }, - "remoteDebuggingEnabled": { - "description": "true if remote debugging is enabled; otherwise, false.", - "type": "boolean" - }, - "remoteDebuggingVersion": { - "description": "Remote debugging version.", - "type": "string" - }, - "httpLoggingEnabled": { - "description": "true if HTTP logging is enabled; otherwise, false.", - "type": "boolean" - }, - "acrUseManagedIdentityCreds": { - "description": "Flag to use Managed Identity Creds for ACR pull", - "type": "boolean" - }, - "acrUserManagedIdentityID": { - "description": "If using user managed identity, the user managed identity ClientId", - "type": "string" - }, - "logsDirectorySizeLimit": { - "format": "int32", - "description": "HTTP logs directory size limit.", - "type": "integer" - }, - "detailedErrorLoggingEnabled": { - "description": "true if detailed error logging is enabled; otherwise, false.", - "type": "boolean" - }, - "publishingUsername": { - "description": "Publishing user name.", - "type": "string" - }, - "appSettings": { - "description": "Application settings. This property is not returned in response to normal create and read requests since it may contain sensitive information.", - "type": "array", - "items": { - "$ref": "#/definitions/NameValuePair" - }, - "x-ms-identifiers": [ - "name" - ], - "x-ms-mutability": [ - "create", - "update" - ] - }, - "metadata": { - "description": "Application metadata. This property cannot be retrieved, since it may contain secrets.", - "type": "array", - "items": { - "$ref": "#/definitions/NameValuePair" - }, - "x-ms-identifiers": [ - "name" - ], - "x-ms-mutability": [ - "create", - "update" - ] - }, - "connectionStrings": { - "description": "Connection strings. This property is not returned in response to normal create and read requests since it may contain sensitive information.", - "type": "array", - "items": { - "$ref": "#/definitions/ConnStringInfo" - }, - "x-ms-identifiers": [ - "name" - ], - "x-ms-mutability": [ - "create", - "update" - ] - }, - "machineKey": { - "$ref": "#/definitions/SiteMachineKey", - "description": "Site MachineKey.", - "readOnly": true - }, - "handlerMappings": { - "description": "Handler mappings.", - "type": "array", - "items": { - "$ref": "#/definitions/HandlerMapping" - }, - "x-ms-identifiers": [ - "extension" - ] - }, - "documentRoot": { - "description": "Document root.", - "type": "string" - }, - "scmType": { - "description": "SCM type.", - "enum": [ - "None", - "Dropbox", - "Tfs", - "LocalGit", - "GitHub", - "CodePlexGit", - "CodePlexHg", - "BitbucketGit", - "BitbucketHg", - "ExternalGit", - "ExternalHg", - "OneDrive", - "VSO", - "VSTSRM" - ], - "type": "string", - "x-ms-enum": { - "name": "ScmType", - "modelAsString": true - } - }, - "use32BitWorkerProcess": { - "description": "true to use 32-bit worker process; otherwise, false.", - "type": "boolean" - }, - "webSocketsEnabled": { - "description": "true if WebSocket is enabled; otherwise, false.", - "type": "boolean" - }, - "alwaysOn": { - "description": "true if Always On is enabled; otherwise, false.", - "type": "boolean" - }, - "javaVersion": { - "description": "Java version.", - "type": "string" - }, - "javaContainer": { - "description": "Java container.", - "type": "string" - }, - "javaContainerVersion": { - "description": "Java container version.", - "type": "string" - }, - "appCommandLine": { - "description": "App command line to launch.", - "type": "string" - }, - "managedPipelineMode": { - "description": "Managed pipeline mode.", - "enum": [ - "Integrated", - "Classic" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedPipelineMode", - "modelAsString": false - } - }, - "virtualApplications": { - "description": "Virtual applications.", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualApplication" - }, - "x-ms-identifiers": [ - "virtualPath" - ] - }, - "loadBalancing": { - "description": "Site load balancing.", - "enum": [ - "WeightedRoundRobin", - "LeastRequests", - "LeastResponseTime", - "WeightedTotalTraffic", - "RequestHash", - "PerSiteRoundRobin", - "LeastRequestsWithTieBreaker" - ], - "type": "string", - "x-ms-enum": { - "name": "SiteLoadBalancing", - "modelAsString": false - } - }, - "experiments": { - "$ref": "#/definitions/Experiments", - "description": "This is work around for polymorphic types." - }, - "limits": { - "$ref": "#/definitions/SiteLimits", - "description": "Site limits." - }, - "autoHealEnabled": { - "description": "true if Auto Heal is enabled; otherwise, false.", - "type": "boolean" - }, - "autoHealRules": { - "$ref": "#/definitions/AutoHealRules", - "description": "Auto Heal rules." - }, - "tracingOptions": { - "description": "Tracing options.", - "type": "string" - }, - "vnetName": { - "description": "Virtual Network name.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "vnetRouteAllEnabled": { - "description": "Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied.", - "type": "boolean" - }, - "vnetPrivatePortsCount": { - "format": "int32", - "description": "The number of private ports assigned to this app. These will be assigned dynamically on runtime.", - "type": "integer" - }, - "cors": { - "$ref": "#/definitions/CorsSettings", - "description": "Cross-Origin Resource Sharing (CORS) settings." - }, - "push": { - "$ref": "#/definitions/PushSettings", - "description": "Push endpoint settings." - }, - "apiDefinition": { - "$ref": "#/definitions/ApiDefinitionInfo", - "description": "Information about the formal API definition for the app." - }, - "apiManagementConfig": { - "$ref": "#/definitions/ApiManagementConfig", - "description": "Azure API management settings linked to the app." - }, - "autoSwapSlotName": { - "description": "Auto-swap slot name.", - "type": "string" - }, - "localMySqlEnabled": { - "description": "true to enable local MySQL; otherwise, false.", - "default": false, - "type": "boolean" - }, - "managedServiceIdentityId": { - "format": "int32", - "description": "Managed Service Identity Id", - "type": "integer" - }, - "xManagedServiceIdentityId": { - "format": "int32", - "description": "Explicit Managed Service Identity Id", - "type": "integer" - }, - "keyVaultReferenceIdentity": { - "description": "Identity to use for Key Vault Reference authentication.", - "type": "string" - }, - "ipSecurityRestrictions": { - "description": "IP security restrictions for main.", - "type": "array", - "items": { - "$ref": "#/definitions/IpSecurityRestriction" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "ipSecurityRestrictionsDefaultAction": { - "description": "Default action for main access restriction if no rules are matched.", - "enum": [ - "Allow", - "Deny" - ], - "type": "string", - "x-ms-enum": { - "name": "DefaultAction", - "modelAsString": true - } - }, - "scmIpSecurityRestrictions": { - "description": "IP security restrictions for scm.", - "type": "array", - "items": { - "$ref": "#/definitions/IpSecurityRestriction" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "scmIpSecurityRestrictionsDefaultAction": { - "description": "Default action for scm access restriction if no rules are matched.", - "enum": [ - "Allow", - "Deny" - ], - "type": "string", - "x-ms-enum": { - "name": "DefaultAction", - "modelAsString": true - } - }, - "scmIpSecurityRestrictionsUseMain": { - "description": "IP security restrictions for scm to use main.", - "type": "boolean" - }, - "http20Enabled": { - "description": "Http20Enabled: configures a web site to allow clients to connect over http2.0", - "default": true, - "type": "boolean" - }, - "http20ProxyFlag": { - "description": "Http20ProxyFlag: Configures a website to allow http2.0 to pass be proxied all the way to the app. 0 = disabled, 1 = pass through all http2 traffic, 2 = pass through gRPC only.", - "default": 0, - "type": "integer", - "format": "int32" - }, - "minTlsVersion": { - "description": "MinTlsVersion: configures the minimum version of TLS required for SSL requests", - "enum": [ - "1.0", - "1.1", - "1.2", - "1.3" - ], - "type": "string", - "x-ms-enum": { - "name": "SupportedTlsVersions", - "modelAsString": true - } - }, - "minTlsCipherSuite": { - "description": "The minimum strength TLS cipher suite allowed for an application", - "enum": [ - "TLS_AES_256_GCM_SHA384", - "TLS_AES_128_GCM_SHA256", - "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", - "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", - "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", - "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", - "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", - "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", - "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", - "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", - "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", - "TLS_RSA_WITH_AES_256_GCM_SHA384", - "TLS_RSA_WITH_AES_128_GCM_SHA256", - "TLS_RSA_WITH_AES_256_CBC_SHA256", - "TLS_RSA_WITH_AES_128_CBC_SHA256", - "TLS_RSA_WITH_AES_256_CBC_SHA", - "TLS_RSA_WITH_AES_128_CBC_SHA" - ], - "type": "string", - "x-ms-enum": { - "name": "TlsCipherSuites", - "modelAsString": true - } - }, - "scmMinTlsVersion": { - "description": "ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site", - "enum": [ - "1.0", - "1.1", - "1.2", - "1.3" - ], - "type": "string", - "x-ms-enum": { - "name": "SupportedTlsVersions", - "modelAsString": true - } - }, - "ftpsState": { - "description": "State of FTP / FTPS service", - "enum": [ - "AllAllowed", - "FtpsOnly", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "FtpsState", - "modelAsString": true - } - }, - "preWarmedInstanceCount": { - "format": "int32", - "description": "Number of preWarmed instances.\nThis setting only applies to the Consumption and Elastic Plans", - "maximum": 10, - "minimum": 0, - "type": "integer" - }, - "functionAppScaleLimit": { - "format": "int32", - "description": "Maximum number of workers that a site can scale out to.\nThis setting only applies to the Consumption and Elastic Premium Plans", - "minimum": 0, - "type": "integer" - }, - "elasticWebAppScaleLimit": { - "format": "int32", - "description": "Maximum number of workers that a site can scale out to.\nThis setting only applies to apps in plans where ElasticScaleEnabled is true", - "minimum": 0, - "type": "integer" - }, - "healthCheckPath": { - "description": "Health check path", - "type": "string" - }, - "functionsRuntimeScaleMonitoringEnabled": { - "description": "Gets or sets a value indicating whether functions runtime scale monitoring is enabled. When enabled,\nthe ScaleController will not monitor event sources directly, but will instead call to the\nruntime to get scale status.", - "type": "boolean" - }, - "websiteTimeZone": { - "description": "Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database values https://www.iana.org/time-zones (for a quick reference see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones", - "type": "string" - }, - "minimumElasticInstanceCount": { - "format": "int32", - "description": "Number of minimum instance count for a site\nThis setting only applies to the Elastic Plans", - "maximum": 20, - "minimum": 0, - "type": "integer" - }, - "azureStorageAccounts": { - "description": "List of Azure Storage Accounts.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/AzureStorageInfoValue" - } - }, - "publicNetworkAccess": { - "description": "Property to allow or block all public traffic.", - "type": "string" - } - } - }, - "FunctionsDeployment": { - "description": "Configuration section for the function app deployment.", - "type": "object", - "properties": { - "storage": { - "description": "Storage for deployed package used by the function app.", - "type": "object", - "properties": { - "type": { - "description": "Property to select Azure Storage type. Available options: blobContainer.", - "type": "string", - "enum": [ - "blobContainer" - ], - "x-ms-enum": { - "name": "FunctionsDeploymentStorageType", - "modelAsString": true - } - }, - "value": { - "description": "Property to set the URL for the selected Azure Storage type. Example: For blobContainer, the value could be https://.blob.core.windows.net/.", - "type": "string", - "format": "uri" - }, - "authentication": { - "description": "Authentication method to access the storage account for deployment.", - "type": "object", - "properties": { - "type": { - "description": "Property to select authentication type to access the selected storage account. Available options: SystemAssignedIdentity, UserAssignedIdentity, StorageAccountConnectionString.", - "type": "string", - "enum": [ - "SystemAssignedIdentity", - "UserAssignedIdentity", - "StorageAccountConnectionString" - ], - "x-ms-enum": { - "name": "AuthenticationType", - "modelAsString": true - } - }, - "userAssignedIdentityResourceId": { - "description": "Use this property for UserAssignedIdentity. Set the resource ID of the identity. Do not set a value for this property when using other authentication type.", - "type": "string" - }, - "storageAccountConnectionStringName": { - "description": "Use this property for StorageAccountConnectionString. Set the name of the app setting that has the storage account connection string. Do not set a value for this property when using other authentication type.", - "type": "string" - } - } - } - } - } - } - }, - "FunctionsAlwaysReadyConfig": { - "description": "Sets the number of 'Always Ready' instances for a function group or a specific function.", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Either a function group or a function name is required. For additional information see https://aka.ms/flexconsumption/alwaysready." - }, - "instanceCount": { - "type": "integer", - "format": "int32", - "description": "Sets the number of 'Always Ready' instances for a given function group or a specific function. For additional information see https://aka.ms/flexconsumption/alwaysready." - } - } - }, - "FunctionsScaleAndConcurrency": { - "description": "Scale and concurrency settings for the function app.", - "type": "object", - "properties": { - "alwaysReady": { - "description": "'Always Ready' configuration for the function app.", - "type": "array", - "items": { - "$ref": "#/definitions/FunctionsAlwaysReadyConfig" - } - }, - "maximumInstanceCount": { - "description": "The maximum number of instances for the function app.", - "type": "integer", - "format": "int32" - }, - "instanceMemoryMB": { - "description": "Set the amount of memory allocated to each instance of the function app in MB. CPU and network bandwidth are allocated proportionally.", - "type": "integer", - "format": "int32" - }, - "triggers": { - "type": "object", - "description": "Scale and concurrency settings for the function app triggers.", - "properties": { - "http": { - "type": "object", - "description": "Scale and concurrency settings for the HTTP trigger.", - "properties": { - "perInstanceConcurrency": { - "type": "integer", - "format": "int32", - "description": "The maximum number of concurrent HTTP trigger invocations per instance." - } - } - } - } - } - } - }, - "FunctionsRuntime": { - "description": "Function app runtime name and version.", - "type": "object", - "properties": { - "name": { - "description": "Function app runtime name. Available options: dotnet-isolated, node, java, powershell, python, custom", - "type": "string", - "enum": [ - "dotnet-isolated", - "node", - "java", - "powershell", - "python", - "custom" - ], - "x-ms-enum": { - "name": "RuntimeName", - "modelAsString": true - } - }, - "version": { - "description": "Function app runtime version. Example: 8 (for dotnet-isolated)", - "type": "string", - "x-nullable": true - } - } - }, - "FunctionAppConfig": { - "description": "Function app configuration.", - "type": "object", - "properties": { - "deployment": { - "$ref": "#/definitions/FunctionsDeployment", - "description": "Function app deployment configuration." - }, - "runtime": { - "$ref": "#/definitions/FunctionsRuntime", - "description": "Function app runtime settings." - }, - "scaleAndConcurrency": { - "$ref": "#/definitions/FunctionsScaleAndConcurrency", - "description": "Function app scale and concurrency settings." - } - } - }, - "DaprConfig": { - "description": "App Dapr configuration.", - "type": "object", - "properties": { - "enabled": { - "description": "Boolean indicating if the Dapr side car is enabled", - "type": "boolean", - "default": false - }, - "appId": { - "description": "Dapr application identifier", - "type": "string" - }, - "appPort": { - "format": "int32", - "description": "Tells Dapr which port your application is listening on", - "type": "integer" - }, - "httpReadBufferSize": { - "type": "integer", - "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB.", - "format": "int32" - }, - "httpMaxRequestSize": { - "type": "integer", - "description": "Increasing max size of request body http servers parameter in MB to handle uploading of big files. Default is 4 MB.", - "format": "int32" - }, - "logLevel": { - "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.", - "enum": [ - "info", - "debug", - "warn", - "error" - ], - "type": "string", - "x-ms-enum": { - "name": "daprLogLevel", - "modelAsString": true - } - }, - "enableApiLogging": { - "description": "Enables API logging for the Dapr sidecar", - "type": "boolean" - } - } - }, - "ResourceConfig": { - "description": "Function app resource requirements.", - "type": "object", - "properties": { - "cpu": { - "format": "double", - "description": "Required CPU in cores, e.g. 0.5", - "type": "number" - }, - "memory": { - "description": "Required memory, e.g. \"1Gi\"", - "type": "string" - } - } - }, - "SiteDnsConfig": { - "type": "object", - "properties": { - "dnsServers": { - "description": "List of custom DNS servers to be used by an app for lookups. Maximum 5 dns servers can be set.", - "type": "array", - "items": { - "type": "string" - } - }, - "dnsAltServer": { - "description": "Alternate DNS server to be used by apps. This property replicates the WEBSITE_DNS_ALT_SERVER app setting.", - "type": "string" - }, - "dnsRetryAttemptTimeout": { - "format": "int32", - "description": "Timeout for a single dns lookup in seconds. Allowed range: 1-30. Default is 3.", - "type": "integer" - }, - "dnsRetryAttemptCount": { - "format": "int32", - "description": "Total number of retries for dns lookup. Allowed range: 1-5. Default is 3.", - "type": "integer" - }, - "dnsMaxCacheTimeout": { - "format": "int32", - "description": "Custom time for DNS to be cached in seconds. Allowed range: 0-60. Default is 30 seconds. 0 means caching disabled.", - "type": "integer" - }, - "dnsLegacySortOrder": { - "description": "Indicates that sites using Virtual network custom DNS servers are still sorting the list of DNS servers. Read-Only.", - "type": "boolean", - "readOnly": true - } - } - }, - "OutboundVnetRouting": { - "description": "Outbound traffic options over virtual network.", - "type": "object", - "properties": { - "allTraffic": { - "description": "Enables all other routing options defined in OutboundVnetRouting if this setting is set to true.", - "type": "boolean" - }, - "applicationTraffic": { - "description": "This causes all outbound traffic to have Virtual Network Security Groups and User Defined Routes applied. Previously called VnetRouteAllEnabled.", - "type": "boolean" - }, - "contentShareTraffic": { - "description": "Enables accessing content over virtual network. Previously called VnetContentShareEnabled", - "type": "boolean" - }, - "imagePullTraffic": { - "description": "Enables pulling image over Virtual Network. Previously called VnetImagePullEnabled.", - "type": "boolean" - }, - "backupRestoreTraffic": { - "description": "Enables Backup and Restore operations over virtual network. Previously called VnetBackupRestoreEnabled", - "type": "boolean" - } - } - }, - "SiteLimits": { - "description": "Metric limits set on an app.", - "type": "object", - "properties": { - "maxPercentageCpu": { - "format": "double", - "description": "Maximum allowed CPU usage percentage.", - "type": "number" - }, - "maxMemoryInMb": { - "format": "int64", - "description": "Maximum allowed memory usage in MB.", - "type": "integer" - }, - "maxDiskSizeInMb": { - "format": "int64", - "description": "Maximum allowed disk size usage in MB.", - "type": "integer" - } - } - }, - "SiteMachineKey": { - "description": "MachineKey of an app.", - "type": "object", - "properties": { - "validation": { - "description": "MachineKey validation.", - "type": "string" - }, - "validationKey": { - "description": "Validation key.", - "type": "string" - }, - "decryption": { - "description": "Algorithm used for decryption.", - "type": "string" - }, - "decryptionKey": { - "description": "Decryption key.", - "type": "string" - } - } - }, - "SkuCapacity": { - "description": "Description of the App Service plan scale options.", - "type": "object", - "properties": { - "minimum": { - "format": "int32", - "description": "Minimum number of workers for this App Service plan SKU.", - "type": "integer" - }, - "maximum": { - "format": "int32", - "description": "Maximum number of workers for this App Service plan SKU.", - "type": "integer" - }, - "elasticMaximum": { - "format": "int32", - "description": "Maximum number of Elastic workers for this App Service plan SKU.", - "type": "integer" - }, - "default": { - "format": "int32", - "description": "Default number of workers for this App Service plan SKU.", - "type": "integer" - }, - "scaleType": { - "description": "Available scale configurations for an App Service plan.", - "type": "string" - } - } - }, - "SkuDescription": { - "description": "Description of a SKU for a scalable resource.", - "type": "object", - "properties": { - "name": { - "description": "Name of the resource SKU.", - "type": "string" - }, - "tier": { - "description": "Service tier of the resource SKU.", - "type": "string" - }, - "size": { - "description": "Size specifier of the resource SKU.", - "type": "string" - }, - "family": { - "description": "Family code of the resource SKU.", - "type": "string" - }, - "capacity": { - "format": "int32", - "description": "Current number of instances assigned to the resource.", - "type": "integer" - }, - "skuCapacity": { - "$ref": "#/definitions/SkuCapacity", - "description": "Min, max, and default scale values of the SKU." - }, - "locations": { - "description": "Locations of the SKU.", - "type": "array", - "items": { - "type": "string" - } - }, - "capabilities": { - "description": "Capabilities of the SKU, e.g., is traffic manager enabled?", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - }, - "x-ms-identifiers": [ - "name" - ] - } - } - }, - "SlotSwapStatus": { - "description": "The status of the last successful slot swap operation.", - "type": "object", - "properties": { - "timestampUtc": { - "format": "date-time", - "description": "The time the last successful slot swap completed.", - "type": "string", - "readOnly": true - }, - "sourceSlotName": { - "description": "The source slot of the last swap operation.", - "type": "string", - "readOnly": true - }, - "destinationSlotName": { - "description": "The destination slot of the last swap operation.", - "type": "string", - "readOnly": true - } - } - }, - "SlowRequestsBasedTrigger": { - "description": "Trigger based on request execution time.", - "type": "object", - "properties": { - "timeTaken": { - "description": "Time taken.", - "type": "string" - }, - "path": { - "description": "Request Path.", - "type": "string" - }, - "count": { - "format": "int32", - "description": "Request Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - } - } - }, - "Snapshot": { - "description": "A snapshot of an app.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "Snapshot resource specific properties", - "type": "object", - "properties": { - "time": { - "description": "The time the snapshot was taken.", - "type": "string", - "readOnly": true - } - }, - "x-ms-client-flatten": true - } - } - }, - "Status": { - "description": "Identify the status of the most severe insight generated by the detector.", - "type": "object", - "properties": { - "message": { - "description": "Descriptive message.", - "type": "string" - }, - "statusId": { - "description": "Level of the most severe insight generated by the detector.", - "enum": [ - "Critical", - "Warning", - "Info", - "Success", - "None" - ], - "type": "string", - "x-ms-enum": { - "name": "InsightStatus", - "modelAsString": false - } - } - } - }, - "StatusCodesBasedTrigger": { - "description": "Trigger based on status code.", - "type": "object", - "properties": { - "status": { - "format": "int32", - "description": "HTTP status code.", - "type": "integer" - }, - "subStatus": { - "format": "int32", - "description": "Request Sub Status.", - "type": "integer" - }, - "win32Status": { - "format": "int32", - "description": "Win32 error code.", - "type": "integer" - }, - "count": { - "format": "int32", - "description": "Request Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - }, - "path": { - "description": "Request Path", - "type": "string" - } - } - }, - "StatusCodesRangeBasedTrigger": { - "description": "Trigger based on range of status codes.", - "type": "object", - "properties": { - "statusCodes": { - "description": "HTTP status code.", - "type": "string" - }, - "path": { - "type": "string" - }, - "count": { - "format": "int32", - "description": "Request Count.", - "type": "integer" - }, - "timeInterval": { - "description": "Time interval.", - "type": "string" - } - } - }, - "StringDictionary": { - "description": "String dictionary resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "Settings.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-client-flatten": true - } - } - }, - "SupportTopic": { - "description": "Defines a unique Support Topic", - "type": "object", - "properties": { - "id": { - "description": "Support Topic Id", - "type": "string", - "readOnly": true - }, - "pesId": { - "description": "Unique resource Id", - "type": "string", - "readOnly": true - } - } - }, - "Template": { - "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created", - "type": "object", - "properties": { - "revisionSuffix": { - "description": "User friendly suffix that is appended to the revision name", - "type": "string" - }, - "containers": { - "description": "List of container definitions for the Container App.", - "type": "array", - "items": { - "$ref": "#/definitions/Container" - }, - "x-ms-identifiers": [ - "name" - ] - }, - "scale": { - "$ref": "#/definitions/Scale", - "description": "Scaling properties for the Container App." - }, - "dapr": { - "$ref": "#/definitions/Dapr", - "description": "Dapr configuration for the Container App." - } - } - }, - "User": { - "description": "User credentials used for publishing activity.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "User resource specific properties", - "required": [ - "publishingUserName" - ], - "type": "object", - "properties": { - "publishingUserName": { - "description": "Username used for publishing.", - "type": "string" - }, - "publishingPassword": { - "format": "password", - "description": "Password used for publishing.", - "type": "string" - }, - "publishingPasswordHash": { - "format": "password", - "description": "Password hash used for publishing.", - "type": "string" - }, - "publishingPasswordHashSalt": { - "format": "password", - "description": "Password hash salt used for publishing.", - "type": "string" - }, - "scmUri": { - "description": "Url of SCM site.", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "VirtualApplication": { - "description": "Virtual application in an app.", - "type": "object", - "properties": { - "virtualPath": { - "description": "Virtual path.", - "type": "string" - }, - "physicalPath": { - "description": "Physical path.", - "type": "string" - }, - "preloadEnabled": { - "description": "true if preloading is enabled; otherwise, false.", - "type": "boolean" - }, - "virtualDirectories": { - "description": "Virtual directories for virtual application.", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualDirectory" - }, - "x-ms-identifiers": [ - "virtualPath" - ] - } - } - }, - "VirtualDirectory": { - "description": "Directory for virtual application.", - "type": "object", - "properties": { - "virtualPath": { - "description": "Path to virtual application.", - "type": "string" - }, - "physicalPath": { - "description": "Physical path.", - "type": "string" - } - } - }, - "VirtualNetworkProfile": { - "description": "Specification for using a Virtual Network.", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "Resource id of the Virtual Network.", - "type": "string" - }, - "name": { - "description": "Name of the Virtual Network (read-only).", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type of the Virtual Network (read-only).", - "type": "string", - "readOnly": true - }, - "subnet": { - "description": "Subnet within the Virtual Network.", - "type": "string" - } - } - }, - "VnetGateway": { - "description": "The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the VPN package.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "VnetGateway resource specific properties", - "required": [ - "vpnPackageUri" - ], - "type": "object", - "properties": { - "vnetName": { - "description": "The Virtual Network name.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "vpnPackageUri": { - "description": "The URI where the VPN package can be downloaded.", - "type": "string", - "x-ms-mutability": [ - "create", - "update" - ] - } - }, - "x-ms-client-flatten": true - } - } - }, - "VnetInfo": { - "description": "Virtual Network information contract.", - "type": "object", - "properties": { - "vnetResourceId": { - "description": "The Virtual Network's resource ID.", - "type": "string" - }, - "certThumbprint": { - "description": "The client certificate thumbprint.", - "type": "string", - "readOnly": true - }, - "certBlob": { - "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \nPoint-To-Site VPN connection.", - "type": "string" - }, - "routes": { - "description": "The routes that this Virtual Network connection uses.", - "type": "array", - "items": { - "$ref": "#/definitions/VnetRoute" - }, - "readOnly": true - }, - "resyncRequired": { - "description": "true if a resync is required; otherwise, false.", - "type": "boolean", - "readOnly": true - }, - "dnsServers": { - "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.", - "type": "string" - }, - "isSwift": { - "description": "Flag that is used to denote if this is VNET injection", - "type": "boolean" - } - } - }, - "VnetInfoResource": { - "description": "Virtual Network information ARM resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/VnetInfo", - "description": "Core resource properties", - "type": "object", - "x-ms-client-flatten": true - } - } - }, - "VnetRoute": { - "description": "Virtual Network route contract used to pass routing information for a Virtual Network.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "VnetRoute resource specific properties", - "type": "object", - "properties": { - "startAddress": { - "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.", - "type": "string" - }, - "endAddress": { - "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.", - "type": "string" - }, - "routeType": { - "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.", - "enum": [ - "DEFAULT", - "INHERITED", - "STATIC" - ], - "type": "string", - "x-ms-enum": { - "name": "RouteType", - "modelAsString": true - } - } - }, - "x-ms-client-flatten": true - } - } - }, - "WebAppCollection": { - "description": "Collection of App Service apps.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/Site" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "userAssignedIdentity": { - "description": "User Assigned identity.", - "type": "object", - "properties": { - "principalId": { - "description": "Principal Id of user assigned identity", - "type": "string", - "readOnly": true - }, - "clientId": { - "description": "Client Id of user assigned identity", - "type": "string", - "readOnly": true - } - } - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} From 49c456dd31e24e0941a1972a1e3e7b48cf1a8da7 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 30 Oct 2025 17:25:49 +0800 Subject: [PATCH 33/43] several diff fix --- .../DomainRegistration.Management/Domain.tsp | 7 ++ .../DomainOwnershipIdentifier.tsp | 6 ++ .../TopLevelDomain.tsp | 7 ++ .../back-compatible.tsp | 7 ++ .../DomainRegistration.Management/models.tsp | 17 +--- .../stable/2024-11-01/openapi.json | 78 ++++++++++++------- 6 files changed, 77 insertions(+), 45 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/Domain.tsp b/specification/domainregistration/DomainRegistration.Management/Domain.tsp index 2fb32274e185..d5e1cc01b445 100644 --- a/specification/domainregistration/DomainRegistration.Management/Domain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/Domain.tsp @@ -13,6 +13,7 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "kind is required in envelope to match legacy API shape" model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = Domain, @@ -20,6 +21,11 @@ model Domain is Azure.ResourceManager.TrackedResource { SegmentName = "domains", NamePattern = "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" >; + + /** + * Kind of resource + */ + kind?: string; } @armResourceOperations @@ -91,6 +97,7 @@ interface Domains { /** * Description for Get all domains in a subscription. */ + @summary("Get all domains in a subscription.") list is ArmListBySubscription< Domain, Response = ArmResponse, diff --git a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index bbd921446fe8..9906ac208618 100644 --- a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -15,6 +15,7 @@ namespace Microsoft.DomainRegistration; * Domain ownership Identifier. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "kind is required in envelope to match legacy API shape" @parentResource(Domain) model DomainOwnershipIdentifier is Azure.ResourceManager.ProxyResource { @@ -24,6 +25,11 @@ model DomainOwnershipIdentifier SegmentName = "domainOwnershipIdentifiers", NamePattern = "" >; + + /** + * Kind of resource + */ + kind?: string; } @armResourceOperations diff --git a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp index 09a3b7e7c1fd..21fccf07c3f9 100644 --- a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp @@ -13,6 +13,7 @@ namespace Microsoft.DomainRegistration; /** * A top level domain object. */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "kind is required in envelope to match legacy API shape" @subscriptionResource model TopLevelDomain is Azure.ResourceManager.ProxyResource { @@ -22,6 +23,11 @@ model TopLevelDomain SegmentName = "topLevelDomains", NamePattern = "" >; + + /** + * Kind of resource + */ + kind?: string; } @armResourceOperations @@ -39,6 +45,7 @@ interface TopLevelDomains { /** * Description for Get all top-level domains supported for registration. */ + @summary("Get all top-level domains supported for registration.") list is ArmResourceListByParent< TopLevelDomain, BaseParameters = Azure.ResourceManager.Foundations.SubscriptionBaseParameters, diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index a45b0a56bf93..9ee76216f790 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -48,3 +48,10 @@ using Microsoft.DomainRegistration; @@clientLocation(Operations.list, "DomainRegistrationProvider"); @@clientName(Operations.list, "ListOperations"); + +@@doc(Operations.list, + "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" +); +@@summary(Operations.list, + "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" +); diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 6e25f01304b7..77bbc956b016 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -566,7 +566,7 @@ model DomainProperties { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; + domainNotRenewableReasons?: ResourceNotRenewableReason[]; /** * Current DNS type @@ -931,7 +931,7 @@ model DomainPatchResourceProperties { */ #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) - domainNotRenewableReasons?: domainNotRenewableReasonsProperties[]; + domainNotRenewableReasons?: ResourceNotRenewableReason[]; /** * Current DNS type @@ -1073,19 +1073,6 @@ model ArmBadRequestResponse { ...TypeSpec.Http.Response<400>; } -/** - * Reasons why domain is not renewable. - */ -union domainNotRenewableReasonsProperties { - string, - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - RegistrationStatusNotSupportedForRenewal: "RegistrationStatusNotSupportedForRenewal", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - ExpirationNotInRenewalTimeRange: "ExpirationNotInRenewalTimeRange", - #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - SubscriptionNotActive: "SubscriptionNotActive", -} - /** * Collection of Azure resource manager operation metadata. */ diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index 6652a17a0ccc..a9157f3760e7 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -58,7 +58,8 @@ "tags": [ "Operations" ], - "description": "List the operations for the provider", + "summary": "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", + "description": "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -137,6 +138,7 @@ "tags": [ "Domains" ], + "summary": "Get all domains in a subscription.", "description": "Description for Get all domains in a subscription.", "parameters": [ { @@ -256,6 +258,7 @@ "tags": [ "TopLevelDomains" ], + "summary": "Get all top-level domains supported for registration.", "description": "Description for Get all top-level domains supported for registration.", "parameters": [ { @@ -1367,6 +1370,10 @@ "$ref": "#/definitions/DomainProperties", "description": "Domain resource specific properties", "x-ms-client-flatten": true + }, + "kind": { + "type": "string", + "description": "Kind of resource" } }, "allOf": [ @@ -1443,6 +1450,10 @@ "$ref": "#/definitions/DomainOwnershipIdentifierProperties", "description": "DomainOwnershipIdentifier resource specific properties", "x-ms-client-flatten": true + }, + "kind": { + "type": "string", + "description": "Kind of resource" } }, "allOf": [ @@ -1602,7 +1613,7 @@ "type": "array", "description": "Reasons why domain is not renewable.", "items": { - "$ref": "#/definitions/domainNotRenewableReasonsProperties" + "$ref": "#/definitions/ResourceNotRenewableReason" }, "readOnly": true }, @@ -1739,7 +1750,7 @@ "type": "array", "description": "Reasons why domain is not renewable.", "items": { - "$ref": "#/definitions/domainNotRenewableReasonsProperties" + "$ref": "#/definitions/ResourceNotRenewableReason" }, "readOnly": true }, @@ -2097,6 +2108,36 @@ } } }, + "ResourceNotRenewableReason": { + "type": "string", + "description": "Reasons why domain is not renewable.", + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "x-ms-enum": { + "name": "ResourceNotRenewableReason", + "modelAsString": true, + "values": [ + { + "name": "RegistrationStatusNotSupportedForRenewal", + "value": "RegistrationStatusNotSupportedForRenewal", + "description": "Registration status is not supported for renewal." + }, + { + "name": "ExpirationNotInRenewalTimeRange", + "value": "ExpirationNotInRenewalTimeRange", + "description": "Domain expiration is not in the renewal time range." + }, + { + "name": "SubscriptionNotActive", + "value": "SubscriptionNotActive", + "description": "Subscription is not active." + } + ] + } + }, "ServiceSpecification": { "type": "object", "description": "Resource metrics service provided by Microsoft.Insights resource provider.", @@ -2182,6 +2223,10 @@ "$ref": "#/definitions/TopLevelDomainProperties", "description": "TopLevelDomain resource specific properties", "x-ms-client-flatten": true + }, + "kind": { + "type": "string", + "description": "Kind of resource" } }, "allOf": [ @@ -2234,33 +2279,6 @@ "description": "If true, then the top level domain supports domain privacy; otherwise, false." } } - }, - "domainNotRenewableReasonsProperties": { - "type": "string", - "description": "Reasons why domain is not renewable.", - "enum": [ - "RegistrationStatusNotSupportedForRenewal", - "ExpirationNotInRenewalTimeRange", - "SubscriptionNotActive" - ], - "x-ms-enum": { - "name": "domainNotRenewableReasonsProperties", - "modelAsString": true, - "values": [ - { - "name": "RegistrationStatusNotSupportedForRenewal", - "value": "RegistrationStatusNotSupportedForRenewal" - }, - { - "name": "ExpirationNotInRenewalTimeRange", - "value": "ExpirationNotInRenewalTimeRange" - }, - { - "name": "SubscriptionNotActive", - "value": "SubscriptionNotActive" - } - ] - } } }, "parameters": {} From be7734e43bd65ed068daafd53d406f5945d58d31 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Thu, 30 Oct 2025 17:38:00 +0800 Subject: [PATCH 34/43] update tspconfig --- .../DomainRegistration.Management/tspconfig.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml index ea9ac410dccd..973adbca3414 100644 --- a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml +++ b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml @@ -11,12 +11,6 @@ options: output-file: "{azure-resource-provider-folder}/{service-name}/DomainRegistration/{version-status}/{version}/openapi.json" examples-dir: "{project-root}/examples" emit-lro-options: "all" - "@azure-tools/typespec-csharp": - flavor: azure - emitter-output-dir: "{output-dir}/{service-dir}/Azure.ResourceManager.Domainregistration" - clear-output-folder: true - model-namespace: true - namespace: "Azure.ResourceManager.Domainregistration" "@azure-tools/typespec-python": emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-domainregistration" namespace: "azure.mgmt.domainregistration" From ecb43f00538be9bc5be4203392567a46ae7feda7 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 31 Oct 2025 16:25:02 +0800 Subject: [PATCH 35/43] delete sparse-spec --- sparse-spec | 1 - 1 file changed, 1 deletion(-) delete mode 160000 sparse-spec diff --git a/sparse-spec b/sparse-spec deleted file mode 160000 index 64532bab5808..000000000000 --- a/sparse-spec +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 64532bab58086c84b9dbe5e08766e8ffde8c4493 From fc1158104453f99a71718f52ee9c58d83dd3676b Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Fri, 31 Oct 2025 17:51:34 +0800 Subject: [PATCH 36/43] update --- .../DomainRegistration.Management/models.tsp | 1 - .../DomainRegistration/stable/2024-11-01/openapi.json | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 77bbc956b016..08fe4fe5fb8a 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -434,7 +434,6 @@ model NameIdentifier { /** * Name of the object. */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) name?: string; } diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index a9157f3760e7..6391ef0a35b1 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -2040,10 +2040,7 @@ "properties": { "name": { "type": "string", - "description": "Name of the object.", - "x-ms-identifiers": [ - "name" - ] + "description": "Name of the object." } } }, From 8ce68cc1bdf72126789205a2a6a1b45e05b57441 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Mon, 3 Nov 2025 14:17:26 +0800 Subject: [PATCH 37/43] fix suppress --- .../domainregistration/DomainRegistration.Management/Domain.tsp | 2 +- .../DomainRegistration.Management/DomainOwnershipIdentifier.tsp | 2 +- .../DomainRegistration.Management/TopLevelDomain.tsp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/Domain.tsp b/specification/domainregistration/DomainRegistration.Management/Domain.tsp index d5e1cc01b445..25e45e2d1c91 100644 --- a/specification/domainregistration/DomainRegistration.Management/Domain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/Domain.tsp @@ -13,7 +13,7 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "kind is required in envelope to match legacy API shape" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = Domain, diff --git a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index 9906ac208618..da235ea4d9e5 100644 --- a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -15,7 +15,7 @@ namespace Microsoft.DomainRegistration; * Domain ownership Identifier. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "kind is required in envelope to match legacy API shape" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(Domain) model DomainOwnershipIdentifier is Azure.ResourceManager.ProxyResource { diff --git a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp index 21fccf07c3f9..a28fea2a345a 100644 --- a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp @@ -13,7 +13,7 @@ namespace Microsoft.DomainRegistration; /** * A top level domain object. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "kind is required in envelope to match legacy API shape" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @subscriptionResource model TopLevelDomain is Azure.ResourceManager.ProxyResource { From 6edffe5d88dd1e828c62607a9142ed4e6d27cb55 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Mon, 3 Nov 2025 14:48:15 +0800 Subject: [PATCH 38/43] update --- .../back-compatible.tsp | 9 +++++++++ .../DomainRegistration.Management/models.tsp | 1 - .../stable/2024-11-01/openapi.json | 15 +++++++++------ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index 9ee76216f790..72f57da93259 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -55,3 +55,12 @@ using Microsoft.DomainRegistration; @@summary(Operations.list, "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" ); + +@@OpenAPI.extension(NameIdentifierCollection.value, + "x-ms-identifiers", + #["name"] +); +@@OpenAPI.extension(TldLegalAgreementCollection.value, + "x-ms-identifiers", + #["agreementKey"] +); diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 08fe4fe5fb8a..9c5bfd56695f 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -1045,7 +1045,6 @@ model TldLegalAgreement { /** * Unique identifier for the agreement. */ - @OpenAPI.extension("x-ms-identifiers", #["agreementKey"]) agreementKey: string; /** diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index 6391ef0a35b1..ca3442f7af60 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -2053,7 +2053,10 @@ "description": "The NameIdentifier items on this page", "items": { "$ref": "#/definitions/NameIdentifier" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "type": "string", @@ -2167,10 +2170,7 @@ "properties": { "agreementKey": { "type": "string", - "description": "Unique identifier for the agreement.", - "x-ms-identifiers": [ - "agreementKey" - ] + "description": "Unique identifier for the agreement." }, "title": { "type": "string", @@ -2200,7 +2200,10 @@ "description": "The TldLegalAgreement items on this page", "items": { "$ref": "#/definitions/TldLegalAgreement" - } + }, + "x-ms-identifiers": [ + "agreementKey" + ] }, "nextLink": { "type": "string", From a6d24fa56645a085c462e7290960a8580590e9da Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Tue, 4 Nov 2025 13:55:58 +0800 Subject: [PATCH 39/43] update according to comments --- .../DomainRegistration.Management/Domain.tsp | 2 +- .../DomainOwnershipIdentifier.tsp | 3 +- .../TopLevelDomain.tsp | 2 +- .../back-compatible.tsp | 19 ------------ .../DomainRegistration.Management/main.tsp | 7 +++++ .../DomainRegistration.Management/models.tsp | 29 +++++++------------ .../stable/2024-11-01/openapi.json | 4 +-- 7 files changed, 22 insertions(+), 44 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/Domain.tsp b/specification/domainregistration/DomainRegistration.Management/Domain.tsp index 25e45e2d1c91..fbff1c50b937 100644 --- a/specification/domainregistration/DomainRegistration.Management/Domain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/Domain.tsp @@ -13,7 +13,6 @@ namespace Microsoft.DomainRegistration; /** * Information about a domain. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model Domain is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = Domain, @@ -25,6 +24,7 @@ model Domain is Azure.ResourceManager.TrackedResource { /** * Kind of resource */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kind?: string; } diff --git a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp index da235ea4d9e5..b75efa555aa0 100644 --- a/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp +++ b/specification/domainregistration/DomainRegistration.Management/DomainOwnershipIdentifier.tsp @@ -14,8 +14,6 @@ namespace Microsoft.DomainRegistration; /** * Domain ownership Identifier. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @parentResource(Domain) model DomainOwnershipIdentifier is Azure.ResourceManager.ProxyResource { @@ -29,6 +27,7 @@ model DomainOwnershipIdentifier /** * Kind of resource */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kind?: string; } diff --git a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp index a28fea2a345a..f5946fb6b546 100644 --- a/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp +++ b/specification/domainregistration/DomainRegistration.Management/TopLevelDomain.tsp @@ -13,7 +13,6 @@ namespace Microsoft.DomainRegistration; /** * A top level domain object. */ -#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @subscriptionResource model TopLevelDomain is Azure.ResourceManager.ProxyResource { @@ -27,6 +26,7 @@ model TopLevelDomain /** * Kind of resource */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" kind?: string; } diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index 72f57da93259..d3c22a6502ba 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -34,33 +34,14 @@ using Microsoft.DomainRegistration; "identifier" ); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainOwnershipIdentifier.properties); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainPatchResource.properties); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(TopLevelDomain.properties); -#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(Domain.properties); @@clientLocation(Operations.list, "DomainRegistrationProvider"); @@clientName(Operations.list, "ListOperations"); - -@@doc(Operations.list, - "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" -); -@@summary(Operations.list, - "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" -); - -@@OpenAPI.extension(NameIdentifierCollection.value, - "x-ms-identifiers", - #["name"] -); -@@OpenAPI.extension(TldLegalAgreementCollection.value, - "x-ms-identifiers", - #["agreementKey"] -); diff --git a/specification/domainregistration/DomainRegistration.Management/main.tsp b/specification/domainregistration/DomainRegistration.Management/main.tsp index 245d353d7b65..dd1964c73e24 100644 --- a/specification/domainregistration/DomainRegistration.Management/main.tsp +++ b/specification/domainregistration/DomainRegistration.Management/main.tsp @@ -49,3 +49,10 @@ interface Operations ArmResponse, DefaultErrorResponse > {} + +@@doc(Operations.list, + "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" +); +@@summary(Operations.list, + "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider" +); diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 9c5bfd56695f..7e77f2234a78 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -189,13 +189,13 @@ model ServiceSpecification { /** * Resource metrics service name. */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) + @identifiers(#["name"]) metricSpecifications?: MetricSpecification[]; /** * Resource logs service provided by Microsoft.Insights resource provider. */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) + @identifiers(#["name"]) logSpecifications?: LogSpecification[]; } @@ -266,7 +266,7 @@ model MetricSpecification { /** * Resource metric dimensions. */ - @OpenAPI.extension("x-ms-identifiers", #["name"]) + @identifiers(#["name"]) dimensions?: Dimension[]; /** @@ -277,7 +277,7 @@ model MetricSpecification { /** * Resource metric availability. */ - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) availabilities?: MetricAvailability[]; /** @@ -394,7 +394,7 @@ model DefaultErrorResponseError { /** * Error details. */ - @OpenAPI.extension("x-ms-identifiers", #[]) + @identifiers(#[]) details?: DefaultErrorResponseErrorDetailsItem[]; /** @@ -465,7 +465,6 @@ model DomainCollection is Azure.Core.Page; /** * Domain resource specific properties */ -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model DomainProperties { /** * Administrative contact. @@ -500,7 +499,6 @@ model DomainProperties { /** * Domain provisioning state. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @@ -551,7 +549,7 @@ model DomainProperties { * All hostnames derived from the domain and assigned to Azure resources. */ @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) + @identifiers(#["name"]) managedHostNames?: HostName[]; /** @@ -563,14 +561,12 @@ model DomainProperties { /** * Reasons why domain is not renewable. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) domainNotRenewableReasons?: ResourceNotRenewableReason[]; /** * Current DNS type */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" dnsType?: DnsType; /** @@ -581,7 +577,6 @@ model DomainProperties { /** * Target DNS type (would be used for migration) */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" targetDnsType?: DnsType; /** @@ -813,6 +808,7 @@ model DomainRecommendationSearchParameters { /** * Collection of domain name identifiers. */ +@@identifiers(NameIdentifierCollection.value, #["name"]); model NameIdentifierCollection is Azure.Core.Page; /** @@ -858,14 +854,12 @@ model DomainPatchResourceProperties { /** * Domain registration status. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) registrationStatus?: DomainStatus; /** * Domain provisioning state. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) provisioningState?: ProvisioningState; @@ -916,7 +910,7 @@ model DomainPatchResourceProperties { * All hostnames derived from the domain and assigned to Azure resources. */ @visibility(Lifecycle.Read) - @OpenAPI.extension("x-ms-identifiers", #["name"]) + @identifiers(#["name"]) managedHostNames?: HostName[]; /** @@ -928,14 +922,12 @@ model DomainPatchResourceProperties { /** * Reasons why domain is not renewable. */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) domainNotRenewableReasons?: ResourceNotRenewableReason[]; /** * Current DNS type */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" dnsType?: DnsType; /** @@ -946,7 +938,6 @@ model DomainPatchResourceProperties { /** * Target DNS type (would be used for migration) */ - #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" targetDnsType?: DnsType; /** @@ -959,7 +950,6 @@ model DomainPatchResourceProperties { /** * Azure proxy only resource. This resource is not tracked by Azure Resource Manager. */ -#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" model ProxyOnlyResource { /** * Resource Id. @@ -1036,6 +1026,7 @@ model TopLevelDomainAgreementOption { /** * Collection of top-level domain legal agreements. */ +@@identifiers(TldLegalAgreementCollection.value, #["agreementKey"]); model TldLegalAgreementCollection is Azure.Core.Page; /** @@ -1079,7 +1070,7 @@ model CsmOperationCollection { * Collection of resources. */ @pageItems - @OpenAPI.extension("x-ms-identifiers", #["name"]) + @identifiers(#["name"]) value: CsmOperationDescription[]; /** diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index ca3442f7af60..dfabb7fa26ed 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -2046,7 +2046,7 @@ }, "NameIdentifierCollection": { "type": "object", - "description": "Collection of domain name identifiers.", + "description": "Paged collection of NameIdentifier items", "properties": { "value": { "type": "array", @@ -2193,7 +2193,7 @@ }, "TldLegalAgreementCollection": { "type": "object", - "description": "Collection of top-level domain legal agreements.", + "description": "Paged collection of TldLegalAgreement items", "properties": { "value": { "type": "array", From 1751fb95527fb1f37398ddd2da885e1583abc256 Mon Sep 17 00:00:00 2001 From: v-zhocai Date: Tue, 4 Nov 2025 15:16:51 +0800 Subject: [PATCH 40/43] update --- .../DomainRegistration.Management/models.tsp | 39 ------------------- .../tspconfig.yaml | 2 +- .../stable/2024-11-01/openapi.json | 4 ++ 3 files changed, 5 insertions(+), 40 deletions(-) diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 7e77f2234a78..4c4b85f9fd0e 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -728,45 +728,6 @@ model DomainPurchaseConsent { agreedAt?: utcDateTime; } -/** - * Azure resource. This resource is tracked in Azure Resource Manager - */ -model Resource { - /** - * Resource Id. - */ - @visibility(Lifecycle.Read) - id?: string; - - /** - * Resource Name. - */ - @visibility(Lifecycle.Read) - name?: string; - - /** - * Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. - */ - kind?: string; - - /** - * Resource Location. - */ - location: string; - - /** - * Resource type. - */ - @visibility(Lifecycle.Read) - type?: string; - - /** - * Resource tags. - */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" - tags?: Record; -} - /** * Single sign-on request information for domain management. */ diff --git a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml index 973adbca3414..3315af820a4b 100644 --- a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml +++ b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml @@ -5,7 +5,7 @@ emit: - "@azure-tools/typespec-autorest" options: "@azure-tools/typespec-autorest": - omit-unreachable-types: true + omit-unreachable-types: false emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/DomainRegistration/{version-status}/{version}/openapi.json" diff --git a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json index dfabb7fa26ed..761d60259d15 100644 --- a/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json +++ b/specification/domainregistration/resource-manager/Microsoft.DomainRegistration/DomainRegistration/stable/2024-11-01/openapi.json @@ -1108,6 +1108,10 @@ "state" ] }, + "ArmBadRequestResponse": { + "type": "object", + "description": "The server could not understand the request due to invalid syntax." + }, "AzureResourceType": { "type": "string", "description": "Type of the Azure resource the hostname is assigned to.", From d37a6528b5aed62426748274fedf81fa079c16a9 Mon Sep 17 00:00:00 2001 From: "Jiao Di (MSFT)" Date: Fri, 5 Dec 2025 14:20:40 +0800 Subject: [PATCH 41/43] update client name for js sdk --- .../DomainRegistration.Management/client.tsp | 9 +++++++++ .../DomainRegistration.Management/tspconfig.yaml | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 specification/domainregistration/DomainRegistration.Management/client.tsp diff --git a/specification/domainregistration/DomainRegistration.Management/client.tsp b/specification/domainregistration/DomainRegistration.Management/client.tsp new file mode 100644 index 000000000000..eeb2d7729dcf --- /dev/null +++ b/specification/domainregistration/DomainRegistration.Management/client.tsp @@ -0,0 +1,9 @@ +import "@azure-tools/typespec-client-generator-core"; +import "./main.tsp"; + +using Azure.ClientGenerator.Core; + +@@clientName(Microsoft.DomainRegistration, + "DomainRegistrationManagementClient", + "javascript" +); diff --git a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml index 3315af820a4b..a8116e8f70dd 100644 --- a/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml +++ b/specification/domainregistration/DomainRegistration.Management/tspconfig.yaml @@ -25,7 +25,6 @@ options: "@azure-tools/typespec-ts": service-dir: sdk/domainregistration emitter-output-dir: "{output-dir}/{service-dir}/arm-domainregistration" - is-modular-library: true flavor: "azure" experimental-extensible-enums: true package-details: From 8d86af4a918a0018cd2bc263303cf5a07cfd4a7a Mon Sep 17 00:00:00 2001 From: Wenming Liu Date: Mon, 12 Jan 2026 14:33:56 +0800 Subject: [PATCH 42/43] Suppress legacy usage warnings in back-compatible.tsp Added suppress annotations for legacy usage warnings in TypeSpec. --- .../DomainRegistration.Management/back-compatible.tsp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp index d3c22a6502ba..b02461f91b21 100644 --- a/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp +++ b/specification/domainregistration/DomainRegistration.Management/back-compatible.tsp @@ -33,14 +33,16 @@ using Microsoft.DomainRegistration; @@clientName(DomainsOperationGroup.checkAvailability::parameters.body, "identifier" ); - +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainOwnershipIdentifier.properties); #suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(DomainPatchResource.properties); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(TopLevelDomain.properties); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @@flattenProperty(Domain.properties); @@clientLocation(Operations.list, "DomainRegistrationProvider"); From 3cf6b9699f1bf4d959447250d691a544a665ca4a Mon Sep 17 00:00:00 2001 From: Wenming Liu Date: Mon, 12 Jan 2026 14:40:31 +0800 Subject: [PATCH 43/43] Suppress warnings for secret properties in models Suppress warnings for secret properties in the model. --- .../domainregistration/DomainRegistration.Management/models.tsp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/domainregistration/DomainRegistration.Management/models.tsp b/specification/domainregistration/DomainRegistration.Management/models.tsp index 4c4b85f9fd0e..7f753a5d6d8c 100644 --- a/specification/domainregistration/DomainRegistration.Management/models.tsp +++ b/specification/domainregistration/DomainRegistration.Management/models.tsp @@ -741,6 +741,7 @@ model DomainControlCenterSsoRequest { /** * Post parameter key. */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" @visibility(Lifecycle.Read) postParameterKey?: string; @@ -997,6 +998,7 @@ model TldLegalAgreement { /** * Unique identifier for the agreement. */ + #suppress "@azure-tools/typespec-azure-resource-manager/secret-prop" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" agreementKey: string; /**