Skip to content

Commit

Permalink
Update cli (Azure#8154)
Browse files Browse the repository at this point in the history
Co-authored-by: Hong Ma <[email protected]>
  • Loading branch information
alexmahonic and Hong Ma authored Oct 18, 2024
1 parent dccbf18 commit 8d00b80
Show file tree
Hide file tree
Showing 21 changed files with 56 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
required_rps = [rp_name_hybrid_connectivity, rp_name_aws_connector, rp_name_hybrid_compute]


# We call this method before running each individual command. See usage in src/multicloud-connector/azext_multicloud_connector/custom.py
def register_providers_if_needed(cmd):
logger.debug("Start to check if required RPs are registered ...")
for rp_name in required_rps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
"arc-multicloud",
)
class __CMDGroup(AAZCommandGroup):
"""commands for arc-multicloud
"""Commands for arc-multicloud
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
"""
pass

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
class GenerateAwsTemplate(AAZCommand):
"""Retrieve AWS Cloud Formation template
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: GenerateAwsTemplate_Post
az arc-multicloud generate-aws-template --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{} --output-directory example_folder/templates
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
"arc-multicloud public-cloud-connector",
)
class __CMDGroup(AAZCommandGroup):
"""commands for multicloudConnector
"""Commands for multicloudConnector
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
"""
pass

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,13 @@
class Create(AAZCommand):
"""Create a PublicCloudConnector
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: PublicCloudConnectors_CreateOrUpdate
az arc-multicloud public-cloud-connector create --resource-group multiCloudRG --name awsConnector --aws-cloud-profile "{account-id:123456789123,excluded-accounts:[123456789124,123456789125],is-organizational-account:True}" --host-type AWS --tags "{a:b}" --location eastus
:example: PublicCloudConnectors_CreateOrUpdate
az arc-multicloud public-cloud-connector create --resource-group rgpublicCloud --name myConnector--aws-cloud-profile "{account-id:123456789123,excluded-accounts:[123456789124,123456789125],is-organizational-account:True}" --host-type AWS --tags "{a:b}" --location eastus
az arc-multicloud public-cloud-connector create --resource-group multiCloudRG --name awsConnector --aws-cloud-profile account-id=123456789123 is-organizational-account=false --host-type AWS --tags a=b --location eastus
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@
class Delete(AAZCommand):
"""Delete a PublicCloudConnector
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: PublicCloudConnectors_Delete
az arc-multicloud public-cloud-connector delete --resource-group rgpublicCloud --name myConnector
az arc-multicloud public-cloud-connector delete --resource-group multiCloudRG --name awsConnector
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
class List(AAZCommand):
"""List PublicCloudConnector resources within the current subscription, and limit to the specified resource group if one is provided.
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: PublicCloudConnectors_ListBySubscription
az arc-multicloud public-cloud-connector list --resource-group rgpublicCloud
az arc-multicloud public-cloud-connector list --resource-group multiCloudRG
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
class Show(AAZCommand):
"""Get a PublicCloudConnector
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: publicCloudConnectors_Get
az arc-multicloud public-cloud-connector show --resource-group rgpublicCloud --name myConnector
az arc-multicloud public-cloud-connector show --resource-group multiCloudRG --name awsConnector
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
class TestPermission(AAZCommand):
"""A long-running resource action.
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: PublicCloudConnectors_TestPermissions
az arc-multicloud public-cloud-connector test-permission --resource-group rgpublicCloud --name myConnector
az arc-multicloud public-cloud-connector test-permission --resource-group multiCloudRG --name awsConnector
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
class Update(AAZCommand):
"""Update a PublicCloudConnector
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: publicCloudConnectors_Update
az arc-multicloud public-cloud-connector update --resource-group rgpublicCloud --name myConnector --aws-cloud-profile "{excluded-accounts:[123456789123,123456789124]}" --tags "{}"
az arc-multicloud public-cloud-connector update --resource-group multiCloudRG --name awsConnector --aws-cloud-profile "{excluded-accounts:[123456789123,123456789124]}" --tags "{}"
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
"arc-multicloud solution-configuration",
)
class __CMDGroup(AAZCommandGroup):
"""commands for solution-configuration
"""Commands for solution-configuration
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
"""
pass

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
class Create(AAZCommand):
"""Create a SolutionConfiguration
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionConfigurations_CreateOrUpdate
az arc-multicloud solution-configuration create --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{} --name mySolutionConfig --solution-type "Microsoft.AssetManagement" --solution-settings periodicSync="true" cloudProviderServiceTypes="ec2,s3" awsGlobalReadOnly="true" cloudProviderRegions="us-east-1,us-east-2" periodicSyncTime="1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
class Delete(AAZCommand):
"""Delete a SolutionConfiguration
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionConfigurations_Delete
az arc-multicloud solution-configuration delete --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{} --name mySolutionConfig
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
class List(AAZCommand):
"""List SolutionConfiguration resources by parent public cloud connector
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionConfigurations_List
az arc-multicloud solution-configuration list --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{}
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
class Show(AAZCommand):
"""Get a SolutionConfiguration
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionConfigurations_Get
az arc-multicloud solution-configuration show --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{} --name mySolutionConfig
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
class SyncNow(AAZCommand):
"""Trigger immediate sync with source cloud
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionConfigurations_SyncNow
az arc-multicloud solution-configuration sync-now --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{} --name mySolutionConfig
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
class Update(AAZCommand):
"""Update a SolutionConfiguration
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionConfigurations_Update
az arc-multicloud solution-configuration update --connector-id /subscriptions/{}/resourceGroups/{}/providers/Microsoft.HybridConnectivity/publicCloudConnectors/{} --name mySolutionConfig --solution-type "Microsoft.AssetManagement" --solution-settings periodicSync="true" cloudProviderServiceTypes="ec2,s3" awsGlobalReadOnly="true" cloudProviderRegions="us-east-1,us-east-2" periodicSyncTime="1"
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
"arc-multicloud solution-type",
)
class __CMDGroup(AAZCommandGroup):
"""commands for solution-type
"""Commands for solution-type
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
"""
pass

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
class List(AAZCommand):
"""List SolutionTypeResource within the current subscription, and limit to the specified resource group if one is provided.
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionTypes_ListBySubscription
az arc-multicloud solution-type list --resource-group rgpublicCloud --subscription 2c60e476-6048-5ff0-9635-373175a378d9
az arc-multicloud solution-type list --resource-group multiCloudRG --subscription 2c60e476-6048-5ff0-9635-373175a378d9
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
class Show(AAZCommand):
"""Get a SolutionTypeResource
For additional details, please visit the https://learn.microsoft.com/en-us/cli/azure/arc-multicloud?view=azure-cli-latest
:example: SolutionTypes_Get
az arc-multicloud solution-type show --resource-group rgpublicCloud --name "Microsoft.AssetManagement"
az arc-multicloud solution-type show --resource-group multiCloudRG --name "Microsoft.AssetManagement"
"""

_aaz_info = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
logger = get_logger(__name__)


# Wrapper - Customization for GenerateAwsTemplate, add new argument and write the output to json file on disk
def customized_generate_aws_template(cmd, connector_id, output_directory=None):
class OutputAwsTemplateToFile(_GenAwsTemplate):
@classmethod
Expand Down Expand Up @@ -115,7 +116,7 @@ def _output(self, *args, **kwargs):
})


# Register required RPs before execute each command
# Inheritance - Register required RPs before execute each command
class CustomizedPublicCloudConnectorCreate(_PublicCloudConnectorCreate):
def pre_operations(self):
register_providers_if_needed(cmd=self.ctx)
Expand Down

0 comments on commit 8d00b80

Please sign in to comment.