def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, description: Optional[pulumi.Input[str]]=None, event_time_feature_name: Optional[pulumi.Input[str]]=None, feature_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FeatureGroupFeatureDefinitionArgs']]]]]=None, feature_group_name: Optional[pulumi.Input[str]]=None, offline_store_config: Optional[pulumi.Input[pulumi.InputType['OfflineStoreConfigPropertiesArgs']]]=None, online_store_config: Optional[pulumi.Input[pulumi.InputType['OnlineStoreConfigPropertiesArgs']]]=None, record_identifier_feature_name: Optional[pulumi.Input[str]]=None, role_arn: Optional[pulumi.Input[str]]=None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FeatureGroupTagArgs']]]]]=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__ = FeatureGroupArgs.__new__(FeatureGroupArgs)
        __props__.__dict__['description'] = description
        if ((event_time_feature_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'event_time_feature_name'")
        __props__.__dict__['event_time_feature_name'] = event_time_feature_name
        if ((feature_definitions is None) and (not opts.urn)):
            raise TypeError("Missing required property 'feature_definitions'")
        __props__.__dict__['feature_definitions'] = feature_definitions
        __props__.__dict__['feature_group_name'] = feature_group_name
        __props__.__dict__['offline_store_config'] = offline_store_config
        __props__.__dict__['online_store_config'] = online_store_config
        if ((record_identifier_feature_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'record_identifier_feature_name'")
        __props__.__dict__['record_identifier_feature_name'] = record_identifier_feature_name
        __props__.__dict__['role_arn'] = role_arn
        __props__.__dict__['tags'] = tags
    super(FeatureGroup, __self__).__init__('aws-native:sagemaker:FeatureGroup', resource_name, __props__, opts)
def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, description: Optional[pulumi.Input[str]]=None, event_time_feature_name: Optional[pulumi.Input[str]]=None, feature_definitions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FeatureGroupFeatureDefinitionArgs']]]]]=None, feature_group_name: Optional[pulumi.Input[str]]=None, offline_store_config: Optional[pulumi.Input[pulumi.InputType['OfflineStoreConfigPropertiesArgs']]]=None, online_store_config: Optional[pulumi.Input[pulumi.InputType['OnlineStoreConfigPropertiesArgs']]]=None, record_identifier_feature_name: Optional[pulumi.Input[str]]=None, role_arn: Optional[pulumi.Input[str]]=None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FeatureGroupTagArgs']]]]]=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__ = FeatureGroupArgs.__new__(FeatureGroupArgs)
        __props__.__dict__['description'] = description
        if ((event_time_feature_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'event_time_feature_name'")
        __props__.__dict__['event_time_feature_name'] = event_time_feature_name
        if ((feature_definitions is None) and (not opts.urn)):
            raise TypeError("Missing required property 'feature_definitions'")
        __props__.__dict__['feature_definitions'] = feature_definitions
        __props__.__dict__['feature_group_name'] = feature_group_name
        __props__.__dict__['offline_store_config'] = offline_store_config
        __props__.__dict__['online_store_config'] = online_store_config
        if ((record_identifier_feature_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'record_identifier_feature_name'")
        __props__.__dict__['record_identifier_feature_name'] = record_identifier_feature_name
        __props__.__dict__['role_arn'] = role_arn
        __props__.__dict__['tags'] = tags
    super(FeatureGroup, __self__).__init__('aws-native:sagemaker:FeatureGroup', resource_name, __props__, opts)