Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/connectedvmware/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
Release History
===============

0.1.12
++++++
* Fixed VM extension issue.

0.1.11
++++++
Expand Down
11 changes: 3 additions & 8 deletions src/connectedvmware/azext_connectedvmware/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,9 @@ def load_arguments(self, _):
'type_', options_list=['--type'], type=str, help='Specify the type of the extension; an example '
'is "CustomScriptExtension".')
c.argument('type_handler_version', type=str, help='Specifies the version of the script handler.')
c.argument(
'enable_auto_upgrade', arg_type=get_three_state_flag(), help='Indicates whether the extension '
'should be automatically upgraded by the platform if there is a newer version available.')
c.argument(
'auto_upgrade_minor', arg_type=get_three_state_flag(), help='Indicate whether the extension should '
'use a newer minor version if one is available at deployment time. Once deployed, however, the '
Expand All @@ -401,14 +404,6 @@ def load_arguments(self, _):
'protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. Expected '
'value: json-string/json-file/@json-file.')

with self.argument_context('connectedvmware vm extension create') as c:
c.argument(
'instance_view_type', type=str, help='Specify the type of the extension; an example is '
'"CustomScriptExtension".', arg_group='Instance View')
c.argument(
'inst_handler_version', type=str, help='Specify the version of the script handler.',
arg_group='Instance View')

with self.argument_context('connectedvmware vm extension delete') as c:
c.argument('vm_name', type=str, help='The name of the vm where the extension '
'should be deleted.', id_part='name')
Expand Down
75 changes: 45 additions & 30 deletions src/connectedvmware/azext_connectedvmware/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
VM_SYSTEM_ASSIGNED_INDENTITY_TYPE,
DEFAULT_GUEST_AGENT_NAME,
GUEST_AGENT_PROVISIONING_ACTION_INSTALL,
MACHINE_RESOURCE_TYPE,
)

from .vendored_sdks.models import (
Expand Down Expand Up @@ -75,6 +76,7 @@
GuestCredential,
PlacementProfile,
HttpProxyConfiguration,
MachineExtension,
)

from .vendored_sdks.operations import (
Expand Down Expand Up @@ -1687,6 +1689,7 @@ def connectedvmware_extension_show(


def connectedvmware_extension_create(
cmd,
client: MachineExtensionsOperations,
resource_group_name,
vm_name,
Expand All @@ -1697,38 +1700,47 @@ def connectedvmware_extension_create(
publisher=None,
type_=None,
type_handler_version=None,
enable_auto_upgrade=None,
auto_upgrade_minor=None,
settings=None,
protected_settings=None,
instance_view_type=None,
inst_handler_version=None,
no_wait=False
):
"""
Create the vm extension of a given vm.
"""

extension_parameters = {}
extension_parameters['tags'] = tags
extension_parameters['location'] = location
extension_parameters['properties'] = {}
extension_parameters['properties']['force_update_tag'] = force_update_tag
extension_parameters['properties']['publisher'] = publisher
extension_parameters['properties']['type'] = type_
extension_parameters['properties']['type_handler_version'] = type_handler_version
extension_parameters['properties']['auto_upgrade_minor_version'] = auto_upgrade_minor
extension_parameters['properties']['settings'] = settings
extension_parameters['properties']['protected_settings'] = protected_settings
extension_parameters['properties']['instance_view'] = {}
extension_parameters['properties']['instance_view']['name'] = name
extension_parameters['properties']['instance_view']['type'] = instance_view_type
extension_parameters['properties']['instance_view']['type_handler_version'] = inst_handler_version
resource_id = get_resource_id(
cmd,
resource_group_name,
VMWARE_NAMESPACE,
VIRTUALMACHINE_RESOURCE_TYPE,
vm_name,
MACHINE_RESOURCE_TYPE,
name
)

machine_extension = MachineExtension(
location=location,
tags=tags,
name=name,
id=resource_id,
force_update_tag=force_update_tag,
publisher=publisher,
type_properties_type=type_,
type_handler_version=type_handler_version,
enable_automatic_upgrade=enable_auto_upgrade,
auto_upgrade_minor_version=auto_upgrade_minor,
settings=settings,
protected_settings=protected_settings,
)

return sdk_no_wait(no_wait,
client.begin_create_or_update,
resource_group_name=resource_group_name,
name=vm_name,
extension_name=name,
extension_parameters=extension_parameters)
extension_parameters=machine_extension)


def connectedvmware_extension_update(
Expand All @@ -1741,6 +1753,7 @@ def connectedvmware_extension_update(
publisher=None,
type_=None,
type_handler_version=None,
enable_auto_upgrade=None,
auto_upgrade_minor=None,
settings=None,
protected_settings=None,
Expand All @@ -1750,22 +1763,24 @@ def connectedvmware_extension_update(
Update the vm extension of a given vm.
"""

extension_parameters = {}
extension_parameters['tags'] = tags
extension_parameters['properties'] = {}
extension_parameters['properties']['force_update_tag'] = force_update_tag
extension_parameters['properties']['publisher'] = publisher
extension_parameters['properties']['type'] = type_
extension_parameters['properties']['type_handler_version'] = type_handler_version
extension_parameters['properties']['auto_upgrade_minor_version'] = auto_upgrade_minor
extension_parameters['properties']['settings'] = settings
extension_parameters['properties']['protected_settings'] = protected_settings
machine_extension = MachineExtension(
tags=tags,
force_update_tag=force_update_tag,
publisher=publisher,
type=type_,
type_handler_version=type_handler_version,
enable_automatic_upgrade=enable_auto_upgrade,
auto_upgrade_minor_version=auto_upgrade_minor,
settings=settings,
protected_settings=protected_settings,
)

return sdk_no_wait(no_wait,
client.begin_update,
resource_group_name=resource_group_name,
machine_name=vm_name,
name=vm_name,
extension_name=name,
extension_parameters=extension_parameters)
extension_parameters=machine_extension)


def connectedvmware_extension_delete(
Expand Down
Loading