def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, api_version: Optional[pulumi.Input[str]]=None, capacity: Optional[pulumi.Input[str]]=None, kind: Optional[pulumi.Input[str]]=None, maximum_volume_size: Optional[pulumi.Input[str]]=None, metadata: Optional[pulumi.Input[pulumi.InputType['_meta.v1.ObjectMetaArgs']]]=None, node_topology: Optional[pulumi.Input[pulumi.InputType['_meta.v1.LabelSelectorArgs']]]=None, storage_class_name: Optional[pulumi.Input[str]]=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__ = CSIStorageCapacityArgs.__new__(CSIStorageCapacityArgs)
        __props__.__dict__['api_version'] = 'storage.k8s.io/v1beta1'
        __props__.__dict__['capacity'] = capacity
        __props__.__dict__['kind'] = 'CSIStorageCapacity'
        __props__.__dict__['maximum_volume_size'] = maximum_volume_size
        __props__.__dict__['metadata'] = metadata
        __props__.__dict__['node_topology'] = node_topology
        if ((storage_class_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'storage_class_name'")
        __props__.__dict__['storage_class_name'] = storage_class_name
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='kubernetes:storage.k8s.io/v1alpha1:CSIStorageCapacity')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(CSIStorageCapacity, __self__).__init__('kubernetes:storage.k8s.io/v1beta1:CSIStorageCapacity', resource_name, __props__, opts)
def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, api_version: Optional[pulumi.Input[str]]=None, capacity: Optional[pulumi.Input[str]]=None, kind: Optional[pulumi.Input[str]]=None, maximum_volume_size: Optional[pulumi.Input[str]]=None, metadata: Optional[pulumi.Input[pulumi.InputType['_meta.v1.ObjectMetaArgs']]]=None, node_topology: Optional[pulumi.Input[pulumi.InputType['_meta.v1.LabelSelectorArgs']]]=None, storage_class_name: Optional[pulumi.Input[str]]=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__ = CSIStorageCapacityArgs.__new__(CSIStorageCapacityArgs)
        __props__.__dict__['api_version'] = 'storage.k8s.io/v1beta1'
        __props__.__dict__['capacity'] = capacity
        __props__.__dict__['kind'] = 'CSIStorageCapacity'
        __props__.__dict__['maximum_volume_size'] = maximum_volume_size
        __props__.__dict__['metadata'] = metadata
        __props__.__dict__['node_topology'] = node_topology
        if ((storage_class_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'storage_class_name'")
        __props__.__dict__['storage_class_name'] = storage_class_name
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='kubernetes:storage.k8s.io/v1alpha1:CSIStorageCapacity')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(CSIStorageCapacity, __self__).__init__('kubernetes:storage.k8s.io/v1beta1:CSIStorageCapacity', resource_name, __props__, opts)