Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update for assets and asset endpoint profiles to support new api version #371

Merged
merged 29 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
3859543
feat: asset overhaul 1 (#315)
vilit1 Sep 3, 2024
d2e84fd
Merge remote-tracking branch 'upstream/feature/0.7.0' into HEAD
vilit1 Sep 9, 2024
fcb5643
Merge remote-tracking branch 'upstream/dev' into HEAD
vilit1 Sep 9, 2024
723da23
feat: asset endpoint updates (#342)
vilit1 Sep 10, 2024
3ffc6a7
Merge remote-tracking branch 'upstream/feature/0.7.0' into HEAD
vilit1 Sep 17, 2024
f840eb9
Merge remote-tracking branch 'upstream/feature/0.7.0' into HEAD
vilit1 Sep 19, 2024
67dd184
Merge remote-tracking branch 'upstream/feature/0.7.0' into HEAD
vilit1 Sep 19, 2024
58897df
feat: update data-points and events (with some asset endpoint profile…
vilit1 Sep 20, 2024
30cda2f
Merge branch 'feature/0.7.0' into feature/adr_cloud_updates
vilit1 Sep 20, 2024
0c66ded
get silly
vilit1 Sep 20, 2024
a1e342b
undo the silly
vilit1 Sep 20, 2024
744d7b8
undo the silly
vilit1 Sep 20, 2024
f268c3c
Merge branch 'feature/0.7.0' into feature/adr_cloud_updates
vilit1 Sep 23, 2024
6c116c4
improve help
vilit1 Sep 23, 2024
2ba34fe
more help updates
vilit1 Sep 23, 2024
9a36b4c
remove the non portal csv
vilit1 Sep 24, 2024
8a4cbba
Merge branch 'feature/0.7.0' into feature/adr_cloud_updates
vilit1 Sep 24, 2024
a86b42d
pr comments
vilit1 Sep 24, 2024
8bc2490
fix import replace
vilit1 Sep 24, 2024
d324019
more helparoo changes
vilit1 Sep 25, 2024
890aaf7
some nuance
vilit1 Sep 25, 2024
d9960be
Merge branch 'feature/0.7.0' into feature/adr_cloud_updates
vilit1 Sep 25, 2024
5faf084
save
vilit1 Sep 25, 2024
1f8cfce
pr comments
vilit1 Sep 26, 2024
d22f040
pr comments2
vilit1 Sep 26, 2024
f18ee76
polelr updates
vilit1 Sep 26, 2024
39d77f3
Merge branch 'feature/0.7.0' into feature/adr_cloud_updates
vilit1 Sep 26, 2024
36e62aa
int tests + comments
vilit1 Sep 27, 2024
7a70887
remove the infinite
vilit1 Sep 27, 2024
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
480 changes: 165 additions & 315 deletions azext_edge/edge/_help.py

Large diffs are not rendered by default.

16 changes: 10 additions & 6 deletions azext_edge/edge/command_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,14 @@ def load_iotops_commands(self, _):
cmd_group.command("update", "update_asset")

with self.command_group(
"iot ops asset data-point",
"iot ops asset dataset",
command_type=asset_resource_ops,
) as cmd_group:
cmd_group.command("list", "list_asset_datasets")
cmd_group.show_command("show", "show_asset_dataset")

with self.command_group(
"iot ops asset dataset point",
command_type=asset_resource_ops,
) as cmd_group:
cmd_group.command("add", "add_asset_data_point")
Expand All @@ -146,19 +153,16 @@ def load_iotops_commands(self, _):
"iot ops asset endpoint",
command_type=aep_resource_ops,
) as cmd_group:
cmd_group.command("create", "create_asset_endpoint_profile")
cmd_group.command("delete", "delete_asset_endpoint_profile")
cmd_group.command("query", "query_asset_endpoint_profiles")
cmd_group.show_command("show", "show_asset_endpoint_profile")
cmd_group.command("update", "update_asset_endpoint_profile")

with self.command_group(
"iot ops asset endpoint certificate",
"iot ops asset endpoint create",
command_type=aep_resource_ops,
) as cmd_group:
cmd_group.command("add", "add_asset_endpoint_profile_transport_auth")
cmd_group.command("list", "list_asset_endpoint_profile_transport_auth")
cmd_group.command("remove", "remove_asset_endpoint_profile_transport_auth")
cmd_group.command("opcua", "create_opcua_asset_endpoint_profile")

with self.command_group(
"iot ops schema registry",
Expand Down
159 changes: 73 additions & 86 deletions azext_edge/edge/commands_asset_endpoint_profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,69 @@

from knack.log import get_logger

from .providers.rpsaas.adr.asset_endpoint_profiles import AssetEndpointProfileProvider
from .providers.rpsaas.adr.asset_endpoint_profiles import AssetEndpointProfiles
from .common import AEPTypes

logger = get_logger(__name__)


def create_asset_endpoint_profile(
def create_opcua_asset_endpoint_profile(
cmd,
asset_endpoint_profile_name: str,
instance_name: str,
resource_group_name: str,
target_address: str,
additional_configuration: Optional[str] = None,
certificate_reference: Optional[List[str]] = None,
cluster_name: Optional[str] = None,
cluster_resource_group: Optional[str] = None,
cluster_subscription: Optional[str] = None,
custom_location_name: Optional[str] = None,
custom_location_resource_group: Optional[str] = None,
custom_location_subscription: Optional[str] = None,
transport_authentication: Optional[str] = None,
certificate_reference: Optional[str] = None,
instance_resource_group: Optional[str] = None,
instance_subscription: Optional[str] = None,
location: Optional[str] = None,
password_reference: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
username_reference: Optional[str] = None,
):
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.create(
asset_endpoint_profile_name,
tags: Optional[Dict[str, str]] = None,
application_name: Optional[str] = None,
auto_accept_untrusted_server_certs: Optional[bool] = None,
default_publishing_interval: Optional[int] = None,
default_sampling_interval: Optional[int] = None,
default_queue_size: Optional[int] = None,
keep_alive: Optional[int] = None,
run_asset_discovery: Optional[str] = None,
session_timeout: Optional[int] = None,
session_keep_alive: Optional[int] = None,
session_reconnect_period: Optional[int] = None,
session_reconnect_exponential_back_off: Optional[int] = None,
security_policy: Optional[str] = None,
security_mode: Optional[str] = None,
sub_max_items: Optional[int] = None,
sub_life_time: Optional[int] = None,
) -> dict:
return AssetEndpointProfiles(cmd).create(
asset_endpoint_profile_name=asset_endpoint_profile_name,
endpoint_profile_type=AEPTypes.opcua.value,
instance_name=instance_name,
resource_group_name=resource_group_name,
target_address=target_address,
additional_configuration=additional_configuration,
certificate_reference=certificate_reference,
cluster_name=cluster_name,
cluster_resource_group=cluster_resource_group,
cluster_subscription=cluster_subscription,
custom_location_name=custom_location_name,
custom_location_resource_group=custom_location_resource_group,
custom_location_subscription=custom_location_subscription,
transport_authentication=transport_authentication,
instance_resource_group=instance_resource_group,
instance_subscription=instance_subscription,
location=location,
password_reference=password_reference,
username_reference=username_reference,
tags=tags
tags=tags,
application_name=application_name,
auto_accept_untrusted_server_certs=auto_accept_untrusted_server_certs,
default_publishing_interval=default_publishing_interval,
default_sampling_interval=default_sampling_interval,
default_queue_size=default_queue_size,
keep_alive=keep_alive,
run_asset_discovery=run_asset_discovery,
session_timeout=session_timeout,
session_keep_alive=session_keep_alive,
session_reconnect_exponential_back_off=session_reconnect_exponential_back_off,
session_reconnect_period=session_reconnect_period,
security_policy=security_policy,
security_mode=security_mode,
sub_life_time=sub_life_time,
sub_max_items=sub_max_items
)


Expand All @@ -58,28 +79,42 @@ def delete_asset_endpoint_profile(
asset_endpoint_profile_name: str,
resource_group_name: str,
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.delete(
return AssetEndpointProfiles(cmd).delete(
asset_endpoint_profile_name,
resource_group_name=resource_group_name,
check_cluster_connectivity=True
resource_group_name=resource_group_name
)


# TODO: add in once GA
def list_asset_endpoint_profiles(
cmd,
resource_group_name: str,
) -> dict:
return AssetEndpointProfiles(cmd).list(
resource_group_name=resource_group_name
)


def query_asset_endpoint_profiles(
cmd,
additional_configuration: Optional[str] = None,
asset_endpoint_profile_name: Optional[str] = None,
auth_mode: Optional[str] = None,
custom_location_name: Optional[str] = None,
custom_query: Optional[str] = None,
endpoint_profile_type: Optional[str] = None,
instance_name: Optional[str] = None,
instance_resource_group: Optional[str] = None,
location: Optional[str] = None,
resource_group_name: Optional[str] = None,
target_address: Optional[str] = None,
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.query(
additional_configuration=additional_configuration,
) -> List[dict]:
return AssetEndpointProfiles(cmd).query_asset_endpoint_profiles(
asset_endpoint_profile_name=asset_endpoint_profile_name,
auth_mode=auth_mode,
custom_location_name=custom_location_name,
custom_query=custom_query,
discovered=False,
endpoint_profile_type=endpoint_profile_type,
instance_name=instance_name,
instance_resource_group=instance_resource_group,
location=location,
resource_group_name=resource_group_name,
target_address=target_address,
Expand All @@ -91,8 +126,7 @@ def show_asset_endpoint_profile(
asset_endpoint_profile_name: str,
resource_group_name: str,
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.show(
return AssetEndpointProfiles(cmd).show(
asset_endpoint_profile_name,
resource_group_name=resource_group_name
)
Expand All @@ -103,66 +137,19 @@ def update_asset_endpoint_profile(
asset_endpoint_profile_name: str,
resource_group_name: str,
target_address: Optional[str] = None,
additional_configuration: Optional[str] = None,
auth_mode: Optional[str] = None,
username_reference: Optional[str] = None,
password_reference: Optional[str] = None,
certificate_reference: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.update(
return AssetEndpointProfiles(cmd).update(
asset_endpoint_profile_name,
resource_group_name=resource_group_name,
target_address=target_address,
additional_configuration=additional_configuration,
auth_mode=auth_mode,
certificate_reference=certificate_reference,
password_reference=password_reference,
username_reference=username_reference,
tags=tags
)


def add_asset_endpoint_profile_transport_auth(
cmd,
asset_endpoint_profile_name: str,
resource_group_name: str,
secret_reference: str,
thumbprint: str,
password_reference: Optional[str] = None,
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.add_transport_auth(
asset_endpoint_profile_name,
resource_group_name=resource_group_name,
secret_reference=secret_reference,
thumbprint=thumbprint,
password_reference=password_reference
)


def list_asset_endpoint_profile_transport_auth(
cmd,
asset_endpoint_profile_name: str,
resource_group_name: str,
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.list_transport_auths(
asset_endpoint_profile_name,
resource_group_name=resource_group_name
)


def remove_asset_endpoint_profile_transport_auth(
cmd,
asset_endpoint_profile_name: str,
resource_group_name: str,
thumbprint: str
) -> dict:
aep_provider = AssetEndpointProfileProvider(cmd)
return aep_provider.remove_transport_auth(
asset_endpoint_profile_name,
resource_group_name=resource_group_name,
thumbprint=thumbprint
)
Loading
Loading