-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
APICenter Extension Initial Release (#6918)
* create extension, update examples, remove import/export commands for api center
- Loading branch information
1 parent
e0fb0ff
commit 33bbf02
Showing
93 changed files
with
22,928 additions
and
0 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
.. :changelog: | ||
Release History | ||
=============== | ||
|
||
1.0.0b1 | ||
++++++ | ||
* Initial release. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,286 @@ | ||
# Azure CLI APICenter Extension | ||
|
||
This extension can help create and manage APICenter Resources | ||
|
||
### How to use | ||
Install this extension using the below CLI command | ||
``` | ||
az extension add --name apic-extension | ||
``` | ||
|
||
### API Center Extension Info | ||
APICenter documentation: https://learn.microsoft.com/en-us/azure/api-center/ | ||
|
||
List Service Examples | ||
``` | ||
az apic service show --resource-group api-center-test | ||
``` | ||
``` | ||
az apic service show -g api-center-test | ||
``` | ||
|
||
Show service Examples | ||
``` | ||
az apic service show --resource-group api-center-test --service-name contosoeuap | ||
``` | ||
``` | ||
az apic service show -g api-center-test -s contosoeuap | ||
``` | ||
|
||
Delete Service Examples | ||
``` | ||
az apic service delete --resource-group api-center-test --service-name contosoeuap | ||
``` | ||
``` | ||
az apic service delete --resource-group arpi-test-rg1 -s apictestcli3 | ||
``` | ||
|
||
Show Workspace Example | ||
``` | ||
Az apic workspace show -g api-center-test -s contosoeuap --name devdiv | ||
``` | ||
|
||
Create API Examples | ||
``` | ||
az apic api create -g api-center-test -s contosoeuap --name echo-api --title "Echo API" --kind "rest" | ||
``` | ||
``` | ||
az apic api create --resource-group api-center-test --service-name contosoeuap --api-name echo-api2 --description "CLI Test" --kind rest --title "Echo API" | ||
``` | ||
|
||
Update API Examples | ||
``` | ||
az apic api update -g api-center-test -s contosoeuap --name echo-api --summary "Basic REST API service" -w default | ||
``` | ||
``` | ||
az apic api update --resource-group api-center-test -s contosoeuap --name echo-api --summary "Basic REST API service" --workspace-name default | ||
``` | ||
|
||
LIST Api Example | ||
``` | ||
az apic api list --resource-group api-center-test --service-name contosoeuap | ||
``` | ||
``` | ||
az apic api list -g api-center-test -s contosoeuap | ||
``` | ||
|
||
SHOW Api Examples | ||
``` | ||
az apic api show -g api-center-test -s contosoeuap --name echo-api | ||
``` | ||
``` | ||
az apic api show --resource-group api-center-test --service-name contosoeuap -w default --api echo-api | ||
``` | ||
|
||
Delete API Examples | ||
``` | ||
az apic api delete -g api-center-test -s contosoeuap --name echo-api | ||
``` | ||
``` | ||
az apic api delete --resource-group contoso-resources --service-name contosoeuap --name echo-api | ||
``` | ||
|
||
CREATE Api Version Examples | ||
``` | ||
az apic api version create -g api-center-test -s contosoeuap --api-name echo-api --name 2023-01-01 --title "2023-01-01" | ||
``` | ||
``` | ||
az apic api version create --resource-group api-center-test --service-name contosoeuap --api-name echo-api --name 2023-01-01 --title "2023-01-01" | ||
``` | ||
|
||
UPDATE Api Version Examples | ||
``` | ||
Az apic api version update -g api-center-test -s contosoeuap --api-name echo-api --name 2023-01-01 --title "2023-01-01" -w default | ||
``` | ||
``` | ||
az apic api version update --resource-group api-center-test --service-name contosoeuap --api-name echo-api --name 2023-01-01 --title "2023-01-01" --workspace-name default | ||
``` | ||
|
||
LIST Api Version Examples | ||
``` | ||
az apic api version list -g api-center-test -s contosoeuap --api-name echo-api | ||
``` | ||
``` | ||
az apic api version list --resource-group api-center-test --service-name contosoeuap --api-name echo-api | ||
``` | ||
|
||
SHOW Api Version Example | ||
``` | ||
az apic api version show -g api-center-test -s contosoeuap --api-name echo-api --name 2023-01-01 | ||
``` | ||
``` | ||
az apic api version show --resource-group api-center-test --service-name contosoeuap --api-name echo-api --name 2023-01-01 | ||
``` | ||
|
||
DELETE Api Version Example | ||
``` | ||
az apic api version delete -g api-center-test -s contosoeuap --api-name echo-api --name 2023-01-01 | ||
``` | ||
``` | ||
az apic api version delete --resource-group api-center-test --service-name contosoeuap --api-name echo-api --name 2023-01-01 | ||
``` | ||
|
||
CREATE API Definition Example | ||
``` | ||
az apic api definition create -g api-center-test -s contosoeuap --api-name echo-api --version 2023-01-01 --name "openapi" --title "OpenAPI" | ||
``` | ||
|
||
UPDATE API Definition Example | ||
``` | ||
az apic api definition update -g api-center-test -s contosoeuap --api-name echo-api --version 2023-01-01 --name "openapi" --title "OpenAPI" -w default | ||
``` | ||
|
||
SHOW API Definition Example | ||
``` | ||
az apic api definition show -g api-center-test -s contosoeuap --api-name echo-api --version 2023-01-01 --name "openapi" | ||
``` | ||
|
||
LIST API Definition Example | ||
``` | ||
az apic api definition list -g api-center-test -s contosoeuap --api-name echo-api --version 2023-01-01 | ||
``` | ||
|
||
DELETE API Definition Example | ||
``` | ||
az apic api definition delete -g api-center-test -s contosoeuap --api-name echo-api --version 2023-01-01 --name "openapi" | ||
``` | ||
|
||
IMPORT Specification Examples | ||
Import Specification inline option | ||
``` | ||
az apic api definition import-specification -g api-center-test -s contosoeuap --api-name echo-api --version-name 2023-01-01 --definition-name openapi--format "inline" --value '{"openapi":"3.0.1","info":{"title":"httpbin.org","description":"API Management facade for a very handy and free online HTTP tool.","version":"1.0"}}' --specification '{"name":"openapi","version":"3.0.0"}' | ||
``` | ||
|
||
Import Specification Inline option where spec is provided by sending a file | ||
``` | ||
az apic api definition import-specification -g api-center-test -s contosoeuap --api-name echo-api --version-name 2023-01-01 --definition-name openapi --format inline --specification '{"name":"openapi","version":"3.0.0"}' --file-name C:\Users\arpishah\examples\cli-examples\spec-examples\cat-facts-api.json | ||
``` | ||
|
||
Import Specification Link option where spec is provided via a link | ||
``` | ||
az apic api definition import-specification -g api-center-test -s contosoeuap - --api-name echo-api --version-name 2023-01-01 --definition-name openapi --format "link" --value https://alzaslonaztest.blob.core.windows.net/arpitestblobs/cat-facts-api.json --specification '{"name":"openapi","version":"3.0.0"}' | ||
``` | ||
|
||
Export Specification Examples | ||
Export Spec to a file | ||
``` | ||
az apic api definition export-specification -g api-center-test -s contosoeuap --api-name echo-api-10 --version-name 2023-11-08 --definition-name arpitest4 --file-name C:\Users\arpishah\examples\cli-examples\exported-results\exported-spec-inline.json | ||
``` | ||
|
||
CREATE Api Deployment | ||
|
||
``` | ||
az apic api deployment create -g api-center-test -s contosoeuap --name production --title "Production deployment" --description "Public cloud production deployment." --api echo-api --server C:/Users/arpishah/examples/cli-examples/payload-examples/deplcreate.json --environment-id "/workspaces/default/environments/production" --definition-id "/workspaces/default/apis/echo-api/versions/2023-01-01/definitions/openapi" | ||
where examples/deplcreate.json contains | ||
{"runtime-uri": ["https://api.contoso.com"]} | ||
``` | ||
|
||
UPDATE Api Deployment | ||
``` | ||
az apic api deployment update -g api-center-test -s contosoeuap --name production --title "Production deployment 10" --api echo-api –w default | ||
``` | ||
|
||
LIST Api Deployment | ||
``` | ||
az apic api deployment list -g api-center-test -s contosoeuap --api-name echo-api | ||
``` | ||
|
||
SHOW Api Deployment | ||
``` | ||
az apic api deployment show -g api-center-test -s contosoeuap --name production --api-name echo-api | ||
``` | ||
|
||
DELETE Api Deployment | ||
``` | ||
Az apic api deployment delete -g api-center-test -s contosoeuap --name production --api-name echo-api | ||
``` | ||
|
||
CREATE Environment | ||
``` | ||
az apic environment create -g api-center-test -s contosoeuap --name public-3 --title "Public cloud" --kind "development" --server "C:\Users\arpishah\examples\cli-examples\payload-examples\envcreate1.json" | ||
Where envcreate1.json contains | ||
{ | ||
"type": "Azure API Management", | ||
"managementPortalUri": [ | ||
"management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ApiManagement/service/my-api-management-service" | ||
] | ||
} | ||
``` | ||
|
||
UPDATE Environment | ||
``` | ||
az apic environment update -g api-center-test -s contosoeuap --name public --title "Public cloud" -w default | ||
``` | ||
|
||
LIST Environment | ||
``` | ||
az apic environment list -g api-center-test -s contosoeuap | ||
``` | ||
|
||
SHOW Environment | ||
``` | ||
az apic environment show -g api-center-test -s contosoeuap --name public | ||
``` | ||
|
||
DELETE Environment | ||
``` | ||
az apic environment delete -g api-center-test -s contosoeuap --name public | ||
``` | ||
|
||
CREATE Metadata Schema | ||
``` | ||
az apic metadata-schema create --resource-group api-center-test --service-name contosoeuap --name "test1" --file-name "C:\Users\arpishah\examples\cli-examples\payload-examples\schemacreate.json" | ||
Where schemacreate.json contains metadata schema | ||
{ | ||
"type": "string", | ||
"title": "First name", | ||
"pattern": "^[a-zA-Z0-9 ]+$" | ||
} | ||
``` | ||
|
||
UPDATE Metadata Schema | ||
``` | ||
az apic metadata-schema update --resource-group api-center-test --service-name contosoeuap --name "test1" --file-name "C:\Users\arpishah\examples\cli-examples\payload-examples\schemaupdate.json" | ||
Where schemaupdate.json contains metadata schema | ||
{ | ||
"type": "string", | ||
"title": "Last name", | ||
"pattern": "^[a-zA-Z0-9 ]+$" | ||
} | ||
``` | ||
|
||
LIST Metadata Schema | ||
``` | ||
az apic metadata-schema list -g api-center-test -s contosoeuap | ||
``` | ||
|
||
SHOW Metadata Schema | ||
``` | ||
az apic metadata-schema show --resource-group api-center-test --service-name contosoeuap --name "test1" | ||
``` | ||
|
||
DELETE Metadata Schema | ||
``` | ||
az apic metadata-schema delete --resource-group api-center-test --service-name contosoeuap --name "test1" | ||
``` | ||
|
||
EXPORT Metadata Schema | ||
EXPORT Metadata Schema assigned to an API | ||
``` | ||
az apic metadata-schema export-metadata-schema -g api-center-test -s contosoeuap --assigned-to api --file-name C:\Users\arpishah\examples\cli-examples\exported-results\exported-schema-3.json | ||
``` | ||
|
||
EXPORT Metadata Schema assigned to a Deployment | ||
``` | ||
az apic metadata-schema export-metadata-schema -g api-center-test -s contosoeuap --assigned-to deployment --file-name C:\Users\arpishah\examples\cli-examples\exported-results\exported-schema-5.json | ||
``` | ||
|
||
EXPORT Metadata Schema assigned to an Environment | ||
``` | ||
az apic metadata-schema export-metadata-schema -g api-center-test -s contosoeuap --assigned-to environment --file-name C:\Users\arpishah\examples\cli-examples\exported-results\exported-schema-6.json | ||
``` | ||
|
||
Register API or Quick Add | ||
``` | ||
az apic api register -g api-center-test -s contosoeuap --api-location "C:/Users/arpishah/examples/cli-examples/spec-examples/openai.json" --environment-name public | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# -------------------------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# | ||
# Code generated by aaz-dev-tools | ||
# -------------------------------------------------------------------------------------------- | ||
|
||
from azure.cli.core import AzCommandsLoader | ||
from azext_apic_extension._help import helps # pylint: disable=unused-import | ||
|
||
|
||
class ApicExtensionCommandsLoader(AzCommandsLoader): | ||
|
||
def __init__(self, cli_ctx=None): | ||
from azure.cli.core.commands import CliCommandType | ||
custom_command_type = CliCommandType( | ||
operations_tmpl='azext_apic_extension.custom#{}') | ||
super().__init__(cli_ctx=cli_ctx, | ||
custom_command_type=custom_command_type) | ||
|
||
def load_command_table(self, args): | ||
from azext_apic_extension.commands import load_command_table | ||
from azure.cli.core.aaz import load_aaz_command_table | ||
try: | ||
from . import aaz | ||
except ImportError: | ||
aaz = None | ||
if aaz: | ||
load_aaz_command_table( | ||
loader=self, | ||
aaz_pkg_name=aaz.__name__, | ||
args=args | ||
) | ||
load_command_table(self, args) | ||
return self.command_table | ||
|
||
def load_arguments(self, command): | ||
from azext_apic_extension._params import load_arguments | ||
load_arguments(self, command) | ||
|
||
|
||
COMMAND_LOADER_CLS = ApicExtensionCommandsLoader |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# -------------------------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# | ||
# Code generated by aaz-dev-tools | ||
# -------------------------------------------------------------------------------------------- | ||
|
||
# pylint: disable=line-too-long | ||
# pylint: disable=too-many-lines | ||
|
||
from knack.help_files import helps # pylint: disable=unused-import | ||
|
||
helps['apic api register'] = """ | ||
type: command | ||
short-summary: Single Command for registering api, api version, api definition, import spec, create deployment provided a spec file. | ||
parameters: | ||
- name: --api-location -l | ||
type: string | ||
short-summary: Location of spec file . | ||
- name: --resource-group -g | ||
type: string | ||
short-summary: Resource group name. | ||
- name: --service -s | ||
type: string | ||
short-summary: APICenter Catalog or Service name. | ||
- name: --environment-name -e | ||
type: string | ||
short-summary: Name of environment created before. | ||
examples: | ||
- name: Register api by providing spec file. | ||
text: | | ||
az apic api register -g api-center-test -s contosoeuap --api-location "examples/cli-examples/spec-examples/openai.json" --environment-name public | ||
""" |
Oops, something went wrong.