def METHOD_NAME(__self__,
             resource_name: str,
             opts: Optional[pulumi.ResourceOptions] = None,
             plan_type_name: Optional[pulumi.Input[str]] = None,
             provider_name: Optional[pulumi.Input[str]] = None,
             __props__=None):
    opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
    if not isinstance(opts, pulumi.ResourceOptions):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    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__ = SupportPlanTypeArgs.__new__(SupportPlanTypeArgs)
        __props__.__dict__["plan_type_name"] = plan_type_name
        if provider_name is None and not opts.urn:
            raise TypeError("Missing required property 'provider_name'")
        __props__.__dict__["provider_name"] = provider_name
        __props__.__dict__["name"] = None
        __props__.__dict__["provisioning_state"] = None
        __props__.__dict__["type"] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:addons/v20170515:SupportPlanType"), pulumi.Alias(type_="azure-native:addons/v20180301:SupportPlanType")])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(SupportPlanType, __self__).__init__(
        'azure-native:addons:SupportPlanType',
        resource_name,
        __props__,
        opts)