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

[AutoPR datafactory] [datafactory] add table lock and upsert properties #1550

Closed
wants to merge 1 commit into from
Closed
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
22 changes: 0 additions & 22 deletions src/datafactory/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,6 @@
Release History
===============

0.4.0
+++++
* GA the whole module

0.3.0
+++++
* [BREAKING CHANGE] Renamed command subgroup `az datafactory factory` to `az datafactory`.
* [BREAKING CHANGE] `az datafactory integration-runtime managed create`: `--type-properties-compute-properties` renamed to `--compute-properties`,
`--type-properties-ssis-properties` renamed to `--ssis-properties`.
* [BREAKING CHANGE] `az datafactory integration-runtime self-hosted create`: `--type-properties-linked-info` renamed to `--linked-info`.
* [BREAKING CHANGE] `az datafactory integration-runtime update`: `--properties` renamed to `--linked-service`.
* [BREAKING CHANGE] `az datafactory linked-service delete`: `--properties` renamed to `--dataset`.
* [BREAKING CHANGE] `az datafactory trigger list`: `--properties` renamed to `--trigger`.

0.2.1
+++++
* az datafactory factory create: Enable managed identity by default

0.2.0
++++++
* add update command for linked services and triggers and datasets

0.1.0
++++++
* Initial release.
1 change: 1 addition & 0 deletions src/datafactory/azext_datafactory/azext_metadata.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"azext.isExperimental": true,
"azext.minCliCoreVersion": "2.15.0"
}
12 changes: 12 additions & 0 deletions src/datafactory/azext_datafactory/generated/_client_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,15 @@ def cf_trigger(cli_ctx, *_):

def cf_trigger_run(cli_ctx, *_):
return cf_datafactory_cl(cli_ctx).trigger_runs


def cf_private_end_point_connection(cli_ctx, *_):
return cf_datafactory_cl(cli_ctx).private_end_point_connections


def cf_private_endpoint_connection(cli_ctx, *_):
return cf_datafactory_cl(cli_ctx).private_endpoint_connection


def cf_private_link_resource(cli_ctx, *_):
return cf_datafactory_cl(cli_ctx).private_link_resources
114 changes: 113 additions & 1 deletion src/datafactory/azext_datafactory/generated/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,14 @@
collaboration-branch: Required. Collaboration branch.
root-folder: Required. Root folder.
last-commit-id: Last commit id.
- name: --identity
short-summary: "User assigned identity to use to authenticate to customer's key vault. If not provided Managed \
Service Identity will be used."
long-summary: |
Usage: --identity user-assigned-identity=XX

user-assigned-identity: The resource id of the user assigned identity to authenticate to customer's key \
vault.
examples:
- name: Factories_CreateOrUpdate
text: |-
Expand Down Expand Up @@ -149,6 +157,14 @@
helps['datafactory get-git-hub-access-token'] = """
type: command
short-summary: "Get GitHub Access Token."
parameters:
- name: --git-hub-client-secret
short-summary: "GitHub bring your own app client secret information."
long-summary: |
Usage: --git-hub-client-secret byoa-secret-akv-url=XX byoa-secret-name=XX

byoa-secret-akv-url: Bring your own app client secret AKV URL.
byoa-secret-name: Bring your own app client secret name in AKV.
examples:
- name: Factories_GetGitHubAccessToken
text: |-
Expand Down Expand Up @@ -206,6 +222,13 @@
helps['datafactory integration-runtime managed create'] = """
type: command
short-summary: "Create an integration runtime."
parameters:
- name: --managed-virtual-network
short-summary: "Managed Virtual Network reference."
long-summary: |
Usage: --managed-virtual-network reference-name=XX

reference-name: Required. Reference ManagedVirtualNetwork name.
"""

helps['datafactory integration-runtime self-hosted'] = """
Expand Down Expand Up @@ -591,7 +614,7 @@
taset\\"}],\\"typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"\
type\\":\\"BlobSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline(\
).parameters.OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --duration \
"0.00:10:00" --name "examplePipeline" --resource-group "exampleResourceGroup"
"0.00:10:00" --pipeline-name "examplePipeline" --resource-group "exampleResourceGroup"
"""

helps['datafactory pipeline delete'] = """
Expand Down Expand Up @@ -902,3 +925,92 @@
az datafactory trigger-run rerun --factory-name "exampleFactoryName" --resource-group \
"exampleResourceGroup" --run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" --trigger-name "exampleTrigger"
"""

helps['datafactory private-end-point-connection'] = """
type: group
short-summary: Manage private end point connection with datafactory
"""

helps['datafactory private-end-point-connection list'] = """
type: command
short-summary: "Lists Private endpoint connections."
examples:
- name: privateEndPointConnections_ListByFactory
text: |-
az datafactory private-end-point-connection list --factory-name "exampleFactoryName" --resource-group \
"exampleResourceGroup"
"""

helps['datafactory private-endpoint-connection'] = """
type: group
short-summary: Manage private endpoint connection with datafactory
"""

helps['datafactory private-endpoint-connection show'] = """
type: command
short-summary: "Gets a private endpoint connection."
examples:
- name: Get a private endpoint connection for a datafactory.
text: |-
az datafactory private-endpoint-connection show --factory-name "exampleFactoryName" --name "connection" \
--resource-group "exampleResourceGroup"
"""

helps['datafactory private-endpoint-connection create'] = """
type: command
short-summary: "Approves or rejects a private endpoint connection."
parameters:
- name: --private-link-service-connection-state
short-summary: "The state of a private link connection"
long-summary: |
Usage: --private-link-service-connection-state status=XX description=XX actions-required=XX

