@rio-cloud/cdk-v2-constructs 6.21.1 → 6.22.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/.jsii +1088 -154
  2. package/docs/API.md +1636 -65
  3. package/docs/changelog.md +19 -0
  4. package/lib/contributions/team-claid/aws-glue/csv-table.d.ts +74 -0
  5. package/lib/contributions/team-claid/aws-glue/csv-table.js +64 -0
  6. package/lib/contributions/team-claid/aws-glue/index.d.ts +3 -0
  7. package/lib/contributions/team-claid/aws-glue/index.js +20 -0
  8. package/lib/contributions/team-claid/aws-glue/schema.d.ts +27 -0
  9. package/lib/contributions/team-claid/aws-glue/schema.js +74 -0
  10. package/lib/contributions/team-claid/aws-glue/view-table.d.ts +126 -0
  11. package/lib/contributions/team-claid/aws-glue/view-table.js +142 -0
  12. package/lib/contributions/team-claid/index.d.ts +3 -0
  13. package/lib/contributions/team-claid/index.js +20 -0
  14. package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test.d.ts +2 -2
  15. package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test.js +1 -1
  16. package/lib/index.d.ts +1 -2
  17. package/lib/index.js +2 -3
  18. package/package.json +10 -2
  19. package/version.json +1 -1
  20. package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.d.ts +0 -4
  21. package/lib/contributions/team-transport-two/datadog-synthetics/datadog-synthetics-test-custom-resource/handler.js +0 -101
  22. package/lib/datadogv2/secret-locator-custom-resource/on-create.d.ts +0 -2
  23. package/lib/datadogv2/secret-locator-custom-resource/on-create.js +0 -45
  24. package/lib/datadogv2/service-catalog-custom-resource/on-create.d.ts +0 -12
  25. package/lib/datadogv2/service-catalog-custom-resource/on-create.js +0 -69
  26. package/lib/fargate/codedeploy-custom-resources/create-deployment-is-complete.d.ts +0 -39
  27. package/lib/fargate/codedeploy-custom-resources/create-deployment-is-complete.js +0 -102
  28. package/lib/fargate/codedeploy-custom-resources/create-deployment-on-create.d.ts +0 -10
  29. package/lib/fargate/codedeploy-custom-resources/create-deployment-on-create.js +0 -75
  30. package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.d.ts +0 -1
  31. package/lib/fargate/codedeploy-custom-resources/run-monitoring-test-suite-runner.js +0 -85
  32. package/lib/ses/lambda/ses-logger.d.ts +0 -2
  33. package/lib/ses/lambda/ses-logger.js +0 -28
package/.jsii CHANGED
@@ -3900,7 +3900,7 @@
3900
3900
  "@rio-cloud/cdk-v2-constructs.backup": {
3901
3901
  "locationInModule": {
3902
3902
  "filename": "src/index.ts",
3903
- "line": 39
3903
+ "line": 38
3904
3904
  },
3905
3905
  "symbolId": "src/backup/index:"
3906
3906
  },
@@ -3921,7 +3921,7 @@
3921
3921
  "@rio-cloud/cdk-v2-constructs.ecr": {
3922
3922
  "locationInModule": {
3923
3923
  "filename": "src/index.ts",
3924
- "line": 41
3924
+ "line": 40
3925
3925
  },
3926
3926
  "symbolId": "src/ecr/index:"
3927
3927
  },
@@ -5850,6 +5850,234 @@
5850
5850
  ],
5851
5851
  "symbolId": "src/contributions/cop-frontend/cloudfront/contentSecurityPolicy:CspDirectives"
5852
5852
  },
