From dcbbbd6a9d6f44e6271fcd98a321efaf32b8e979 Mon Sep 17 00:00:00 2001 From: xyuria-zededa <109364006+xyuria-zededa@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:45:48 +0200 Subject: [PATCH] feat/zedcloud-1055: Add tags and tag_level_settings to the tag resource (#127) --- docs/data-sources/auth_profile.md | 92 + docs/resources/project.md | 2804 +++++++++++++++-- v2/models/configuration_lock.go | 81 + v2/models/configuration_lock_policy.go | 148 + .../network_instance_flow_log_transmission.go | 91 + v2/models/policy_config.go | 42 + v2/models/tag.go | 95 + v2/models/tag_level_settings.go | 111 + v2/resources/testdata/application/create.tf | 3 + .../testdata/application_instance/create.tf | 3 + v2/resources/testdata/datastore/create.tf | 3 + v2/resources/testdata/image/create.tf | 3 + .../network/create_complete_with_pac.tf | 3 + .../network/create_complete_with_proxy.tf | 3 + .../testdata/network/create_required_only.tf | 3 + .../network_instance/create_complete.tf | 3 + .../network_instance/create_required_only.tf | 3 + v2/resources/testdata/node/create_all.tf | 3 + .../testdata/node/create_required_only.tf | 3 + v2/resources/testdata/node/update_all.tf | 3 + .../testdata/patch_envelope/create.tf | 3 + .../testdata/patch_reference_update/create.tf | 3 + v2/resources/testdata/project/create.tf | 3 + v2/resources/testdata/project/create.yaml | 3 + .../testdata/project/create_required_only.tf | 3 + .../project/create_required_only.yaml | 3 + .../testdata/volume_instance/create.tf | 3 + v2/schemas/configuration_lock.go | 37 + v2/schemas/configuration_lock_policy.go | 74 + .../network_instance_flow_log_transmission.go | 37 + v2/schemas/policy_config.go | 35 +- v2/schemas/tag.go | 106 +- v2/schemas/tag_level_settings.go | 61 + 33 files changed, 3659 insertions(+), 212 deletions(-) create mode 100644 docs/data-sources/auth_profile.md create mode 100644 v2/models/configuration_lock.go create mode 100644 v2/models/configuration_lock_policy.go create mode 100644 v2/models/network_instance_flow_log_transmission.go create mode 100644 v2/models/tag_level_settings.go create mode 100644 v2/schemas/configuration_lock.go create mode 100644 v2/schemas/configuration_lock_policy.go create mode 100644 v2/schemas/network_instance_flow_log_transmission.go create mode 100644 v2/schemas/tag_level_settings.go diff --git a/docs/data-sources/auth_profile.md b/docs/data-sources/auth_profile.md new file mode 100644 index 00000000..d7cd7b1e --- /dev/null +++ b/docs/data-sources/auth_profile.md @@ -0,0 +1,92 @@ +--- +# generated by https://github.com/hashicorp/terraform-plugin-docs +page_title: "zedcloud_auth_profile Data Source - terraform-provider-zedcloud" +subcategory: "" +description: |- + +--- + +# zedcloud_auth_profile (Data Source) + + + + + + +## Schema + +### Required + +- `default_role_id` (String) Default Role ID to associate with the profile +- `name` (String) User defined name of the profile. Profile name is unique within an enterprise. Name can't be changed once created +- `title` (String) User defined title for the profile. Title can be changed anytime + +### Optional + +- `active` (Boolean) Mark this profile as active. Only one profile can be active in a given enterprise +- `description` (String) Detailed description of the profile +- `disable_auto_user_create` (Boolean) Do not automatically create new users if this is set +- `enterprise_id` (String) Parent enterprise ID of the authorization profile +- `oauth_profile` (Block List) Oauth profile configuration details (see [below for nested schema](#nestedblock--oauth_profile)) +- `password_profile` (Block List) (see [below for nested schema](#nestedblock--password_profile)) +- `profile_type` (String) Authorization profile type +- `test_only` (Boolean) +- `type` (String) Type of the profile + +### Read-Only + +- `id` (String) Unique system defined profile ID +- `revision` (List of Object) system defined info (see [below for nested schema](#nestedatt--revision)) + + +### Nested Schema for `oauth_profile` + +Optional: + +- `additional_parameters` (String) pass additional url parameters during the exchange and authorization process +- `client_id` (String) OAUTH client ID +- `client_secret` (String) OAUTH client secret +- `crypto_key` (String) +- `encrypted_secrets` (Map of String) +- `idp_id` (String) id for Vmware IDP +- `jwt_auth_profile` (Block List) Config for JWT based authentication, jwks_uri is derived from OIDC Well Known Endpoints (see [below for nested schema](#nestedblock--oauth_profile--jwt_auth_profile)) +- `o_id_c_end_point` (String) OIDC endpoint for oauth validation +- `role_scope` (String) OIDC scope to fetch application role + + +### Nested Schema for `oauth_profile.jwt_auth_profile` + +Optional: + +- `alg` (String) Algorithm for JWT signature verification + + + + +### Nested Schema for `password_profile` + +Optional: + +- `max_length` (Number) +- `max_password_age` (Number) +- `min_length` (Number) +- `min_lowercase_chars` (Number) +- `min_numeric_chars` (Number) +- `min_password_age` (Number) +- `min_symbol_chars` (Number) +- `min_uppercase_chars` (Number) +- `num_prev_password_check` (Number) +- `password_expiry_notification_period_in_seconds` (Number) + + + +### Nested Schema for `revision` + +Read-Only: + +- `created_at` (String) +- `created_by` (String) +- `curr` (String) +- `prev` (String) +- `updated_at` (String) +- `updated_by` (String) diff --git a/docs/resources/project.md b/docs/resources/project.md index 48987573..9cbdc412 100644 --- a/docs/resources/project.md +++ b/docs/resources/project.md @@ -25,11 +25,14 @@ description: |- - `app_policy` (Block List) Resource group wide policy for edge applications to be deployed on all edge nodes on this resource group (see [below for nested schema](#nestedblock--app_policy)) - `attestation_policy` (Block List) Attestation policy to enforce on all devices of this project (see [below for nested schema](#nestedblock--attestation_policy)) +- `configuration_lock_policy` (Block List) Configuration lock prevents users to send unintentional misconfigurations (see [below for nested schema](#nestedblock--configuration_lock_policy)) - `deployment` (Block List) Deployment template containing different types of policies (see [below for nested schema](#nestedblock--deployment)) - `description` (String) Detailed description of the resource group. - `edgeview_policy` (Block List) Edgeview policy on devices of this project (see [below for nested schema](#nestedblock--edgeview_policy)) - `local_operator_console_policy` (Block List) Local operator console policy on devices of this project (see [below for nested schema](#nestedblock--local_operator_console_policy)) - `network_policy` (Block List) Network policy to enforce on all devices of this project (see [below for nested schema](#nestedblock--network_policy)) +- `tag_level_settings` (Block List) tag level setting within a enterprise (see [below for nested schema](#nestedblock--tag_level_settings)) +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. ### Read-Only @@ -50,6 +53,7 @@ Optional: - `attr` (Map of String) Mapping of policy variable keys and policy variable values - `azure_policy` (Block List) azure policy, which is used in configuring azure iot-edge. (see [below for nested schema](#nestedblock--app_policy--azure_policy)) - `cluster_policy` (Block List) cluster policy to bring up cluster on devices in this project (see [below for nested schema](#nestedblock--app_policy--cluster_policy)) +- `configuration_lock_policy` (Block List) configuration lock policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--app_policy--configuration_lock_policy)) - `description` (String) Detailed description of the policy - `edgeview_policy` (Block List) edgeview policy on devices of this project (see [below for nested schema](#nestedblock--app_policy--edgeview_policy)) - `local_operator_console_policy` (Block List) local operator console policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--app_policy--local_operator_console_policy)) @@ -783,6 +787,18 @@ Optional: + +### Nested Schema for `app_policy.configuration_lock_policy` + +Required: + +- `config_lock` (String) configuration lock setting + +Read-Only: + +- `id` (String) unique policy id + + ### Nested Schema for `app_policy.edgeview_policy` @@ -2331,6 +2347,7 @@ Optional: - `attr` (Map of String) Mapping of policy variable keys and policy variable values - `azure_policy` (Block List) azure policy, which is used in configuring azure iot-edge. (see [below for nested schema](#nestedblock--attestation_policy--azure_policy)) - `cluster_policy` (Block List) cluster policy to bring up cluster on devices in this project (see [below for nested schema](#nestedblock--attestation_policy--cluster_policy)) +- `configuration_lock_policy` (Block List) configuration lock policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--attestation_policy--configuration_lock_policy)) - `description` (String) Detailed description of the policy - `edgeview_policy` (Block List) edgeview policy on devices of this project (see [below for nested schema](#nestedblock--attestation_policy--edgeview_policy)) - `local_operator_console_policy` (Block List) local operator console policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--attestation_policy--local_operator_console_policy)) @@ -3064,6 +3081,18 @@ Optional: + +### Nested Schema for `attestation_policy.configuration_lock_policy` + +Required: + +- `config_lock` (String) configuration lock setting + +Read-Only: + +- `id` (String) unique policy id + + ### Nested Schema for `attestation_policy.edgeview_policy` @@ -3637,15 +3666,2309 @@ Optional: - `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--resources)) - `vmmode` (String) UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration` + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration` + +Optional: + +- `custom_config` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config` + +Optional: + +- `add` (Boolean) Add the Custom Config to App Instance (Optional. Default: False) +- `allow_storage_resize` (Boolean) Allow Appinstance storage to be resized after app instance is created. (Optional. Default: False) +- `field_delimiter` (String) Field delimiter used in specifying variables in template. (Required) +- `name` (String) Name of CustomConfig (Required) +- `override` (Boolean) Override existing custom config from App Bundle Manifest (Optional. Default: False) +- `template` (String) base64 encrypted template string. (Optional) +- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups` + +Optional: + +- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--condition)) +- `name` (String) Name of the Variable Group(Required) +- `required` (Boolean) Indicates if the variable group is required to be specified for the App Instance. (Optional. Default:False) +- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--variables)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.condition` + +Optional: + +- `name` (String) +- `operator` (String) +- `value` (String) + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.variables` + +Required: + +- `format` (String) Format of the user variable. (Required) +- `label` (String) Label for the variable (Required) +- `name` (String) Name of the Variable (Required) +- `required` (Boolean) This variable MUST be specified when creating an App Instance. (Optional. Default: False) + +Optional: + +- `default` (String) Default value of the variable. (Optional. Default: ) +- `encode` (String) Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE +- `max_length` (String) Max length of the value of the variable(Optional. Default: 1024) +- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--variables--options)) +- `process_input` (String) +- `type` (String) +- `value` (String) User-specified value of the variable.(Required if required is true. Optional otherwise) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.variables.options` + +Optional: + +- `label` (String) Display label of the key in User-Agent +- `value` (String) Value of the key to be used + + + + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.container_detail` + +Optional: + +- `container_create_option` (String) Create options direct the creation of the Docker container + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.desc` + +Required: + +- `app_category` (String) + +Optional: + +- `agreement_list` (Map of String) UI map: AppEditPage:DeveloperPane:Developer_Agreement_Field, AppDetailsPage:DeveloperPane:Developer_Agreement_Field +- `category` (String) UI map: AppMarketplacePage:AppCard:DescriptionField, AppEditPage:IdentityPane:CategoryField, AppDetailsPage:IdentityPane:CategoryField +- `license_list` (Map of String) UI map: AppMarketplacePage:AppCard:License, AppEditPage:IdentityPane:License, AppDetailsPage:IdentityPane:License +- `logo` (Map of String) UI map: AppEditPage:IdentityPane:Logo, AppDetailsPage:IdentityPane:Logo +- `os` (String) +- `screenshot_list` (Map of String) UI map: AppEditPage:IdentityPane:Screenshot_Fields, AppDetailsPage:IdentityPane:Screenshot_Fields +- `support` (String) UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.images` + +Optional: + +- `cleartext` (Boolean) UI map: AppEditPage:DrivesPane:Cleartext, AppDetailsPage:DrivesPane:ClearText_Field +- `drvtype` (String) UI map: AppEditPage:DrivesPane:Drive_Type_Field, AppDetailsPage:DrivesPane:Drive_Type_Field +- `ignorepurge` (Boolean) UI map: AppEditPage:DrivesPane:Ignorepurge, AppDetailsPage:DrivesPane:Ignorepurgee_Field +- `imageformat` (String) UI map: AppEditPage:DrivesPane:Image_Format_Field, AppDetailsPage:DrivesPane:Image_Format_Field +- `imageid` (String) UI map: AppEditPage:DrivesPane:Image_ID_Field, AppDetailsPage:DrivesPane:Image_ID_Field +- `imagename` (String) UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field +- `maxsize` (String) UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field +- `mountpath` (String) UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field +- `params` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--images--params)) +- `preserve` (Boolean) UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field +- `readonly` (Boolean) +- `target` (String) UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field +- `volumelabel` (String) UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.images.params` + +Optional: + +- `name` (String) Name of the Parameter (Required) +- `value` (String) Value of the parameter (Required) + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces` + +Optional: + +- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls)) +- `directattach` (Boolean) If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application. +- `name` (String) Interface name used by the edge application +- `optional` (Boolean) Indicates if the interface is optional for edge application. +- `privateip` (Boolean) If true, DHCP network can't be assigned and user needs to provide a static IP address. +- `type` (String) Physical Adapter type for this interface. Applicable only when "direct attach" flag is true. + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls` + +Optional: + +- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions)) +- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--matches)) +- `name` (String) Name of the Access Control List + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) Drop the packet +- `limit` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions--limit_value)) +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmap` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions--portmapto)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions.limit_value` + +Optional: + +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions.portmapto` + +Optional: + +- `app_port` (Number) Application Port value + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.matches` + +Optional: + +- `type` (String) Type of Match (Required) +- `value` (String) Value of match (Required) + + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.module` + +Optional: + +- `environment` (Map of String) Extra information to module to make configuration easier +- `module_type` (String) Type of modules +- `routes` (Map of String) Send messages between modules or send messages from modules to iot hub +- `twin_detail` (String) Base64 encoded module twin details, desired properties of the module will be updated to reflect these values + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.owner` + +Optional: + +- `company` (String) UI map: AppEditPage:IdentityPane:Category_Field, AppDetailsPage:IdentityPane:Category_Field +- `email` (String) UI map: AppEditPage:DeveloperPane:Email_Field, AppDetailsPage:DeveloperPane:Email_Field +- `group` (String) +- `user` (String) UI map: AppEditPage:DeveloperPane:Name_Field, AppDetailsPage:DeveloperPane:Name_Field +- `website` (String) UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.permissions` + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.resources` + +Optional: + +- `name` (String) Name of the Resource (Required) +- `value` (String) Value of Resource (Required) + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces` + +Required: + +- `intfname` (String) intf Name +- `netinstname` (String) Network Instance name to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `privateip` (Boolean) Private IP flag + +Optional: + +- `access_vlan_id` (Number) access port VLAN ID, vlan id of zero will be treated as trunk port and vlan id 1 is implicitly used by linux bridges +- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls)) +- `default_net_instance` (Boolean) default instance flag +- `directattach` (Boolean) direct attach flag +- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--eidregister)) +- `intforder` (Number) intforder +- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--io)) +- `ipaddr` (String) IP address +- `macaddr` (String) MAC address +- `netinsttag` (Map of String) Network Instance tag to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `netname` (String) network name: will be deprecated in future, use netinstname + +Read-Only: + +- `netinstid` (String) Network Instance id to be matched for interface assignment. + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls` + +Optional: + +- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls--actions)) +- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls--matches)) +- `name` (String) User defined name of the app ACE, unique across the enterprise. Once object is created, name can’t be changed + +Read-Only: + +- `id` (Number) app ACE id + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) ACE drop flag +- `limit` (Boolean) ACE limit flag +- `limitburst` (Number) ACE limit burst +- `limitrate` (Number) ACE limit rate +- `limitunit` (String) ACE limit unit +- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls--actions--mapparams)) +- `portmap` (Boolean) application port map flag + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls.actions.mapparams` + +Optional: + +- `port` (Number) Application port + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls.matches` + +Optional: + +- `type` (String) Type +- `value` (String) Value + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.eidregister` + +Required: + +- `display_name` (String) Display name +- `e_id` (String) EID +- `e_id_hash_len` (Number) EID hash length +- `lisp_instance` (Number) Lisp Instance +- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--eidregister--lisp_map_servers)) +- `lisp_signature` (String) Lisp Signature +- `uuid` (String) UUID + +Read-Only: + +- `app_cert` (String) app certificate +- `app_private_key` (String) App private key +- `app_public_key` (String) App public key + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.eidregister.lisp_map_servers` + +Required: + +- `credential` (String, Sensitive) lisp credential +- `name_or_ip` (String) name/IP + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.io` + +Optional: + +- `name` (String) Physical Adapter name +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. +- `type` (String) IoType specifies the type of the Input output of the device + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.parent_detail` + +Optional: + +- `reference_exists` (Boolean) Relation with child and parent object exists or not +- `update_available` (Boolean) Update required flag + +Read-Only: + +- `id_of_parent_object` (String) system defined unique id of parent object +- `version_of_parent_object` (Number) version of object present in parent + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub` + +Required: + +- `cpus` (Number) user defined cpus for bundle +- `manifest_json` (Block List, Min: 1) Manifest data (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json)) +- `memory` (Number) user defined memory for bundle +- `name` (String) User defined name of the edge application, unique across the enterprise. Once object is created, name can’t be changed +- `networks` (Number) user defined network options +- `origin_type` (String) origin of object +- `title` (String) User defined title of the edge application. Title can be changed at any time + +Optional: + +- `app_id` (String) User defined name of the edge app, unique across the enterprise. Once app name is created, name can’t be changed +- `app_version` (String) Current version of the attached bundle +- `description` (String) Detailed description of the edge application +- `interfaces` (Block List) application interfaces (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces)) +- `name_app_part` (String) User provided name part for the auto deployed app +- `name_project_part` (String) User provided name part for the auto deployed app +- `naming_scheme` (String) app naming scheme +- `parent_detail` (Block List) origin and parent related details (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--parent_detail)) +- `start_delay_in_seconds` (Number) start delay is the time in seconds EVE should wait after boot before starting the application instance +- `storage` (Number) user defined storage for bundle +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. + +Read-Only: + +- `drives` (Number) user defined drives +- `id` (String) System defined universally unique Id of the edge application + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json` + +Required: + +- `ac_kind` (String) UI map: N/A - not exposed to users +- `ac_version` (String) UI map: N/A - not exposed to users +- `name` (String) UI map: AppEditPage:IdentityPane:Name_Field, AppDetailsPage:IdentityPane:Name_Field + +Optional: + +- `app_type` (String) bundle type, eg: vm, container, module +- `configuration` (Block List) Template for Custom Configuration. Used for Cloud-Init (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration)) +- `container_detail` (Block List) Create options direct the creation of the Docker container (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--container_detail)) +- `cpu_pinning_enabled` (Boolean) Enable CpuPinning +- `deployment_type` (String) type of deployment for the app, eg: azure, k3s, standalone +- `desc` (Block List) Description of the application (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--desc)) +- `description` (String) UI map: AppDetailsPage:IdentityPane:DescriptionField, AppMarketplacePage:AppCard:DescriptionField +- `display_name` (String) UI map: AppEditPage:IdentityPane:Title_Field, AppDetailsPage:IdentityPane:Title_Field +- `enablevnc` (Boolean) UI map: AppEditPage:IdentityPane:VNC_Field, AppDetailsPage:IdentityPane:VNC_Field +- `images` (Block List) UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--images)) +- `interfaces` (Block List) UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces)) +- `module` (Block List) Azure module specific details like module twin, environment variable, routes (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--module)) +- `owner` (Block List) Owner of the application (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--owner)) +- `permissions` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--permissions)) +- `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--resources)) +- `vmmode` (String) UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration` + +Optional: + +- `custom_config` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config` + +Optional: + +- `add` (Boolean) Add the Custom Config to App Instance (Optional. Default: False) +- `allow_storage_resize` (Boolean) Allow Appinstance storage to be resized after app instance is created. (Optional. Default: False) +- `field_delimiter` (String) Field delimiter used in specifying variables in template. (Required) +- `name` (String) Name of CustomConfig (Required) +- `override` (Boolean) Override existing custom config from App Bundle Manifest (Optional. Default: False) +- `template` (String) base64 encrypted template string. (Optional) +- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups` + +Optional: + +- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--condition)) +- `name` (String) Name of the Variable Group(Required) +- `required` (Boolean) Indicates if the variable group is required to be specified for the App Instance. (Optional. Default:False) +- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--variables)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.condition` + +Optional: + +- `name` (String) +- `operator` (String) +- `value` (String) + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.variables` + +Required: + +- `format` (String) Format of the user variable. (Required) +- `label` (String) Label for the variable (Required) +- `name` (String) Name of the Variable (Required) +- `required` (Boolean) This variable MUST be specified when creating an App Instance. (Optional. Default: False) + +Optional: + +- `default` (String) Default value of the variable. (Optional. Default: ) +- `encode` (String) Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE +- `max_length` (String) Max length of the value of the variable(Optional. Default: 1024) +- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--variables--options)) +- `process_input` (String) +- `type` (String) +- `value` (String) User-specified value of the variable.(Required if required is true. Optional otherwise) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.variables.options` + +Optional: + +- `label` (String) Display label of the key in User-Agent +- `value` (String) Value of the key to be used + + + + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.container_detail` + +Optional: + +- `container_create_option` (String) Create options direct the creation of the Docker container + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.desc` + +Required: + +- `app_category` (String) + +Optional: + +- `agreement_list` (Map of String) UI map: AppEditPage:DeveloperPane:Developer_Agreement_Field, AppDetailsPage:DeveloperPane:Developer_Agreement_Field +- `category` (String) UI map: AppMarketplacePage:AppCard:DescriptionField, AppEditPage:IdentityPane:CategoryField, AppDetailsPage:IdentityPane:CategoryField +- `license_list` (Map of String) UI map: AppMarketplacePage:AppCard:License, AppEditPage:IdentityPane:License, AppDetailsPage:IdentityPane:License +- `logo` (Map of String) UI map: AppEditPage:IdentityPane:Logo, AppDetailsPage:IdentityPane:Logo +- `os` (String) +- `screenshot_list` (Map of String) UI map: AppEditPage:IdentityPane:Screenshot_Fields, AppDetailsPage:IdentityPane:Screenshot_Fields +- `support` (String) UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.images` + +Optional: + +- `cleartext` (Boolean) UI map: AppEditPage:DrivesPane:Cleartext, AppDetailsPage:DrivesPane:ClearText_Field +- `drvtype` (String) UI map: AppEditPage:DrivesPane:Drive_Type_Field, AppDetailsPage:DrivesPane:Drive_Type_Field +- `ignorepurge` (Boolean) UI map: AppEditPage:DrivesPane:Ignorepurge, AppDetailsPage:DrivesPane:Ignorepurgee_Field +- `imageformat` (String) UI map: AppEditPage:DrivesPane:Image_Format_Field, AppDetailsPage:DrivesPane:Image_Format_Field +- `imageid` (String) UI map: AppEditPage:DrivesPane:Image_ID_Field, AppDetailsPage:DrivesPane:Image_ID_Field +- `imagename` (String) UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field +- `maxsize` (String) UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field +- `mountpath` (String) UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field +- `params` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--images--params)) +- `preserve` (Boolean) UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field +- `readonly` (Boolean) +- `target` (String) UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field +- `volumelabel` (String) UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.images.params` + +Optional: + +- `name` (String) Name of the Parameter (Required) +- `value` (String) Value of the parameter (Required) + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces` + +Optional: + +- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls)) +- `directattach` (Boolean) If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application. +- `name` (String) Interface name used by the edge application +- `optional` (Boolean) Indicates if the interface is optional for edge application. +- `privateip` (Boolean) If true, DHCP network can't be assigned and user needs to provide a static IP address. +- `type` (String) Physical Adapter type for this interface. Applicable only when "direct attach" flag is true. + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls` + +Optional: + +- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions)) +- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--matches)) +- `name` (String) Name of the Access Control List + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) Drop the packet +- `limit` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions--limit_value)) +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmap` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions--portmapto)) + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions.limit_value` + +Optional: + +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions.portmapto` + +Optional: + +- `app_port` (Number) Application Port value + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.matches` + +Optional: + +- `type` (String) Type of Match (Required) +- `value` (String) Value of match (Required) + + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.module` + +Optional: + +- `environment` (Map of String) Extra information to module to make configuration easier +- `module_type` (String) Type of modules +- `routes` (Map of String) Send messages between modules or send messages from modules to iot hub +- `twin_detail` (String) Base64 encoded module twin details, desired properties of the module will be updated to reflect these values + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.owner` + +Optional: + +- `company` (String) UI map: AppEditPage:IdentityPane:Category_Field, AppDetailsPage:IdentityPane:Category_Field +- `email` (String) UI map: AppEditPage:DeveloperPane:Email_Field, AppDetailsPage:DeveloperPane:Email_Field +- `group` (String) +- `user` (String) UI map: AppEditPage:DeveloperPane:Name_Field, AppDetailsPage:DeveloperPane:Name_Field +- `website` (String) UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.permissions` + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.resources` + +Optional: + +- `name` (String) Name of the Resource (Required) +- `value` (String) Value of Resource (Required) + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces` + +Required: + +- `intfname` (String) intf Name +- `netinstname` (String) Network Instance name to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `privateip` (Boolean) Private IP flag + +Optional: + +- `access_vlan_id` (Number) access port VLAN ID, vlan id of zero will be treated as trunk port and vlan id 1 is implicitly used by linux bridges +- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls)) +- `default_net_instance` (Boolean) default instance flag +- `directattach` (Boolean) direct attach flag +- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--eidregister)) +- `intforder` (Number) intforder +- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--io)) +- `ipaddr` (String) IP address +- `macaddr` (String) MAC address +- `netinsttag` (Map of String) Network Instance tag to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `netname` (String) network name: will be deprecated in future, use netinstname + +Read-Only: + +- `netinstid` (String) Network Instance id to be matched for interface assignment. + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls` + +Optional: + +- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls--actions)) +- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls--matches)) +- `name` (String) User defined name of the app ACE, unique across the enterprise. Once object is created, name can’t be changed + +Read-Only: + +- `id` (Number) app ACE id + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) ACE drop flag +- `limit` (Boolean) ACE limit flag +- `limitburst` (Number) ACE limit burst +- `limitrate` (Number) ACE limit rate +- `limitunit` (String) ACE limit unit +- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls--actions--mapparams)) +- `portmap` (Boolean) application port map flag + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls.actions.mapparams` + +Optional: + +- `port` (Number) Application port + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls.matches` + +Optional: + +- `type` (String) Type +- `value` (String) Value + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.eidregister` + +Required: + +- `display_name` (String) Display name +- `e_id` (String) EID +- `e_id_hash_len` (Number) EID hash length +- `lisp_instance` (Number) Lisp Instance +- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--eidregister--lisp_map_servers)) +- `lisp_signature` (String) Lisp Signature +- `uuid` (String) UUID + +Read-Only: + +- `app_cert` (String) app certificate +- `app_private_key` (String) App private key +- `app_public_key` (String) App public key + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.eidregister.lisp_map_servers` + +Required: + +- `credential` (String, Sensitive) lisp credential +- `name_or_ip` (String) name/IP + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.io` + +Optional: + +- `name` (String) Physical Adapter name +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. +- `type` (String) IoType specifies the type of the Input output of the device + + + + +### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.parent_detail` + +Optional: + +- `reference_exists` (Boolean) Relation with child and parent object exists or not +- `update_available` (Boolean) Update required flag + +Read-Only: + +- `id_of_parent_object` (String) system defined unique id of parent object +- `version_of_parent_object` (Number) version of object present in parent + + + + +### Nested Schema for `attestation_policy.module_policy.metrics` + +Optional: + +- `queries` (Map of String) Mapping of queries variable keys and value +- `results` (Map of String) Mapping of results variable keys and value + + + + +### Nested Schema for `attestation_policy.network_policy` + +Required: + +- `net_instance_config` (Block List, Min: 1) list of network details that will be created on all the devices of the project to which this policy is attached (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config)) + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config` + +Required: + +- `device_id` (String) ID of the device on which network instance is created +- `kind` (String) Kind of Network Instance: +NETWORK_INSTANCE_KIND_UNSPECIFIED +NETWORK_INSTANCE_KIND_TRANSPARENT +NETWORK_INSTANCE_KIND_SWITCH +NETWORK_INSTANCE_KIND_LOCAL +NETWORK_INSTANCE_KIND_CLOUD +NETWORK_INSTANCE_KIND_MESH +NETWORK_INSTANCE_KIND_HONEYPOT +- `name` (String) User defined name of the network instance, unique across the enterprise. Once object is created, name can’t be changed +- `title` (String) User defined title of the network instance. Title can be changed at any time + +Optional: + +- `cluster_id` (String) ID of the Cluster in which the network instance is configured +- `description` (String) Detailed description of the network instance +- `device_default` (Boolean) Flag to indicate if this is the default network instance for the device +- `dhcp` (Boolean) Deprecated +- `dns_list` (Block List) List of Static DNS entries (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--dns_list)) +- `ip` (Block List) DHCP Server Configuration (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--ip)) +- `mtu` (Number) Maximum transmission unit (MTU) to set for the network instance and all application interfaces connected to it +- `network_policy_id` (String) id of the network policy to be attached to this network instance +- `oconfig` (String) +- `opaque` (Block List) Service specific Config (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--opaque)) +- `port` (String) name of port mapping in the model +- `port_tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. +- `project_id` (String) id of the project in which network instance is created +- `propagate_connected_routes` (Boolean) Automatically propagate connected routes +- `static_routes` (Block List) List of Static IP routes (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--static_routes)) +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. +- `type` (String) Type of DHCP for this Network Instance: +NETWORK_INSTANCE_DHCP_TYPE_V4 +NETWORK_INSTANCE_DHCP_TYPE_V6 +NETWORK_INSTANCE_DHCP_TYPE_CRYPTOEID +NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV4 +NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV6 + +Read-Only: + +- `id` (String) System defined universally unique ID of the network instance +- `lisp` (List of Object) Lisp Config : read only for now. Deprecated. (see [below for nested schema](#nestedatt--attestation_policy--network_policy--net_instance_config--lisp)) +- `revision` (List of Object) system defined info for the object (see [below for nested schema](#nestedatt--attestation_policy--network_policy--net_instance_config--revision)) + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.dns_list` + +Optional: + +- `addrs` (List of String) Addresses +- `hostname` (String) Host name + + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.ip` + +Optional: + +- `dhcp_range` (Block List) Range of IP addresses to be used for DHCP (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--ip--dhcp_range)) +- `dns` (List of String) IP Addresses of DNS servers +- `domain` (String) Network domain +- `gateway` (String) IP Address of Network Gateway +- `mask` (String) Subnet Mask +- `ntp` (String) IP Address of NTP Server +- `subnet` (String) Subnet address + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.ip.dhcp_range` + +Optional: + +- `end` (String) ending IP +- `start` (String) starting IP + + + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.opaque` + +Optional: + +- `lisp` (Block List) Deprecated - Lisp config (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--opaque--lisp)) +- `oconfig` (String) base64 encoded string of opaque config +- `type` (String) type of Opaque config + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.opaque.lisp` + +Optional: + +- `allocate` (Boolean) Allocate flag +- `allocationprefix` (String) Allocation Prefix +- `allocationprefixlen` (Number) Allocation Prefix Length +- `exportprivate` (Boolean) Export Private flag +- `lispiid` (Number) lisp id +- `sp` (Block List) Service Point List (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--opaque--lisp--sp)) + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.opaque.lisp.sp` + +Optional: + +- `credential` (String) Service credentials +- `name_or_ip` (String) Service name/ service name +- `type` (String) Service Point Type + + + + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.static_routes` + +Optional: + +- `gateway` (String) Gateway IP +- `prefix` (String) IP Prefix + + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.lisp` + +Read-Only: + +- `allocate` (Boolean) +- `allocationprefix` (String) +- `allocationprefixlen` (Number) +- `exportprivate` (Boolean) +- `lispiid` (Number) +- `sp` (List of Object) (see [below for nested schema](#nestedobjatt--attestation_policy--network_policy--net_instance_config--lisp--sp)) + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.lisp.sp` + +Read-Only: + +- `credential` (String) +- `name_or_ip` (String) +- `type` (String) + + + + +### Nested Schema for `attestation_policy.network_policy.net_instance_config.revision` + +Read-Only: + +- `created_at` (String) +- `created_by` (String) +- `curr` (String) +- `prev` (String) +- `updated_at` (String) +- `updated_by` (String) + + + + + +### Nested Schema for `attestation_policy.revision` + +Read-Only: + +- `created_at` (String) +- `created_by` (String) +- `curr` (String) +- `prev` (String) +- `updated_at` (String) +- `updated_by` (String) + + + + +### Nested Schema for `configuration_lock_policy` + +Optional: + +- `app_policy` (Block List) app policy, which is used in auto app instance deployment (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy)) +- `attestation_policy` (Block List) attestation policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--configuration_lock_policy--attestation_policy)) +- `attr` (Map of String) Mapping of policy variable keys and policy variable values +- `azure_policy` (Block List) azure policy, which is used in configuring azure iot-edge. (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy)) +- `cluster_policy` (Block List) cluster policy to bring up cluster on devices in this project (see [below for nested schema](#nestedblock--configuration_lock_policy--cluster_policy)) +- `configuration_lock_policy` (Block List) configuration lock policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--configuration_lock_policy--configuration_lock_policy)) +- `description` (String) Detailed description of the policy +- `edgeview_policy` (Block List) edgeview policy on devices of this project (see [below for nested schema](#nestedblock--configuration_lock_policy--edgeview_policy)) +- `local_operator_console_policy` (Block List) local operator console policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--configuration_lock_policy--local_operator_console_policy)) +- `module_policy` (Block List) module policy, which is used in auto module deployment (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy)) +- `name` (String) User defined name of the policy request, unique across the enterprise. Once object is created, name can’t be changed +- `network_policy` (Block List) network policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy)) +- `title` (String) User defined title of the policy. Title can be changed at any time +- `type` (String) type of policy + +Read-Only: + +- `id` (String) System defined universally unique Id of the policy request +- `revision` (List of Object) system defined info (see [below for nested schema](#nestedatt--configuration_lock_policy--revision)) +- `status` (String) status of the policy +- `status_message` (String) Detailed status message of the policy + + +### Nested Schema for `configuration_lock_policy.app_policy` + +Required: + +- `apps` (Block List, Min: 1) list of app details that will be provisioned on all the devices of the project to which this policy is attached (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps)) + + +### Nested Schema for `configuration_lock_policy.app_policy.apps` + +Required: + +- `cpus` (Number) user defined cpus for bundle +- `manifest_json` (Block List, Min: 1) Manifest data (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json)) +- `memory` (Number) user defined memory for bundle +- `name` (String) User defined name of the edge application, unique across the enterprise. Once object is created, name can’t be changed +- `networks` (Number) user defined network options +- `origin_type` (String) origin of object +- `title` (String) User defined title of the edge application. Title can be changed at any time + +Optional: + +- `app_id` (String) User defined name of the edge app, unique across the enterprise. Once app name is created, name can’t be changed +- `app_version` (String) Current version of the attached bundle +- `description` (String) Detailed description of the edge application +- `interfaces` (Block List) application interfaces (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces)) +- `name_app_part` (String) User provided name part for the auto deployed app +- `name_project_part` (String) User provided name part for the auto deployed app +- `naming_scheme` (String) app naming scheme +- `parent_detail` (Block List) origin and parent related details (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--parent_detail)) +- `start_delay_in_seconds` (Number) start delay is the time in seconds EVE should wait after boot before starting the application instance +- `storage` (Number) user defined storage for bundle +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. + +Read-Only: + +- `drives` (Number) user defined drives +- `id` (String) System defined universally unique Id of the edge application + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json` + +Required: + +- `ac_kind` (String) UI map: N/A - not exposed to users +- `ac_version` (String) UI map: N/A - not exposed to users +- `name` (String) UI map: AppEditPage:IdentityPane:Name_Field, AppDetailsPage:IdentityPane:Name_Field + +Optional: + +- `app_type` (String) bundle type, eg: vm, container, module +- `configuration` (Block List) Template for Custom Configuration. Used for Cloud-Init (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--configuration)) +- `container_detail` (Block List) Create options direct the creation of the Docker container (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--container_detail)) +- `cpu_pinning_enabled` (Boolean) Enable CpuPinning +- `deployment_type` (String) type of deployment for the app, eg: azure, k3s, standalone +- `desc` (Block List) Description of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--desc)) +- `description` (String) UI map: AppDetailsPage:IdentityPane:DescriptionField, AppMarketplacePage:AppCard:DescriptionField +- `display_name` (String) UI map: AppEditPage:IdentityPane:Title_Field, AppDetailsPage:IdentityPane:Title_Field +- `enablevnc` (Boolean) UI map: AppEditPage:IdentityPane:VNC_Field, AppDetailsPage:IdentityPane:VNC_Field +- `images` (Block List) UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--images)) +- `interfaces` (Block List) UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--interfaces)) +- `module` (Block List) Azure module specific details like module twin, environment variable, routes (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--module)) +- `owner` (Block List) Owner of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--owner)) +- `permissions` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--permissions)) +- `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--resources)) +- `vmmode` (String) UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.configuration` + +Optional: + +- `custom_config` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--configuration--custom_config)) + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.configuration.custom_config` + +Optional: + +- `add` (Boolean) Add the Custom Config to App Instance (Optional. Default: False) +- `allow_storage_resize` (Boolean) Allow Appinstance storage to be resized after app instance is created. (Optional. Default: False) +- `field_delimiter` (String) Field delimiter used in specifying variables in template. (Required) +- `name` (String) Name of CustomConfig (Required) +- `override` (Boolean) Override existing custom config from App Bundle Manifest (Optional. Default: False) +- `template` (String) base64 encrypted template string. (Optional) +- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--configuration--custom_config--variable_groups)) + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.configuration.custom_config.variable_groups` + +Optional: + +- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--configuration--custom_config--variable_groups--condition)) +- `name` (String) Name of the Variable Group(Required) +- `required` (Boolean) Indicates if the variable group is required to be specified for the App Instance. (Optional. Default:False) +- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--configuration--custom_config--variable_groups--variables)) + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.configuration.custom_config.variable_groups.condition` + +Optional: + +- `name` (String) +- `operator` (String) +- `value` (String) + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.configuration.custom_config.variable_groups.variables` + +Required: + +- `format` (String) Format of the user variable. (Required) +- `label` (String) Label for the variable (Required) +- `name` (String) Name of the Variable (Required) +- `required` (Boolean) This variable MUST be specified when creating an App Instance. (Optional. Default: False) + +Optional: + +- `default` (String) Default value of the variable. (Optional. Default: ) +- `encode` (String) Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE +- `max_length` (String) Max length of the value of the variable(Optional. Default: 1024) +- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--configuration--custom_config--variable_groups--variables--options)) +- `process_input` (String) +- `type` (String) +- `value` (String) User-specified value of the variable.(Required if required is true. Optional otherwise) + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.configuration.custom_config.variable_groups.variables.options` + +Optional: + +- `label` (String) Display label of the key in User-Agent +- `value` (String) Value of the key to be used + + + + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.container_detail` + +Optional: + +- `container_create_option` (String) Create options direct the creation of the Docker container + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.desc` + +Required: + +- `app_category` (String) + +Optional: + +- `agreement_list` (Map of String) UI map: AppEditPage:DeveloperPane:Developer_Agreement_Field, AppDetailsPage:DeveloperPane:Developer_Agreement_Field +- `category` (String) UI map: AppMarketplacePage:AppCard:DescriptionField, AppEditPage:IdentityPane:CategoryField, AppDetailsPage:IdentityPane:CategoryField +- `license_list` (Map of String) UI map: AppMarketplacePage:AppCard:License, AppEditPage:IdentityPane:License, AppDetailsPage:IdentityPane:License +- `logo` (Map of String) UI map: AppEditPage:IdentityPane:Logo, AppDetailsPage:IdentityPane:Logo +- `os` (String) +- `screenshot_list` (Map of String) UI map: AppEditPage:IdentityPane:Screenshot_Fields, AppDetailsPage:IdentityPane:Screenshot_Fields +- `support` (String) UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.images` + +Optional: + +- `cleartext` (Boolean) UI map: AppEditPage:DrivesPane:Cleartext, AppDetailsPage:DrivesPane:ClearText_Field +- `drvtype` (String) UI map: AppEditPage:DrivesPane:Drive_Type_Field, AppDetailsPage:DrivesPane:Drive_Type_Field +- `ignorepurge` (Boolean) UI map: AppEditPage:DrivesPane:Ignorepurge, AppDetailsPage:DrivesPane:Ignorepurgee_Field +- `imageformat` (String) UI map: AppEditPage:DrivesPane:Image_Format_Field, AppDetailsPage:DrivesPane:Image_Format_Field +- `imageid` (String) UI map: AppEditPage:DrivesPane:Image_ID_Field, AppDetailsPage:DrivesPane:Image_ID_Field +- `imagename` (String) UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field +- `maxsize` (String) UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field +- `mountpath` (String) UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field +- `params` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--images--params)) +- `preserve` (Boolean) UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field +- `readonly` (Boolean) +- `target` (String) UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field +- `volumelabel` (String) UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.images.params` + +Optional: + +- `name` (String) Name of the Parameter (Required) +- `value` (String) Value of the parameter (Required) + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.interfaces` + +Optional: + +- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--interfaces--acls)) +- `directattach` (Boolean) If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application. +- `name` (String) Interface name used by the edge application +- `optional` (Boolean) Indicates if the interface is optional for edge application. +- `privateip` (Boolean) If true, DHCP network can't be assigned and user needs to provide a static IP address. +- `type` (String) Physical Adapter type for this interface. Applicable only when "direct attach" flag is true. + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.interfaces.acls` + +Optional: + +- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--interfaces--acls--actions)) +- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--interfaces--acls--matches)) +- `name` (String) Name of the Access Control List + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) Drop the packet +- `limit` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--interfaces--acls--actions--limit_value)) +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmap` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--manifest_json--interfaces--acls--actions--portmapto)) + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.interfaces.acls.actions.limit_value` + +Optional: + +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.interfaces.acls.actions.portmapto` + +Optional: + +- `app_port` (Number) Application Port value + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.interfaces.acls.matches` + +Optional: + +- `type` (String) Type of Match (Required) +- `value` (String) Value of match (Required) + + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.module` + +Optional: + +- `environment` (Map of String) Extra information to module to make configuration easier +- `module_type` (String) Type of modules +- `routes` (Map of String) Send messages between modules or send messages from modules to iot hub +- `twin_detail` (String) Base64 encoded module twin details, desired properties of the module will be updated to reflect these values + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.owner` + +Optional: + +- `company` (String) UI map: AppEditPage:IdentityPane:Category_Field, AppDetailsPage:IdentityPane:Category_Field +- `email` (String) UI map: AppEditPage:DeveloperPane:Email_Field, AppDetailsPage:DeveloperPane:Email_Field +- `group` (String) +- `user` (String) UI map: AppEditPage:DeveloperPane:Name_Field, AppDetailsPage:DeveloperPane:Name_Field +- `website` (String) UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.permissions` + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.manifest_json.resources` + +Optional: + +- `name` (String) Name of the Resource (Required) +- `value` (String) Value of Resource (Required) + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces` + +Required: + +- `intfname` (String) intf Name +- `netinstname` (String) Network Instance name to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `privateip` (Boolean) Private IP flag + +Optional: + +- `access_vlan_id` (Number) access port VLAN ID, vlan id of zero will be treated as trunk port and vlan id 1 is implicitly used by linux bridges +- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--acls)) +- `default_net_instance` (Boolean) default instance flag +- `directattach` (Boolean) direct attach flag +- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--eidregister)) +- `intforder` (Number) intforder +- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--io)) +- `ipaddr` (String) IP address +- `macaddr` (String) MAC address +- `netinsttag` (Map of String) Network Instance tag to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `netname` (String) network name: will be deprecated in future, use netinstname + +Read-Only: + +- `netinstid` (String) Network Instance id to be matched for interface assignment. + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.acls` + +Optional: + +- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--acls--actions)) +- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--acls--matches)) +- `name` (String) User defined name of the app ACE, unique across the enterprise. Once object is created, name can’t be changed + +Read-Only: + +- `id` (Number) app ACE id + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) ACE drop flag +- `limit` (Boolean) ACE limit flag +- `limitburst` (Number) ACE limit burst +- `limitrate` (Number) ACE limit rate +- `limitunit` (String) ACE limit unit +- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--acls--actions--mapparams)) +- `portmap` (Boolean) application port map flag + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.acls.actions.mapparams` + +Optional: + +- `port` (Number) Application port + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.acls.matches` + +Optional: + +- `type` (String) Type +- `value` (String) Value + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.eidregister` + +Required: + +- `display_name` (String) Display name +- `e_id` (String) EID +- `e_id_hash_len` (Number) EID hash length +- `lisp_instance` (Number) Lisp Instance +- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--configuration_lock_policy--app_policy--apps--interfaces--eidregister--lisp_map_servers)) +- `lisp_signature` (String) Lisp Signature +- `uuid` (String) UUID + +Read-Only: + +- `app_cert` (String) app certificate +- `app_private_key` (String) App private key +- `app_public_key` (String) App public key + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.eidregister.lisp_map_servers` + +Required: + +- `credential` (String, Sensitive) lisp credential +- `name_or_ip` (String) name/IP + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.interfaces.io` + +Optional: + +- `name` (String) Physical Adapter name +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. +- `type` (String) IoType specifies the type of the Input output of the device + + + + +### Nested Schema for `configuration_lock_policy.app_policy.apps.parent_detail` + +Optional: + +- `reference_exists` (Boolean) Relation with child and parent object exists or not +- `update_available` (Boolean) Update required flag + +Read-Only: + +- `id_of_parent_object` (String) system defined unique id of parent object +- `version_of_parent_object` (Number) version of object present in parent + + + + + +### Nested Schema for `configuration_lock_policy.attestation_policy` + +Required: + +- `type` (String) Attestation policy type + +Read-Only: + +- `id` (String) unique policy id + + + +### Nested Schema for `configuration_lock_policy.azure_policy` + +Required: + +- `app_id` (String) app id for rbac +- `app_password` (String) app password for rbac +- `tenant_id` (String) tenant id for rbac + +Optional: + +- `azure_resource_and_services` (Block List) azure resource and service the policy will be interested in (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services)) +- `certificate` (Block List) Certificate object holds the details of certificate like encryption type, validity, subject etc (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--certificate)) +- `crypto_key` (String) key to decrypt AppPassword +- `custom_deployment_managed` (Boolean) +- `encrypted_secrets` (Map of String) encrypted AppPassword + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services` + +Required: + +- `dps_service` (Block List, Min: 1) dps service attached to cloud policy (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service)) +- `iot_hub_service` (Block List, Min: 1) list of iothubs attached to cloud policy (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--iot_hub_service)) +- `resource_group` (Block List, Min: 1) list of resource groups attached to cloud policy (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--resource_group)) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service` + +Optional: + +- `enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment)) +- `service_detail` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--service_detail)) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment` + +Optional: + +- `allocation_policy` (String) +- `attached_iot_hubs_name` (List of String) +- `certificate_enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment--certificate_enrollment)) +- `enable_iot_edge_device` (Boolean) +- `mechanism` (String) +- `symmetric_key_enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment--symmetric_key_enrollment)) +- `tags` (Map of String) +- `tpm_enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment--tpm_enrollment)) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment.certificate_enrollment` + +Optional: + +- `group_certificate_enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment--certificate_enrollment--group_certificate_enrollment)) +- `individual_certificate_enrollment` (String) +- `type` (String) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment.certificate_enrollment.group_certificate_enrollment` + +Optional: + +- `group_name` (String) + + + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment.symmetric_key_enrollment` + +Optional: + +- `group_symmetric_key_enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment--symmetric_key_enrollment--group_symmetric_key_enrollment)) +- `individual_symmetric_key_enrollment` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--enrollment--symmetric_key_enrollment--individual_symmetric_key_enrollment)) +- `type` (String) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment.symmetric_key_enrollment.group_symmetric_key_enrollment` + +Optional: + +- `group_name` (String) + + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment.symmetric_key_enrollment.individual_symmetric_key_enrollment` + +Optional: + +- `registration_id` (String) + + + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.enrollment.tpm_enrollment` + +Optional: + +- `type` (String) + + + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.service_detail` + +Optional: + +- `create_by_default` (Boolean) +- `name` (String) +- `region` (String) +- `resource_group_name` (String) +- `s_k_u` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--dps_service--service_detail--s_k_u)) +- `subscription_id` (String) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.dps_service.service_detail.s_k_u` + +Optional: + +- `capacity` (String) +- `name` (String) +- `tier` (String) + + + + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.iot_hub_service` + +Optional: + +- `service_detail` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--iot_hub_service--service_detail)) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.iot_hub_service.service_detail` + +Optional: + +- `create_by_default` (Boolean) +- `name` (String) +- `region` (String) +- `resource_group_name` (String) +- `s_k_u` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--azure_resource_and_services--iot_hub_service--service_detail--s_k_u)) +- `subscription_id` (String) + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.iot_hub_service.service_detail.s_k_u` + +Optional: + +- `capacity` (String) +- `name` (String) +- `tier` (String) + + + + + +### Nested Schema for `configuration_lock_policy.azure_policy.azure_resource_and_services.resource_group` + +Required: + +- `name` (String) resource group name +- `subscription_id` (String) azure subscription id to which resource group is attached + +Optional: + +- `region` (String) resource group region + + + + +### Nested Schema for `configuration_lock_policy.azure_policy.certificate` + +Optional: + +- `basic_contraints_valid` (Boolean) This fields tells the basic constraints like isCA are correct. +- `cert` (String) base64 string of the parent certificate +- `crypto_key` (String) Crypto Key for decrypting user secret information +- `ecdsa_encryption` (Block List) ECDSA encryption algorithm of the certificate (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--certificate--ecdsa_encryption)) +- `encrypted_secrets` (Map of String) user encrypted secrets map +- `exportable` (Boolean) Indicates if the private key can be exported. +- `extended_key_usage` (List of String) Sequence of extended key usages. +- `issuer` (Block List) Parameters for the issuer of the X509 component of a certificate. (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--certificate--issuer)) +- `key_usage` (Number) Key usage extensions define the purpose of the public key contained in a certificate. +- `pass_phrase` (String) pass phase for the pvt key, this has to be filled if pvt key is encrypted with a pass phrase +- `public_key` (String) base63 string of the public key +- `public_key_algorithm` (String) Public key algorithm. +- `pvt_key` (String) base64 string of the parent pvt key +- `reuse_key` (Boolean) Indicates if the same key pair will be used on certificate renewal. +- `rsa_ecryption` (Block List) RSA encryption algorithm of the certificate (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--certificate--rsa_ecryption)) +- `san_values` (Block List) This holds the alternative name values like URIs, domain names IPs etc. (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--certificate--san_values)) +- `serial_number` (String) Unique identifier for each Certificate generated by an Certificate Issuer. +- `signature_algorithm` (String) +- `subject` (Block List) Parameters for the subject of the X509 component of a certificate. (see [below for nested schema](#nestedblock--configuration_lock_policy--azure_policy--certificate--subject)) +- `valid_from` (String) Certificate validatity start time +- `valid_till` (String) Certificate validatity start time + + +### Nested Schema for `configuration_lock_policy.azure_policy.certificate.ecdsa_encryption` + +Optional: + +- `curve` (String) ECDSA curve to be used while signing the certificate. + + + +### Nested Schema for `configuration_lock_policy.azure_policy.certificate.issuer` + +Optional: + +- `common_name` (String) Certificate common name. +- `country` (List of String) List of countries. +- `locality` (List of String) List of locallity. +- `organization` (List of String) List of organization. +- `organizational_unit` (List of String) List of Organizational Unit. +- `postal_code` (List of String) List of Postal codes. +- `province` (List of String) List of List of Prvince. +- `serial_number` (String) Subject cerial number + + + +### Nested Schema for `configuration_lock_policy.azure_policy.certificate.rsa_ecryption` + +Optional: + +- `rsa_bits` (String) RSA Encryption Key bit size. + + + +### Nested Schema for `configuration_lock_policy.azure_policy.certificate.san_values` + +Optional: + +- `dns` (List of String) List of permitted DNS names. +- `emaild_ids` (List of String) List of permitted email addresses. +- `hosts` (List of String) List of permitted hosts. +- `ips` (List of String) List of permitted IP addresses. +- `upns` (List of String) List of permitted User principal names. +- `uris` (List of String) List of permitted URIs. + + + +### Nested Schema for `configuration_lock_policy.azure_policy.certificate.subject` + +Optional: + +- `common_name` (String) Certificate common name. +- `country` (List of String) List of countries. +- `locality` (List of String) List of locallity. +- `organization` (List of String) List of organization. +- `organizational_unit` (List of String) List of Organizational Unit. +- `postal_code` (List of String) List of Postal codes. +- `province` (List of String) List of List of Prvince. +- `serial_number` (String) Subject cerial number + + + + + +### Nested Schema for `configuration_lock_policy.cluster_policy` + +Required: + +- `app_policy_id` (String) UUID of the app policy linked to this cluster policy +- `network_policy_id` (String) UUID of the network policy linked to this cluster policy +- `type` (String) Type of cluster + +Optional: + +- `cluster_config` (Block List) Cluster Policy Parameters (see [below for nested schema](#nestedblock--configuration_lock_policy--cluster_policy--cluster_config)) + + +### Nested Schema for `configuration_lock_policy.cluster_policy.cluster_config` + +Optional: + +- `min_nodes_required` (Number) + + + + +### Nested Schema for `configuration_lock_policy.configuration_lock_policy` + +Required: + +- `config_lock` (String) configuration lock setting + +Read-Only: + +- `id` (String) unique policy id + + + +### Nested Schema for `configuration_lock_policy.edgeview_policy` + +Optional: + +- `access_allow_change` (Boolean) Allow inherit instance to change access policy +- `edgeview_allow` (Boolean) Allow device to enable Edgeview in this project +- `edgeviewcfg` (Block List) Edgeview configuration and policies (see [below for nested schema](#nestedblock--configuration_lock_policy--edgeview_policy--edgeviewcfg)) +- `max_expire_sec` (Number) Maximum seconds allowed for Edgeview session +- `max_inst` (Number) Maximum instances allowed for Edgeview + + +### Nested Schema for `configuration_lock_policy.edgeview_policy.edgeviewcfg` + +Optional: + +- `app_policy` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--edgeview_policy--edgeviewcfg--app_policy)) +- `dev_policy` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--edgeview_policy--edgeviewcfg--dev_policy)) +- `ext_policy` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--edgeview_policy--edgeviewcfg--ext_policy)) +- `generation_id` (Number) +- `jwt_info` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--edgeview_policy--edgeviewcfg--jwt_info)) +- `token` (String) + + +### Nested Schema for `configuration_lock_policy.edgeview_policy.edgeviewcfg.app_policy` + +Optional: + +- `allow_app` (Boolean) + + + +### Nested Schema for `configuration_lock_policy.edgeview_policy.edgeviewcfg.dev_policy` + +Optional: + +- `allow_dev` (Boolean) + + + +### Nested Schema for `configuration_lock_policy.edgeview_policy.edgeviewcfg.ext_policy` + +Optional: + +- `allow_ext` (Boolean) + + + +### Nested Schema for `configuration_lock_policy.edgeview_policy.edgeviewcfg.jwt_info` + +Optional: + +- `allow_sec` (Number) +- `disp_url` (String) +- `encrypt` (Boolean) +- `expire_sec` (String) +- `num_inst` (Number) + + + + + +### Nested Schema for `configuration_lock_policy.local_operator_console_policy` + +Required: + +- `loc_url` (String) Local operator console URL + +Read-Only: + +- `id` (String) unique policy id + + + +### Nested Schema for `configuration_lock_policy.module_policy` + +Required: + +- `apps` (Block List, Min: 1) list of app details that will be provisioned on all the devices of the project to which this policy is attached (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps)) +- `priority` (Number) deployment priority of module manifest + +Optional: + +- `azure_edge_agent` (Block List) app that describes the azure edge agent to be deployed on the Azure runtime (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent)) +- `azure_edge_hub` (Block List) app that describes the azure edge hub to be deployed on the Azure runtime (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub)) +- `etag` (String) etag for deployment +- `labels` (Map of String) Mapping of label variable keys and value +- `metrics` (Block List) custom metrics for deployment (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--metrics)) +- `routes` (Map of String) Mapping of routes variable keys and value +- `target_condition` (String) target condition for deployment that matches single device or group of devices +- `target_condition_new` (Map of String) target condition for deployment that matches single device or group of devices + +Read-Only: + +- `id` (String) unique id for deployment + + +### Nested Schema for `configuration_lock_policy.module_policy.apps` + +Required: + +- `cpus` (Number) user defined cpus for bundle +- `manifest_json` (Block List, Min: 1) Manifest data (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json)) +- `memory` (Number) user defined memory for bundle +- `name` (String) User defined name of the edge application, unique across the enterprise. Once object is created, name can’t be changed +- `networks` (Number) user defined network options +- `origin_type` (String) origin of object +- `title` (String) User defined title of the edge application. Title can be changed at any time + +Optional: + +- `app_id` (String) User defined name of the edge app, unique across the enterprise. Once app name is created, name can’t be changed +- `app_version` (String) Current version of the attached bundle +- `description` (String) Detailed description of the edge application +- `interfaces` (Block List) application interfaces (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces)) +- `name_app_part` (String) User provided name part for the auto deployed app +- `name_project_part` (String) User provided name part for the auto deployed app +- `naming_scheme` (String) app naming scheme +- `parent_detail` (Block List) origin and parent related details (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--parent_detail)) +- `start_delay_in_seconds` (Number) start delay is the time in seconds EVE should wait after boot before starting the application instance +- `storage` (Number) user defined storage for bundle +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. + +Read-Only: + +- `drives` (Number) user defined drives +- `id` (String) System defined universally unique Id of the edge application + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json` + +Required: + +- `ac_kind` (String) UI map: N/A - not exposed to users +- `ac_version` (String) UI map: N/A - not exposed to users +- `name` (String) UI map: AppEditPage:IdentityPane:Name_Field, AppDetailsPage:IdentityPane:Name_Field + +Optional: + +- `app_type` (String) bundle type, eg: vm, container, module +- `configuration` (Block List) Template for Custom Configuration. Used for Cloud-Init (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--configuration)) +- `container_detail` (Block List) Create options direct the creation of the Docker container (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--container_detail)) +- `cpu_pinning_enabled` (Boolean) Enable CpuPinning +- `deployment_type` (String) type of deployment for the app, eg: azure, k3s, standalone +- `desc` (Block List) Description of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--desc)) +- `description` (String) UI map: AppDetailsPage:IdentityPane:DescriptionField, AppMarketplacePage:AppCard:DescriptionField +- `display_name` (String) UI map: AppEditPage:IdentityPane:Title_Field, AppDetailsPage:IdentityPane:Title_Field +- `enablevnc` (Boolean) UI map: AppEditPage:IdentityPane:VNC_Field, AppDetailsPage:IdentityPane:VNC_Field +- `images` (Block List) UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--images)) +- `interfaces` (Block List) UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--interfaces)) +- `module` (Block List) Azure module specific details like module twin, environment variable, routes (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--module)) +- `owner` (Block List) Owner of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--owner)) +- `permissions` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--permissions)) +- `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--resources)) +- `vmmode` (String) UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.configuration` + +Optional: + +- `custom_config` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--configuration--custom_config)) + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.configuration.custom_config` + +Optional: + +- `add` (Boolean) Add the Custom Config to App Instance (Optional. Default: False) +- `allow_storage_resize` (Boolean) Allow Appinstance storage to be resized after app instance is created. (Optional. Default: False) +- `field_delimiter` (String) Field delimiter used in specifying variables in template. (Required) +- `name` (String) Name of CustomConfig (Required) +- `override` (Boolean) Override existing custom config from App Bundle Manifest (Optional. Default: False) +- `template` (String) base64 encrypted template string. (Optional) +- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--configuration--custom_config--variable_groups)) + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.configuration.custom_config.variable_groups` + +Optional: + +- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--configuration--custom_config--variable_groups--condition)) +- `name` (String) Name of the Variable Group(Required) +- `required` (Boolean) Indicates if the variable group is required to be specified for the App Instance. (Optional. Default:False) +- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--configuration--custom_config--variable_groups--variables)) + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.configuration.custom_config.variable_groups.condition` + +Optional: + +- `name` (String) +- `operator` (String) +- `value` (String) + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.configuration.custom_config.variable_groups.variables` + +Required: + +- `format` (String) Format of the user variable. (Required) +- `label` (String) Label for the variable (Required) +- `name` (String) Name of the Variable (Required) +- `required` (Boolean) This variable MUST be specified when creating an App Instance. (Optional. Default: False) + +Optional: + +- `default` (String) Default value of the variable. (Optional. Default: ) +- `encode` (String) Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE +- `max_length` (String) Max length of the value of the variable(Optional. Default: 1024) +- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--configuration--custom_config--variable_groups--variables--options)) +- `process_input` (String) +- `type` (String) +- `value` (String) User-specified value of the variable.(Required if required is true. Optional otherwise) + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.configuration.custom_config.variable_groups.variables.options` + +Optional: + +- `label` (String) Display label of the key in User-Agent +- `value` (String) Value of the key to be used + + + + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.container_detail` + +Optional: + +- `container_create_option` (String) Create options direct the creation of the Docker container + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.desc` + +Required: + +- `app_category` (String) + +Optional: + +- `agreement_list` (Map of String) UI map: AppEditPage:DeveloperPane:Developer_Agreement_Field, AppDetailsPage:DeveloperPane:Developer_Agreement_Field +- `category` (String) UI map: AppMarketplacePage:AppCard:DescriptionField, AppEditPage:IdentityPane:CategoryField, AppDetailsPage:IdentityPane:CategoryField +- `license_list` (Map of String) UI map: AppMarketplacePage:AppCard:License, AppEditPage:IdentityPane:License, AppDetailsPage:IdentityPane:License +- `logo` (Map of String) UI map: AppEditPage:IdentityPane:Logo, AppDetailsPage:IdentityPane:Logo +- `os` (String) +- `screenshot_list` (Map of String) UI map: AppEditPage:IdentityPane:Screenshot_Fields, AppDetailsPage:IdentityPane:Screenshot_Fields +- `support` (String) UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.images` + +Optional: + +- `cleartext` (Boolean) UI map: AppEditPage:DrivesPane:Cleartext, AppDetailsPage:DrivesPane:ClearText_Field +- `drvtype` (String) UI map: AppEditPage:DrivesPane:Drive_Type_Field, AppDetailsPage:DrivesPane:Drive_Type_Field +- `ignorepurge` (Boolean) UI map: AppEditPage:DrivesPane:Ignorepurge, AppDetailsPage:DrivesPane:Ignorepurgee_Field +- `imageformat` (String) UI map: AppEditPage:DrivesPane:Image_Format_Field, AppDetailsPage:DrivesPane:Image_Format_Field +- `imageid` (String) UI map: AppEditPage:DrivesPane:Image_ID_Field, AppDetailsPage:DrivesPane:Image_ID_Field +- `imagename` (String) UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field +- `maxsize` (String) UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field +- `mountpath` (String) UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field +- `params` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--images--params)) +- `preserve` (Boolean) UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field +- `readonly` (Boolean) +- `target` (String) UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field +- `volumelabel` (String) UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.images.params` + +Optional: + +- `name` (String) Name of the Parameter (Required) +- `value` (String) Value of the parameter (Required) + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.interfaces` + +Optional: + +- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--interfaces--acls)) +- `directattach` (Boolean) If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application. +- `name` (String) Interface name used by the edge application +- `optional` (Boolean) Indicates if the interface is optional for edge application. +- `privateip` (Boolean) If true, DHCP network can't be assigned and user needs to provide a static IP address. +- `type` (String) Physical Adapter type for this interface. Applicable only when "direct attach" flag is true. + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.interfaces.acls` + +Optional: + +- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--interfaces--acls--actions)) +- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--interfaces--acls--matches)) +- `name` (String) Name of the Access Control List + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) Drop the packet +- `limit` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--interfaces--acls--actions--limit_value)) +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmap` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--manifest_json--interfaces--acls--actions--portmapto)) + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.interfaces.acls.actions.limit_value` + +Optional: + +- `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane +- `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.interfaces.acls.actions.portmapto` + +Optional: + +- `app_port` (Number) Application Port value + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.interfaces.acls.matches` + +Optional: + +- `type` (String) Type of Match (Required) +- `value` (String) Value of match (Required) + + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.module` + +Optional: + +- `environment` (Map of String) Extra information to module to make configuration easier +- `module_type` (String) Type of modules +- `routes` (Map of String) Send messages between modules or send messages from modules to iot hub +- `twin_detail` (String) Base64 encoded module twin details, desired properties of the module will be updated to reflect these values + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.owner` + +Optional: + +- `company` (String) UI map: AppEditPage:IdentityPane:Category_Field, AppDetailsPage:IdentityPane:Category_Field +- `email` (String) UI map: AppEditPage:DeveloperPane:Email_Field, AppDetailsPage:DeveloperPane:Email_Field +- `group` (String) +- `user` (String) UI map: AppEditPage:DeveloperPane:Name_Field, AppDetailsPage:DeveloperPane:Name_Field +- `website` (String) UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.permissions` + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.manifest_json.resources` + +Optional: + +- `name` (String) Name of the Resource (Required) +- `value` (String) Value of Resource (Required) + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces` + +Required: + +- `intfname` (String) intf Name +- `netinstname` (String) Network Instance name to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `privateip` (Boolean) Private IP flag + +Optional: + +- `access_vlan_id` (Number) access port VLAN ID, vlan id of zero will be treated as trunk port and vlan id 1 is implicitly used by linux bridges +- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--acls)) +- `default_net_instance` (Boolean) default instance flag +- `directattach` (Boolean) direct attach flag +- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--eidregister)) +- `intforder` (Number) intforder +- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--io)) +- `ipaddr` (String) IP address +- `macaddr` (String) MAC address +- `netinsttag` (Map of String) Network Instance tag to be matched for interface assignment. Applicable only when "direct attach" flag is false +- `netname` (String) network name: will be deprecated in future, use netinstname + +Read-Only: + +- `netinstid` (String) Network Instance id to be matched for interface assignment. + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.acls` + +Optional: + +- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--acls--actions)) +- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--acls--matches)) +- `name` (String) User defined name of the app ACE, unique across the enterprise. Once object is created, name can’t be changed + +Read-Only: + +- `id` (Number) app ACE id + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.acls.actions` + +Optional: + +- `drop` (Boolean) ACE drop flag +- `limit` (Boolean) ACE limit flag +- `limitburst` (Number) ACE limit burst +- `limitrate` (Number) ACE limit rate +- `limitunit` (String) ACE limit unit +- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--acls--actions--mapparams)) +- `portmap` (Boolean) application port map flag + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.acls.actions.mapparams` + +Optional: + +- `port` (Number) Application port + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.acls.matches` + +Optional: + +- `type` (String) Type +- `value` (String) Value + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.eidregister` + +Required: + +- `display_name` (String) Display name +- `e_id` (String) EID +- `e_id_hash_len` (Number) EID hash length +- `lisp_instance` (Number) Lisp Instance +- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--apps--interfaces--eidregister--lisp_map_servers)) +- `lisp_signature` (String) Lisp Signature +- `uuid` (String) UUID + +Read-Only: + +- `app_cert` (String) app certificate +- `app_private_key` (String) App private key +- `app_public_key` (String) App public key + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.eidregister.lisp_map_servers` + +Required: + +- `credential` (String, Sensitive) lisp credential +- `name_or_ip` (String) name/IP + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.interfaces.io` + +Optional: + +- `name` (String) Physical Adapter name +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. +- `type` (String) IoType specifies the type of the Input output of the device + + + + +### Nested Schema for `configuration_lock_policy.module_policy.apps.parent_detail` + +Optional: + +- `reference_exists` (Boolean) Relation with child and parent object exists or not +- `update_available` (Boolean) Update required flag + +Read-Only: + +- `id_of_parent_object` (String) system defined unique id of parent object +- `version_of_parent_object` (Number) version of object present in parent + + + + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent` + +Required: + +- `cpus` (Number) user defined cpus for bundle +- `manifest_json` (Block List, Min: 1) Manifest data (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json)) +- `memory` (Number) user defined memory for bundle +- `name` (String) User defined name of the edge application, unique across the enterprise. Once object is created, name can’t be changed +- `networks` (Number) user defined network options +- `origin_type` (String) origin of object +- `title` (String) User defined title of the edge application. Title can be changed at any time + +Optional: + +- `app_id` (String) User defined name of the edge app, unique across the enterprise. Once app name is created, name can’t be changed +- `app_version` (String) Current version of the attached bundle +- `description` (String) Detailed description of the edge application +- `interfaces` (Block List) application interfaces (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces)) +- `name_app_part` (String) User provided name part for the auto deployed app +- `name_project_part` (String) User provided name part for the auto deployed app +- `naming_scheme` (String) app naming scheme +- `parent_detail` (Block List) origin and parent related details (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--parent_detail)) +- `start_delay_in_seconds` (Number) start delay is the time in seconds EVE should wait after boot before starting the application instance +- `storage` (Number) user defined storage for bundle +- `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. + +Read-Only: + +- `drives` (Number) user defined drives +- `id` (String) System defined universally unique Id of the edge application + + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json` + +Required: + +- `ac_kind` (String) UI map: N/A - not exposed to users +- `ac_version` (String) UI map: N/A - not exposed to users +- `name` (String) UI map: AppEditPage:IdentityPane:Name_Field, AppDetailsPage:IdentityPane:Name_Field + +Optional: + +- `app_type` (String) bundle type, eg: vm, container, module +- `configuration` (Block List) Template for Custom Configuration. Used for Cloud-Init (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--configuration)) +- `container_detail` (Block List) Create options direct the creation of the Docker container (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--container_detail)) +- `cpu_pinning_enabled` (Boolean) Enable CpuPinning +- `deployment_type` (String) type of deployment for the app, eg: azure, k3s, standalone +- `desc` (Block List) Description of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--desc)) +- `description` (String) UI map: AppDetailsPage:IdentityPane:DescriptionField, AppMarketplacePage:AppCard:DescriptionField +- `display_name` (String) UI map: AppEditPage:IdentityPane:Title_Field, AppDetailsPage:IdentityPane:Title_Field +- `enablevnc` (Boolean) UI map: AppEditPage:IdentityPane:VNC_Field, AppDetailsPage:IdentityPane:VNC_Field +- `images` (Block List) UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--images)) +- `interfaces` (Block List) UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--interfaces)) +- `module` (Block List) Azure module specific details like module twin, environment variable, routes (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--module)) +- `owner` (Block List) Owner of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--owner)) +- `permissions` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--permissions)) +- `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--resources)) +- `vmmode` (String) UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field + + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.configuration` Optional: -- `custom_config` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config)) +- `custom_config` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config` Optional: @@ -3655,20 +5978,20 @@ Optional: - `name` (String) Name of CustomConfig (Required) - `override` (Boolean) Override existing custom config from App Bundle Manifest (Optional. Default: False) - `template` (String) base64 encrypted template string. (Optional) -- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups)) +- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups` Optional: -- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--condition)) +- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--condition)) - `name` (String) Name of the Variable Group(Required) - `required` (Boolean) Indicates if the variable group is required to be specified for the App Instance. (Optional. Default:False) -- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--variables)) +- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--variables)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.condition` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.condition` Optional: @@ -3677,8 +6000,8 @@ Optional: - `value` (String) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.variables` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.variables` Required: @@ -3692,13 +6015,13 @@ Optional: - `default` (String) Default value of the variable. (Optional. Default: ) - `encode` (String) Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE - `max_length` (String) Max length of the value of the variable(Optional. Default: 1024) -- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--variables--options)) +- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--configuration--custom_config--variable_groups--variables--options)) - `process_input` (String) - `type` (String) - `value` (String) User-specified value of the variable.(Required if required is true. Optional otherwise) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.variables.options` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.configuration.custom_config.variable_groups.variables.options` Optional: @@ -3710,16 +6033,16 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.container_detail` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.container_detail` Optional: - `container_create_option` (String) Create options direct the creation of the Docker container - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.desc` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.desc` Required: @@ -3736,8 +6059,8 @@ Optional: - `support` (String) UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.images` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.images` Optional: @@ -3749,14 +6072,14 @@ Optional: - `imagename` (String) UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field - `maxsize` (String) UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field - `mountpath` (String) UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field -- `params` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--images--params)) +- `params` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--images--params)) - `preserve` (Boolean) UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field - `readonly` (Boolean) - `target` (String) UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field - `volumelabel` (String) UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.images.params` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.images.params` Optional: @@ -3765,43 +6088,43 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.interfaces` Optional: -- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls)) +- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls)) - `directattach` (Boolean) If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application. - `name` (String) Interface name used by the edge application - `optional` (Boolean) Indicates if the interface is optional for edge application. - `privateip` (Boolean) If true, DHCP network can't be assigned and user needs to provide a static IP address. - `type` (String) Physical Adapter type for this interface. Applicable only when "direct attach" flag is true. - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls` Optional: -- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions)) -- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--matches)) +- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions)) +- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--matches)) - `name` (String) Name of the Access Control List - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions` Optional: - `drop` (Boolean) Drop the packet - `limit` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane -- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions--limit_value)) +- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions--limit_value)) - `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - `portmap` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane -- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions--portmapto)) +- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--manifest_json--interfaces--acls--actions--portmapto)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions.limit_value` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions.limit_value` Optional: @@ -3810,8 +6133,8 @@ Optional: - `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions.portmapto` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.actions.portmapto` Optional: @@ -3819,8 +6142,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.matches` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.interfaces.acls.matches` Optional: @@ -3830,8 +6153,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.module` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.module` Optional: @@ -3841,8 +6164,8 @@ Optional: - `twin_detail` (String) Base64 encoded module twin details, desired properties of the module will be updated to reflect these values - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.owner` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.owner` Optional: @@ -3853,12 +6176,12 @@ Optional: - `website` (String) UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.permissions` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.permissions` - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.manifest_json.resources` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.manifest_json.resources` Optional: @@ -3867,8 +6190,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces` Required: @@ -3879,12 +6202,12 @@ Required: Optional: - `access_vlan_id` (Number) access port VLAN ID, vlan id of zero will be treated as trunk port and vlan id 1 is implicitly used by linux bridges -- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls)) +- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--acls)) - `default_net_instance` (Boolean) default instance flag - `directattach` (Boolean) direct attach flag -- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--eidregister)) +- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--eidregister)) - `intforder` (Number) intforder -- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--io)) +- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--io)) - `ipaddr` (String) IP address - `macaddr` (String) MAC address - `netinsttag` (Map of String) Network Instance tag to be matched for interface assignment. Applicable only when "direct attach" flag is false @@ -3894,21 +6217,21 @@ Read-Only: - `netinstid` (String) Network Instance id to be matched for interface assignment. - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.acls` Optional: -- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls--actions)) -- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls--matches)) +- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--acls--actions)) +- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--acls--matches)) - `name` (String) User defined name of the app ACE, unique across the enterprise. Once object is created, name can’t be changed Read-Only: - `id` (Number) app ACE id - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls.actions` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.acls.actions` Optional: @@ -3917,11 +6240,11 @@ Optional: - `limitburst` (Number) ACE limit burst - `limitrate` (Number) ACE limit rate - `limitunit` (String) ACE limit unit -- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--acls--actions--mapparams)) +- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--acls--actions--mapparams)) - `portmap` (Boolean) application port map flag - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls.actions.mapparams` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.acls.actions.mapparams` Optional: @@ -3929,8 +6252,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.acls.matches` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.acls.matches` Optional: @@ -3939,8 +6262,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.eidregister` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.eidregister` Required: @@ -3948,7 +6271,7 @@ Required: - `e_id` (String) EID - `e_id_hash_len` (Number) EID hash length - `lisp_instance` (Number) Lisp Instance -- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_agent--interfaces--eidregister--lisp_map_servers)) +- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_agent--interfaces--eidregister--lisp_map_servers)) - `lisp_signature` (String) Lisp Signature - `uuid` (String) UUID @@ -3958,8 +6281,8 @@ Read-Only: - `app_private_key` (String) App private key - `app_public_key` (String) App public key - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.eidregister.lisp_map_servers` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.eidregister.lisp_map_servers` Required: @@ -3968,8 +6291,8 @@ Required: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.interfaces.io` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.interfaces.io` Optional: @@ -3979,8 +6302,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_agent.parent_detail` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_agent.parent_detail` Optional: @@ -3994,13 +6317,13 @@ Read-Only: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub` Required: - `cpus` (Number) user defined cpus for bundle -- `manifest_json` (Block List, Min: 1) Manifest data (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json)) +- `manifest_json` (Block List, Min: 1) Manifest data (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json)) - `memory` (Number) user defined memory for bundle - `name` (String) User defined name of the edge application, unique across the enterprise. Once object is created, name can’t be changed - `networks` (Number) user defined network options @@ -4012,11 +6335,11 @@ Optional: - `app_id` (String) User defined name of the edge app, unique across the enterprise. Once app name is created, name can’t be changed - `app_version` (String) Current version of the attached bundle - `description` (String) Detailed description of the edge application -- `interfaces` (Block List) application interfaces (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces)) +- `interfaces` (Block List) application interfaces (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces)) - `name_app_part` (String) User provided name part for the auto deployed app - `name_project_part` (String) User provided name part for the auto deployed app - `naming_scheme` (String) app naming scheme -- `parent_detail` (Block List) origin and parent related details (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--parent_detail)) +- `parent_detail` (Block List) origin and parent related details (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--parent_detail)) - `start_delay_in_seconds` (Number) start delay is the time in seconds EVE should wait after boot before starting the application instance - `storage` (Number) user defined storage for bundle - `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. @@ -4026,8 +6349,8 @@ Read-Only: - `drives` (Number) user defined drives - `id` (String) System defined universally unique Id of the edge application - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json` Required: @@ -4038,31 +6361,31 @@ Required: Optional: - `app_type` (String) bundle type, eg: vm, container, module -- `configuration` (Block List) Template for Custom Configuration. Used for Cloud-Init (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration)) -- `container_detail` (Block List) Create options direct the creation of the Docker container (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--container_detail)) +- `configuration` (Block List) Template for Custom Configuration. Used for Cloud-Init (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--configuration)) +- `container_detail` (Block List) Create options direct the creation of the Docker container (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--container_detail)) - `cpu_pinning_enabled` (Boolean) Enable CpuPinning - `deployment_type` (String) type of deployment for the app, eg: azure, k3s, standalone -- `desc` (Block List) Description of the application (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--desc)) +- `desc` (Block List) Description of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--desc)) - `description` (String) UI map: AppDetailsPage:IdentityPane:DescriptionField, AppMarketplacePage:AppCard:DescriptionField - `display_name` (String) UI map: AppEditPage:IdentityPane:Title_Field, AppDetailsPage:IdentityPane:Title_Field - `enablevnc` (Boolean) UI map: AppEditPage:IdentityPane:VNC_Field, AppDetailsPage:IdentityPane:VNC_Field -- `images` (Block List) UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--images)) -- `interfaces` (Block List) UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces)) -- `module` (Block List) Azure module specific details like module twin, environment variable, routes (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--module)) -- `owner` (Block List) Owner of the application (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--owner)) -- `permissions` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--permissions)) -- `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--resources)) +- `images` (Block List) UI map: AppEditPage:DrivesPane, AppDetailsPage:DrivesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--images)) +- `interfaces` (Block List) UI map: AppEditPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--interfaces)) +- `module` (Block List) Azure module specific details like module twin, environment variable, routes (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--module)) +- `owner` (Block List) Owner of the application (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--owner)) +- `permissions` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--permissions)) +- `resources` (Block List) UI map: AppEditPage:ResourcesPane, AppDetailsPage:ResourcesPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--resources)) - `vmmode` (String) UI map: AppEditPage:IdentityPane:VM_Mode_Field, AppDetailsPage:IdentityPane:VM_Mode_Field - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.configuration` Optional: -- `custom_config` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config)) +- `custom_config` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config` Optional: @@ -4072,20 +6395,20 @@ Optional: - `name` (String) Name of CustomConfig (Required) - `override` (Boolean) Override existing custom config from App Bundle Manifest (Optional. Default: False) - `template` (String) base64 encrypted template string. (Optional) -- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups)) +- `variable_groups` (Block List) List of Variable groups. (Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups` Optional: -- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--condition)) +- `condition` (Block List) Condition to apply the variable group. (Optional. Default: None) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--condition)) - `name` (String) Name of the Variable Group(Required) - `required` (Boolean) Indicates if the variable group is required to be specified for the App Instance. (Optional. Default:False) -- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--variables)) +- `variables` (Block List) List of variables(Required) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--variables)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.condition` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.condition` Optional: @@ -4094,8 +6417,8 @@ Optional: - `value` (String) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.variables` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.variables` Required: @@ -4109,13 +6432,13 @@ Optional: - `default` (String) Default value of the variable. (Optional. Default: ) - `encode` (String) Encoding of file content. Applicable if format is VARIABLE_FORMAT_FILE - `max_length` (String) Max length of the value of the variable(Optional. Default: 1024) -- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--variables--options)) +- `options` (Block List) Key-Value pair of options. Applicable if format is VARIABLE_FORMAT_DROPDOWN (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--configuration--custom_config--variable_groups--variables--options)) - `process_input` (String) - `type` (String) - `value` (String) User-specified value of the variable.(Required if required is true. Optional otherwise) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.variables.options` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.configuration.custom_config.variable_groups.variables.options` Optional: @@ -4127,16 +6450,16 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.container_detail` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.container_detail` Optional: - `container_create_option` (String) Create options direct the creation of the Docker container - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.desc` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.desc` Required: @@ -4153,8 +6476,8 @@ Optional: - `support` (String) UI map: AppEditPage:DeveloperPane:Support_Description_Field, AppDetailsPage:DeveloperPane:Support_Description_Field - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.images` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.images` Optional: @@ -4166,14 +6489,14 @@ Optional: - `imagename` (String) UI map: AppEditPage:DrivesPane:Image_Name_Field, AppDetailsPage:DrivesPane:Image_Name_Field - `maxsize` (String) UI map: AppEditPage:DrivesPane:Max_Size_Field, AppDetailsPage:DrivesPane:Max_Size_Field - `mountpath` (String) UI map: AppEditPage:DrivesPane:Mountpath, AppDetailsPage:DrivesPane:Mountpath_Field -- `params` (Block List) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--images--params)) +- `params` (Block List) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--images--params)) - `preserve` (Boolean) UI map: AppEditPage:DrivesPane:Preserve_Field, AppDetailsPage:DrivesPane:Preserve_Field - `readonly` (Boolean) - `target` (String) UI map: AppEditPage:DrivesPane:Target_Field, AppDetailsPage:DrivesPane:Target_Field - `volumelabel` (String) UI map: AppEditPage:DrivesPane:Volume_Label, AppDetailsPage:DrivesPane:Volume_Label - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.images.params` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.images.params` Optional: @@ -4182,43 +6505,43 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.interfaces` Optional: -- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls)) +- `acls` (Block List) Traffic access control rules for this interface. Applicable only when "direct attach" flag is false. (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls)) - `directattach` (Boolean) If true, a physical adapter is assigned to the edge application directly. If false, a network instance is assigned to the edge application. - `name` (String) Interface name used by the edge application - `optional` (Boolean) Indicates if the interface is optional for edge application. - `privateip` (Boolean) If true, DHCP network can't be assigned and user needs to provide a static IP address. - `type` (String) Physical Adapter type for this interface. Applicable only when "direct attach" flag is true. - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls` Optional: -- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions)) -- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--matches)) +- `actions` (Block List) Chain of actions to be taken on matching network traffic (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions)) +- `matches` (Block List) Network traffic matching criteria consistngs of one or more of source IP address, destination IP address, protocol, source port and destination port (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--matches)) - `name` (String) Name of the Access Control List - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions` Optional: - `drop` (Boolean) Drop the packet - `limit` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane -- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions--limit_value)) +- `limit_value` (Block List) Value to be used for limit action (Required if limit is true) (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions--limit_value)) - `limitburst` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - `limitrate` (Number) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - `portmap` (Boolean) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane -- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions--portmapto)) +- `portmapto` (Block List) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--manifest_json--interfaces--acls--actions--portmapto)) - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions.limit_value` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions.limit_value` Optional: @@ -4227,8 +6550,8 @@ Optional: - `limitunit` (String) UI map: AppDetailsPage:EnvironmentsPane, AppDetailsPage:EnvironmentsPane - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions.portmapto` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.actions.portmapto` Optional: @@ -4236,8 +6559,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.matches` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.interfaces.acls.matches` Optional: @@ -4247,8 +6570,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.module` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.module` Optional: @@ -4258,8 +6581,8 @@ Optional: - `twin_detail` (String) Base64 encoded module twin details, desired properties of the module will be updated to reflect these values - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.owner` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.owner` Optional: @@ -4270,12 +6593,12 @@ Optional: - `website` (String) UI map: AppEditPage:DeveloperPane:Website_Field, AppDetailsPage:DeveloperPane:Website_Field - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.permissions` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.permissions` - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.manifest_json.resources` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.manifest_json.resources` Optional: @@ -4284,8 +6607,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces` Required: @@ -4296,12 +6619,12 @@ Required: Optional: - `access_vlan_id` (Number) access port VLAN ID, vlan id of zero will be treated as trunk port and vlan id 1 is implicitly used by linux bridges -- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls)) +- `acls` (Block List) app Acls (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--acls)) - `default_net_instance` (Boolean) default instance flag - `directattach` (Boolean) direct attach flag -- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--eidregister)) +- `eidregister` (Block List) EID register details (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--eidregister)) - `intforder` (Number) intforder -- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--io)) +- `io` (Block List) Physical Adapter to be matched for interface assignment. Applicable only when "direct attach" flag is true (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--io)) - `ipaddr` (String) IP address - `macaddr` (String) MAC address - `netinsttag` (Map of String) Network Instance tag to be matched for interface assignment. Applicable only when "direct attach" flag is false @@ -4311,21 +6634,21 @@ Read-Only: - `netinstid` (String) Network Instance id to be matched for interface assignment. - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.acls` Optional: -- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls--actions)) -- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls--matches)) +- `actions` (Block List) app ACE actions (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--acls--actions)) +- `matches` (Block List) app ACE match (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--acls--matches)) - `name` (String) User defined name of the app ACE, unique across the enterprise. Once object is created, name can’t be changed Read-Only: - `id` (Number) app ACE id - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls.actions` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.acls.actions` Optional: @@ -4334,11 +6657,11 @@ Optional: - `limitburst` (Number) ACE limit burst - `limitrate` (Number) ACE limit rate - `limitunit` (String) ACE limit unit -- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--acls--actions--mapparams)) +- `mapparams` (Block List) Application map params (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--acls--actions--mapparams)) - `portmap` (Boolean) application port map flag - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls.actions.mapparams` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.acls.actions.mapparams` Optional: @@ -4346,8 +6669,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.acls.matches` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.acls.matches` Optional: @@ -4356,8 +6679,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.eidregister` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.eidregister` Required: @@ -4365,7 +6688,7 @@ Required: - `e_id` (String) EID - `e_id_hash_len` (Number) EID hash length - `lisp_instance` (Number) Lisp Instance -- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--attestation_policy--module_policy--azure_edge_hub--interfaces--eidregister--lisp_map_servers)) +- `lisp_map_servers` (Block List, Min: 1) Lisp Map Server (see [below for nested schema](#nestedblock--configuration_lock_policy--module_policy--azure_edge_hub--interfaces--eidregister--lisp_map_servers)) - `lisp_signature` (String) Lisp Signature - `uuid` (String) UUID @@ -4375,8 +6698,8 @@ Read-Only: - `app_private_key` (String) App private key - `app_public_key` (String) App public key - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.eidregister.lisp_map_servers` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.eidregister.lisp_map_servers` Required: @@ -4385,8 +6708,8 @@ Required: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.interfaces.io` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.interfaces.io` Optional: @@ -4396,8 +6719,8 @@ Optional: - -### Nested Schema for `attestation_policy.module_policy.azure_edge_hub.parent_detail` + +### Nested Schema for `configuration_lock_policy.module_policy.azure_edge_hub.parent_detail` Optional: @@ -4411,8 +6734,8 @@ Read-Only: - -### Nested Schema for `attestation_policy.module_policy.metrics` + +### Nested Schema for `configuration_lock_policy.module_policy.metrics` Optional: @@ -4421,15 +6744,15 @@ Optional: - -### Nested Schema for `attestation_policy.network_policy` + +### Nested Schema for `configuration_lock_policy.network_policy` Required: -- `net_instance_config` (Block List, Min: 1) list of network details that will be created on all the devices of the project to which this policy is attached (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config)) +- `net_instance_config` (Block List, Min: 1) list of network details that will be created on all the devices of the project to which this policy is attached (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config)) - -### Nested Schema for `attestation_policy.network_policy.net_instance_config` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config` Required: @@ -4451,17 +6774,17 @@ Optional: - `description` (String) Detailed description of the network instance - `device_default` (Boolean) Flag to indicate if this is the default network instance for the device - `dhcp` (Boolean) Deprecated -- `dns_list` (Block List) List of Static DNS entries (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--dns_list)) -- `ip` (Block List) DHCP Server Configuration (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--ip)) +- `dns_list` (Block List) List of Static DNS entries (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--dns_list)) +- `ip` (Block List) DHCP Server Configuration (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--ip)) - `mtu` (Number) Maximum transmission unit (MTU) to set for the network instance and all application interfaces connected to it - `network_policy_id` (String) id of the network policy to be attached to this network instance - `oconfig` (String) -- `opaque` (Block List) Service specific Config (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--opaque)) +- `opaque` (Block List) Service specific Config (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--opaque)) - `port` (String) name of port mapping in the model - `port_tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. - `project_id` (String) id of the project in which network instance is created - `propagate_connected_routes` (Boolean) Automatically propagate connected routes -- `static_routes` (Block List) List of Static IP routes (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--static_routes)) +- `static_routes` (Block List) List of Static IP routes (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--static_routes)) - `tags` (Map of String) Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. - `type` (String) Type of DHCP for this Network Instance: NETWORK_INSTANCE_DHCP_TYPE_V4 @@ -4473,11 +6796,11 @@ NETWORK_INSTANCE_DHCP_TYPE_CRYPTOV6 Read-Only: - `id` (String) System defined universally unique ID of the network instance -- `lisp` (List of Object) Lisp Config : read only for now. Deprecated. (see [below for nested schema](#nestedatt--attestation_policy--network_policy--net_instance_config--lisp)) -- `revision` (List of Object) system defined info for the object (see [below for nested schema](#nestedatt--attestation_policy--network_policy--net_instance_config--revision)) +- `lisp` (List of Object) Lisp Config : read only for now. Deprecated. (see [below for nested schema](#nestedatt--configuration_lock_policy--network_policy--net_instance_config--lisp)) +- `revision` (List of Object) system defined info for the object (see [below for nested schema](#nestedatt--configuration_lock_policy--network_policy--net_instance_config--revision)) - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.dns_list` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.dns_list` Optional: @@ -4485,12 +6808,12 @@ Optional: - `hostname` (String) Host name - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.ip` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.ip` Optional: -- `dhcp_range` (Block List) Range of IP addresses to be used for DHCP (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--ip--dhcp_range)) +- `dhcp_range` (Block List) Range of IP addresses to be used for DHCP (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--ip--dhcp_range)) - `dns` (List of String) IP Addresses of DNS servers - `domain` (String) Network domain - `gateway` (String) IP Address of Network Gateway @@ -4498,8 +6821,8 @@ Optional: - `ntp` (String) IP Address of NTP Server - `subnet` (String) Subnet address - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.ip.dhcp_range` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.ip.dhcp_range` Optional: @@ -4508,17 +6831,17 @@ Optional: - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.opaque` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.opaque` Optional: -- `lisp` (Block List) Deprecated - Lisp config (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--opaque--lisp)) +- `lisp` (Block List) Deprecated - Lisp config (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--opaque--lisp)) - `oconfig` (String) base64 encoded string of opaque config - `type` (String) type of Opaque config - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.opaque.lisp` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.opaque.lisp` Optional: @@ -4527,10 +6850,10 @@ Optional: - `allocationprefixlen` (Number) Allocation Prefix Length - `exportprivate` (Boolean) Export Private flag - `lispiid` (Number) lisp id -- `sp` (Block List) Service Point List (see [below for nested schema](#nestedblock--attestation_policy--network_policy--net_instance_config--opaque--lisp--sp)) +- `sp` (Block List) Service Point List (see [below for nested schema](#nestedblock--configuration_lock_policy--network_policy--net_instance_config--opaque--lisp--sp)) - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.opaque.lisp.sp` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.opaque.lisp.sp` Optional: @@ -4541,8 +6864,8 @@ Optional: - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.static_routes` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.static_routes` Optional: @@ -4550,8 +6873,8 @@ Optional: - `prefix` (String) IP Prefix - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.lisp` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.lisp` Read-Only: @@ -4560,10 +6883,10 @@ Read-Only: - `allocationprefixlen` (Number) - `exportprivate` (Boolean) - `lispiid` (Number) -- `sp` (List of Object) (see [below for nested schema](#nestedobjatt--attestation_policy--network_policy--net_instance_config--lisp--sp)) +- `sp` (List of Object) (see [below for nested schema](#nestedobjatt--configuration_lock_policy--network_policy--net_instance_config--lisp--sp)) - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.lisp.sp` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.lisp.sp` Read-Only: @@ -4573,8 +6896,8 @@ Read-Only: - -### Nested Schema for `attestation_policy.network_policy.net_instance_config.revision` + +### Nested Schema for `configuration_lock_policy.network_policy.net_instance_config.revision` Read-Only: @@ -4588,8 +6911,8 @@ Read-Only: - -### Nested Schema for `attestation_policy.revision` + +### Nested Schema for `configuration_lock_policy.revision` Read-Only: @@ -5504,6 +7827,7 @@ Optional: - `attr` (Map of String) Mapping of policy variable keys and policy variable values - `azure_policy` (Block List) azure policy, which is used in configuring azure iot-edge. (see [below for nested schema](#nestedblock--edgeview_policy--azure_policy)) - `cluster_policy` (Block List) cluster policy to bring up cluster on devices in this project (see [below for nested schema](#nestedblock--edgeview_policy--cluster_policy)) +- `configuration_lock_policy` (Block List) configuration lock policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--edgeview_policy--configuration_lock_policy)) - `description` (String) Detailed description of the policy - `edgeview_policy` (Block List) edgeview policy on devices of this project (see [below for nested schema](#nestedblock--edgeview_policy--edgeview_policy)) - `local_operator_console_policy` (Block List) local operator console policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--edgeview_policy--local_operator_console_policy)) @@ -6237,6 +8561,18 @@ Optional: + +### Nested Schema for `edgeview_policy.configuration_lock_policy` + +Required: + +- `config_lock` (String) configuration lock setting + +Read-Only: + +- `id` (String) unique policy id + + ### Nested Schema for `edgeview_policy.edgeview_policy` @@ -7785,6 +10121,7 @@ Optional: - `attr` (Map of String) Mapping of policy variable keys and policy variable values - `azure_policy` (Block List) azure policy, which is used in configuring azure iot-edge. (see [below for nested schema](#nestedblock--local_operator_console_policy--azure_policy)) - `cluster_policy` (Block List) cluster policy to bring up cluster on devices in this project (see [below for nested schema](#nestedblock--local_operator_console_policy--cluster_policy)) +- `configuration_lock_policy` (Block List) configuration lock policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--local_operator_console_policy--configuration_lock_policy)) - `description` (String) Detailed description of the policy - `edgeview_policy` (Block List) edgeview policy on devices of this project (see [below for nested schema](#nestedblock--local_operator_console_policy--edgeview_policy)) - `local_operator_console_policy` (Block List) local operator console policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--local_operator_console_policy--local_operator_console_policy)) @@ -8518,6 +10855,18 @@ Optional: + +### Nested Schema for `local_operator_console_policy.configuration_lock_policy` + +Required: + +- `config_lock` (String) configuration lock setting + +Read-Only: + +- `id` (String) unique policy id + + ### Nested Schema for `local_operator_console_policy.edgeview_policy` @@ -10066,6 +12415,7 @@ Optional: - `attr` (Map of String) Mapping of policy variable keys and policy variable values - `azure_policy` (Block List) azure policy, which is used in configuring azure iot-edge. (see [below for nested schema](#nestedblock--network_policy--azure_policy)) - `cluster_policy` (Block List) cluster policy to bring up cluster on devices in this project (see [below for nested schema](#nestedblock--network_policy--cluster_policy)) +- `configuration_lock_policy` (Block List) configuration lock policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--network_policy--configuration_lock_policy)) - `description` (String) Detailed description of the policy - `edgeview_policy` (Block List) edgeview policy on devices of this project (see [below for nested schema](#nestedblock--network_policy--edgeview_policy)) - `local_operator_console_policy` (Block List) local operator console policy to enforce on all devices in this project (see [below for nested schema](#nestedblock--network_policy--local_operator_console_policy)) @@ -10799,6 +13149,18 @@ Optional: + +### Nested Schema for `network_policy.configuration_lock_policy` + +Required: + +- `config_lock` (String) configuration lock setting + +Read-Only: + +- `id` (String) unique policy id + + ### Nested Schema for `network_policy.edgeview_policy` @@ -12337,6 +14699,14 @@ Read-Only: + +### Nested Schema for `tag_level_settings` + +Optional: + +- `flow_log_transmission` (String) Flow log transmission setting for the network instances + + ### Nested Schema for `cloud_policy` @@ -12347,6 +14717,7 @@ Read-Only: - `attr` (Map of String) - `azure_policy` (List of Object) (see [below for nested schema](#nestedobjatt--cloud_policy--azure_policy)) - `cluster_policy` (List of Object) (see [below for nested schema](#nestedobjatt--cloud_policy--cluster_policy)) +- `configuration_lock_policy` (List of Object) (see [below for nested schema](#nestedobjatt--cloud_policy--configuration_lock_policy)) - `description` (String) - `edgeview_policy` (List of Object) (see [below for nested schema](#nestedobjatt--cloud_policy--edgeview_policy)) - `id` (String) @@ -13038,6 +15409,15 @@ Read-Only: + +### Nested Schema for `cloud_policy.configuration_lock_policy` + +Read-Only: + +- `config_lock` (String) +- `id` (String) + + ### Nested Schema for `cloud_policy.edgeview_policy` @@ -14478,6 +16858,7 @@ Read-Only: - `attr` (Map of String) - `azure_policy` (List of Object) (see [below for nested schema](#nestedobjatt--module_policy--azure_policy)) - `cluster_policy` (List of Object) (see [below for nested schema](#nestedobjatt--module_policy--cluster_policy)) +- `configuration_lock_policy` (List of Object) (see [below for nested schema](#nestedobjatt--module_policy--configuration_lock_policy)) - `description` (String) - `edgeview_policy` (List of Object) (see [below for nested schema](#nestedobjatt--module_policy--edgeview_policy)) - `id` (String) @@ -15169,6 +17550,15 @@ Read-Only: + +### Nested Schema for `module_policy.configuration_lock_policy` + +Read-Only: + +- `config_lock` (String) +- `id` (String) + + ### Nested Schema for `module_policy.edgeview_policy` diff --git a/v2/models/configuration_lock.go b/v2/models/configuration_lock.go new file mode 100644 index 00000000..54f34f4d --- /dev/null +++ b/v2/models/configuration_lock.go @@ -0,0 +1,81 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// ConfigurationLock configuration lock +// +// swagger:model ConfigurationLock +type ConfigurationLock string + +func NewConfigurationLock(value ConfigurationLock) *ConfigurationLock { + return &value +} + +// Pointer returns a pointer to a freshly-allocated ConfigurationLock. +func (m ConfigurationLock) Pointer() *ConfigurationLock { + return &m +} + +const ( + + // ConfigurationLockCONFIGURATIONLOCKUNSPECIFIED captures enum value "CONFIGURATION_LOCK_UNSPECIFIED" + ConfigurationLockCONFIGURATIONLOCKUNSPECIFIED ConfigurationLock = "CONFIGURATION_LOCK_UNSPECIFIED" + + // ConfigurationLockCONFIGURATIONLOCKENABLED captures enum value "CONFIGURATION_LOCK_ENABLED" + ConfigurationLockCONFIGURATIONLOCKENABLED ConfigurationLock = "CONFIGURATION_LOCK_ENABLED" + + // ConfigurationLockCONFIGURATIONLOCKDISABLED captures enum value "CONFIGURATION_LOCK_DISABLED" + ConfigurationLockCONFIGURATIONLOCKDISABLED ConfigurationLock = "CONFIGURATION_LOCK_DISABLED" +) + +// for schema +var configurationLockEnum []interface{} + +func init() { + var res []ConfigurationLock + if err := json.Unmarshal([]byte(`["CONFIGURATION_LOCK_UNSPECIFIED","CONFIGURATION_LOCK_ENABLED","CONFIGURATION_LOCK_DISABLED"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + configurationLockEnum = append(configurationLockEnum, v) + } +} + +func (m ConfigurationLock) validateConfigurationLockEnum(path, location string, value ConfigurationLock) error { + if err := validate.EnumCase(path, location, value, configurationLockEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this configuration lock +func (m ConfigurationLock) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateConfigurationLockEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this configuration lock based on context it is used +func (m ConfigurationLock) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/v2/models/configuration_lock_policy.go b/v2/models/configuration_lock_policy.go new file mode 100644 index 00000000..f5fa3c12 --- /dev/null +++ b/v2/models/configuration_lock_policy.go @@ -0,0 +1,148 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" + "github.com/go-openapi/validate" +) + +// ConfigurationLockPolicy configuration lock policy body detail +// +// # Configuration lock policy to enforce on all devices of the project +// +// swagger:model ConfigurationLockPolicy +type ConfigurationLockPolicy struct { + + // configuration lock setting + // Required: true + ConfigLock *ConfigurationLock `json:"configLock"` + + // unique policy id + // Read Only: true + // Pattern: [0-9-a-z-]+ + ID string `json:"id,omitempty"` +} + +// Validate validates this configuration lock policy +func (m *ConfigurationLockPolicy) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateConfigLock(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ConfigurationLockPolicy) validateConfigLock(formats strfmt.Registry) error { + + if err := validate.Required("configLock", "body", m.ConfigLock); err != nil { + return err + } + + if err := validate.Required("configLock", "body", m.ConfigLock); err != nil { + return err + } + + if m.ConfigLock != nil { + if err := m.ConfigLock.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("configLock") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("configLock") + } + return err + } + } + + return nil +} + +func (m *ConfigurationLockPolicy) validateID(formats strfmt.Registry) error { + if swag.IsZero(m.ID) { // not required + return nil + } + + if err := validate.Pattern("id", "body", m.ID, `[0-9-a-z-]+`); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this configuration lock policy based on the context it is used +func (m *ConfigurationLockPolicy) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateConfigLock(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateID(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ConfigurationLockPolicy) contextValidateConfigLock(ctx context.Context, formats strfmt.Registry) error { + + if m.ConfigLock != nil { + + if err := m.ConfigLock.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("configLock") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("configLock") + } + return err + } + } + + return nil +} + +func (m *ConfigurationLockPolicy) contextValidateID(ctx context.Context, formats strfmt.Registry) error { + + if err := validate.ReadOnly(ctx, "id", "body", string(m.ID)); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ConfigurationLockPolicy) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ConfigurationLockPolicy) UnmarshalBinary(b []byte) error { + var res ConfigurationLockPolicy + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/v2/models/network_instance_flow_log_transmission.go b/v2/models/network_instance_flow_log_transmission.go new file mode 100644 index 00000000..adf4f5b0 --- /dev/null +++ b/v2/models/network_instance_flow_log_transmission.go @@ -0,0 +1,91 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" +) + +// NetworkInstanceFlowLogTransmission NetworkInstanceFlowLogTransmission represents the status of flow log transmission +// within a network instance. This enum is used to enable or disable the transmission +// of flow logs for monitoring and troubleshooting purposes. +// +// - NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED: Default value. This value is not specified and should not be used. +// - NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_ENABLED: Flow log transmission is enabled. Logs will be sent to the designated +// +// logging service for the network instance. +// - NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_DISABLED: Flow log transmission is disabled. No logs will be sent from the +// +// network instance. +// +// swagger:model NetworkInstanceFlowLogTransmission +type NetworkInstanceFlowLogTransmission string + +func NewNetworkInstanceFlowLogTransmission(value NetworkInstanceFlowLogTransmission) *NetworkInstanceFlowLogTransmission { + return &value +} + +// Pointer returns a pointer to a freshly-allocated NetworkInstanceFlowLogTransmission. +func (m NetworkInstanceFlowLogTransmission) Pointer() *NetworkInstanceFlowLogTransmission { + return &m +} + +const ( + + // NetworkInstanceFlowLogTransmissionNETWORKINSTANCEFLOWLOGTRANSMISSIONUNSPECIFIED captures enum value "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + NetworkInstanceFlowLogTransmissionNETWORKINSTANCEFLOWLOGTRANSMISSIONUNSPECIFIED NetworkInstanceFlowLogTransmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + + // NetworkInstanceFlowLogTransmissionNETWORKINSTANCEFLOWLOGTRANSMISSIONENABLED captures enum value "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_ENABLED" + NetworkInstanceFlowLogTransmissionNETWORKINSTANCEFLOWLOGTRANSMISSIONENABLED NetworkInstanceFlowLogTransmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_ENABLED" + + // NetworkInstanceFlowLogTransmissionNETWORKINSTANCEFLOWLOGTRANSMISSIONDISABLED captures enum value "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_DISABLED" + NetworkInstanceFlowLogTransmissionNETWORKINSTANCEFLOWLOGTRANSMISSIONDISABLED NetworkInstanceFlowLogTransmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_DISABLED" +) + +// for schema +var networkInstanceFlowLogTransmissionEnum []interface{} + +func init() { + var res []NetworkInstanceFlowLogTransmission + if err := json.Unmarshal([]byte(`["NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED","NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_ENABLED","NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_DISABLED"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + networkInstanceFlowLogTransmissionEnum = append(networkInstanceFlowLogTransmissionEnum, v) + } +} + +func (m NetworkInstanceFlowLogTransmission) validateNetworkInstanceFlowLogTransmissionEnum(path, location string, value NetworkInstanceFlowLogTransmission) error { + if err := validate.EnumCase(path, location, value, networkInstanceFlowLogTransmissionEnum, true); err != nil { + return err + } + return nil +} + +// Validate validates this network instance flow log transmission +func (m NetworkInstanceFlowLogTransmission) Validate(formats strfmt.Registry) error { + var res []error + + // value enum + if err := m.validateNetworkInstanceFlowLogTransmissionEnum("", "body", m); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validates this network instance flow log transmission based on context it is used +func (m NetworkInstanceFlowLogTransmission) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/v2/models/policy_config.go b/v2/models/policy_config.go index 8e32bc9b..0a179c2e 100644 --- a/v2/models/policy_config.go +++ b/v2/models/policy_config.go @@ -36,6 +36,9 @@ type Policy struct { // cluster policy to bring up cluster on devices in this project ClusterPolicy *ClusterPolicy `json:"clusterPolicy,omitempty"` + // configuration lock policy to enforce on all devices in this project + ConfigurationLockPolicy *ConfigurationLockPolicy `json:"configurationLockPolicy,omitempty"` + // Detailed description of the policy // Max Length: 256 Description string `json:"description,omitempty"` @@ -108,6 +111,10 @@ func (m *Policy) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateConfigurationLockPolicy(formats); err != nil { + res = append(res, err) + } + if err := m.validateDescription(formats); err != nil { res = append(res, err) } @@ -238,6 +245,21 @@ func (m *Policy) validateClusterPolicy(formats strfmt.Registry) error { return nil } +func (m *Policy) validateConfigurationLockPolicy(formats strfmt.Registry) error { + if m.ConfigurationLockPolicy != nil { + if err := m.ConfigurationLockPolicy.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("configurationLockPolicy") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("configurationLockPolicy") + } + return err + } + } + + return nil +} + func (m *Policy) validateDescription(formats strfmt.Registry) error { if swag.IsZero(m.Description) { // not required return nil @@ -474,6 +496,10 @@ func (m *Policy) ContextValidate(ctx context.Context, formats strfmt.Registry) e res = append(res, err) } + if err := m.contextValidateConfigurationLockPolicy(ctx, formats); err != nil { + res = append(res, err) + } + if err := m.contextValidateEdgeviewPolicy(ctx, formats); err != nil { res = append(res, err) } @@ -576,6 +602,22 @@ func (m *Policy) contextValidateClusterPolicy(ctx context.Context, formats strfm return nil } +func (m *Policy) contextValidateConfigurationLockPolicy(ctx context.Context, formats strfmt.Registry) error { + + if m.ConfigurationLockPolicy != nil { + if err := m.ConfigurationLockPolicy.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("configurationLockPolicy") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("configurationLockPolicy") + } + return err + } + } + + return nil +} + func (m *Policy) contextValidateEdgeviewPolicy(ctx context.Context, formats strfmt.Registry) error { if m.EdgeviewPolicy != nil { diff --git a/v2/models/tag.go b/v2/models/tag.go index 82a7825c..81df3e6d 100644 --- a/v2/models/tag.go +++ b/v2/models/tag.go @@ -38,6 +38,9 @@ type Tag struct { // Read Only: true CloudPolicy *Policy `json:"cloudPolicy,omitempty"` + // Configuration lock prevents users to send unintentional misconfigurations + ConfigurationLockPolicy *Policy `json:"configurationLockPolicy,omitempty"` + // Deployment template containing different types of policies Deployment *Deployment `json:"deployment,omitempty"` @@ -78,6 +81,12 @@ type Tag struct { // Read Only: true Revision *ObjectRevision `json:"revision,omitempty"` + // tag level setting within a enterprise + TagLevelSettings *TagLevelSettings `json:"tagLevelSettings,omitempty"` + + // Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3. + Tags map[string]string `json:"tags,omitempty"` + // User defined title of the resource group. Title can be changed at any time. // Required: true // Max Length: 256 @@ -106,6 +115,10 @@ func (m *Tag) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateConfigurationLockPolicy(formats); err != nil { + res = append(res, err) + } + if err := m.validateDeployment(formats); err != nil { res = append(res, err) } @@ -142,6 +155,10 @@ func (m *Tag) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateTagLevelSettings(formats); err != nil { + res = append(res, err) + } + if err := m.validateTitle(formats); err != nil { res = append(res, err) } @@ -213,6 +230,25 @@ func (m *Tag) validateCloudPolicy(formats strfmt.Registry) error { return nil } +func (m *Tag) validateConfigurationLockPolicy(formats strfmt.Registry) error { + if swag.IsZero(m.ConfigurationLockPolicy) { // not required + return nil + } + + if m.ConfigurationLockPolicy != nil { + if err := m.ConfigurationLockPolicy.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("configurationLockPolicy") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("configurationLockPolicy") + } + return err + } + } + + return nil +} + func (m *Tag) validateDeployment(formats strfmt.Registry) error { if swag.IsZero(m.Deployment) { // not required return nil @@ -379,6 +415,25 @@ func (m *Tag) validateRevision(formats strfmt.Registry) error { return nil } +func (m *Tag) validateTagLevelSettings(formats strfmt.Registry) error { + if swag.IsZero(m.TagLevelSettings) { // not required + return nil + } + + if m.TagLevelSettings != nil { + if err := m.TagLevelSettings.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("tagLevelSettings") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("tagLevelSettings") + } + return err + } + } + + return nil +} + func (m *Tag) validateTitle(formats strfmt.Registry) error { if err := validate.Required("title", "body", m.Title); err != nil { @@ -444,6 +499,10 @@ func (m *Tag) ContextValidate(ctx context.Context, formats strfmt.Registry) erro res = append(res, err) } + if err := m.contextValidateConfigurationLockPolicy(ctx, formats); err != nil { + res = append(res, err) + } + if err := m.contextValidateDeployment(ctx, formats); err != nil { res = append(res, err) } @@ -476,6 +535,10 @@ func (m *Tag) ContextValidate(ctx context.Context, formats strfmt.Registry) erro res = append(res, err) } + if err := m.contextValidateTagLevelSettings(ctx, formats); err != nil { + res = append(res, err) + } + if err := m.contextValidateType(ctx, formats); err != nil { res = append(res, err) } @@ -539,6 +602,22 @@ func (m *Tag) contextValidateCloudPolicy(ctx context.Context, formats strfmt.Reg return nil } +func (m *Tag) contextValidateConfigurationLockPolicy(ctx context.Context, formats strfmt.Registry) error { + + if m.ConfigurationLockPolicy != nil { + if err := m.ConfigurationLockPolicy.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("configurationLockPolicy") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("configurationLockPolicy") + } + return err + } + } + + return nil +} + func (m *Tag) contextValidateDeployment(ctx context.Context, formats strfmt.Registry) error { if m.Deployment != nil { @@ -661,6 +740,22 @@ func (m *Tag) contextValidateRevision(ctx context.Context, formats strfmt.Regist return nil } +func (m *Tag) contextValidateTagLevelSettings(ctx context.Context, formats strfmt.Registry) error { + + if m.TagLevelSettings != nil { + if err := m.TagLevelSettings.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("tagLevelSettings") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("tagLevelSettings") + } + return err + } + } + + return nil +} + func (m *Tag) contextValidateType(ctx context.Context, formats strfmt.Registry) error { if m.Type != nil { diff --git a/v2/models/tag_level_settings.go b/v2/models/tag_level_settings.go new file mode 100644 index 00000000..78fe46cb --- /dev/null +++ b/v2/models/tag_level_settings.go @@ -0,0 +1,111 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// TagLevelSettings TagLevelSettings defines settings at a specific tag level within a enterprise. +// It includes configurations that control certain behaviors or features, +// such as the transmission of flow logs for monitoring and analysis purposes. +// +// swagger:model TagLevelSettings +type TagLevelSettings struct { + + // Flow log transmission setting for the network instances + FlowLogTransmission *NetworkInstanceFlowLogTransmission `json:"flowLogTransmission,omitempty"` +} + +// Validate validates this tag level settings +func (m *TagLevelSettings) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateFlowLogTransmission(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TagLevelSettings) validateFlowLogTransmission(formats strfmt.Registry) error { + if swag.IsZero(m.FlowLogTransmission) { // not required + return nil + } + + if m.FlowLogTransmission != nil { + if err := m.FlowLogTransmission.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("flowLogTransmission") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("flowLogTransmission") + } + return err + } + } + + return nil +} + +// ContextValidate validate this tag level settings based on the context it is used +func (m *TagLevelSettings) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateFlowLogTransmission(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TagLevelSettings) contextValidateFlowLogTransmission(ctx context.Context, formats strfmt.Registry) error { + + if m.FlowLogTransmission != nil { + + if swag.IsZero(m.FlowLogTransmission) { // not required + return nil + } + + if err := m.FlowLogTransmission.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("flowLogTransmission") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("flowLogTransmission") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TagLevelSettings) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TagLevelSettings) UnmarshalBinary(b []byte) error { + var res TagLevelSettings + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/v2/resources/testdata/application/create.tf b/v2/resources/testdata/application/create.tf index c087c40b..17a81af2 100644 --- a/v2/resources/testdata/application/create.tf +++ b/v2/resources/testdata/application/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } resource "zedcloud_application" "test_tf_provider" { diff --git a/v2/resources/testdata/application_instance/create.tf b/v2/resources/testdata/application_instance/create.tf index 8e3bb551..cef03300 100644 --- a/v2/resources/testdata/application_instance/create.tf +++ b/v2/resources/testdata/application_instance/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } resource "zedcloud_datastore" "test_tf_provider" { diff --git a/v2/resources/testdata/datastore/create.tf b/v2/resources/testdata/datastore/create.tf index e23abe96..e95698f3 100644 --- a/v2/resources/testdata/datastore/create.tf +++ b/v2/resources/testdata/datastore/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } resource "zedcloud_datastore" "test_datastore" { diff --git a/v2/resources/testdata/image/create.tf b/v2/resources/testdata/image/create.tf index 35655dca..4167a6d7 100644 --- a/v2/resources/testdata/image/create.tf +++ b/v2/resources/testdata/image/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/network/create_complete_with_pac.tf b/v2/resources/testdata/network/create_complete_with_pac.tf index e64a77f0..e5807b41 100644 --- a/v2/resources/testdata/network/create_complete_with_pac.tf +++ b/v2/resources/testdata/network/create_complete_with_pac.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/network/create_complete_with_proxy.tf b/v2/resources/testdata/network/create_complete_with_proxy.tf index cc2f48db..2adecd55 100644 --- a/v2/resources/testdata/network/create_complete_with_proxy.tf +++ b/v2/resources/testdata/network/create_complete_with_proxy.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/network/create_required_only.tf b/v2/resources/testdata/network/create_required_only.tf index e7c65f34..5f41c491 100644 --- a/v2/resources/testdata/network/create_required_only.tf +++ b/v2/resources/testdata/network/create_required_only.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } resource "zedcloud_network" "required_only" { diff --git a/v2/resources/testdata/network_instance/create_complete.tf b/v2/resources/testdata/network_instance/create_complete.tf index f01f3678..3584dca1 100644 --- a/v2/resources/testdata/network_instance/create_complete.tf +++ b/v2/resources/testdata/network_instance/create_complete.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/network_instance/create_required_only.tf b/v2/resources/testdata/network_instance/create_required_only.tf index 8aecff3f..4f7a8e3c 100644 --- a/v2/resources/testdata/network_instance/create_required_only.tf +++ b/v2/resources/testdata/network_instance/create_required_only.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/node/create_all.tf b/v2/resources/testdata/node/create_all.tf index b2b3b456..2b4517fb 100644 --- a/v2/resources/testdata/node/create_all.tf +++ b/v2/resources/testdata/node/create_all.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/node/create_required_only.tf b/v2/resources/testdata/node/create_required_only.tf index db0f8a3f..02920e9c 100644 --- a/v2/resources/testdata/node/create_required_only.tf +++ b/v2/resources/testdata/node/create_required_only.tf @@ -18,6 +18,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/node/update_all.tf b/v2/resources/testdata/node/update_all.tf index cfb896e2..568c9e66 100644 --- a/v2/resources/testdata/node/update_all.tf +++ b/v2/resources/testdata/node/update_all.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/patch_envelope/create.tf b/v2/resources/testdata/patch_envelope/create.tf index ee573f39..79ebd261 100644 --- a/v2/resources/testdata/patch_envelope/create.tf +++ b/v2/resources/testdata/patch_envelope/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/patch_reference_update/create.tf b/v2/resources/testdata/patch_reference_update/create.tf index a2eb32df..e79dd100 100644 --- a/v2/resources/testdata/patch_reference_update/create.tf +++ b/v2/resources/testdata/patch_reference_update/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/project/create.tf b/v2/resources/testdata/project/create.tf index cdaedafc..8f45a415 100644 --- a/v2/resources/testdata/project/create.tf +++ b/v2/resources/testdata/project/create.tf @@ -1454,4 +1454,7 @@ resource "zedcloud_project" "test_tf_provider" { # } # status_message = "" # } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/project/create.yaml b/v2/resources/testdata/project/create.yaml index 92191c77..9af01521 100644 --- a/v2/resources/testdata/project/create.yaml +++ b/v2/resources/testdata/project/create.yaml @@ -32,3 +32,6 @@ edgeviewpolicy: statusmessage: "Policy configured successfully" type: POLICY_TYPE_EDGEVIEW title: "" +taglevelsettings: + flowlogtransmission: "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" +tags: {} diff --git a/v2/resources/testdata/project/create_required_only.tf b/v2/resources/testdata/project/create_required_only.tf index 60e12a25..aaaddd43 100644 --- a/v2/resources/testdata/project/create_required_only.tf +++ b/v2/resources/testdata/project/create_required_only.tf @@ -1434,4 +1434,7 @@ resource "zedcloud_project" "test_tf_provider" { # } # status_message = "" # } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } diff --git a/v2/resources/testdata/project/create_required_only.yaml b/v2/resources/testdata/project/create_required_only.yaml index 78ab587e..d46f02ff 100644 --- a/v2/resources/testdata/project/create_required_only.yaml +++ b/v2/resources/testdata/project/create_required_only.yaml @@ -3,3 +3,6 @@ type: TAG_TYPE_PROJECT title: title attr: {} modulepolicy: [] +taglevelsettings: + flowlogtransmission: "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" +tags: {} diff --git a/v2/resources/testdata/volume_instance/create.tf b/v2/resources/testdata/volume_instance/create.tf index 7c01256b..18863956 100644 --- a/v2/resources/testdata/volume_instance/create.tf +++ b/v2/resources/testdata/volume_instance/create.tf @@ -15,6 +15,9 @@ resource "zedcloud_project" "test_tf_provider" { type = "ATTEST_POLICY_TYPE_ACCEPT" } } + tag_level_settings { + flow_log_transmission = "NETWORK_INSTANCE_FLOW_LOG_TRANSMISSION_UNSPECIFIED" + } } resource "zedcloud_brand" "test_tf_provider" { diff --git a/v2/schemas/configuration_lock.go b/v2/schemas/configuration_lock.go new file mode 100644 index 00000000..851f6f94 --- /dev/null +++ b/v2/schemas/configuration_lock.go @@ -0,0 +1,37 @@ +package schemas + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/zededa/terraform-provider-zedcloud/v2/models" +) + +func ConfigurationLockModel(d *schema.ResourceData) *models.ConfigurationLock { + configurationLock, _ := d.Get("configuration_lock").(models.ConfigurationLock) + return &configurationLock +} + +func ConfigurationLockModelFromMap(m map[string]interface{}) *models.ConfigurationLock { + configurationLock := m["configuration_lock"].(models.ConfigurationLock) + return &configurationLock +} + +func SetConfigurationLockResourceData(d *schema.ResourceData, m *models.ConfigurationLock) { +} + +func SetConfigurationLockSubResourceData(m []*models.ConfigurationLock) (d []*map[string]interface{}) { + for _, ConfigurationLockModel := range m { + if ConfigurationLockModel != nil { + properties := make(map[string]interface{}) + d = append(d, &properties) + } + } + return +} + +func ConfigurationLockSchema() map[string]*schema.Schema { + return map[string]*schema.Schema{} +} + +func GetConfigurationLockPropertyFields() (t []string) { + return []string{} +} diff --git a/v2/schemas/configuration_lock_policy.go b/v2/schemas/configuration_lock_policy.go new file mode 100644 index 00000000..7a1d7df1 --- /dev/null +++ b/v2/schemas/configuration_lock_policy.go @@ -0,0 +1,74 @@ +package schemas + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/zededa/terraform-provider-zedcloud/v2/models" +) + +func ConfigurationLockPolicyModel(d *schema.ResourceData) *models.ConfigurationLockPolicy { + var configLock *models.ConfigurationLock // ConfigurationLock + configLockInterface, configLockIsSet := d.GetOk("config_lock") + if configLockIsSet { + configLockModel := configLockInterface.(string) + configLock = models.NewConfigurationLock(models.ConfigurationLock(configLockModel)) + } + id, _ := d.Get("id").(string) + return &models.ConfigurationLockPolicy{ + ConfigLock: configLock, + ID: id, + } +} + +func ConfigurationLockPolicyModelFromMap(m map[string]interface{}) *models.ConfigurationLockPolicy { + var configLock *models.ConfigurationLock // ConfigurationLock + configLockInterface, configLockIsSet := m["config_lock"] + if configLockIsSet { + configLockModel := configLockInterface.(string) + configLock = models.NewConfigurationLock(models.ConfigurationLock(configLockModel)) + } + id := m["id"].(string) + return &models.ConfigurationLockPolicy{ + ConfigLock: configLock, + ID: id, + } +} + +func SetConfigurationLockPolicyResourceData(d *schema.ResourceData, m *models.ConfigurationLockPolicy) { + d.Set("config_lock", m.ConfigLock) + d.Set("id", m.ID) +} + +func SetConfigurationLockPolicySubResourceData(m []*models.ConfigurationLockPolicy) (d []*map[string]interface{}) { + for _, ConfigurationLockPolicyModel := range m { + if ConfigurationLockPolicyModel != nil { + properties := make(map[string]interface{}) + properties["config_lock"] = ConfigurationLockPolicyModel.ConfigLock + properties["id"] = ConfigurationLockPolicyModel.ID + d = append(d, &properties) + } + } + return +} + +func ConfigurationLockPolicySchema() map[string]*schema.Schema { + return map[string]*schema.Schema{ + "config_lock": { + Description: `configuration lock setting`, + Type: schema.TypeString, + Required: true, + }, + + "id": { + Description: `unique policy id`, + Type: schema.TypeString, + Computed: true, + }, + } +} + +func GetConfigurationLockPolicyPropertyFields() (t []string) { + return []string{ + "config_lock", + "id", + } +} diff --git a/v2/schemas/network_instance_flow_log_transmission.go b/v2/schemas/network_instance_flow_log_transmission.go new file mode 100644 index 00000000..5995c7d6 --- /dev/null +++ b/v2/schemas/network_instance_flow_log_transmission.go @@ -0,0 +1,37 @@ +package schemas + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/zededa/terraform-provider-zedcloud/v2/models" +) + +func NetworkInstanceFlowLogTransmissionModel(d *schema.ResourceData) *models.NetworkInstanceFlowLogTransmission { + networkInstanceFlowLogTransmission, _ := d.Get("network_instance_flow_log_transmission").(models.NetworkInstanceFlowLogTransmission) + return &networkInstanceFlowLogTransmission +} + +func NetworkInstanceFlowLogTransmissionModelFromMap(m map[string]interface{}) *models.NetworkInstanceFlowLogTransmission { + networkInstanceFlowLogTransmission := m["network_instance_flow_log_transmission"].(models.NetworkInstanceFlowLogTransmission) + return &networkInstanceFlowLogTransmission +} + +func SetNetworkInstanceFlowLogTransmissionResourceData(d *schema.ResourceData, m *models.NetworkInstanceFlowLogTransmission) { +} + +func SetNetworkInstanceFlowLogTransmissionSubResourceData(m []*models.NetworkInstanceFlowLogTransmission) (d []*map[string]interface{}) { + for _, NetworkInstanceFlowLogTransmissionModel := range m { + if NetworkInstanceFlowLogTransmissionModel != nil { + properties := make(map[string]interface{}) + d = append(d, &properties) + } + } + return +} + +func NetworkInstanceFlowLogTransmissionSchema() map[string]*schema.Schema { + return map[string]*schema.Schema{} +} + +func GetNetworkInstanceFlowLogTransmissionPropertyFields() (t []string) { + return []string{} +} diff --git a/v2/schemas/policy_config.go b/v2/schemas/policy_config.go index 97ba44e0..74519d16 100644 --- a/v2/schemas/policy_config.go +++ b/v2/schemas/policy_config.go @@ -50,6 +50,14 @@ func PolicyConfigModel(d *schema.ResourceData) *models.Policy { clusterPolicy = ClusterPolicyModelFromMap(clusterPolicyMap[0].(map[string]interface{})) } } + var configurationLockPolicy *models.ConfigurationLockPolicy // ConfigurationLockPolicy + configurationLockPolicyInterface, configurationLockPolicyIsSet := d.GetOk("configuration_lock_policy") + if configurationLockPolicyIsSet && configurationLockPolicyInterface != nil { + configurationLockPolicyMap := configurationLockPolicyInterface.([]interface{}) + if len(configurationLockPolicyMap) > 0 { + configurationLockPolicy = ConfigurationLockPolicyModelFromMap(configurationLockPolicyMap[0].(map[string]interface{})) + } + } description, _ := d.Get("description").(string) var edgeviewPolicy *models.EdgeviewPolicy // EdgeviewPolicy edgeviewPolicyInterface, edgeviewPolicyIsSet := d.GetOk("edgeview_policy") @@ -99,15 +107,16 @@ func PolicyConfigModel(d *schema.ResourceData) *models.Policy { Attr: attr, AzurePolicy: azurePolicy, ClusterPolicy: clusterPolicy, + ConfigurationLockPolicy: configurationLockPolicy, Description: description, EdgeviewPolicy: edgeviewPolicy, ID: id, LocalOperatorConsolePolicy: localOperatorConsolePolicy, ModulePolicy: modulePolicy, - Name: &name, // string true false false + Name: &name, // string NetworkPolicy: networkPolicy, StatusMessage: statusMessage, - Title: &title, // string true false false + Title: &title, // string Type: typeVar, } } @@ -161,6 +170,15 @@ func PolicyConfigModelFromMap(m map[string]interface{}) *models.Policy { } } // + var configurationLockPolicy *models.ConfigurationLockPolicy // ConfigurationLockPolicy + configurationLockPolicyInterface, configurationLockPolicyIsSet := m["configuration_lock_policy"] + if configurationLockPolicyIsSet && configurationLockPolicyInterface != nil { + configurationLockPolicyMap := configurationLockPolicyInterface.([]interface{}) + if len(configurationLockPolicyMap) > 0 { + configurationLockPolicy = ConfigurationLockPolicyModelFromMap(configurationLockPolicyMap[0].(map[string]interface{})) + } + } + // description := m["description"].(string) var edgeviewPolicy *models.EdgeviewPolicy // EdgeviewPolicy edgeviewPolicyInterface, edgeviewPolicyIsSet := m["edgeview_policy"] @@ -214,6 +232,7 @@ func PolicyConfigModelFromMap(m map[string]interface{}) *models.Policy { Attr: attr, AzurePolicy: azurePolicy, ClusterPolicy: clusterPolicy, + ConfigurationLockPolicy: configurationLockPolicy, Description: description, EdgeviewPolicy: edgeviewPolicy, ID: id, @@ -233,6 +252,7 @@ func SetPolicyConfigResourceData(d *schema.ResourceData, m *models.Policy) { d.Set("attr", m.Attr) d.Set("azure_policy", SetAzurePolicySubResourceData([]*models.AzurePolicy{m.AzurePolicy})) d.Set("cluster_policy", SetClusterPolicySubResourceData([]*models.ClusterPolicy{m.ClusterPolicy})) + d.Set("configuration_lock_policy", SetConfigurationLockPolicySubResourceData([]*models.ConfigurationLockPolicy{m.ConfigurationLockPolicy})) d.Set("description", m.Description) d.Set("edgeview_policy", SetEdgeviewPolicySubResourceData([]*models.EdgeviewPolicy{m.EdgeviewPolicy})) d.Set("id", m.ID) @@ -256,6 +276,7 @@ func SetPolicyConfigSubResourceData(m []*models.Policy) (d []*map[string]interfa properties["attr"] = PolicyConfigModel.Attr properties["azure_policy"] = SetAzurePolicySubResourceData([]*models.AzurePolicy{PolicyConfigModel.AzurePolicy}) properties["cluster_policy"] = SetClusterPolicySubResourceData([]*models.ClusterPolicy{PolicyConfigModel.ClusterPolicy}) + properties["configuration_lock_policy"] = SetConfigurationLockPolicySubResourceData([]*models.ConfigurationLockPolicy{PolicyConfigModel.ConfigurationLockPolicy}) properties["description"] = PolicyConfigModel.Description properties["edgeview_policy"] = SetEdgeviewPolicySubResourceData([]*models.EdgeviewPolicy{PolicyConfigModel.EdgeviewPolicy}) properties["id"] = PolicyConfigModel.ID @@ -322,6 +343,15 @@ func Policy() map[string]*schema.Schema { Optional: true, }, + "configuration_lock_policy": { + Description: `configuration lock policy to enforce on all devices in this project`, + Type: schema.TypeList, //GoType: ConfigurationLockPolicy + Elem: &schema.Resource{ + Schema: ConfigurationLockPolicySchema(), + }, + Optional: true, + }, + "description": { Description: `Detailed description of the policy`, Type: schema.TypeString, @@ -419,6 +449,7 @@ func GetPolicyConfigPropertyFields() (t []string) { "attr", "azure_policy", "cluster_policy", + "configuration_lock_policy", "description", "edgeview_policy", "id", diff --git a/v2/schemas/tag.go b/v2/schemas/tag.go index 4f151562..5865a88a 100644 --- a/v2/schemas/tag.go +++ b/v2/schemas/tag.go @@ -14,6 +14,14 @@ func TagModel(d *schema.ResourceData) *models.Tag { attestationPolicy = PolicyConfigModelFromMap(attestationPolicyMap[0].(map[string]interface{})) } } + var configurationLockPolicy *models.Policy // Policy + configurationLockPolicyInterface, configurationLockPolicyIsSet := d.GetOk("configuration_lock_policy") + if configurationLockPolicyIsSet && configurationLockPolicyInterface != nil { + configurationLockPolicyMap := configurationLockPolicyInterface.([]interface{}) + if len(configurationLockPolicyMap) > 0 { + configurationLockPolicy = PolicyConfigModelFromMap(configurationLockPolicyMap[0].(map[string]interface{})) + } + } var deployment *models.Deployment // Deployment deploymentInterface, deploymentIsSet := d.GetOk("deployment") if deploymentIsSet && deploymentInterface != nil { @@ -23,7 +31,7 @@ func TagModel(d *schema.ResourceData) *models.Tag { } } description, _ := d.Get("description").(string) - var edgeviewPolicy *models.Policy // PolicyConfig + var edgeviewPolicy *models.Policy // Policy edgeviewPolicyInterface, edgeviewPolicyIsSet := d.GetOk("edgeview_policy") if edgeviewPolicyIsSet && edgeviewPolicyInterface != nil { edgeviewPolicyMap := edgeviewPolicyInterface.([]interface{}) @@ -49,6 +57,26 @@ func TagModel(d *schema.ResourceData) *models.Tag { networkPolicy = PolicyConfigModelFromMap(networkPolicyMap[0].(map[string]interface{})) } } + var tagLevelSettings *models.TagLevelSettings // TagLevelSettings + tagLevelSettingsInterface, tagLevelSettingsIsSet := d.GetOk("tag_level_settings") + if tagLevelSettingsIsSet && tagLevelSettingsInterface != nil { + tagLevelSettingsMap := tagLevelSettingsInterface.([]interface{}) + if len(tagLevelSettingsMap) > 0 { + tagLevelSettings = TagLevelSettingsModelFromMap(tagLevelSettingsMap[0].(map[string]interface{})) + } + } + tags := map[string]string{} + tagsInterface, tagsIsSet := d.GetOk("tags") + if tagsIsSet { + tagsMap := tagsInterface.(map[string]interface{}) + for k, v := range tagsMap { + if v == nil { + continue + } + tags[k] = v.(string) + } + } + title, _ := d.Get("title").(string) var typeVar *models.TagType // TagType typeInterface, typeIsSet := d.GetOk("type") @@ -58,14 +86,17 @@ func TagModel(d *schema.ResourceData) *models.Tag { } return &models.Tag{ AttestationPolicy: attestationPolicy, + ConfigurationLockPolicy: configurationLockPolicy, Deployment: deployment, Description: description, EdgeviewPolicy: edgeviewPolicy, ID: id, LocalOperatorConsolePolicy: localOperatorConsolePolicy, - Name: &name, // string true false false + Name: &name, // string NetworkPolicy: networkPolicy, - Title: &title, // string true false false + TagLevelSettings: tagLevelSettings, + Tags: tags, + Title: &title, // string Type: typeVar, } } @@ -80,6 +111,15 @@ func TagModelFromMap(m map[string]interface{}) *models.Tag { } } // + var configurationLockPolicy *models.Policy // Policy + configurationLockPolicyInterface, configurationLockPolicyIsSet := m["configuration_lock_policy"] + if configurationLockPolicyIsSet && configurationLockPolicyInterface != nil { + configurationLockPolicyMap := configurationLockPolicyInterface.([]interface{}) + if len(configurationLockPolicyMap) > 0 { + configurationLockPolicy = PolicyConfigModelFromMap(configurationLockPolicyMap[0].(map[string]interface{})) + } + } + // var deployment *models.Deployment // Deployment deploymentInterface, deploymentIsSet := m["deployment"] if deploymentIsSet && deploymentInterface != nil { @@ -119,6 +159,27 @@ func TagModelFromMap(m map[string]interface{}) *models.Tag { } } // + var tagLevelSettings *models.TagLevelSettings // TagLevelSettings + tagLevelSettingsInterface, tagLevelSettingsIsSet := m["tag_level_settings"] + if tagLevelSettingsIsSet && tagLevelSettingsInterface != nil { + tagLevelSettingsMap := tagLevelSettingsInterface.([]interface{}) + if len(tagLevelSettingsMap) > 0 { + tagLevelSettings = TagLevelSettingsModelFromMap(tagLevelSettingsMap[0].(map[string]interface{})) + } + } + // + tags := map[string]string{} + tagsInterface, tagsIsSet := m["tags"] + if tagsIsSet { + tagsMap := tagsInterface.(map[string]interface{}) + for k, v := range tagsMap { + if v == nil { + continue + } + tags[k] = v.(string) + } + } + title := m["title"].(string) var typeVar *models.TagType // TagType typeInterface, typeIsSet := m["type"] @@ -128,6 +189,7 @@ func TagModelFromMap(m map[string]interface{}) *models.Tag { } return &models.Tag{ AttestationPolicy: attestationPolicy, + ConfigurationLockPolicy: configurationLockPolicy, Deployment: deployment, Description: description, EdgeviewPolicy: edgeviewPolicy, @@ -135,6 +197,8 @@ func TagModelFromMap(m map[string]interface{}) *models.Tag { LocalOperatorConsolePolicy: localOperatorConsolePolicy, Name: &name, NetworkPolicy: networkPolicy, + TagLevelSettings: tagLevelSettings, + Tags: tags, Title: &title, Type: typeVar, } @@ -145,6 +209,7 @@ func SetTagResourceData(d *schema.ResourceData, m *models.Tag) { d.Set("attestation_policy", SetPolicyConfigSubResourceData([]*models.Policy{m.AttestationPolicy})) d.Set("attr", m.Attr) d.Set("cloud_policy", SetPolicyConfigSubResourceData([]*models.Policy{m.CloudPolicy})) + d.Set("configuration_lock_policy", SetPolicyConfigSubResourceData([]*models.Policy{m.ConfigurationLockPolicy})) d.Set("deployment", SetDeploymentSubResourceData([]*models.Deployment{m.Deployment})) d.Set("description", m.Description) d.Set("edgeview_policy", SetPolicyConfigSubResourceData([]*models.Policy{m.EdgeviewPolicy})) @@ -155,6 +220,8 @@ func SetTagResourceData(d *schema.ResourceData, m *models.Tag) { d.Set("network_policy", SetPolicyConfigSubResourceData([]*models.Policy{m.NetworkPolicy})) d.Set("numdevices", m.Numdevices) d.Set("revision", SetObjectRevisionSubResourceData([]*models.ObjectRevision{m.Revision})) + d.Set("tag_level_settings", SetTagLevelSettingsSubResourceData([]*models.TagLevelSettings{m.TagLevelSettings})) + d.Set("tags", m.Tags) d.Set("title", m.Title) d.Set("type", m.Type) } @@ -167,6 +234,7 @@ func SetTagSubResourceData(m []*models.Tag) (d []*map[string]interface{}) { properties["attestation_policy"] = SetPolicyConfigSubResourceData([]*models.Policy{TagModel.AttestationPolicy}) properties["attr"] = TagModel.Attr properties["cloud_policy"] = SetPolicyConfigSubResourceData([]*models.Policy{TagModel.CloudPolicy}) + properties["configuration_lock_policy"] = SetPolicyConfigSubResourceData([]*models.Policy{TagModel.ConfigurationLockPolicy}) properties["deployment"] = SetDeploymentSubResourceData([]*models.Deployment{TagModel.Deployment}) properties["description"] = TagModel.Description properties["edgeview_policy"] = SetPolicyConfigSubResourceData([]*models.Policy{TagModel.EdgeviewPolicy}) @@ -177,6 +245,8 @@ func SetTagSubResourceData(m []*models.Tag) (d []*map[string]interface{}) { properties["network_policy"] = SetPolicyConfigSubResourceData([]*models.Policy{TagModel.NetworkPolicy}) properties["numdevices"] = TagModel.Numdevices properties["revision"] = SetObjectRevisionSubResourceData([]*models.ObjectRevision{TagModel.Revision}) + properties["tag_level_settings"] = SetTagLevelSettingsSubResourceData([]*models.TagLevelSettings{TagModel.TagLevelSettings}) + properties["tags"] = TagModel.Tags properties["title"] = TagModel.Title properties["type"] = TagModel.Type d = append(d, &properties) @@ -224,6 +294,15 @@ func Project() map[string]*schema.Schema { Computed: true, }, + "configuration_lock_policy": { + Description: `Configuration lock prevents users to send unintentional misconfigurations`, + Type: schema.TypeList, //GoType: Policy + Elem: &schema.Resource{ + Schema: Policy(), + }, + Optional: true, + }, + "deployment": { Description: `Deployment template containing different types of policies`, Type: schema.TypeList, //GoType: Deployment @@ -303,6 +382,24 @@ func Project() map[string]*schema.Schema { Computed: true, }, + "tag_level_settings": { + Description: `tag level setting within a enterprise`, + Type: schema.TypeList, //GoType: TagLevelSettings + Elem: &schema.Resource{ + Schema: TagLevelSettingsSchema(), + }, + Optional: true, + }, + + "tags": { + Description: `Tags are name/value pairs that enable you to categorize resources. Tag names are case insensitive with max_length 512 and min_length 3. Tag values are case sensitive with max_length 256 and min_length 3.`, + Type: schema.TypeMap, //GoType: map[string]string + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + Optional: true, + }, + "title": { Description: `User defined title of the resource group. Title can be changed at any time.`, Type: schema.TypeString, @@ -320,6 +417,7 @@ func Project() map[string]*schema.Schema { func GetTagPropertyFields() (t []string) { return []string{ "attestation_policy", + "configuration_lock_policy", "deployment", "description", "edgeview_policy", @@ -327,6 +425,8 @@ func GetTagPropertyFields() (t []string) { "local_operator_console_policy", "name", "network_policy", + "tag_level_settings", + "tags", "title", "type", } diff --git a/v2/schemas/tag_level_settings.go b/v2/schemas/tag_level_settings.go new file mode 100644 index 00000000..bd1861d2 --- /dev/null +++ b/v2/schemas/tag_level_settings.go @@ -0,0 +1,61 @@ +package schemas + +import ( + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/zededa/terraform-provider-zedcloud/v2/models" +) + +func TagLevelSettingsModel(d *schema.ResourceData) *models.TagLevelSettings { + var flowLogTransmission *models.NetworkInstanceFlowLogTransmission // NetworkInstanceFlowLogTransmission + flowLogTransmissionInterface, flowLogTransmissionIsSet := d.GetOk("flow_log_transmission") + if flowLogTransmissionIsSet { + flowLogTransmissionModel := flowLogTransmissionInterface.(string) + flowLogTransmission = models.NewNetworkInstanceFlowLogTransmission(models.NetworkInstanceFlowLogTransmission(flowLogTransmissionModel)) + } + return &models.TagLevelSettings{ + FlowLogTransmission: flowLogTransmission, + } +} + +func TagLevelSettingsModelFromMap(m map[string]interface{}) *models.TagLevelSettings { + var flowLogTransmission *models.NetworkInstanceFlowLogTransmission // NetworkInstanceFlowLogTransmission + flowLogTransmissionInterface, flowLogTransmissionIsSet := m["flow_log_transmission"] + if flowLogTransmissionIsSet { + flowLogTransmissionModel := flowLogTransmissionInterface.(string) + flowLogTransmission = models.NewNetworkInstanceFlowLogTransmission(models.NetworkInstanceFlowLogTransmission(flowLogTransmissionModel)) + } + return &models.TagLevelSettings{ + FlowLogTransmission: flowLogTransmission, + } +} + +func SetTagLevelSettingsResourceData(d *schema.ResourceData, m *models.TagLevelSettings) { + d.Set("flow_log_transmission", m.FlowLogTransmission) +} + +func SetTagLevelSettingsSubResourceData(m []*models.TagLevelSettings) (d []*map[string]interface{}) { + for _, TagLevelSettingsModel := range m { + if TagLevelSettingsModel != nil { + properties := make(map[string]interface{}) + properties["flow_log_transmission"] = TagLevelSettingsModel.FlowLogTransmission + d = append(d, &properties) + } + } + return +} + +func TagLevelSettingsSchema() map[string]*schema.Schema { + return map[string]*schema.Schema{ + "flow_log_transmission": { + Description: `Flow log transmission setting for the network instances`, + Type: schema.TypeString, + Optional: true, + }, + } +} + +func GetTagLevelSettingsPropertyFields() (t []string) { + return []string{ + "flow_log_transmission", + } +}