def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, boot_strap_configuration_blobs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]=None, cloud_init_configuration: Optional[pulumi.Input[str]]=None, cloud_init_configuration_blobs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]=None, id: Optional[pulumi.Input[str]]=None, identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]]=None, location: Optional[pulumi.Input[str]]=None, network_virtual_appliance_name: Optional[pulumi.Input[str]]=None, nva_sku: Optional[pulumi.Input[pulumi.InputType['VirtualApplianceSkuPropertiesArgs']]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, tags: Optional[pulumi.Input[Mapping[(str, pulumi.Input[str])]]]=None, virtual_appliance_asn: Optional[pulumi.Input[float]]=None, virtual_hub: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]]=None, __props__=None):
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = NetworkVirtualApplianceArgs.__new__(NetworkVirtualApplianceArgs)
        __props__.__dict__['boot_strap_configuration_blobs'] = boot_strap_configuration_blobs
        __props__.__dict__['cloud_init_configuration'] = cloud_init_configuration
        __props__.__dict__['cloud_init_configuration_blobs'] = cloud_init_configuration_blobs
        __props__.__dict__['id'] = id
        __props__.__dict__['identity'] = identity
        __props__.__dict__['location'] = location
        __props__.__dict__['network_virtual_appliance_name'] = network_virtual_appliance_name
        __props__.__dict__['nva_sku'] = nva_sku
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__.__dict__['resource_group_name'] = resource_group_name
        __props__.__dict__['tags'] = tags
        __props__.__dict__['virtual_appliance_asn'] = virtual_appliance_asn
        __props__.__dict__['virtual_hub'] = virtual_hub
        __props__.__dict__['address_prefix'] = None
        __props__.__dict__['etag'] = None
        __props__.__dict__['inbound_security_rules'] = None
        __props__.__dict__['name'] = None
        __props__.__dict__['provisioning_state'] = None
        __props__.__dict__['type'] = None
        __props__.__dict__['virtual_appliance_nics'] = None
        __props__.__dict__['virtual_appliance_sites'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:network/v20201101:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20191201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20191201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200301:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200301:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200401:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200401:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200501:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200501:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200601:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200601:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200701:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200701:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200801:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200801:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20210201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20210201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20210301:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20210301:NetworkVirtualAppliance')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(NetworkVirtualAppliance, __self__).__init__('azure-native:network/v20201101:NetworkVirtualAppliance', resource_name, __props__, opts)
def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, boot_strap_configuration_blobs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]=None, cloud_init_configuration: Optional[pulumi.Input[str]]=None, cloud_init_configuration_blobs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]=None, id: Optional[pulumi.Input[str]]=None, identity: Optional[pulumi.Input[pulumi.InputType['ManagedServiceIdentityArgs']]]=None, location: Optional[pulumi.Input[str]]=None, network_virtual_appliance_name: Optional[pulumi.Input[str]]=None, nva_sku: Optional[pulumi.Input[pulumi.InputType['VirtualApplianceSkuPropertiesArgs']]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, tags: Optional[pulumi.Input[Mapping[(str, pulumi.Input[str])]]]=None, virtual_appliance_asn: Optional[pulumi.Input[float]]=None, virtual_hub: Optional[pulumi.Input[pulumi.InputType['SubResourceArgs']]]=None, __props__=None):
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = NetworkVirtualApplianceArgs.__new__(NetworkVirtualApplianceArgs)
        __props__.__dict__['boot_strap_configuration_blobs'] = boot_strap_configuration_blobs
        __props__.__dict__['cloud_init_configuration'] = cloud_init_configuration
        __props__.__dict__['cloud_init_configuration_blobs'] = cloud_init_configuration_blobs
        __props__.__dict__['id'] = id
        __props__.__dict__['identity'] = identity
        __props__.__dict__['location'] = location
        __props__.__dict__['network_virtual_appliance_name'] = network_virtual_appliance_name
        __props__.__dict__['nva_sku'] = nva_sku
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__.__dict__['resource_group_name'] = resource_group_name
        __props__.__dict__['tags'] = tags
        __props__.__dict__['virtual_appliance_asn'] = virtual_appliance_asn
        __props__.__dict__['virtual_hub'] = virtual_hub
        __props__.__dict__['address_prefix'] = None
        __props__.__dict__['etag'] = None
        __props__.__dict__['inbound_security_rules'] = None
        __props__.__dict__['name'] = None
        __props__.__dict__['provisioning_state'] = None
        __props__.__dict__['type'] = None
        __props__.__dict__['virtual_appliance_nics'] = None
        __props__.__dict__['virtual_appliance_sites'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:network/v20201101:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20191201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20191201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200301:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200301:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200401:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200401:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200501:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200501:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200601:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200601:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200701:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200701:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20200801:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20200801:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20210201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20210201:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-native:network/v20210301:NetworkVirtualAppliance'), pulumi.Alias(type_='azure-nextgen:network/v20210301:NetworkVirtualAppliance')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(NetworkVirtualAppliance, __self__).__init__('azure-native:network/v20201101:NetworkVirtualAppliance', resource_name, __props__, opts)