5853
+ "@rio-cloud/cdk-v2-constructs.CsvColumnDefinition": {
5854
+ "assembly": "@rio-cloud/cdk-v2-constructs",
5855
+ "datatype": true,
5856
+ "docs": {
5857
+ "stability": "stable",
5858
+ "summary": "Column definition for a CSV table."
5859
+ },
5860
+ "fqn": "@rio-cloud/cdk-v2-constructs.CsvColumnDefinition",
5861
+ "kind": "interface",
5862
+ "locationInModule": {
5863
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5864
+ "line": 9
5865
+ },
5866
+ "name": "CsvColumnDefinition",
5867
+ "properties": [
5868
+ {
5869
+ "abstract": true,
5870
+ "docs": {
5871
+ "stability": "stable",
5872
+ "summary": "The type of the column."
5873
+ },
5874
+ "immutable": true,
5875
+ "locationInModule": {
5876
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5877
+ "line": 13
5878
+ },
5879
+ "name": "columnType",
5880
+ "type": {
5881
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
5882
+ }
5883
+ }
5884
+ ],
5885
+ "symbolId": "src/contributions/team-claid/aws-glue/csv-table:CsvColumnDefinition"
5886
+ },
5887
+ "@rio-cloud/cdk-v2-constructs.CsvTable": {
5888
+ "assembly": "@rio-cloud/cdk-v2-constructs",
5889
+ "base": "aws-cdk-lib.aws_glue.CfnTable",
5890
+ "docs": {
5891
+ "remarks": "Sample usage:\n```ts\n new CsvTable(this, 'AccountAllocationsTable', {\n database,\n location: bucket.s3UrlForObject('allocations'),\n name: 'account_allocations',\n columns: {\n account_id: { columnType: Schema.STRING },\n account_name: { columnType: Schema.STRING },\n allocation_principle: { columnType: Schema.STRING },\n comment: { columnType: Schema.STRING },\n },\n });\n```",
5892
+ "stability": "stable",
5893
+ "summary": "A Glue table representing CSV files in S3."
5894
+ },
5895
+ "fqn": "@rio-cloud/cdk-v2-constructs.CsvTable",
5896
+ "initializer": {
5897
+ "docs": {
5898
+ "stability": "stable"
5899
+ },
5900
+ "locationInModule": {
5901
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5902
+ "line": 83
5903
+ },
5904
+ "parameters": [
5905
+ {
5906
+ "name": "scope",
5907
+ "type": {
5908
+ "fqn": "constructs.Construct"
5909
+ }
5910
+ },
5911
+ {
5912
+ "name": "id",
5913
+ "type": {
5914
+ "primitive": "string"
5915
+ }
5916
+ },
5917
+ {
5918
+ "name": "props",
5919
+ "type": {
5920
+ "fqn": "@rio-cloud/cdk-v2-constructs.CsvTableProps"
5921
+ }
5922
+ }
5923
+ ]
5924
+ },
5925
+ "kind": "class",
5926
+ "locationInModule": {
5927
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5928
+ "line": 82
5929
+ },
5930
+ "name": "CsvTable",
5931
+ "symbolId": "src/contributions/team-claid/aws-glue/csv-table:CsvTable"
5932
+ },
5933
+ "@rio-cloud/cdk-v2-constructs.CsvTableProps": {
5934
+ "assembly": "@rio-cloud/cdk-v2-constructs",
5935
+ "datatype": true,
5936
+ "docs": {
5937
+ "stability": "stable",
5938
+ "summary": "Properties for creating a CSV table."
5939
+ },
5940
+ "fqn": "@rio-cloud/cdk-v2-constructs.CsvTableProps",
5941
+ "kind": "interface",
5942
+ "locationInModule": {
5943
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5944
+ "line": 19
5945
+ },
5946
+ "name": "CsvTableProps",
5947
+ "properties": [
5948
+ {
5949
+ "abstract": true,
5950
+ "docs": {
5951
+ "stability": "stable",
5952
+ "summary": "The column as defined in the CSV files."
5953
+ },
5954
+ "immutable": true,
5955
+ "locationInModule": {
5956
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5957
+ "line": 40
5958
+ },
5959
+ "name": "columns",
5960
+ "type": {
5961
+ "collection": {
5962
+ "elementtype": {
5963
+ "fqn": "@rio-cloud/cdk-v2-constructs.CsvColumnDefinition"
5964
+ },
5965
+ "kind": "map"
5966
+ }
5967
+ }
5968
+ },
5969
+ {
5970
+ "abstract": true,
5971
+ "docs": {
5972
+ "stability": "stable",
5973
+ "summary": "The Glue database where the table will be created."
5974
+ },
5975
+ "immutable": true,
5976
+ "locationInModule": {
5977
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5978
+ "line": 23
5979
+ },
5980
+ "name": "database",
5981
+ "type": {
5982
+ "fqn": "aws-cdk-lib.aws_glue.CfnDatabase"
5983
+ }
5984
+ },
5985
+ {
5986
+ "abstract": true,
5987
+ "docs": {
5988
+ "stability": "stable",
5989
+ "summary": "The s3 location containing the CSV files."
5990
+ },
5991
+ "immutable": true,
5992
+ "locationInModule": {
5993
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
5994
+ "line": 28
5995
+ },
5996
+ "name": "location",
5997
+ "type": {
5998
+ "primitive": "string"
5999
+ }
6000
+ },
6001
+ {
6002
+ "abstract": true,
6003
+ "docs": {
6004
+ "default": "';'",
6005
+ "stability": "stable",
6006
+ "summary": "The delimiter used in the CSV files."
6007
+ },
6008
+ "immutable": true,
6009
+ "locationInModule": {
6010
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
6011
+ "line": 47
6012
+ },
6013
+ "name": "delimiter",
6014
+ "optional": true,
6015
+ "type": {
6016
+ "primitive": "string"
6017
+ }
6018
+ },
6019
+ {
6020
+ "abstract": true,
6021
+ "docs": {
6022
+ "default": "- generated by CDK",
6023
+ "stability": "stable",
6024
+ "summary": "The name of the table."
6025
+ },
6026
+ "immutable": true,
6027
+ "locationInModule": {
6028
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
6029
+ "line": 35
6030
+ },
6031
+ "name": "name",
6032
+ "optional": true,
6033
+ "type": {
6034
+ "primitive": "string"
6035
+ }
6036
+ },
6037
+ {
6038
+ "abstract": true,
6039
+ "docs": {
6040
+ "see": "https://docs.aws.amazon.com/athena/latest/ug/lazy-simple-serde.html",
6041
+ "stability": "stable",
6042
+ "summary": "Additional parameters for the LazySimpleSerDe."
6043
+ },
6044
+ "immutable": true,
6045
+ "locationInModule": {
6046
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
6047
+ "line": 61
6048
+ },
6049
+ "name": "serdeParameterOverrides",
6050
+ "optional": true,
6051
+ "type": {
6052
+ "collection": {
6053
+ "elementtype": {
6054
+ "primitive": "string"
6055
+ },
6056
+ "kind": "map"
6057
+ }
6058
+ }
6059
+ },
6060
+ {
6061
+ "abstract": true,
6062
+ "docs": {
6063
+ "default": "true",
6064
+ "stability": "stable",
6065
+ "summary": "Whether the CSV file has a header line."
6066
+ },
6067
+ "immutable": true,
6068
+ "locationInModule": {
6069
+ "filename": "src/contributions/team-claid/aws-glue/csv-table.ts",
6070
+ "line": 54
6071
+ },
6072
+ "name": "skipHeaderLine",
6073
+ "optional": true,
6074
+ "type": {
6075
+ "primitive": "boolean"
6076
+ }
6077
+ }
6078
+ ],
6079
+ "symbolId": "src/contributions/team-claid/aws-glue/csv-table:CsvTableProps"
6080
+ },
5853
6081
  "@rio-cloud/cdk-v2-constructs.DataDogLogAlarm": {
5854
6082
  "assembly": "@rio-cloud/cdk-v2-constructs",
5855
6083
  "base": "constructs.Construct",
@@ -7625,6 +7853,55 @@
7625
7853
  "name": "IAppStackFactory",
7626
7854
  "symbolId": "src/contributions/team-transport-two/pipeline/pipeline-stack:IAppStackFactory"
7627
7855
  },
7856
+ "@rio-cloud/cdk-v2-constructs.IType": {
7857
+ "assembly": "@rio-cloud/cdk-v2-constructs",
7858
+ "docs": {
7859
+ "stability": "stable",
7860
+ "summary": "Helper type to define schema types from AWS Glue And Presto."
7861
+ },
7862
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType",
7863
+ "kind": "interface",
7864
+ "locationInModule": {
7865
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
7866
+ "line": 4
7867
+ },
7868
+ "methods": [
7869
+ {
7870
+ "abstract": true,
7871
+ "docs": {
7872
+ "stability": "stable"
7873
+ },
7874
+ "locationInModule": {
7875
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
7876
+ "line": 5
7877
+ },
7878
+ "name": "asGlueType",
7879
+ "returns": {
7880
+ "type": {
7881
+ "primitive": "string"
7882
+ }
7883
+ }
7884
+ },
7885
+ {
7886
+ "abstract": true,
7887
+ "docs": {
7888
+ "stability": "stable"
7889
+ },
7890
+ "locationInModule": {
7891
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
7892
+ "line": 6
7893
+ },
7894
+ "name": "asPrestoType",
7895
+ "returns": {
7896
+ "type": {
7897
+ "primitive": "string"
7898
+ }
7899
+ }
7900
+ }
7901
+ ],
7902
+ "name": "IType",
7903
+ "symbolId": "src/contributions/team-claid/aws-glue/schema:IType"
7904
+ },
7628
7905
  "@rio-cloud/cdk-v2-constructs.IWatchful": {
7629
7906
  "assembly": "@rio-cloud/cdk-v2-constructs",
7630
7907
  "docs": {
@@ -11752,65 +12029,124 @@
11752
12029
  ],
11753
12030
  "symbolId": "src/contributions/smart-route/gitlab-runner/runner-roles:RunnerRoles"
11754
12031
  },
