def METHOD_NAME(__self__,
             resource_name: str,
             opts: Optional[pulumi.ResourceOptions] = None,
             properties: Optional[pulumi.Input[pulumi.InputType['TagsArgs']]] = None,
             scope: 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__ = TagAtScopeArgs.__new__(TagAtScopeArgs)
        if properties is None and not opts.urn:
            raise TypeError("Missing required property 'properties'")
        __props__.__dict__["properties"] = properties
        if scope is None and not opts.urn:
            raise TypeError("Missing required property 'scope'")
        __props__.__dict__["scope"] = scope
        __props__.__dict__["name"] = None
        __props__.__dict__["type"] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:resources:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20191001:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20200601:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20200801:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20201001:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20210101:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20210401:TagAtScope"), pulumi.Alias(type_="azure-native:resources/v20220901:TagAtScope")])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(TagAtScope, __self__).__init__(
        'azure-native:resources/v20230701:TagAtScope',
        resource_name,
        __props__,
        opts)