status: Status of a private link connection
description: Description of a private link connection
actions-required: ActionsRequired for a private link connection
examples:
- name: Approves or rejects a private endpoint connection for a factory.
text: |-
az datafactory private-endpoint-connection create --factory-name "exampleFactoryName" --name \
"connection" --private-link-service-connection-state description="Approved by admin." actions-required="" \
status="Approved" --resource-group "exampleResourceGroup"
"""

helps['datafactory private-endpoint-connection update'] = """
type: command
short-summary: "Approves or rejects a private endpoint connection."
parameters:
- name: --private-link-service-connection-state
short-summary: "The state of a private link connection"
long-summary: |
Usage: --private-link-service-connection-state status=XX description=XX actions-required=XX

status: Status of a private link connection
description: Description of a private link connection
actions-required: ActionsRequired for a private link connection
"""

helps['datafactory private-endpoint-connection delete'] = """
type: command
short-summary: "Deletes a private endpoint connection."
examples:
- name: Delete a private endpoint connection for a datafactory.
text: |-
az datafactory private-endpoint-connection delete --factory-name "exampleFactoryName" --name \
"connection" --resource-group "exampleResourceGroup"
"""

helps['datafactory private-link-resource'] = """
type: group
short-summary: Manage private link resource with datafactory
"""

helps['datafactory private-link-resource show'] = """
type: command
short-summary: "Gets the private link resources."
examples:
- name: Get private link resources of a site
text: |-
az datafactory private-link-resource show --factory-name "exampleFactoryName" --resource-group \
"exampleResourceGroup"
"""
86 changes: 81 additions & 5 deletions src/datafactory/azext_datafactory/generated/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,13 @@
from azext_datafactory.action import (
AddFactoryVstsConfiguration,
AddFactoryGitHubConfiguration,
AddIdentity,
AddGitHubClientSecret,
AddManagedVirtualNetwork,
AddFolder,
AddFilters,
AddOrderBy
AddOrderBy,
AddPrivateLinkServiceConnectionState
)


Expand Down Expand Up @@ -57,12 +61,33 @@ def load_arguments(self, _):
'GitHub repo information.', arg_group='RepoConfiguration')
c.argument('global_parameters', type=validate_file_or_dict, help='List of parameters for factory. Expected '
'value: json-string/@json-file.')
c.argument('public_network_access', arg_type=get_enum_type(['Enabled', 'Disabled']), help='Whether or not '
'public network access is allowed for the data factory.')
c.argument('key_name', type=str, help='The name of the key in Azure Key Vault to use as Customer Managed Key.',
arg_group='Encryption')
c.argument('vault_base_url', type=str, help='The url of the Azure Key Vault used for CMK.',
arg_group='Encryption')
c.argument('key_version', type=str, help='The version of the key used for CMK. If not provided, latest version '
'will be used.', arg_group='Encryption')
c.argument('identity', action=AddIdentity, nargs='+', help='User assigned identity to use to authenticate to '
'customer\'s key vault. If not provided Managed Service Identity will be used.',
arg_group='Encryption')
c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['SystemAssigned', 'UserAssigned',
'SystemAssigned,UserAssigned']),
help='The identity type.', arg_group='Identity')
c.argument('user_assigned_identities', type=validate_file_or_dict, help='List of user assigned identities for '
'the factory. Expected value: json-string/@json-file.', arg_group='Identity')

with self.argument_context('datafactory update') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.',
id_part='name')
c.argument('tags', tags_type)
c.argument('type_', options_list=['--type'], arg_type=get_enum_type(['SystemAssigned', 'UserAssigned',
'SystemAssigned,UserAssigned']),
help='The identity type.', arg_group='Identity')
c.argument('user_assigned_identities', type=validate_file_or_dict, help='List of user assigned identities for '
'the factory. Expected value: json-string/@json-file.', arg_group='Identity')

with self.argument_context('datafactory delete') as c:
c.argument('resource_group_name', resource_group_name_type)
Expand Down Expand Up @@ -98,6 +123,8 @@ def load_arguments(self, _):
id_part='name')
c.argument('git_hub_access_code', type=str, help='GitHub access code.')
c.argument('git_hub_client_id', type=str, help='GitHub application client ID.')
c.argument('git_hub_client_secret', action=AddGitHubClientSecret, nargs='+', help='GitHub bring your own app '
'client secret information.')
c.argument('git_hub_access_token_base_url', type=str, help='GitHub access token base URL.')

with self.argument_context('datafactory integration-runtime list') as c:
Expand Down Expand Up @@ -133,6 +160,8 @@ def load_arguments(self, _):
c.argument('if_match', type=str, help='ETag of the integration runtime entity. Should only be specified for '
'update, for which it should match existing entity or can be * for unconditional update.')
c.argument('description', type=str, help='Integration runtime description.')
c.argument('managed_virtual_network', action=AddManagedVirtualNetwork, nargs='+', help='Managed Virtual '
'Network reference.')
c.argument('compute_properties', type=validate_file_or_dict, help='The compute resource for managed '
'integration runtime. Expected value: json-string/@json-file.', arg_group='Type Properties')
c.argument('ssis_properties', type=validate_file_or_dict, help='SSIS properties for managed integration '
Expand Down Expand Up @@ -386,8 +415,7 @@ def load_arguments(self, _):
with self.argument_context('datafactory pipeline update') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.', id_part='name')
c.argument('pipeline_name', options_list=['--name', '-n', '--pipeline-name'], type=str, help='The pipeline '
'name.', id_part='child_name_1')
c.argument('pipeline_name', type=str, help='The pipeline name.', id_part='child_name_1')
c.argument('if_match', type=str, help='ETag of the pipeline entity. Should only be specified for update, for '
'which it should match existing entity or can be * for unconditional update.')
c.argument('description', type=str, help='The description of the pipeline.')
Expand All @@ -404,8 +432,7 @@ def load_arguments(self, _):
'json-string/@json-file.')
c.argument('duration', type=validate_file_or_dict, help='TimeSpan value, after which an Azure Monitoring '
'Metric is fired. Expected value: json-string/@json-file.', arg_group='Policy Elapsed Time Metric')
c.argument('folder_name', type=str, help='The name of the folder that this Pipeline is in.',
arg_group='Folder')
c.argument('name', type=str, help='The name of the folder that this Pipeline is in.', arg_group='Folder')
c.ignore('pipeline')

with self.argument_context('datafactory pipeline delete') as c:
Expand Down Expand Up @@ -578,3 +605,52 @@ def load_arguments(self, _):
c.argument('factory_name', type=str, help='The factory name.', id_part='name')
c.argument('trigger_name', type=str, help='The trigger name.', id_part='child_name_1')
c.argument('run_id', type=str, help='The pipeline run identifier.', id_part='child_name_2')

with self.argument_context('datafactory private-end-point-connection list') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.')

with self.argument_context('datafactory private-endpoint-connection show') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.', id_part='name')
c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam'
'e'], type=str, help='The private endpoint '
'connection name.', id_part='child_name_1')
c.argument('if_none_match', type=str, help='ETag of the private endpoint connection entity. Should only be '
'specified for get. If the ETag matches the existing entity tag, or if * was provided, then no '
'content will be returned.')

with self.argument_context('datafactory private-endpoint-connection create') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.')
c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam'
'e'], type=str, help='The private endpoint '
'connection name.')
c.argument('if_match', type=str, help='ETag of the private endpoint connection entity. Should only be '
'specified for update, for which it should match existing entity or can be * for unconditional '
'update.')
c.argument('private_link_service_connection_state', action=AddPrivateLinkServiceConnectionState, nargs='+',
help='The state of a private link connection')

with self.argument_context('datafactory private-endpoint-connection update') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.', id_part='name')
c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam'
'e'], type=str, help='The private endpoint '
'connection name.', id_part='child_name_1')
c.argument('if_match', type=str, help='ETag of the private endpoint connection entity. Should only be '
'specified for update, for which it should match existing entity or can be * for unconditional '
'update.')
c.argument('private_link_service_connection_state', action=AddPrivateLinkServiceConnectionState, nargs='+',
help='The state of a private link connection')

with self.argument_context('datafactory private-endpoint-connection delete') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.', id_part='name')
c.argument('private_endpoint_connection_name', options_list=['--name', '-n', '--private-endpoint-connection-nam'
'e'], type=str, help='The private endpoint '
'connection name.', id_part='child_name_1')

with self.argument_context('datafactory private-link-resource show') as c:
c.argument('resource_group_name', resource_group_name_type)
c.argument('factory_name', type=str, help='The factory name.', id_part='name')
Loading