11755
- "@rio-cloud/cdk-v2-constructs.SesObservability": {
12032
+ "@rio-cloud/cdk-v2-constructs.Schema": {
11756
12033
  "assembly": "@rio-cloud/cdk-v2-constructs",
11757
- "base": "constructs.Construct",
11758
12034
  "docs": {
11759
- "remarks": "This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).\n\n# Warning\nThis construct results in logging all sent emails including the recipient address into CloudWatch logs.\nAs this is considered **PII**, this information MUST be handled accordingly.\nIn particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.\n\n# Usage\n## Default Configuration Set for Identity\n\n```typescript\nconst rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})\nconst identity = new EmailIdentity(this, 'EmailIdentity', {\n identity: Identity.domain('example.com'),\n configurationSet: rioSesObservability.configurationSet,\n});\n```\n\n## Specifically using the configuration set per request\n\nThis is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).\nThe configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.\nThus, you can easily make it available as environment variable in your code.\n\n```kotlin\nimport com.amazonaws.services.simpleemail.model.SendEmailRequest\n\nval request = SendEmailRequest()\n .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)\n ...\n```\n\n## Automated event processing\n\nIf you have specific needs for which you'd like to process the SNS events directly\n(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.\nTo enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.\n\n# Notes\n## Add necessary permissions for fargate task to enable using ses configuration set\nMake sure you have the following permissions in the task role of the fargate task, e.g.:\n```typescript\n service.taskDefinition.taskRole.addToPrincipalPolicy(\n new iam.PolicyStatement({\n actions: ['ses:sendEmail', 'ses:sendRawEmail'],\n resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],\n }));\n```\n\n## Watchful\nIt might be helpful to add watchful to your stack to\nget notified if the ses-logger lambda fails.",
11760
12035
  "stability": "stable",
11761
- "summary": "RioSesObservability."
12036
+ "summary": "Helper class to define schema types supported by AWS Glue And Presto."
11762
12037
  },
11763
- "fqn": "@rio-cloud/cdk-v2-constructs.SesObservability",
12038
+ "fqn": "@rio-cloud/cdk-v2-constructs.Schema",
11764
12039
  "initializer": {
11765
12040
  "docs": {
11766
12041
  "stability": "stable"
11767
- },
11768
- "locationInModule": {
11769
- "filename": "src/ses/ses-observability.ts",
11770
- "line": 90
11771
- },
11772
- "parameters": [
11773
- {
11774
- "name": "scope",
11775
- "type": {
11776
- "fqn": "constructs.Construct"
11777
- }
11778
- },
11779
- {
11780
- "name": "id",
11781
- "type": {
11782
- "primitive": "string"
11783
- }
11784
- },
11785
- {
11786
- "name": "props",
11787
- "type": {
11788
- "fqn": "@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps"
11789
- }
11790
- }
11791
- ]
12042
+ }
11792
12043
  },
11793
12044
  "kind": "class",
11794
12045
  "locationInModule": {
11795
- "filename": "src/ses/ses-observability.ts",
11796
- "line": 83
12046
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12047
+ "line": 44
11797
12048
  },
11798
- "name": "SesObservability",
11799
- "properties": [
12049
+ "methods": [
11800
12050
  {
11801
- "const": true,
11802
12051
  "docs": {
11803
12052
  "stability": "stable"
11804
12053
  },
11805
- "immutable": true,
11806
12054
  "locationInModule": {
11807
- "filename": "src/ses/ses-observability.ts",
11808
- "line": 85
12055
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12056
+ "line": 59
11809
12057
  },
11810
- "name": "CONFIGURATION_SET_NAME_SSM_PARAMETER",
12058
+ "name": "arrayType",
12059
+ "parameters": [
12060
+ {
12061
+ "name": "elementType",
12062
+ "type": {
12063
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12064
+ }
12065
+ }
12066
+ ],
12067
+ "returns": {
12068
+ "type": {
12069
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12070
+ }
12071
+ },
12072
+ "static": true
12073
+ },
12074
+ {
12075
+ "docs": {
12076
+ "stability": "stable"
12077
+ },
12078
+ "locationInModule": {
12079
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12080
+ "line": 58
12081
+ },
12082
+ "name": "mapType",
12083
+ "parameters": [
12084
+ {
12085
+ "name": "keyType",
12086
+ "type": {
12087
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12088
+ }
12089
+ },
12090
+ {
12091
+ "name": "valueType",
12092
+ "type": {
12093
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12094
+ }
12095
+ }
12096
+ ],
12097
+ "returns": {
12098
+ "type": {
12099
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12100
+ }
12101
+ },
12102
+ "static": true
12103
+ },
12104
+ {
12105
+ "docs": {
12106
+ "stability": "stable"
12107
+ },
12108
+ "locationInModule": {
12109
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12110
+ "line": 65
12111
+ },
12112
+ "name": "structType",
12113
+ "parameters": [
12114
+ {
12115
+ "name": "columns",
12116
+ "type": {
12117
+ "collection": {
12118
+ "elementtype": {
12119
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12120
+ },
12121
+ "kind": "map"
12122
+ }
12123
+ }
12124
+ }
12125
+ ],
12126
+ "returns": {
12127
+ "type": {
12128
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12129
+ }
12130
+ },
12131
+ "static": true
12132
+ }
12133
+ ],
12134
+ "name": "Schema",
12135
+ "properties": [
12136
+ {
12137
+ "const": true,
12138
+ "docs": {
12139
+ "stability": "stable"
12140
+ },
12141
+ "immutable": true,
12142
+ "locationInModule": {
12143
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12144
+ "line": 48
12145
+ },
12146
+ "name": "BIGINT",
11811
12147
  "static": true,
11812
12148
  "type": {
11813
- "primitive": "string"
12149
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11814
12150
  }
11815
12151
  },
11816
12152
  {
@@ -11820,196 +12156,194 @@
11820
12156
  },
11821
12157
  "immutable": true,
11822
12158
  "locationInModule": {
11823
- "filename": "src/ses/ses-observability.ts",
11824
- "line": 86
12159
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12160
+ "line": 54
11825
12161
  },
11826
- "name": "SNS_TOPIC_ARN_EXPORT_NAME",
12162
+ "name": "BOOLEAN",
11827
12163
  "static": true,
11828
12164
  "type": {
11829
- "primitive": "string"
12165
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11830
12166
  }
11831
12167
  },
11832
12168
  {
12169
+ "const": true,
11833
12170
  "docs": {
11834
12171
  "stability": "stable"
11835
12172
  },
11836
12173
  "immutable": true,
11837
12174
  "locationInModule": {
11838
- "filename": "src/ses/ses-observability.ts",
11839
- "line": 88
12175
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12176
+ "line": 45
11840
12177
  },
11841
- "name": "configurationSet",
12178
+ "name": "BYTE",
12179
+ "static": true,
11842
12180
  "type": {
11843
- "fqn": "aws-cdk-lib.aws_ses.ConfigurationSet"
12181
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11844
12182
  }
11845
12183
  },
11846
12184
  {
12185
+ "const": true,
11847
12186
  "docs": {
11848
12187
  "stability": "stable"
11849
12188
  },
11850
12189
  "immutable": true,
11851
12190
  "locationInModule": {
11852
- "filename": "src/ses/ses-observability.ts",
11853
- "line": 87
12191
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12192
+ "line": 56
11854
12193
  },
11855
- "name": "snsTopic",
12194
+ "name": "DATE",
12195
+ "static": true,
11856
12196
  "type": {
11857
- "fqn": "aws-cdk-lib.aws_sns.Topic"
12197
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11858
12198
  }
11859
- }
11860
- ],
11861
- "symbolId": "src/ses/ses-observability:SesObservability"
11862
- },
11863
- "@rio-cloud/cdk-v2-constructs.SesObservabilityProps": {
11864
- "assembly": "@rio-cloud/cdk-v2-constructs",
11865
- "datatype": true,
11866
- "docs": {
11867
- "stability": "stable"
11868
- },
11869
- "fqn": "@rio-cloud/cdk-v2-constructs.SesObservabilityProps",
11870
- "kind": "interface",
11871
- "locationInModule": {
11872
- "filename": "src/ses/ses-observability.ts",
11873
- "line": 18
11874
- },
11875
- "name": "SesObservabilityProps",
11876
- "properties": [
12199
+ },
11877
12200
  {
11878
- "abstract": true,
12201
+ "const": true,
11879
12202
  "docs": {
11880
- "default": "[EmailSendingEvent.DELIVERY, EmailSendingEvent.BOUNCE, EmailSendingEvent.COMPLAINT, EmailSendingEvent.REJECT]",
11881
- "stability": "stable",
11882
- "summary": "The SES events to log."
12203
+ "stability": "stable"
11883
12204
  },
11884
12205
  "immutable": true,
11885
12206
  "locationInModule": {
11886
- "filename": "src/ses/ses-observability.ts",
11887
- "line": 24
12207
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12208
+ "line": 52
11888
12209
  },
11889
- "name": "loggedSesEvents",
11890
- "optional": true,
12210
+ "name": "DECIMAL",
12211
+ "static": true,
11891
12212
  "type": {
11892
- "collection": {
11893
- "elementtype": {
11894
- "fqn": "aws-cdk-lib.aws_ses.EmailSendingEvent"
11895
- },
11896
- "kind": "array"
11897
- }
12213
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11898
12214
  }
11899
- }
11900
- ],
11901
- "symbolId": "src/ses/ses-observability:SesObservabilityProps"
11902
- },
11903
- "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdProps": {
11904
- "assembly": "@rio-cloud/cdk-v2-constructs",
11905
- "datatype": true,
11906
- "docs": {
11907
- "stability": "stable"
11908
- },
11909
- "fqn": "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdProps",
11910
- "kind": "interface",
11911
- "locationInModule": {
11912
- "filename": "src/watchful/watchful.ts",
11913
- "line": 77
11914
- },
11915
- "name": "ShouldOverrideThresholdProps",
11916
- "properties": [
12215
+ },
11917
12216
  {
11918
- "abstract": true,
12217
+ "const": true,
11919
12218
  "docs": {
11920
12219
  "stability": "stable"
11921
12220
  },
11922
12221
  "immutable": true,
11923
12222
  "locationInModule": {
11924
- "filename": "src/watchful/watchful.ts",
11925
- "line": 78
12223
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12224
+ "line": 51
11926
12225
  },
11927
- "name": "watchfulMonitorScope",
12226
+ "name": "DOUBLE",
12227
+ "static": true,
11928
12228
  "type": {
11929
- "fqn": "constructs.Construct"
12229
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11930
12230
  }
11931
12231
  },
11932
12232
  {
11933
- "abstract": true,
12233
+ "const": true,
11934
12234
  "docs": {
11935
12235
  "stability": "stable"
11936
12236
  },
11937
12237
  "immutable": true,
11938
12238
  "locationInModule": {
11939
- "filename": "src/watchful/watchful.ts",
11940
- "line": 79
12239
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12240
+ "line": 50
11941
12241
  },
11942
- "name": "watchfulNodeId",
12242
+ "name": "FLOAT",
12243
+ "static": true,
11943
12244
  "type": {
11944
- "primitive": "string"
12245
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11945
12246
  }
11946
- }
11947
- ],
11948
- "symbolId": "src/watchful/watchful:ShouldOverrideThresholdProps"
11949
- },
11950
- "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdReturnProps": {
11951
- "assembly": "@rio-cloud/cdk-v2-constructs",
11952
- "datatype": true,
11953
- "docs": {
11954
- "stability": "stable"
11955
- },
11956
- "fqn": "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdReturnProps",
11957
- "kind": "interface",
11958
- "locationInModule": {
11959
- "filename": "src/watchful/watchful.ts",
11960
- "line": 82
11961
- },
11962
- "name": "ShouldOverrideThresholdReturnProps",
11963
- "properties": [
12247
+ },
11964
12248
  {
11965
- "abstract": true,
12249
+ "const": true,
11966
12250
  "docs": {
11967
12251
  "stability": "stable"
11968
12252
  },
11969
12253
  "immutable": true,
11970
12254
  "locationInModule": {
11971
- "filename": "src/watchful/watchful.ts",
11972
- "line": 83
12255
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12256
+ "line": 47
11973
12257
  },
11974
- "name": "shouldOverrideThreshold",
12258
+ "name": "INTEGER",
12259
+ "static": true,
11975
12260
  "type": {
11976
- "primitive": "boolean"
12261
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11977
12262
  }
11978
12263
  },
11979
12264
  {
11980
- "abstract": true,
12265
+ "const": true,
11981
12266
  "docs": {
11982
12267
  "stability": "stable"
11983
12268
  },
11984
12269
  "immutable": true,
11985
12270
  "locationInModule": {
11986
- "filename": "src/watchful/watchful.ts",
11987
- "line": 84
12271
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12272
+ "line": 49
11988
12273
  },
11989
- "name": "threshold",
11990
- "optional": true,
12274
+ "name": "LONG",
12275
+ "static": true,
11991
12276
  "type": {
11992
- "primitive": "number"
12277
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12278
+ }
12279
+ },
12280
+ {
12281
+ "const": true,
12282
+ "docs": {
12283
+ "stability": "stable"
12284
+ },
12285
+ "immutable": true,
12286
+ "locationInModule": {
12287
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12288
+ "line": 46
12289
+ },
12290
+ "name": "SHORT",
12291
+ "static": true,
12292
+ "type": {
12293
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12294
+ }
12295
+ },
12296
+ {
12297
+ "const": true,
12298
+ "docs": {
12299
+ "stability": "stable"
12300
+ },
12301
+ "immutable": true,
12302
+ "locationInModule": {
12303
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12304
+ "line": 53
12305
+ },
12306
+ "name": "STRING",
12307
+ "static": true,
12308
+ "type": {
12309
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12310
+ }
12311
+ },
12312
+ {
12313
+ "const": true,
12314
+ "docs": {
12315
+ "stability": "stable"
12316
+ },
12317
+ "immutable": true,
12318
+ "locationInModule": {
12319
+ "filename": "src/contributions/team-claid/aws-glue/schema.ts",
12320
+ "line": 55
12321
+ },
12322
+ "name": "TIMESTAMP",
12323
+ "static": true,
12324
+ "type": {
12325
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
11993
12326
  }
11994
12327
  }
11995
12328
  ],
