// Code generated by generators/resource/main.go; DO NOT EDIT. package kendra import ( "context" "regexp" "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" . "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" "github.com/hashicorp/terraform-provider-awscc/internal/validate" ) func init() { registry.AddResourceTypeFactory("awscc_kendra_data_source", dataSourceResourceType) } // dataSourceResourceType returns the Terraform awscc_kendra_data_source resource type. // This Terraform resource type corresponds to the CloudFormation AWS::Kendra::DataSource resource type. func dataSourceResourceType(ctx context.Context) (tfsdk.ResourceType, error) { attributes := map[string]tfsdk.Attribute{ "arn": { // Property: Arn // CloudFormation resource type schema: // { // "maxLength": 1000, // "type": "string" // } Type: types.StringType, Computed: true, PlanModifiers: []tfsdk.AttributePlanModifier{ tfsdk.UseStateForUnknown(), }, }, "custom_document_enrichment_configuration": { // Property: CustomDocumentEnrichmentConfiguration // CloudFormation resource type schema: // { // "additionalProperties": false, // "properties": { // "InlineConfigurations": { // "description": "List of InlineCustomDocumentEnrichmentConfigurations", // "items": { // "additionalProperties": false, // "properties": { // "Condition": { // "additionalProperties": false, // "properties": { // "ConditionDocumentAttributeKey": { // "maxLength": 200, // "minLength": 1, // "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]*", // "type": "string" // }, // "ConditionOnValue": { // "additionalProperties": false, // "properties": { // "DateValue": { // "type": "string" // }, // "LongValue": { // "format": "int64", // "type": "integer" // }, // "StringListValue": { // "items": { // "type": "string" // }, // "type": "array" // }, // "StringValue": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // } // }, // "type": "object" // }, // "Operator": { // "enum": [ // "GreaterThan", // "GreaterThanOrEquals", // "LessThan", // "LessThanOrEquals", // "Equals", // "NotEquals", // "Contains", // "NotContains", // "Exists", // "NotExists", // "BeginsWith" // ], // "type": "string" // } // }, // "required": [ // "ConditionDocumentAttributeKey", // "Operator" // ], // "type": "object" // }, // "DocumentContentDeletion": { // "type": "boolean" // }, // "Target": { // "additionalProperties": false, // "properties": { // "TargetDocumentAttributeKey": { // "maxLength": 200, // "minLength": 1, // "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]*", // "type": "string" // }, // "TargetDocumentAttributeValue": { // "additionalProperties": false, // "properties": { // "DateValue": { // "type": "string" // }, // "LongValue": { // "format": "int64", // "type": "integer" // }, // "StringListValue": { // "items": { // "type": "string" // }, // "type": "array" // }, // "StringValue": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // } // }, // "type": "object" // }, // "TargetDocumentAttributeValueDeletion": { // "type": "boolean" // } // }, // "required": [ // "TargetDocumentAttributeKey" // ], // "type": "object" // } // }, // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "PostExtractionHookConfiguration": { // "additionalProperties": false, // "properties": { // "InvocationCondition": { // "additionalProperties": false, // "properties": { // "ConditionDocumentAttributeKey": { // "maxLength": 200, // "minLength": 1, // "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]*", // "type": "string" // }, // "ConditionOnValue": { // "additionalProperties": false, // "properties": { // "DateValue": { // "type": "string" // }, // "LongValue": { // "format": "int64", // "type": "integer" // }, // "StringListValue": { // "items": { // "type": "string" // }, // "type": "array" // }, // "StringValue": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // } // }, // "type": "object" // }, // "Operator": { // "enum": [ // "GreaterThan", // "GreaterThanOrEquals", // "LessThan", // "LessThanOrEquals", // "Equals", // "NotEquals", // "Contains", // "NotContains", // "Exists", // "NotExists", // "BeginsWith" // ], // "type": "string" // } // }, // "required": [ // "ConditionDocumentAttributeKey", // "Operator" // ], // "type": "object" // }, // "LambdaArn": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // }, // "S3Bucket": { // "maxLength": 63, // "minLength": 3, // "pattern": "[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]", // "type": "string" // } // }, // "required": [ // "LambdaArn", // "S3Bucket" // ], // "type": "object" // }, // "PreExtractionHookConfiguration": { // "additionalProperties": false, // "properties": { // "InvocationCondition": { // "additionalProperties": false, // "properties": { // "ConditionDocumentAttributeKey": { // "maxLength": 200, // "minLength": 1, // "pattern": "[a-zA-Z0-9_][a-zA-Z0-9_-]*", // "type": "string" // }, // "ConditionOnValue": { // "additionalProperties": false, // "properties": { // "DateValue": { // "type": "string" // }, // "LongValue": { // "format": "int64", // "type": "integer" // }, // "StringListValue": { // "items": { // "type": "string" // }, // "type": "array" // }, // "StringValue": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // } // }, // "type": "object" // }, // "Operator": { // "enum": [ // "GreaterThan", // "GreaterThanOrEquals", // "LessThan", // "LessThanOrEquals", // "Equals", // "NotEquals", // "Contains", // "NotContains", // "Exists", // "NotExists", // "BeginsWith" // ], // "type": "string" // } // }, // "required": [ // "ConditionDocumentAttributeKey", // "Operator" // ], // "type": "object" // }, // "LambdaArn": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // }, // "S3Bucket": { // "maxLength": 63, // "minLength": 3, // "pattern": "[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]", // "type": "string" // } // }, // "required": [ // "LambdaArn", // "S3Bucket" // ], // "type": "object" // }, // "RoleArn": { // "description": "Role ARN", // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // } // }, // "type": "object" // } Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "inline_configurations": { // Property: InlineConfigurations Description: "List of InlineCustomDocumentEnrichmentConfigurations", Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "condition": { // Property: Condition Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "condition_document_attribute_key": { // Property: ConditionDocumentAttributeKey Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 200), validate.StringMatch(regexp.MustCompile("[a-zA-Z0-9_][a-zA-Z0-9_-]*"), ""), }, }, "condition_on_value": { // Property: ConditionOnValue Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "date_value": { // Property: DateValue Type: types.StringType, Optional: true, }, "long_value": { // Property: LongValue Type: types.Int64Type, Optional: true, }, "string_list_value": { // Property: StringListValue Type: types.ListType{ElemType: types.StringType}, Optional: true, }, "string_value": { // Property: StringValue Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, }, ), Optional: true, }, "operator": { // Property: Operator Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "GreaterThan", "GreaterThanOrEquals", "LessThan", "LessThanOrEquals", "Equals", "NotEquals", "Contains", "NotContains", "Exists", "NotExists", "BeginsWith", }), }, }, }, ), Optional: true, }, "document_content_deletion": { // Property: DocumentContentDeletion Type: types.BoolType, Optional: true, }, "target": { // Property: Target Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "target_document_attribute_key": { // Property: TargetDocumentAttributeKey Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 200), validate.StringMatch(regexp.MustCompile("[a-zA-Z0-9_][a-zA-Z0-9_-]*"), ""), }, }, "target_document_attribute_value": { // Property: TargetDocumentAttributeValue Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "date_value": { // Property: DateValue Type: types.StringType, Optional: true, }, "long_value": { // Property: LongValue Type: types.Int64Type, Optional: true, }, "string_list_value": { // Property: StringListValue Type: types.ListType{ElemType: types.StringType}, Optional: true, }, "string_value": { // Property: StringValue Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, }, ), Optional: true, }, "target_document_attribute_value_deletion": { // Property: TargetDocumentAttributeValueDeletion Type: types.BoolType, Optional: true, }, }, ), Optional: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "post_extraction_hook_configuration": { // Property: PostExtractionHookConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "invocation_condition": { // Property: InvocationCondition Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "condition_document_attribute_key": { // Property: ConditionDocumentAttributeKey Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 200), validate.StringMatch(regexp.MustCompile("[a-zA-Z0-9_][a-zA-Z0-9_-]*"), ""), }, }, "condition_on_value": { // Property: ConditionOnValue Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "date_value": { // Property: DateValue Type: types.StringType, Optional: true, }, "long_value": { // Property: LongValue Type: types.Int64Type, Optional: true, }, "string_list_value": { // Property: StringListValue Type: types.ListType{ElemType: types.StringType}, Optional: true, }, "string_value": { // Property: StringValue Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, }, ), Optional: true, }, "operator": { // Property: Operator Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "GreaterThan", "GreaterThanOrEquals", "LessThan", "LessThanOrEquals", "Equals", "NotEquals", "Contains", "NotContains", "Exists", "NotExists", "BeginsWith", }), }, }, }, ), Optional: true, }, "lambda_arn": { // Property: LambdaArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, "s3_bucket": { // Property: S3Bucket Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(3, 63), validate.StringMatch(regexp.MustCompile("[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]"), ""), }, }, }, ), Optional: true, }, "pre_extraction_hook_configuration": { // Property: PreExtractionHookConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "invocation_condition": { // Property: InvocationCondition Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "condition_document_attribute_key": { // Property: ConditionDocumentAttributeKey Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 200), validate.StringMatch(regexp.MustCompile("[a-zA-Z0-9_][a-zA-Z0-9_-]*"), ""), }, }, "condition_on_value": { // Property: ConditionOnValue Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "date_value": { // Property: DateValue Type: types.StringType, Optional: true, }, "long_value": { // Property: LongValue Type: types.Int64Type, Optional: true, }, "string_list_value": { // Property: StringListValue Type: types.ListType{ElemType: types.StringType}, Optional: true, }, "string_value": { // Property: StringValue Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, }, ), Optional: true, }, "operator": { // Property: Operator Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "GreaterThan", "GreaterThanOrEquals", "LessThan", "LessThanOrEquals", "Equals", "NotEquals", "Contains", "NotContains", "Exists", "NotExists", "BeginsWith", }), }, }, }, ), Optional: true, }, "lambda_arn": { // Property: LambdaArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, "s3_bucket": { // Property: S3Bucket Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(3, 63), validate.StringMatch(regexp.MustCompile("[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]"), ""), }, }, }, ), Optional: true, }, "role_arn": { // Property: RoleArn Description: "Role ARN", Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, }, ), Optional: true, }, "data_source_configuration": { // Property: DataSourceConfiguration // CloudFormation resource type schema: // { // "additionalProperties": false, // "oneOf": [ // { // "required": [ // "S3Configuration" // ] // }, // { // "required": [ // "SharePointConfiguration" // ] // }, // { // "required": [ // "SalesforceConfiguration" // ] // }, // { // "required": [ // "OneDriveConfiguration" // ] // }, // { // "required": [ // "ServiceNowConfiguration" // ] // }, // { // "required": [ // "DatabaseConfiguration" // ] // }, // { // "required": [ // "ConfluenceConfiguration" // ] // }, // { // "required": [ // "GoogleDriveConfiguration" // ] // }, // { // "required": [ // "WebCrawlerConfiguration" // ] // }, // { // "required": [ // "WorkDocsConfiguration" // ] // } // ], // "properties": { // "ConfluenceConfiguration": { // "additionalProperties": false, // "properties": { // "AttachmentConfiguration": { // "additionalProperties": false, // "properties": { // "AttachmentFieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "enum": [ // "AUTHOR", // "CONTENT_TYPE", // "CREATED_DATE", // "DISPLAY_URL", // "FILE_SIZE", // "ITEM_TYPE", // "PARENT_ID", // "SPACE_KEY", // "SPACE_NAME", // "URL", // "VERSION" // ], // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 11, // "minItems": 1, // "type": "array" // }, // "CrawlAttachments": { // "type": "boolean" // } // }, // "type": "object" // }, // "BlogConfiguration": { // "additionalProperties": false, // "properties": { // "BlogFieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "enum": [ // "AUTHOR", // "DISPLAY_URL", // "ITEM_TYPE", // "LABELS", // "PUBLISH_DATE", // "SPACE_KEY", // "SPACE_NAME", // "URL", // "VERSION" // ], // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 9, // "minItems": 1, // "type": "array" // } // }, // "type": "object" // }, // "ExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "PageConfiguration": { // "additionalProperties": false, // "properties": { // "PageFieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "enum": [ // "AUTHOR", // "CONTENT_STATUS", // "CREATED_DATE", // "DISPLAY_URL", // "ITEM_TYPE", // "LABELS", // "MODIFIED_DATE", // "PARENT_ID", // "SPACE_KEY", // "SPACE_NAME", // "URL", // "VERSION" // ], // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 12, // "minItems": 1, // "type": "array" // } // }, // "type": "object" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "ServerUrl": { // "maxLength": 2048, // "minLength": 1, // "pattern": "^(https?|ftp|file)://([^\\s]*)", // "type": "string" // }, // "SpaceConfiguration": { // "additionalProperties": false, // "properties": { // "CrawlArchivedSpaces": { // "type": "boolean" // }, // "CrawlPersonalSpaces": { // "type": "boolean" // }, // "ExcludeSpaces": { // "items": { // "maxLength": 255, // "minLength": 1, // "type": "string" // }, // "minItems": 1, // "type": "array" // }, // "IncludeSpaces": { // "items": { // "maxLength": 255, // "minLength": 1, // "type": "string" // }, // "minItems": 1, // "type": "array" // }, // "SpaceFieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "enum": [ // "DISPLAY_URL", // "ITEM_TYPE", // "SPACE_KEY", // "URL" // ], // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 4, // "minItems": 1, // "type": "array" // } // }, // "type": "object" // }, // "Version": { // "enum": [ // "CLOUD", // "SERVER" // ], // "type": "string" // }, // "VpcConfiguration": { // "additionalProperties": false, // "properties": { // "SecurityGroupIds": { // "items": { // "maxLength": 200, // "minLength": 1, // "pattern": "[\\-0-9a-zA-Z]+", // "type": "string" // }, // "maxItems": 10, // "type": "array" // }, // "SubnetIds": { // "items": { // "maxLength": 200, // "minLength": 1, // "pattern": "[\\-0-9a-zA-Z]+", // "type": "string" // }, // "maxItems": 6, // "type": "array" // } // }, // "required": [ // "SubnetIds", // "SecurityGroupIds" // ], // "type": "object" // } // }, // "required": [ // "ServerUrl", // "SecretArn", // "Version" // ], // "type": "object" // }, // "DatabaseConfiguration": { // "additionalProperties": false, // "properties": { // "AclConfiguration": { // "additionalProperties": false, // "properties": { // "AllowedGroupsColumnName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "AllowedGroupsColumnName" // ], // "type": "object" // }, // "ColumnConfiguration": { // "additionalProperties": false, // "properties": { // "ChangeDetectingColumns": { // "items": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "maxItems": 5, // "minItems": 1, // "type": "array" // }, // "DocumentDataColumnName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentIdColumnName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleColumnName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // } // }, // "required": [ // "DocumentIdColumnName", // "DocumentDataColumnName", // "ChangeDetectingColumns" // ], // "type": "object" // }, // "ConnectionConfiguration": { // "additionalProperties": false, // "properties": { // "DatabaseHost": { // "maxLength": 253, // "minLength": 1, // "type": "string" // }, // "DatabaseName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DatabasePort": { // "maximum": 65535, // "minimum": 1, // "type": "integer" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "TableName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DatabaseHost", // "DatabasePort", // "DatabaseName", // "TableName", // "SecretArn" // ], // "type": "object" // }, // "DatabaseEngineType": { // "enum": [ // "RDS_AURORA_MYSQL", // "RDS_AURORA_POSTGRESQL", // "RDS_MYSQL", // "RDS_POSTGRESQL" // ], // "type": "string" // }, // "SqlConfiguration": { // "additionalProperties": false, // "properties": { // "QueryIdentifiersEnclosingOption": { // "enum": [ // "DOUBLE_QUOTES", // "NONE" // ], // "type": "string" // } // }, // "type": "object" // }, // "VpcConfiguration": { // "additionalProperties": false, // "properties": { // "SecurityGroupIds": { // "items": { // "maxLength": 200, // "minLength": 1, // "pattern": "[\\-0-9a-zA-Z]+", // "type": "string" // }, // "maxItems": 10, // "type": "array" // }, // "SubnetIds": { // "items": { // "maxLength": 200, // "minLength": 1, // "pattern": "[\\-0-9a-zA-Z]+", // "type": "string" // }, // "maxItems": 6, // "type": "array" // } // }, // "required": [ // "SubnetIds", // "SecurityGroupIds" // ], // "type": "object" // } // }, // "required": [ // "ConnectionConfiguration", // "ColumnConfiguration", // "DatabaseEngineType" // ], // "type": "object" // }, // "GoogleDriveConfiguration": { // "additionalProperties": false, // "properties": { // "ExcludeMimeTypes": { // "items": { // "maxLength": 256, // "minLength": 1, // "type": "string" // }, // "maxItems": 30, // "minItems": 0, // "type": "array" // }, // "ExcludeSharedDrives": { // "items": { // "maxLength": 256, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "minItems": 0, // "type": "array" // }, // "ExcludeUserAccounts": { // "items": { // "maxLength": 256, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "minItems": 0, // "type": "array" // }, // "ExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // } // }, // "required": [ // "SecretArn" // ], // "type": "object" // }, // "OneDriveConfiguration": { // "additionalProperties": false, // "properties": { // "DisableLocalGroups": { // "type": "boolean" // }, // "ExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "OneDriveUsers": { // "additionalProperties": false, // "oneOf": [ // { // "required": [ // "OneDriveUserList" // ] // }, // { // "required": [ // "OneDriveUserS3Path" // ] // } // ], // "properties": { // "OneDriveUserList": { // "items": { // "maxLength": 256, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "maxItems": 100, // "minItems": 1, // "type": "array" // }, // "OneDriveUserS3Path": { // "additionalProperties": false, // "properties": { // "Bucket": { // "maxLength": 63, // "minLength": 3, // "pattern": "[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]", // "type": "string" // }, // "Key": { // "maxLength": 1024, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "Bucket", // "Key" // ], // "type": "object" // } // }, // "type": "object" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "TenantDomain": { // "maxLength": 256, // "minLength": 1, // "pattern": "^([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\.)+[a-z]{2,}$", // "type": "string" // } // }, // "required": [ // "TenantDomain", // "SecretArn", // "OneDriveUsers" // ], // "type": "object" // }, // "S3Configuration": { // "additionalProperties": false, // "description": "S3 data source configuration", // "properties": { // "AccessControlListConfiguration": { // "additionalProperties": false, // "properties": { // "KeyPath": { // "maxLength": 1024, // "minLength": 1, // "type": "string" // } // }, // "type": "object" // }, // "BucketName": { // "maxLength": 63, // "minLength": 3, // "pattern": "[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]", // "type": "string" // }, // "DocumentsMetadataConfiguration": { // "additionalProperties": false, // "properties": { // "S3Prefix": { // "maxLength": 1024, // "minLength": 1, // "type": "string" // } // }, // "type": "object" // }, // "ExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPrefixes": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // } // }, // "required": [ // "BucketName" // ], // "type": "object" // }, // "SalesforceConfiguration": { // "additionalProperties": false, // "properties": { // "ChatterFeedConfiguration": { // "additionalProperties": false, // "properties": { // "DocumentDataFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "IncludeFilterTypes": { // "items": { // "enum": [ // "ACTIVE_USER", // "STANDARD_USER" // ], // "type": "string" // }, // "maxItems": 2, // "minItems": 1, // "type": "array" // } // }, // "required": [ // "DocumentDataFieldName" // ], // "type": "object" // }, // "CrawlAttachments": { // "type": "boolean" // }, // "ExcludeAttachmentFilePatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "IncludeAttachmentFilePatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "KnowledgeArticleConfiguration": { // "additionalProperties": false, // "properties": { // "CustomKnowledgeArticleTypeConfigurations": { // "items": { // "additionalProperties": false, // "properties": { // "DocumentDataFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "Name": { // "maxLength": 100, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "Name", // "DocumentDataFieldName" // ], // "type": "object" // }, // "maxItems": 10, // "minItems": 1, // "type": "array" // }, // "IncludedStates": { // "items": { // "enum": [ // "DRAFT", // "PUBLISHED", // "ARCHIVED" // ], // "type": "string" // }, // "maxItems": 3, // "minItems": 1, // "type": "array" // }, // "StandardKnowledgeArticleTypeConfiguration": { // "additionalProperties": false, // "properties": { // "DocumentDataFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // } // }, // "required": [ // "DocumentDataFieldName" // ], // "type": "object" // } // }, // "required": [ // "IncludedStates" // ], // "type": "object" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "ServerUrl": { // "maxLength": 2048, // "minLength": 1, // "pattern": "^(https?|ftp|file)://([^\\s]*)", // "type": "string" // }, // "StandardObjectAttachmentConfiguration": { // "additionalProperties": false, // "properties": { // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // } // }, // "type": "object" // }, // "StandardObjectConfigurations": { // "items": { // "additionalProperties": false, // "properties": { // "DocumentDataFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "Name": { // "enum": [ // "ACCOUNT", // "CAMPAIGN", // "CASE", // "CONTACT", // "CONTRACT", // "DOCUMENT", // "GROUP", // "IDEA", // "LEAD", // "OPPORTUNITY", // "PARTNER", // "PRICEBOOK", // "PRODUCT", // "PROFILE", // "SOLUTION", // "TASK", // "USER" // ], // "type": "string" // } // }, // "required": [ // "Name", // "DocumentDataFieldName" // ], // "type": "object" // }, // "maxItems": 17, // "minItems": 1, // "type": "array" // } // }, // "required": [ // "ServerUrl", // "SecretArn" // ], // "type": "object" // }, // "ServiceNowConfiguration": { // "additionalProperties": false, // "properties": { // "AuthenticationType": { // "enum": [ // "HTTP_BASIC", // "OAUTH2" // ], // "type": "string" // }, // "HostUrl": { // "maxLength": 2048, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "KnowledgeArticleConfiguration": { // "additionalProperties": false, // "properties": { // "CrawlAttachments": { // "type": "boolean" // }, // "DocumentDataFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "ExcludeAttachmentFilePatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "FilterQuery": { // "maxLength": 2048, // "minLength": 1, // "type": "string" // }, // "IncludeAttachmentFilePatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // } // }, // "required": [ // "DocumentDataFieldName" // ], // "type": "object" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "ServiceCatalogConfiguration": { // "additionalProperties": false, // "properties": { // "CrawlAttachments": { // "type": "boolean" // }, // "DocumentDataFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "ExcludeAttachmentFilePatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "IncludeAttachmentFilePatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // } // }, // "required": [ // "DocumentDataFieldName" // ], // "type": "object" // }, // "ServiceNowBuildVersion": { // "enum": [ // "LONDON", // "OTHERS" // ], // "type": "string" // } // }, // "required": [ // "HostUrl", // "SecretArn", // "ServiceNowBuildVersion" // ], // "type": "object" // }, // "SharePointConfiguration": { // "additionalProperties": false, // "description": "SharePoint configuration", // "properties": { // "CrawlAttachments": { // "type": "boolean" // }, // "DisableLocalGroups": { // "type": "boolean" // }, // "DocumentTitleFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "ExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "SecretArn": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "SharePointVersion": { // "enum": [ // "SHAREPOINT_ONLINE", // "SHAREPOINT_2013", // "SHAREPOINT_2016" // ], // "type": "string" // }, // "SslCertificateS3Path": { // "additionalProperties": false, // "properties": { // "Bucket": { // "maxLength": 63, // "minLength": 3, // "pattern": "[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]", // "type": "string" // }, // "Key": { // "maxLength": 1024, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "Bucket", // "Key" // ], // "type": "object" // }, // "Urls": { // "items": { // "maxLength": 2048, // "minLength": 1, // "pattern": "^(https?|ftp|file)://([^\\s]*)", // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "UseChangeLog": { // "type": "boolean" // }, // "VpcConfiguration": { // "additionalProperties": false, // "properties": { // "SecurityGroupIds": { // "items": { // "maxLength": 200, // "minLength": 1, // "pattern": "[\\-0-9a-zA-Z]+", // "type": "string" // }, // "maxItems": 10, // "type": "array" // }, // "SubnetIds": { // "items": { // "maxLength": 200, // "minLength": 1, // "pattern": "[\\-0-9a-zA-Z]+", // "type": "string" // }, // "maxItems": 6, // "type": "array" // } // }, // "required": [ // "SubnetIds", // "SecurityGroupIds" // ], // "type": "object" // } // }, // "required": [ // "Urls", // "SecretArn", // "SharePointVersion" // ], // "type": "object" // }, // "WebCrawlerConfiguration": { // "additionalProperties": false, // "properties": { // "AuthenticationConfiguration": { // "additionalProperties": false, // "properties": { // "BasicAuthentication": { // "items": { // "additionalProperties": false, // "properties": { // "Credentials": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "Host": { // "maxLength": 253, // "minLength": 1, // "pattern": "([^\\s]*)", // "type": "string" // }, // "Port": { // "maximum": 65535, // "minimum": 1, // "type": "integer" // } // }, // "required": [ // "Host", // "Port", // "Credentials" // ], // "type": "object" // }, // "maxItems": 10, // "type": "array" // } // }, // "type": "object" // }, // "CrawlDepth": { // "maximum": 10, // "minimum": 1, // "type": "integer" // }, // "MaxContentSizePerPageInMegaBytes": { // "maximum": 50, // "minimum": 0, // "type": "number" // }, // "MaxLinksPerPage": { // "maximum": 1000, // "minimum": 1, // "type": "integer" // }, // "MaxUrlsPerMinuteCrawlRate": { // "maximum": 300, // "minimum": 1, // "type": "integer" // }, // "ProxyConfiguration": { // "additionalProperties": false, // "properties": { // "Credentials": { // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // }, // "Host": { // "maxLength": 253, // "minLength": 1, // "pattern": "([^\\s]*)", // "type": "string" // }, // "Port": { // "maximum": 65535, // "minimum": 1, // "type": "integer" // } // }, // "required": [ // "Host", // "Port" // ], // "type": "object" // }, // "UrlExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "UrlInclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "Urls": { // "additionalProperties": false, // "properties": { // "SeedUrlConfiguration": { // "additionalProperties": false, // "properties": { // "SeedUrls": { // "items": { // "maxLength": 2048, // "minLength": 1, // "pattern": "^(https?)://([^\\s]*)", // "type": "string" // }, // "maxItems": 100, // "minItems": 0, // "type": "array" // }, // "WebCrawlerMode": { // "enum": [ // "HOST_ONLY", // "SUBDOMAINS", // "EVERYTHING" // ], // "type": "string" // } // }, // "required": [ // "SeedUrls" // ], // "type": "object" // }, // "SiteMapsConfiguration": { // "additionalProperties": false, // "properties": { // "SiteMaps": { // "items": { // "maxLength": 2048, // "minLength": 1, // "pattern": "^(https?):\\/\\/([^\\s]*)", // "type": "string" // }, // "maxItems": 3, // "minItems": 0, // "type": "array" // } // }, // "required": [ // "SiteMaps" // ], // "type": "object" // } // }, // "type": "object" // } // }, // "required": [ // "Urls" // ], // "type": "object" // }, // "WorkDocsConfiguration": { // "additionalProperties": false, // "properties": { // "CrawlComments": { // "type": "boolean" // }, // "ExclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "FieldMappings": { // "items": { // "additionalProperties": false, // "properties": { // "DataSourceFieldName": { // "maxLength": 100, // "minLength": 1, // "type": "string" // }, // "DateFieldFormat": { // "maxLength": 40, // "minLength": 4, // "type": "string" // }, // "IndexFieldName": { // "maxLength": 30, // "minLength": 1, // "type": "string" // } // }, // "required": [ // "DataSourceFieldName", // "IndexFieldName" // ], // "type": "object" // }, // "maxItems": 100, // "type": "array" // }, // "InclusionPatterns": { // "items": { // "maxLength": 50, // "minLength": 1, // "type": "string" // }, // "maxItems": 100, // "type": "array" // }, // "OrganizationId": { // "maxLength": 12, // "minLength": 12, // "pattern": "d-[0-9a-fA-F]{10}", // "type": "string" // }, // "UseChangeLog": { // "type": "boolean" // } // }, // "required": [ // "OrganizationId" // ], // "type": "object" // } // }, // "type": "object" // } Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "confluence_configuration": { // Property: ConfluenceConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "attachment_configuration": { // Property: AttachmentConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "attachment_field_mappings": { // Property: AttachmentFieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "AUTHOR", "CONTENT_TYPE", "CREATED_DATE", "DISPLAY_URL", "FILE_SIZE", "ITEM_TYPE", "PARENT_ID", "SPACE_KEY", "SPACE_NAME", "URL", "VERSION", }), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 11), }, }, "crawl_attachments": { // Property: CrawlAttachments Type: types.BoolType, Optional: true, }, }, ), Optional: true, }, "blog_configuration": { // Property: BlogConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "blog_field_mappings": { // Property: BlogFieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "AUTHOR", "DISPLAY_URL", "ITEM_TYPE", "LABELS", "PUBLISH_DATE", "SPACE_KEY", "SPACE_NAME", "URL", "VERSION", }), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 9), }, }, }, ), Optional: true, }, "exclusion_patterns": { // Property: ExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "inclusion_patterns": { // Property: InclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "page_configuration": { // Property: PageConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "page_field_mappings": { // Property: PageFieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "AUTHOR", "CONTENT_STATUS", "CREATED_DATE", "DISPLAY_URL", "ITEM_TYPE", "LABELS", "MODIFIED_DATE", "PARENT_ID", "SPACE_KEY", "SPACE_NAME", "URL", "VERSION", }), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 12), }, }, }, ), Optional: true, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "server_url": { // Property: ServerUrl Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), validate.StringMatch(regexp.MustCompile("^(https?|ftp|file)://([^\\s]*)"), ""), }, }, "space_configuration": { // Property: SpaceConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "crawl_archived_spaces": { // Property: CrawlArchivedSpaces Type: types.BoolType, Optional: true, }, "crawl_personal_spaces": { // Property: CrawlPersonalSpaces Type: types.BoolType, Optional: true, }, "exclude_spaces": { // Property: ExcludeSpaces Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtLeast(1), validate.ArrayForEach(validate.StringLenBetween(1, 255)), }, }, "include_spaces": { // Property: IncludeSpaces Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtLeast(1), validate.ArrayForEach(validate.StringLenBetween(1, 255)), }, }, "space_field_mappings": { // Property: SpaceFieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "DISPLAY_URL", "ITEM_TYPE", "SPACE_KEY", "URL", }), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 4), }, }, }, ), Optional: true, }, "version": { // Property: Version Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "CLOUD", "SERVER", }), }, }, "vpc_configuration": { // Property: VpcConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "security_group_ids": { // Property: SecurityGroupIds Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(10), validate.ArrayForEach(validate.StringLenBetween(1, 200)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("[\\-0-9a-zA-Z]+"), "")), }, }, "subnet_ids": { // Property: SubnetIds Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(6), validate.ArrayForEach(validate.StringLenBetween(1, 200)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("[\\-0-9a-zA-Z]+"), "")), }, }, }, ), Optional: true, }, }, ), Optional: true, }, "database_configuration": { // Property: DatabaseConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "acl_configuration": { // Property: AclConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "allowed_groups_column_name": { // Property: AllowedGroupsColumnName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, }, ), Optional: true, }, "column_configuration": { // Property: ColumnConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "change_detecting_columns": { // Property: ChangeDetectingColumns Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 5), validate.ArrayForEach(validate.StringLenBetween(1, 100)), }, }, "document_data_column_name": { // Property: DocumentDataColumnName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_id_column_name": { // Property: DocumentIdColumnName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_column_name": { // Property: DocumentTitleColumnName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, }, ), Required: true, }, "connection_configuration": { // Property: ConnectionConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "database_host": { // Property: DatabaseHost Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 253), }, }, "database_name": { // Property: DatabaseName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "database_port": { // Property: DatabasePort Type: types.Int64Type, Required: true, Validators: []tfsdk.AttributeValidator{ validate.IntBetween(1, 65535), }, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "table_name": { // Property: TableName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, }, ), Required: true, }, "database_engine_type": { // Property: DatabaseEngineType Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "RDS_AURORA_MYSQL", "RDS_AURORA_POSTGRESQL", "RDS_MYSQL", "RDS_POSTGRESQL", }), }, }, "sql_configuration": { // Property: SqlConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "query_identifiers_enclosing_option": { // Property: QueryIdentifiersEnclosingOption Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "DOUBLE_QUOTES", "NONE", }), }, }, }, ), Optional: true, }, "vpc_configuration": { // Property: VpcConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "security_group_ids": { // Property: SecurityGroupIds Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(10), validate.ArrayForEach(validate.StringLenBetween(1, 200)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("[\\-0-9a-zA-Z]+"), "")), }, }, "subnet_ids": { // Property: SubnetIds Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(6), validate.ArrayForEach(validate.StringLenBetween(1, 200)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("[\\-0-9a-zA-Z]+"), "")), }, }, }, ), Optional: true, }, }, ), Optional: true, }, "google_drive_configuration": { // Property: GoogleDriveConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "exclude_mime_types": { // Property: ExcludeMimeTypes Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(0, 30), validate.ArrayForEach(validate.StringLenBetween(1, 256)), }, }, "exclude_shared_drives": { // Property: ExcludeSharedDrives Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(0, 100), validate.ArrayForEach(validate.StringLenBetween(1, 256)), }, }, "exclude_user_accounts": { // Property: ExcludeUserAccounts Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(0, 100), validate.ArrayForEach(validate.StringLenBetween(1, 256)), }, }, "exclusion_patterns": { // Property: ExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "inclusion_patterns": { // Property: InclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, }, ), Optional: true, }, "one_drive_configuration": { // Property: OneDriveConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "disable_local_groups": { // Property: DisableLocalGroups Type: types.BoolType, Optional: true, }, "exclusion_patterns": { // Property: ExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "inclusion_patterns": { // Property: InclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "one_drive_users": { // Property: OneDriveUsers Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "one_drive_user_list": { // Property: OneDriveUserList Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 100), validate.ArrayForEach(validate.StringLenBetween(1, 256)), }, }, "one_drive_user_s3_path": { // Property: OneDriveUserS3Path Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "bucket": { // Property: Bucket Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(3, 63), validate.StringMatch(regexp.MustCompile("[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]"), ""), }, }, "key": { // Property: Key Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1024), }, }, }, ), Optional: true, }, }, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.RequiredAttributes( validate.OneOfRequired( validate.Required( "one_drive_user_list", ), validate.Required( "one_drive_user_s3_path", ), ), ), }, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "tenant_domain": { // Property: TenantDomain Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 256), validate.StringMatch(regexp.MustCompile("^([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\.)+[a-z]{2,}$"), ""), }, }, }, ), Optional: true, }, "s3_configuration": { // Property: S3Configuration Description: "S3 data source configuration", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_control_list_configuration": { // Property: AccessControlListConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "key_path": { // Property: KeyPath Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1024), }, }, }, ), Optional: true, }, "bucket_name": { // Property: BucketName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(3, 63), validate.StringMatch(regexp.MustCompile("[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]"), ""), }, }, "documents_metadata_configuration": { // Property: DocumentsMetadataConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "s3_prefix": { // Property: S3Prefix Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1024), }, }, }, ), Optional: true, }, "exclusion_patterns": { // Property: ExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "inclusion_patterns": { // Property: InclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "inclusion_prefixes": { // Property: InclusionPrefixes Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, }, ), Optional: true, }, "salesforce_configuration": { // Property: SalesforceConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "chatter_feed_configuration": { // Property: ChatterFeedConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "document_data_field_name": { // Property: DocumentDataFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "include_filter_types": { // Property: IncludeFilterTypes Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 2), validate.ArrayForEach(validate.StringInSlice([]string{ "ACTIVE_USER", "STANDARD_USER", })), }, }, }, ), Optional: true, }, "crawl_attachments": { // Property: CrawlAttachments Type: types.BoolType, Optional: true, }, "exclude_attachment_file_patterns": { // Property: ExcludeAttachmentFilePatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "include_attachment_file_patterns": { // Property: IncludeAttachmentFilePatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "knowledge_article_configuration": { // Property: KnowledgeArticleConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "custom_knowledge_article_type_configurations": { // Property: CustomKnowledgeArticleTypeConfigurations Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "document_data_field_name": { // Property: DocumentDataFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "name": { // Property: Name Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 10), }, }, "included_states": { // Property: IncludedStates Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 3), validate.ArrayForEach(validate.StringInSlice([]string{ "DRAFT", "PUBLISHED", "ARCHIVED", })), }, }, "standard_knowledge_article_type_configuration": { // Property: StandardKnowledgeArticleTypeConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "document_data_field_name": { // Property: DocumentDataFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, }, ), Optional: true, }, }, ), Optional: true, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "server_url": { // Property: ServerUrl Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), validate.StringMatch(regexp.MustCompile("^(https?|ftp|file)://([^\\s]*)"), ""), }, }, "standard_object_attachment_configuration": { // Property: StandardObjectAttachmentConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, }, ), Optional: true, }, "standard_object_configurations": { // Property: StandardObjectConfigurations Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "document_data_field_name": { // Property: DocumentDataFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "name": { // Property: Name Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "ACCOUNT", "CAMPAIGN", "CASE", "CONTACT", "CONTRACT", "DOCUMENT", "GROUP", "IDEA", "LEAD", "OPPORTUNITY", "PARTNER", "PRICEBOOK", "PRODUCT", "PROFILE", "SOLUTION", "TASK", "USER", }), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 17), }, }, }, ), Optional: true, }, "service_now_configuration": { // Property: ServiceNowConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "authentication_type": { // Property: AuthenticationType Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "HTTP_BASIC", "OAUTH2", }), }, }, "host_url": { // Property: HostUrl Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, "knowledge_article_configuration": { // Property: KnowledgeArticleConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "crawl_attachments": { // Property: CrawlAttachments Type: types.BoolType, Optional: true, }, "document_data_field_name": { // Property: DocumentDataFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "exclude_attachment_file_patterns": { // Property: ExcludeAttachmentFilePatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "filter_query": { // Property: FilterQuery Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 2048), }, }, "include_attachment_file_patterns": { // Property: IncludeAttachmentFilePatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, }, ), Optional: true, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "service_catalog_configuration": { // Property: ServiceCatalogConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "crawl_attachments": { // Property: CrawlAttachments Type: types.BoolType, Optional: true, }, "document_data_field_name": { // Property: DocumentDataFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "exclude_attachment_file_patterns": { // Property: ExcludeAttachmentFilePatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "include_attachment_file_patterns": { // Property: IncludeAttachmentFilePatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, }, ), Optional: true, }, "service_now_build_version": { // Property: ServiceNowBuildVersion Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "LONDON", "OTHERS", }), }, }, }, ), Optional: true, }, "share_point_configuration": { // Property: SharePointConfiguration Description: "SharePoint configuration", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "crawl_attachments": { // Property: CrawlAttachments Type: types.BoolType, Optional: true, }, "disable_local_groups": { // Property: DisableLocalGroups Type: types.BoolType, Optional: true, }, "document_title_field_name": { // Property: DocumentTitleFieldName Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "exclusion_patterns": { // Property: ExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "inclusion_patterns": { // Property: InclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "secret_arn": { // Property: SecretArn Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "share_point_version": { // Property: SharePointVersion Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "SHAREPOINT_ONLINE", "SHAREPOINT_2013", "SHAREPOINT_2016", }), }, }, "ssl_certificate_s3_path": { // Property: SslCertificateS3Path Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "bucket": { // Property: Bucket Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(3, 63), validate.StringMatch(regexp.MustCompile("[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]"), ""), }, }, "key": { // Property: Key Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1024), }, }, }, ), Optional: true, }, "urls": { // Property: Urls Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 2048)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("^(https?|ftp|file)://([^\\s]*)"), "")), }, }, "use_change_log": { // Property: UseChangeLog Type: types.BoolType, Optional: true, }, "vpc_configuration": { // Property: VpcConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "security_group_ids": { // Property: SecurityGroupIds Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(10), validate.ArrayForEach(validate.StringLenBetween(1, 200)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("[\\-0-9a-zA-Z]+"), "")), }, }, "subnet_ids": { // Property: SubnetIds Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(6), validate.ArrayForEach(validate.StringLenBetween(1, 200)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("[\\-0-9a-zA-Z]+"), "")), }, }, }, ), Optional: true, }, }, ), Optional: true, }, "web_crawler_configuration": { // Property: WebCrawlerConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "authentication_configuration": { // Property: AuthenticationConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "basic_authentication": { // Property: BasicAuthentication Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "credentials": { // Property: Credentials Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "host": { // Property: Host Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 253), validate.StringMatch(regexp.MustCompile("([^\\s]*)"), ""), }, }, "port": { // Property: Port Type: types.Int64Type, Required: true, Validators: []tfsdk.AttributeValidator{ validate.IntBetween(1, 65535), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(10), }, }, }, ), Optional: true, }, "crawl_depth": { // Property: CrawlDepth Type: types.Int64Type, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.IntBetween(1, 10), }, }, "max_content_size_per_page_in_mega_bytes": { // Property: MaxContentSizePerPageInMegaBytes Type: types.Float64Type, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.FloatBetween(0.000000, 50.000000), }, }, "max_links_per_page": { // Property: MaxLinksPerPage Type: types.Int64Type, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.IntBetween(1, 1000), }, }, "max_urls_per_minute_crawl_rate": { // Property: MaxUrlsPerMinuteCrawlRate Type: types.Int64Type, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.IntBetween(1, 300), }, }, "proxy_configuration": { // Property: ProxyConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "credentials": { // Property: Credentials Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "host": { // Property: Host Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 253), validate.StringMatch(regexp.MustCompile("([^\\s]*)"), ""), }, }, "port": { // Property: Port Type: types.Int64Type, Required: true, Validators: []tfsdk.AttributeValidator{ validate.IntBetween(1, 65535), }, }, }, ), Optional: true, }, "url_exclusion_patterns": { // Property: UrlExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "url_inclusion_patterns": { // Property: UrlInclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "urls": { // Property: Urls Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "seed_url_configuration": { // Property: SeedUrlConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "seed_urls": { // Property: SeedUrls Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(0, 100), validate.ArrayForEach(validate.StringLenBetween(1, 2048)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("^(https?)://([^\\s]*)"), "")), }, }, "web_crawler_mode": { // Property: WebCrawlerMode Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "HOST_ONLY", "SUBDOMAINS", "EVERYTHING", }), }, }, }, ), Optional: true, }, "site_maps_configuration": { // Property: SiteMapsConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "site_maps": { // Property: SiteMaps Type: types.ListType{ElemType: types.StringType}, Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(0, 3), validate.ArrayForEach(validate.StringLenBetween(1, 2048)), validate.ArrayForEach(validate.StringMatch(regexp.MustCompile("^(https?):\\/\\/([^\\s]*)"), "")), }, }, }, ), Optional: true, }, }, ), Required: true, }, }, ), Optional: true, }, "work_docs_configuration": { // Property: WorkDocsConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "crawl_comments": { // Property: CrawlComments Type: types.BoolType, Optional: true, }, "exclusion_patterns": { // Property: ExclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "field_mappings": { // Property: FieldMappings Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "data_source_field_name": { // Property: DataSourceFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 100), }, }, "date_field_format": { // Property: DateFieldFormat Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(4, 40), }, }, "index_field_name": { // Property: IndexFieldName Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 30), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), }, }, "inclusion_patterns": { // Property: InclusionPatterns Type: types.ListType{ElemType: types.StringType}, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(100), validate.ArrayForEach(validate.StringLenBetween(1, 50)), }, }, "organization_id": { // Property: OrganizationId Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(12, 12), validate.StringMatch(regexp.MustCompile("d-[0-9a-fA-F]{10}"), ""), }, }, "use_change_log": { // Property: UseChangeLog Type: types.BoolType, Optional: true, }, }, ), Optional: true, }, }, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.RequiredAttributes( validate.OneOfRequired( validate.Required( "s3_configuration", ), validate.Required( "share_point_configuration", ), validate.Required( "salesforce_configuration", ), validate.Required( "one_drive_configuration", ), validate.Required( "service_now_configuration", ), validate.Required( "database_configuration", ), validate.Required( "confluence_configuration", ), validate.Required( "google_drive_configuration", ), validate.Required( "web_crawler_configuration", ), validate.Required( "work_docs_configuration", ), ), ), }, }, "description": { // Property: Description // CloudFormation resource type schema: // { // "description": "Description of data source", // "maxLength": 1000, // "minLength": 1, // "type": "string" // } Description: "Description of data source", Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1000), }, }, "id": { // Property: Id // CloudFormation resource type schema: // { // "description": "ID of data source", // "maxLength": 100, // "minLength": 1, // "type": "string" // } Description: "ID of data source", Type: types.StringType, Computed: true, PlanModifiers: []tfsdk.AttributePlanModifier{ tfsdk.UseStateForUnknown(), }, }, "index_id": { // Property: IndexId // CloudFormation resource type schema: // { // "description": "ID of Index", // "maxLength": 36, // "minLength": 36, // "type": "string" // } Description: "ID of Index", Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(36, 36), }, }, "name": { // Property: Name // CloudFormation resource type schema: // { // "description": "Name of data source", // "maxLength": 1000, // "minLength": 1, // "type": "string" // } Description: "Name of data source", Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1000), }, }, "role_arn": { // Property: RoleArn // CloudFormation resource type schema: // { // "description": "Role ARN", // "maxLength": 1284, // "minLength": 1, // "pattern": "", // "type": "string" // } Description: "Role ARN", Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 1284), }, }, "schedule": { // Property: Schedule // CloudFormation resource type schema: // { // "description": "Schedule", // "maxLength": 1000, // "type": "string" // } Description: "Schedule", Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenAtMost(1000), }, }, "tags": { // Property: Tags // CloudFormation resource type schema: // { // "description": "Tags for labeling the data source", // "items": { // "additionalProperties": false, // "description": "A label for tagging Kendra resources", // "properties": { // "Key": { // "description": "A string used to identify this tag", // "maxLength": 128, // "minLength": 1, // "type": "string" // }, // "Value": { // "description": "A string containing the value for the tag", // "maxLength": 256, // "minLength": 0, // "type": "string" // } // }, // "required": [ // "Key", // "Value" // ], // "type": "object" // }, // "maxItems": 200, // "type": "array" // } Description: "Tags for labeling the data source", Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "key": { // Property: Key Description: "A string used to identify this tag", Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(1, 128), }, }, "value": { // Property: Value Description: "A string containing the value for the tag", Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringLenBetween(0, 256), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenAtMost(200), }, }, "type": { // Property: Type // CloudFormation resource type schema: // { // "description": "Data source type", // "enum": [ // "S3", // "SHAREPOINT", // "SALESFORCE", // "ONEDRIVE", // "SERVICENOW", // "DATABASE", // "CUSTOM", // "CONFLUENCE", // "GOOGLEDRIVE", // "WEBCRAWLER", // "WORKDOCS" // ], // "type": "string" // } Description: "Data source type", Type: types.StringType, Required: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "S3", "SHAREPOINT", "SALESFORCE", "ONEDRIVE", "SERVICENOW", "DATABASE", "CUSTOM", "CONFLUENCE", "GOOGLEDRIVE", "WEBCRAWLER", "WORKDOCS", }), }, PlanModifiers: []tfsdk.AttributePlanModifier{ tfsdk.RequiresReplace(), }, }, } schema := tfsdk.Schema{ Description: "Kendra DataSource", Version: 1, Attributes: attributes, } var opts ResourceTypeOptions opts = opts.WithCloudFormationTypeName("AWS::Kendra::DataSource").WithTerraformTypeName("awscc_kendra_data_source") opts = opts.WithTerraformSchema(schema) opts = opts.WithSyntheticIDAttribute(false) opts = opts.WithAttributeNameMap(map[string]string{ "access_control_list_configuration": "AccessControlListConfiguration", "acl_configuration": "AclConfiguration", "allowed_groups_column_name": "AllowedGroupsColumnName", "arn": "Arn", "attachment_configuration": "AttachmentConfiguration", "attachment_field_mappings": "AttachmentFieldMappings", "authentication_configuration": "AuthenticationConfiguration", "authentication_type": "AuthenticationType", "basic_authentication": "BasicAuthentication", "blog_configuration": "BlogConfiguration", "blog_field_mappings": "BlogFieldMappings", "bucket": "Bucket", "bucket_name": "BucketName", "change_detecting_columns": "ChangeDetectingColumns", "chatter_feed_configuration": "ChatterFeedConfiguration", "column_configuration": "ColumnConfiguration", "condition": "Condition", "condition_document_attribute_key": "ConditionDocumentAttributeKey", "condition_on_value": "ConditionOnValue", "confluence_configuration": "ConfluenceConfiguration", "connection_configuration": "ConnectionConfiguration", "crawl_archived_spaces": "CrawlArchivedSpaces", "crawl_attachments": "CrawlAttachments", "crawl_comments": "CrawlComments", "crawl_depth": "CrawlDepth", "crawl_personal_spaces": "CrawlPersonalSpaces", "credentials": "Credentials", "custom_document_enrichment_configuration": "CustomDocumentEnrichmentConfiguration", "custom_knowledge_article_type_configurations": "CustomKnowledgeArticleTypeConfigurations", "data_source_configuration": "DataSourceConfiguration", "data_source_field_name": "DataSourceFieldName", "database_configuration": "DatabaseConfiguration", "database_engine_type": "DatabaseEngineType", "database_host": "DatabaseHost", "database_name": "DatabaseName", "database_port": "DatabasePort", "date_field_format": "DateFieldFormat", "date_value": "DateValue", "description": "Description", "disable_local_groups": "DisableLocalGroups", "document_content_deletion": "DocumentContentDeletion", "document_data_column_name": "DocumentDataColumnName", "document_data_field_name": "DocumentDataFieldName", "document_id_column_name": "DocumentIdColumnName", "document_title_column_name": "DocumentTitleColumnName", "document_title_field_name": "DocumentTitleFieldName", "documents_metadata_configuration": "DocumentsMetadataConfiguration", "exclude_attachment_file_patterns": "ExcludeAttachmentFilePatterns", "exclude_mime_types": "ExcludeMimeTypes", "exclude_shared_drives": "ExcludeSharedDrives", "exclude_spaces": "ExcludeSpaces", "exclude_user_accounts": "ExcludeUserAccounts", "exclusion_patterns": "ExclusionPatterns", "field_mappings": "FieldMappings", "filter_query": "FilterQuery", "google_drive_configuration": "GoogleDriveConfiguration", "host": "Host", "host_url": "HostUrl", "id": "Id", "include_attachment_file_patterns": "IncludeAttachmentFilePatterns", "include_filter_types": "IncludeFilterTypes", "include_spaces": "IncludeSpaces", "included_states": "IncludedStates", "inclusion_patterns": "InclusionPatterns", "inclusion_prefixes": "InclusionPrefixes", "index_field_name": "IndexFieldName", "index_id": "IndexId", "inline_configurations": "InlineConfigurations", "invocation_condition": "InvocationCondition", "key": "Key", "key_path": "KeyPath", "knowledge_article_configuration": "KnowledgeArticleConfiguration", "lambda_arn": "LambdaArn", "long_value": "LongValue", "max_content_size_per_page_in_mega_bytes": "MaxContentSizePerPageInMegaBytes", "max_links_per_page": "MaxLinksPerPage", "max_urls_per_minute_crawl_rate": "MaxUrlsPerMinuteCrawlRate", "name": "Name", "one_drive_configuration": "OneDriveConfiguration", "one_drive_user_list": "OneDriveUserList", "one_drive_user_s3_path": "OneDriveUserS3Path", "one_drive_users": "OneDriveUsers", "operator": "Operator", "organization_id": "OrganizationId", "page_configuration": "PageConfiguration", "page_field_mappings": "PageFieldMappings", "port": "Port", "post_extraction_hook_configuration": "PostExtractionHookConfiguration", "pre_extraction_hook_configuration": "PreExtractionHookConfiguration", "proxy_configuration": "ProxyConfiguration", "query_identifiers_enclosing_option": "QueryIdentifiersEnclosingOption", "role_arn": "RoleArn", "s3_bucket": "S3Bucket", "s3_configuration": "S3Configuration", "s3_prefix": "S3Prefix", "salesforce_configuration": "SalesforceConfiguration", "schedule": "Schedule", "secret_arn": "SecretArn", "security_group_ids": "SecurityGroupIds", "seed_url_configuration": "SeedUrlConfiguration", "seed_urls": "SeedUrls", "server_url": "ServerUrl", "service_catalog_configuration": "ServiceCatalogConfiguration", "service_now_build_version": "ServiceNowBuildVersion", "service_now_configuration": "ServiceNowConfiguration", "share_point_configuration": "SharePointConfiguration", "share_point_version": "SharePointVersion", "site_maps": "SiteMaps", "site_maps_configuration": "SiteMapsConfiguration", "space_configuration": "SpaceConfiguration", "space_field_mappings": "SpaceFieldMappings", "sql_configuration": "SqlConfiguration", "ssl_certificate_s3_path": "SslCertificateS3Path", "standard_knowledge_article_type_configuration": "StandardKnowledgeArticleTypeConfiguration", "standard_object_attachment_configuration": "StandardObjectAttachmentConfiguration", "standard_object_configurations": "StandardObjectConfigurations", "string_list_value": "StringListValue", "string_value": "StringValue", "subnet_ids": "SubnetIds", "table_name": "TableName", "tags": "Tags", "target": "Target", "target_document_attribute_key": "TargetDocumentAttributeKey", "target_document_attribute_value": "TargetDocumentAttributeValue", "target_document_attribute_value_deletion": "TargetDocumentAttributeValueDeletion", "tenant_domain": "TenantDomain", "type": "Type", "url_exclusion_patterns": "UrlExclusionPatterns", "url_inclusion_patterns": "UrlInclusionPatterns", "urls": "Urls", "use_change_log": "UseChangeLog", "value": "Value", "version": "Version", "vpc_configuration": "VpcConfiguration", "web_crawler_configuration": "WebCrawlerConfiguration", "web_crawler_mode": "WebCrawlerMode", "work_docs_configuration": "WorkDocsConfiguration", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(720) opts = opts.WithUpdateTimeoutInMinutes(0) resourceType, err := NewResourceType(ctx, opts...) if err != nil { return nil, err } return resourceType, nil }