11996
- "symbolId": "src/watchful/watchful:ShouldOverrideThresholdReturnProps"
12329
+ "symbolId": "src/contributions/team-claid/aws-glue/schema:Schema"
11997
12330
  },
11998
- "@rio-cloud/cdk-v2-constructs.SpotServiceLinkedRole": {
12331
+ "@rio-cloud/cdk-v2-constructs.SesObservability": {
11999
12332
  "assembly": "@rio-cloud/cdk-v2-constructs",
12000
12333
  "base": "constructs.Construct",
12001
12334
  "docs": {
12335
+ "remarks": "This construct sets up observability for SES as defined by [ADR - SES domain reputation observability](https://confluence.collaboration-man.com/display/MAN/ADR+-+SES+domain+reputation+observability).\n\n# Warning\nThis construct results in logging all sent emails including the recipient address into CloudWatch logs.\nAs this is considered **PII**, this information MUST be handled accordingly.\nIn particular, logs **MUST NOT** be sent to further third party services (e.g. Datadog) and the retention period for logs **MUST NOT** be extended.\n\n# Usage\n## Default Configuration Set for Identity\n\n```typescript\nconst rioSesObservability = new RioSesObservability(this, 'ConfigurationSet', {})\nconst identity = new EmailIdentity(this, 'EmailIdentity', {\n identity: Identity.domain('example.com'),\n configurationSet: rioSesObservability.configurationSet,\n});\n```\n\n## Specifically using the configuration set per request\n\nThis is ideal if you want to try out the construct first one some specific emails (e.g. during initial migration).\nThe configuration set name is exported as an SSM parameter `/rio/config/ses-observability/configuration-set-name`.\nThus, you can easily make it available as environment variable in your code.\n\n```kotlin\nimport com.amazonaws.services.simpleemail.model.SendEmailRequest\n\nval request = SendEmailRequest()\n .withConfigurationSetName(SSM_CONFIGURATION_SSM_PARAMETER_VALUE)\n ...\n```\n\n## Automated event processing\n\nIf you have specific needs for which you'd like to process the SNS events directly\n(e.g. automatically creating a suppression list from bounces), you can subscribe to the SNS topic.\nTo enable this the SNS topic ARN is exported via Cloudformation as `RioSesObservabilityTopicArn`.\n\n# Notes\n## Add necessary permissions for fargate task to enable using ses configuration set\nMake sure you have the following permissions in the task role of the fargate task, e.g.:\n```typescript\n service.taskDefinition.taskRole.addToPrincipalPolicy(\n new iam.PolicyStatement({\n actions: ['ses:sendEmail', 'ses:sendRawEmail'],\n resources: [`arn:aws:ses:<your_region>:<your_account>:configuration-set/<your_configuration_set_name>`],\n }));\n```\n\n## Watchful\nIt might be helpful to add watchful to your stack to\nget notified if the ses-logger lambda fails.",
12002
12336
  "stability": "stable",
12003
- "summary": "The construct creates a service linked role required to run GitLab Runners using Spot EC2 instances."
12337
+ "summary": "RioSesObservability."
12004
12338
  },
12005
- "fqn": "@rio-cloud/cdk-v2-constructs.SpotServiceLinkedRole",
12339
+ "fqn": "@rio-cloud/cdk-v2-constructs.SesObservability",
12006
12340
  "initializer": {
12007
12341
  "docs": {
12008
12342
  "stability": "stable"
12009
12343
  },
12010
12344
  "locationInModule": {
12011
- "filename": "src/contributions/smart-route/gitlab-runner/spot-role.ts",
12012
- "line": 9
12345
+ "filename": "src/ses/ses-observability.ts",
12346
+ "line": 90
12013
12347
  },
12014
12348
  "parameters": [
12015
12349
  {
@@ -12023,10 +12357,252 @@
12023
12357
  "type": {
12024
12358
  "primitive": "string"
12025
12359
  }
12026
- }
12027
- ]
12028
- },
12029
- "kind": "class",
12360
+ },
12361
+ {
12362
+ "name": "props",
12363
+ "type": {
12364
+ "fqn": "@rio-cloud/cdk-v2-constructs.ses.SesObservabilityProps"
12365
+ }
12366
+ }
12367
+ ]
12368
+ },
12369
+ "kind": "class",
12370
+ "locationInModule": {
12371
+ "filename": "src/ses/ses-observability.ts",
12372
+ "line": 83
12373
+ },
12374
+ "name": "SesObservability",
12375
+ "properties": [
12376
+ {
12377
+ "const": true,
12378
+ "docs": {
12379
+ "stability": "stable"
12380
+ },
12381
+ "immutable": true,
12382
+ "locationInModule": {
12383
+ "filename": "src/ses/ses-observability.ts",
12384
+ "line": 85
12385
+ },
12386
+ "name": "CONFIGURATION_SET_NAME_SSM_PARAMETER",
12387
+ "static": true,
12388
+ "type": {
12389
+ "primitive": "string"
12390
+ }
12391
+ },
12392
+ {
12393
+ "const": true,
12394
+ "docs": {
12395
+ "stability": "stable"
12396
+ },
12397
+ "immutable": true,
12398
+ "locationInModule": {
12399
+ "filename": "src/ses/ses-observability.ts",
12400
+ "line": 86
12401
+ },
12402
+ "name": "SNS_TOPIC_ARN_EXPORT_NAME",
12403
+ "static": true,
12404
+ "type": {
12405
+ "primitive": "string"
12406
+ }
12407
+ },
12408
+ {
12409
+ "docs": {
12410
+ "stability": "stable"
12411
+ },
12412
+ "immutable": true,
12413
+ "locationInModule": {
12414
+ "filename": "src/ses/ses-observability.ts",
12415
+ "line": 88
12416
+ },
12417
+ "name": "configurationSet",
12418
+ "type": {
12419
+ "fqn": "aws-cdk-lib.aws_ses.ConfigurationSet"
12420
+ }
12421
+ },
12422
+ {
12423
+ "docs": {
12424
+ "stability": "stable"
12425
+ },
12426
+ "immutable": true,
12427
+ "locationInModule": {
12428
+ "filename": "src/ses/ses-observability.ts",
12429
+ "line": 87
12430
+ },
12431
+ "name": "snsTopic",
12432
+ "type": {
12433
+ "fqn": "aws-cdk-lib.aws_sns.Topic"
12434
+ }
12435
+ }
12436
+ ],
12437
+ "symbolId": "src/ses/ses-observability:SesObservability"
12438
+ },
12439
+ "@rio-cloud/cdk-v2-constructs.SesObservabilityProps": {
12440
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12441
+ "datatype": true,
12442
+ "docs": {
12443
+ "stability": "stable"
12444
+ },
12445
+ "fqn": "@rio-cloud/cdk-v2-constructs.SesObservabilityProps",
12446
+ "kind": "interface",
12447
+ "locationInModule": {
12448
+ "filename": "src/ses/ses-observability.ts",
12449
+ "line": 18
12450
+ },
12451
+ "name": "SesObservabilityProps",
12452
+ "properties": [
12453
+ {
12454
+ "abstract": true,
12455
+ "docs": {
12456
+ "default": "[EmailSendingEvent.DELIVERY, EmailSendingEvent.BOUNCE, EmailSendingEvent.COMPLAINT, EmailSendingEvent.REJECT]",
12457
+ "stability": "stable",
12458
+ "summary": "The SES events to log."
12459
+ },
12460
+ "immutable": true,
12461
+ "locationInModule": {
12462
+ "filename": "src/ses/ses-observability.ts",
12463
+ "line": 24
12464
+ },
12465
+ "name": "loggedSesEvents",
12466
+ "optional": true,
12467
+ "type": {
12468
+ "collection": {
12469
+ "elementtype": {
12470
+ "fqn": "aws-cdk-lib.aws_ses.EmailSendingEvent"
12471
+ },
12472
+ "kind": "array"
12473
+ }
12474
+ }
12475
+ }
12476
+ ],
12477
+ "symbolId": "src/ses/ses-observability:SesObservabilityProps"
12478
+ },
12479
+ "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdProps": {
12480
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12481
+ "datatype": true,
12482
+ "docs": {
12483
+ "stability": "stable"
12484
+ },
12485
+ "fqn": "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdProps",
12486
+ "kind": "interface",
12487
+ "locationInModule": {
12488
+ "filename": "src/watchful/watchful.ts",
12489
+ "line": 77
12490
+ },
12491
+ "name": "ShouldOverrideThresholdProps",
12492
+ "properties": [
12493
+ {
12494
+ "abstract": true,
12495
+ "docs": {
12496
+ "stability": "stable"
12497
+ },
12498
+ "immutable": true,
12499
+ "locationInModule": {
12500
+ "filename": "src/watchful/watchful.ts",
12501
+ "line": 78
12502
+ },
12503
+ "name": "watchfulMonitorScope",
12504
+ "type": {
12505
+ "fqn": "constructs.Construct"
12506
+ }
12507
+ },
12508
+ {
12509
+ "abstract": true,
12510
+ "docs": {
12511
+ "stability": "stable"
12512
+ },
12513
+ "immutable": true,
12514
+ "locationInModule": {
12515
+ "filename": "src/watchful/watchful.ts",
12516
+ "line": 79
12517
+ },
12518
+ "name": "watchfulNodeId",
12519
+ "type": {
12520
+ "primitive": "string"
12521
+ }
12522
+ }
12523
+ ],
12524
+ "symbolId": "src/watchful/watchful:ShouldOverrideThresholdProps"
12525
+ },
12526
+ "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdReturnProps": {
12527
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12528
+ "datatype": true,
12529
+ "docs": {
12530
+ "stability": "stable"
12531
+ },
12532
+ "fqn": "@rio-cloud/cdk-v2-constructs.ShouldOverrideThresholdReturnProps",
12533
+ "kind": "interface",
12534
+ "locationInModule": {
12535
+ "filename": "src/watchful/watchful.ts",
12536
+ "line": 82
12537
+ },
12538
+ "name": "ShouldOverrideThresholdReturnProps",
12539
+ "properties": [
12540
+ {
12541
+ "abstract": true,
12542
+ "docs": {
12543
+ "stability": "stable"
12544
+ },
12545
+ "immutable": true,
12546
+ "locationInModule": {
12547
+ "filename": "src/watchful/watchful.ts",
12548
+ "line": 83
12549
+ },
12550
+ "name": "shouldOverrideThreshold",
12551
+ "type": {
12552
+ "primitive": "boolean"
12553
+ }
12554
+ },
12555
+ {
12556
+ "abstract": true,
12557
+ "docs": {
12558
+ "stability": "stable"
12559
+ },
12560
+ "immutable": true,
12561
+ "locationInModule": {
12562
+ "filename": "src/watchful/watchful.ts",
12563
+ "line": 84
12564
+ },
12565
+ "name": "threshold",
12566
+ "optional": true,
12567
+ "type": {
12568
+ "primitive": "number"
12569
+ }
12570
+ }
12571
+ ],
12572
+ "symbolId": "src/watchful/watchful:ShouldOverrideThresholdReturnProps"
12573
+ },
12574
+ "@rio-cloud/cdk-v2-constructs.SpotServiceLinkedRole": {
12575
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12576
+ "base": "constructs.Construct",
12577
+ "docs": {
12578
+ "stability": "stable",
12579
+ "summary": "The construct creates a service linked role required to run GitLab Runners using Spot EC2 instances."
12580
+ },
12581
+ "fqn": "@rio-cloud/cdk-v2-constructs.SpotServiceLinkedRole",
12582
+ "initializer": {
12583
+ "docs": {
12584
+ "stability": "stable"
12585
+ },
12586
+ "locationInModule": {
12587
+ "filename": "src/contributions/smart-route/gitlab-runner/spot-role.ts",
12588
+ "line": 9
12589
+ },
12590
+ "parameters": [
12591
+ {
12592
+ "name": "scope",
12593
+ "type": {
12594
+ "fqn": "constructs.Construct"
12595
+ }
12596
+ },
12597
+ {
12598
+ "name": "id",
12599
+ "type": {
12600
+ "primitive": "string"
12601
+ }
12602
+ }
12603
+ ]
12604
+ },
12605
+ "kind": "class",
12030
12606
  "locationInModule": {
12031
12607
  "filename": "src/contributions/smart-route/gitlab-runner/spot-role.ts",
12032
12608
  "line": 8
@@ -12184,6 +12760,364 @@
12184
12760
  ],
12185
12761
  "symbolId": "src/watchful/upperToLower:UpperToLower"
12186
12762
  },
12763
+ "@rio-cloud/cdk-v2-constructs.ViewTable": {
12764
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12765
+ "base": "aws-cdk-lib.Resource",
12766
+ "docs": {
12767
+ "remarks": "Sample usage:\n```ts\nnew ViewTable(this, 'AwsAmortizedCostsView', {\n database: database,\n viewName: 'cur2_with_amortized_costs',\n fromQuery: '\"cid_data_export\".\"cur2\"',\n columns: {\n ...cur2Schema.columns,\n amortized_cost: {\n columnType: Schema.DOUBLE,\n definition: `CASE\n WHEN (line_item_line_item_type = 'SavingsPlanCoveredUsage') THEN savings_plan_net_savings_plan_effective_cost\n WHEN (line_item_line_item_type = 'SavingsPlanRecurringFee') THEN (savings_plan_total_commitment_to_date - savings_plan_used_commitment)\n WHEN (line_item_line_item_type = 'SavingsPlanNegation') THEN 0\n WHEN (line_item_line_item_type = 'SavingsPlanUpfrontFee') THEN 0\n WHEN (line_item_line_item_type = 'EdpDiscount' AND line_item_product_code = 'ComputeSavingsPlans') THEN 0\n WHEN (line_item_line_item_type = 'EdpDiscount' AND line_item_product_code = 'AWSSupportEnterprise') THEN 0\n WHEN (line_item_line_item_type = 'DiscountedUsage') THEN reservation_effective_cost\n WHEN (line_item_line_item_type = 'RIFee') THEN (reservation_unused_amortized_upfront_fee_for_billing_period + reservation_unused_recurring_fee)\n WHEN ((line_item_line_item_type = 'Fee') AND (reservation_reservation_a_r_n <> '')) THEN 0\n ELSE line_item_unblended_cost END`\n }\n }\n});\n```",
12768
+ "see": "https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/aws-glue-alpha",
12769
+ "stability": "stable",
12770
+ "summary": "A representation of a View in Athena, which is actually a Glue Table."
12771
+ },
12772
+ "fqn": "@rio-cloud/cdk-v2-constructs.ViewTable",
12773
+ "initializer": {
12774
+ "docs": {
12775
+ "stability": "stable"
12776
+ },
12777
+ "locationInModule": {
12778
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12779
+ "line": 149
12780
+ },
12781
+ "parameters": [
12782
+ {
12783
+ "name": "scope",
12784
+ "type": {
12785
+ "fqn": "constructs.Construct"
12786
+ }
12787
+ },
12788
+ {
12789
+ "name": "id",
12790
+ "type": {
12791
+ "primitive": "string"
12792
+ }
12793
+ },
12794
+ {
12795
+ "name": "props",
12796
+ "type": {
12797
+ "fqn": "@rio-cloud/cdk-v2-constructs.ViewTableProps"
12798
+ }
12799
+ }
12800
+ ]
12801
+ },
12802
+ "kind": "class",
12803
+ "locationInModule": {
12804
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12805
+ "line": 121
12806
+ },
12807
+ "methods": [
12808
+ {
12809
+ "docs": {
12810
+ "stability": "stable"
12811
+ },
12812
+ "locationInModule": {
12813
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12814
+ "line": 214
12815
+ },
12816
+ "name": "grant",
12817
+ "parameters": [
12818
+ {
12819
+ "name": "grantee",
12820
+ "type": {
12821
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
12822
+ }
12823
+ },
12824
+ {
12825
+ "name": "actions",
12826
+ "type": {
12827
+ "collection": {
12828
+ "elementtype": {
12829
+ "primitive": "string"
12830
+ },
12831
+ "kind": "array"
12832
+ }
12833
+ }
12834
+ }
12835
+ ],
12836
+ "returns": {
12837
+ "type": {
12838
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
12839
+ }
12840
+ }
12841
+ },
12842
+ {
12843
+ "docs": {
12844
+ "stability": "stable"
12845
+ },
12846
+ "locationInModule": {
12847
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12848
+ "line": 234
12849
+ },
12850
+ "name": "grantRead",
12851
+ "parameters": [
12852
+ {
12853
+ "name": "grantee",
12854
+ "type": {
12855
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
12856
+ }
12857
+ }
12858
+ ],
12859
+ "returns": {
12860
+ "type": {
12861
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
12862
+ }
12863
+ }
12864
+ },
12865
+ {
12866
+ "docs": {
12867
+ "stability": "stable"
12868
+ },
12869
+ "locationInModule": {
12870
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12871
+ "line": 240
12872
+ },
12873
+ "name": "grantReadWrite",
12874
+ "parameters": [
12875
+ {
12876
+ "name": "grantee",
12877
+ "type": {
12878
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
12879
+ }
12880
+ }
12881
+ ],
12882
+ "returns": {
12883
+ "type": {
12884
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
12885
+ }
12886
+ }
12887
+ },
12888
+ {
12889
+ "docs": {
12890
+ "stability": "stable"
12891
+ },
12892
+ "locationInModule": {
12893
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12894
+ "line": 222
12895
+ },
12896
+ "name": "grantToUnderlyingResources",
12897
+ "parameters": [
12898
+ {
12899
+ "name": "grantee",
12900
+ "type": {
12901
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
12902
+ }
12903
+ },
12904
+ {
12905
+ "name": "actions",
12906
+ "type": {
12907
+ "collection": {
12908
+ "elementtype": {
12909
+ "primitive": "string"
12910
+ },
12911
+ "kind": "array"
12912
+ }
12913
+ }
12914
+ }
12915
+ ],
12916
+ "returns": {
12917
+ "type": {
12918
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
12919
+ }
12920
+ }
12921
+ },
12922
+ {
12923
+ "docs": {
12924
+ "stability": "stable"
12925
+ },
12926
+ "locationInModule": {
12927
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12928
+ "line": 237
12929
+ },
12930
+ "name": "grantWrite",
12931
+ "parameters": [
12932
+ {
12933
+ "name": "grantee",
12934
+ "type": {
12935
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
12936
+ }
12937
+ }
12938
+ ],
12939
+ "returns": {
12940
+ "type": {
12941
+ "fqn": "aws-cdk-lib.aws_iam.Grant"
12942
+ }
12943
+ }
12944
+ }
12945
+ ],
12946
+ "name": "ViewTable",
12947
+ "symbolId": "src/contributions/team-claid/aws-glue/view-table:ViewTable"
12948
+ },
12949
+ "@rio-cloud/cdk-v2-constructs.ViewTableColumnDefinition": {
12950
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12951
+ "datatype": true,
12952
+ "docs": {
12953
+ "remarks": "Sample:\n```ts\n{\n columnType: Schema.DOUBLE,\n definition: 'price_per_unit * quantity'\n}\n```",
12954
+ "stability": "stable",
12955
+ "summary": "Column definition for a view."
12956
+ },
12957
+ "fqn": "@rio-cloud/cdk-v2-constructs.ViewTableColumnDefinition",
12958
+ "kind": "interface",
12959
+ "locationInModule": {
12960
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12961
+ "line": 18
12962
+ },
12963
+ "name": "ViewTableColumnDefinition",
12964
+ "properties": [
12965
+ {
12966
+ "abstract": true,
12967
+ "docs": {
12968
+ "stability": "stable",
12969
+ "summary": "The type of the column."
12970
+ },
12971
+ "immutable": true,
12972
+ "locationInModule": {
12973
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12974
+ "line": 22
12975
+ },
12976
+ "name": "columnType",
12977
+ "type": {
12978
+ "fqn": "@rio-cloud/cdk-v2-constructs.IType"
12979
+ }
12980
+ },
12981
+ {
12982
+ "abstract": true,
12983
+ "docs": {
12984
+ "remarks": "As example for just renaming a column the definition would be `old_column_name` but also more complex SQL statements are possible.",
12985
+ "stability": "stable",
12986
+ "summary": "If the column is a derived column, this is the SQL definition."
12987
+ },
12988
+ "immutable": true,
12989
+ "locationInModule": {
12990
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
12991
+ "line": 29
12992
+ },
12993
+ "name": "definition",
12994
+ "optional": true,
12995
+ "type": {
12996
+ "primitive": "string"
12997
+ }
12998
+ }
12999
+ ],
13000
+ "symbolId": "src/contributions/team-claid/aws-glue/view-table:ViewTableColumnDefinition"
13001
+ },
13002
+ "@rio-cloud/cdk-v2-constructs.ViewTableProps": {
13003
+ "assembly": "@rio-cloud/cdk-v2-constructs",
13004
+ "datatype": true,
13005
+ "docs": {
13006
+ "stability": "stable"
13007
+ },
13008
+ "fqn": "@rio-cloud/cdk-v2-constructs.ViewTableProps",
13009
+ "kind": "interface",
13010
+ "locationInModule": {
13011
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
13012
+ "line": 32
13013
+ },
13014
+ "name": "ViewTableProps",
13015
+ "properties": [
13016
+ {
13017
+ "abstract": true,
13018
+ "docs": {
13019
+ "remarks": "Sample:\n```ts\n{\n total: {\n columnType: Schema.DOUBLE,\n definition: 'price_per_unit * quantity'\n },\n}\n```",
13020
+ "stability": "stable",
13021
+ "summary": "Columns of a view."
13022
+ },
13023
+ "immutable": true,
13024
+ "locationInModule": {
13025
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
13026
+ "line": 69
13027
+ },
13028
+ "name": "columns",
13029
+ "type": {
13030
+ "collection": {
13031
+ "elementtype": {
13032
+ "fqn": "@rio-cloud/cdk-v2-constructs.ViewTableColumnDefinition"
13033
+ },
13034
+ "kind": "map"
13035
+ }
13036
+ }
13037
+ },
13038
+ {
13039
+ "abstract": true,
13040
+ "docs": {
13041
+ "stability": "stable",
13042
+ "summary": "Glue database where the view will be created."
13043
+ },
13044
+ "immutable": true,
13045
+ "locationInModule": {
13046
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
13047
+ "line": 54
13048
+ },
13049
+ "name": "database",
13050
+ "type": {
13051
+ "union": {
13052
+ "types": [
13053
+ {
13054
+ "primitive": "string"
13055
+ },
13056
+ {
13057
+ "fqn": "aws-cdk-lib.IResolvable"
13058
+ },
13059
+ {
13060
+ "fqn": "aws-cdk-lib.aws_glue.CfnDatabase"
13061
+ }
13062
+ ]
13063
+ }
13064
+ }
13065
+ },
13066
+ {
13067
+ "abstract": true,
13068
+ "docs": {
13069
+ "example": "`orders`",
13070
+ "stability": "stable",
13071
+ "summary": "SQL Query statement to query the source data which is actually the FROM statement."
13072
+ },
13073
+ "immutable": true,
13074
+ "locationInModule": {
13075
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
13076
+ "line": 49
13077
+ },
13078
+ "name": "fromQuery",
13079
+ "type": {
13080
+ "primitive": "string"
13081
+ }
13082
+ },
13083
+ {
13084
+ "abstract": true,
13085
+ "docs": {
13086
+ "stability": "stable",
13087
+ "summary": "Description of the view."
13088
+ },
13089
+ "immutable": true,
13090
+ "locationInModule": {
13091
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
13092
+ "line": 43
13093
+ },
13094
+ "name": "description",
13095
+ "optional": true,
13096
+ "type": {
13097
+ "primitive": "string"
13098
+ }
13099
+ },
13100
+ {
13101
+ "abstract": true,
13102
+ "docs": {
13103
+ "default": "- generated by CDK",
13104
+ "stability": "stable",
13105
+ "summary": "The view name."
13106
+ },
13107
+ "immutable": true,
13108
+ "locationInModule": {
13109
+ "filename": "src/contributions/team-claid/aws-glue/view-table.ts",
13110
+ "line": 38
13111
+ },
13112
+ "name": "viewName",
13113
+ "optional": true,
13114
+ "type": {
13115
+ "primitive": "string"
13116
+ }
13117
+ }
13118
+ ],
13119
+ "symbolId": "src/contributions/team-claid/aws-glue/view-table:ViewTableProps"
13120
+ },
12187
13121
  "@rio-cloud/cdk-v2-constructs.WatchApplicationLoadBalancer": {
12188
13122
  "assembly": "@rio-cloud/cdk-v2-constructs",
12189
13123
  "base": "constructs.Construct",
@@ -20831,5 +21765,5 @@
20831
21765
  }
20832
21766
  },
20833
21767
  "version": "0.0.0",
20834
- "fingerprint": "ZZbMGyaaRkOHRGAeyAtT3C+C0XomITIFo8BljixrrYc="
21768
+ "fingerprint": "OricCkfqlnHyLtv4M2mzrPdxtA55Cl1eZ0l2+UTsbXs="
20835
21769
  }