alchemy 2.0.0-beta.52 → 2.0.0-beta.53
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.
- package/bin/exec.js +8 -8
- package/bin/exec.js.map +1 -1
- package/lib/AWS/ACM/Certificate.d.ts +1 -1
- package/lib/AWS/ApiGateway/Account.d.ts +1 -1
- package/lib/AWS/ApiGateway/ApiKey.d.ts +2 -2
- package/lib/AWS/ApiGateway/ApiKey.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/ApiKey.js +3 -3
- package/lib/AWS/ApiGateway/ApiKey.js.map +1 -1
- package/lib/AWS/ApiGateway/Authorizer.d.ts +1 -1
- package/lib/AWS/ApiGateway/BasePathMapping.d.ts +1 -1
- package/lib/AWS/ApiGateway/Deployment.d.ts +1 -1
- package/lib/AWS/ApiGateway/DomainName.d.ts +1 -1
- package/lib/AWS/ApiGateway/GatewayResource.d.ts +1 -1
- package/lib/AWS/ApiGateway/GatewayResponse.d.ts +1 -1
- package/lib/AWS/ApiGateway/Method.d.ts +1 -1
- package/lib/AWS/ApiGateway/RestApi.d.ts +2 -2
- package/lib/AWS/ApiGateway/RestApi.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/RestApi.js +4 -4
- package/lib/AWS/ApiGateway/RestApi.js.map +1 -1
- package/lib/AWS/ApiGateway/Stage.d.ts +2 -2
- package/lib/AWS/ApiGateway/Stage.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/Stage.js +3 -3
- package/lib/AWS/ApiGateway/Stage.js.map +1 -1
- package/lib/AWS/ApiGateway/UsagePlan.d.ts +2 -2
- package/lib/AWS/ApiGateway/UsagePlan.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/UsagePlan.js +3 -3
- package/lib/AWS/ApiGateway/UsagePlan.js.map +1 -1
- package/lib/AWS/ApiGateway/UsagePlanKey.d.ts +1 -1
- package/lib/AWS/ApiGateway/VpcLink.d.ts +2 -2
- package/lib/AWS/ApiGateway/VpcLink.d.ts.map +1 -1
- package/lib/AWS/ApiGateway/VpcLink.js +3 -3
- package/lib/AWS/ApiGateway/VpcLink.js.map +1 -1
- package/lib/AWS/ApiGateway/common.d.ts +1 -1
- package/lib/AWS/Assets.d.ts +21 -12
- package/lib/AWS/Assets.d.ts.map +1 -1
- package/lib/AWS/Assets.js +95 -70
- package/lib/AWS/Assets.js.map +1 -1
- package/lib/AWS/AuthProvider.d.ts +12 -6
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/AuthProvider.js +120 -75
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/AutoScaling/AutoScalingGroup.d.ts +1 -1
- package/lib/AWS/AutoScaling/LaunchTemplate.d.ts +1 -2
- package/lib/AWS/AutoScaling/LaunchTemplate.d.ts.map +1 -1
- package/lib/AWS/AutoScaling/LaunchTemplate.js +21 -27
- package/lib/AWS/AutoScaling/LaunchTemplate.js.map +1 -1
- package/lib/AWS/AutoScaling/ScalingPolicy.d.ts +1 -1
- package/lib/AWS/Bootstrap.d.ts +2 -14
- package/lib/AWS/Bootstrap.d.ts.map +1 -1
- package/lib/AWS/Bootstrap.js +46 -133
- package/lib/AWS/Bootstrap.js.map +1 -1
- package/lib/AWS/CloudFront/CachePolicy.d.ts +1 -1
- package/lib/AWS/CloudFront/Distribution.d.ts +1 -1
- package/lib/AWS/CloudFront/Function.d.ts +1 -1
- package/lib/AWS/CloudFront/Invalidation.d.ts +1 -1
- package/lib/AWS/CloudFront/KeyGroup.d.ts +1 -1
- package/lib/AWS/CloudFront/KeyValueStore.d.ts +1 -1
- package/lib/AWS/CloudFront/OriginAccessControl.d.ts +1 -1
- package/lib/AWS/CloudFront/OriginRequestPolicy.d.ts +1 -1
- package/lib/AWS/CloudFront/PublicKey.d.ts +1 -1
- package/lib/AWS/CloudFront/ResponseHeadersPolicy.d.ts +1 -1
- package/lib/AWS/CloudFront/common.d.ts +1 -1
- package/lib/AWS/CloudWatch/Alarm.d.ts +2 -3
- package/lib/AWS/CloudWatch/Alarm.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/Alarm.js +3 -6
- package/lib/AWS/CloudWatch/Alarm.js.map +1 -1
- package/lib/AWS/CloudWatch/AlarmMuteRule.d.ts +2 -3
- package/lib/AWS/CloudWatch/AlarmMuteRule.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/AlarmMuteRule.js +2 -5
- package/lib/AWS/CloudWatch/AlarmMuteRule.js.map +1 -1
- package/lib/AWS/CloudWatch/AnomalyDetector.d.ts +1 -1
- package/lib/AWS/CloudWatch/CompositeAlarm.d.ts +2 -3
- package/lib/AWS/CloudWatch/CompositeAlarm.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/CompositeAlarm.js +3 -6
- package/lib/AWS/CloudWatch/CompositeAlarm.js.map +1 -1
- package/lib/AWS/CloudWatch/Dashboard.d.ts +2 -2
- package/lib/AWS/CloudWatch/Dashboard.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/Dashboard.js +3 -4
- package/lib/AWS/CloudWatch/Dashboard.js.map +1 -1
- package/lib/AWS/CloudWatch/DescribeAlarmContributors.d.ts +1 -1
- package/lib/AWS/CloudWatch/DescribeAlarmHistory.d.ts +1 -1
- package/lib/AWS/CloudWatch/DescribeAlarms.d.ts +1 -1
- package/lib/AWS/CloudWatch/DescribeAlarmsForMetric.d.ts +1 -1
- package/lib/AWS/CloudWatch/DescribeAnomalyDetectors.d.ts +1 -1
- package/lib/AWS/CloudWatch/DescribeInsightRules.d.ts +1 -1
- package/lib/AWS/CloudWatch/DisableAlarmActions.d.ts +1 -1
- package/lib/AWS/CloudWatch/DisableInsightRules.d.ts +1 -1
- package/lib/AWS/CloudWatch/EnableAlarmActions.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetAlarmMuteRule.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetDashboard.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetInsightRuleReport.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetMetricData.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetMetricStatistics.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetMetricStream.d.ts +1 -1
- package/lib/AWS/CloudWatch/GetMetricWidgetImage.d.ts +1 -1
- package/lib/AWS/CloudWatch/InsightRule.d.ts +2 -3
- package/lib/AWS/CloudWatch/InsightRule.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/InsightRule.js +4 -7
- package/lib/AWS/CloudWatch/InsightRule.js.map +1 -1
- package/lib/AWS/CloudWatch/ListAlarmMuteRules.d.ts +1 -1
- package/lib/AWS/CloudWatch/ListDashboards.d.ts +1 -1
- package/lib/AWS/CloudWatch/ListManagedInsightRules.d.ts +1 -1
- package/lib/AWS/CloudWatch/ListMetricStreams.d.ts +1 -1
- package/lib/AWS/CloudWatch/ListMetrics.d.ts +1 -1
- package/lib/AWS/CloudWatch/ListTagsForResource.d.ts +1 -1
- package/lib/AWS/CloudWatch/MetricStream.d.ts +2 -3
- package/lib/AWS/CloudWatch/MetricStream.d.ts.map +1 -1
- package/lib/AWS/CloudWatch/MetricStream.js +3 -6
- package/lib/AWS/CloudWatch/MetricStream.js.map +1 -1
- package/lib/AWS/CloudWatch/PutMetricData.d.ts +1 -1
- package/lib/AWS/CloudWatch/SetAlarmState.d.ts +1 -1
- package/lib/AWS/CloudWatch/common.d.ts +2 -2
- package/lib/AWS/Credentials.d.ts.map +1 -1
- package/lib/AWS/Credentials.js +4 -1
- package/lib/AWS/Credentials.js.map +1 -1
- package/lib/AWS/DynamoDB/BatchExecuteStatement.d.ts +1 -1
- package/lib/AWS/DynamoDB/BatchGetItem.d.ts +1 -1
- package/lib/AWS/DynamoDB/BatchWriteItem.d.ts +1 -1
- package/lib/AWS/DynamoDB/DeleteItem.d.ts +1 -1
- package/lib/AWS/DynamoDB/DescribeTable.d.ts +1 -1
- package/lib/AWS/DynamoDB/DescribeTimeToLive.d.ts +1 -1
- package/lib/AWS/DynamoDB/ExecuteStatement.d.ts +1 -1
- package/lib/AWS/DynamoDB/ExecuteTransaction.d.ts +1 -1
- package/lib/AWS/DynamoDB/GetItem.d.ts +1 -1
- package/lib/AWS/DynamoDB/ListTables.d.ts +1 -1
- package/lib/AWS/DynamoDB/ListTagsOfResource.d.ts +1 -1
- package/lib/AWS/DynamoDB/PutItem.d.ts +1 -1
- package/lib/AWS/DynamoDB/Query.d.ts +1 -1
- package/lib/AWS/DynamoDB/RestoreTableToPointInTime.d.ts +1 -1
- package/lib/AWS/DynamoDB/Scan.d.ts +1 -1
- package/lib/AWS/DynamoDB/Table.d.ts +1 -1
- package/lib/AWS/DynamoDB/TransactGetItems.d.ts +1 -1
- package/lib/AWS/DynamoDB/TransactWriteItems.d.ts +1 -1
- package/lib/AWS/DynamoDB/UpdateItem.d.ts +1 -1
- package/lib/AWS/DynamoDB/UpdateTimeToLive.d.ts +1 -1
- package/lib/AWS/EC2/EIP.d.ts +2 -3
- package/lib/AWS/EC2/EIP.d.ts.map +1 -1
- package/lib/AWS/EC2/EIP.js +2 -3
- package/lib/AWS/EC2/EIP.js.map +1 -1
- package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts +2 -3
- package/lib/AWS/EC2/EgressOnlyInternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/EgressOnlyInternetGateway.js +5 -8
- package/lib/AWS/EC2/EgressOnlyInternetGateway.js.map +1 -1
- package/lib/AWS/EC2/Image.d.ts +6 -6
- package/lib/AWS/EC2/Instance.d.ts +2 -2
- package/lib/AWS/EC2/Instance.d.ts.map +1 -1
- package/lib/AWS/EC2/Instance.js +30 -36
- package/lib/AWS/EC2/Instance.js.map +1 -1
- package/lib/AWS/EC2/InternetGateway.d.ts +2 -4
- package/lib/AWS/EC2/InternetGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/InternetGateway.js +2 -4
- package/lib/AWS/EC2/InternetGateway.js.map +1 -1
- package/lib/AWS/EC2/NatGateway.d.ts +2 -3
- package/lib/AWS/EC2/NatGateway.d.ts.map +1 -1
- package/lib/AWS/EC2/NatGateway.js +6 -8
- package/lib/AWS/EC2/NatGateway.js.map +1 -1
- package/lib/AWS/EC2/Network.d.ts +2 -2
- package/lib/AWS/EC2/Network.d.ts.map +1 -1
- package/lib/AWS/EC2/Network.js +2 -2
- package/lib/AWS/EC2/Network.js.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.d.ts +2 -3
- package/lib/AWS/EC2/NetworkAcl.d.ts.map +1 -1
- package/lib/AWS/EC2/NetworkAcl.js +36 -36
- package/lib/AWS/EC2/NetworkAcl.js.map +1 -1
- package/lib/AWS/EC2/NetworkAclAssociation.d.ts +1 -1
- package/lib/AWS/EC2/NetworkAclEntry.d.ts +1 -1
- package/lib/AWS/EC2/Route.d.ts +1 -1
- package/lib/AWS/EC2/RouteTable.d.ts +2 -3
- package/lib/AWS/EC2/RouteTable.d.ts.map +1 -1
- package/lib/AWS/EC2/RouteTable.js +2 -4
- package/lib/AWS/EC2/RouteTable.js.map +1 -1
- package/lib/AWS/EC2/RouteTableAssociation.d.ts +1 -1
- package/lib/AWS/EC2/SecurityGroup.d.ts +2 -3
- package/lib/AWS/EC2/SecurityGroup.d.ts.map +1 -1
- package/lib/AWS/EC2/SecurityGroup.js +40 -40
- package/lib/AWS/EC2/SecurityGroup.js.map +1 -1
- package/lib/AWS/EC2/SecurityGroupRule.d.ts +1 -1
- package/lib/AWS/EC2/Subnet.d.ts +1 -1
- package/lib/AWS/EC2/Vpc.d.ts +2 -3
- package/lib/AWS/EC2/Vpc.d.ts.map +1 -1
- package/lib/AWS/EC2/Vpc.js +1 -3
- package/lib/AWS/EC2/Vpc.js.map +1 -1
- package/lib/AWS/EC2/VpcEndpoint.d.ts +1 -2
- package/lib/AWS/EC2/VpcEndpoint.d.ts.map +1 -1
- package/lib/AWS/EC2/VpcEndpoint.js +44 -43
- package/lib/AWS/EC2/VpcEndpoint.js.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts +3 -6
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +17 -18
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECR/Repository.d.ts +1 -1
- package/lib/AWS/ECS/CapacityProvider.d.ts +1 -2
- package/lib/AWS/ECS/CapacityProvider.d.ts.map +1 -1
- package/lib/AWS/ECS/CapacityProvider.js +1 -3
- package/lib/AWS/ECS/CapacityProvider.js.map +1 -1
- package/lib/AWS/ECS/Cluster.d.ts +2 -3
- package/lib/AWS/ECS/Cluster.d.ts.map +1 -1
- package/lib/AWS/ECS/Cluster.js +1 -3
- package/lib/AWS/ECS/Cluster.js.map +1 -1
- package/lib/AWS/ECS/DescribeTasks.d.ts +1 -1
- package/lib/AWS/ECS/ListTasks.d.ts +1 -1
- package/lib/AWS/ECS/RunTask.d.ts +1 -1
- package/lib/AWS/ECS/Service.d.ts +1 -1
- package/lib/AWS/ECS/StopTask.d.ts +1 -1
- package/lib/AWS/ECS/Task.d.ts +2 -2
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +2 -2
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/EKS/AccessEntry.d.ts +1 -1
- package/lib/AWS/EKS/Addon.d.ts +1 -1
- package/lib/AWS/EKS/Cluster.d.ts +1 -1
- package/lib/AWS/EKS/Cluster.d.ts.map +1 -1
- package/lib/AWS/EKS/PodIdentityAssociation.d.ts +1 -1
- package/lib/AWS/ELBv2/Listener.d.ts +1 -1
- package/lib/AWS/ELBv2/LoadBalancer.d.ts +1 -1
- package/lib/AWS/ELBv2/TargetGroup.d.ts +1 -1
- package/lib/AWS/Endpoint.d.ts.map +1 -1
- package/lib/AWS/Endpoint.js +5 -2
- package/lib/AWS/Endpoint.js.map +1 -1
- package/lib/AWS/Environment.d.ts +6 -50
- package/lib/AWS/Environment.d.ts.map +1 -1
- package/lib/AWS/Environment.js +11 -80
- package/lib/AWS/Environment.js.map +1 -1
- package/lib/AWS/EventBridge/DescribeEventBus.d.ts +1 -1
- package/lib/AWS/EventBridge/DescribeRule.d.ts +1 -1
- package/lib/AWS/EventBridge/EventBus.d.ts +2 -3
- package/lib/AWS/EventBridge/EventBus.d.ts.map +1 -1
- package/lib/AWS/EventBridge/EventBus.js +1 -3
- package/lib/AWS/EventBridge/EventBus.js.map +1 -1
- package/lib/AWS/EventBridge/ListEventBuses.d.ts +1 -1
- package/lib/AWS/EventBridge/ListRules.d.ts +2 -3
- package/lib/AWS/EventBridge/ListRules.d.ts.map +1 -1
- package/lib/AWS/EventBridge/ListRules.js +2 -3
- package/lib/AWS/EventBridge/ListRules.js.map +1 -1
- package/lib/AWS/EventBridge/ListTargetsByRule.d.ts +1 -1
- package/lib/AWS/EventBridge/Permission.d.ts +1 -1
- package/lib/AWS/EventBridge/PutEvents.d.ts +2 -3
- package/lib/AWS/EventBridge/PutEvents.d.ts.map +1 -1
- package/lib/AWS/EventBridge/PutEvents.js +2 -3
- package/lib/AWS/EventBridge/PutEvents.js.map +1 -1
- package/lib/AWS/EventBridge/Rule.d.ts +2 -3
- package/lib/AWS/EventBridge/Rule.d.ts.map +1 -1
- package/lib/AWS/EventBridge/Rule.js +2 -3
- package/lib/AWS/EventBridge/Rule.js.map +1 -1
- package/lib/AWS/EventBridge/TestEventPattern.d.ts +1 -1
- package/lib/AWS/IAM/AccessKey.d.ts +1 -1
- package/lib/AWS/IAM/AccountAlias.d.ts +1 -1
- package/lib/AWS/IAM/AccountPasswordPolicy.d.ts +1 -1
- package/lib/AWS/IAM/Group.d.ts +1 -1
- package/lib/AWS/IAM/GroupMembership.d.ts +1 -1
- package/lib/AWS/IAM/InstanceProfile.d.ts +1 -1
- package/lib/AWS/IAM/LoginProfile.d.ts +1 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.d.ts +1 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.d.ts.map +1 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.js +5 -4
- package/lib/AWS/IAM/OpenIDConnectProvider.js.map +1 -1
- package/lib/AWS/IAM/Policy.d.ts +1 -1
- package/lib/AWS/IAM/Policy.d.ts.map +1 -1
- package/lib/AWS/IAM/Policy.js +1 -1
- package/lib/AWS/IAM/Policy.js.map +1 -1
- package/lib/AWS/IAM/Role.d.ts +2 -2
- package/lib/AWS/IAM/Role.d.ts.map +1 -1
- package/lib/AWS/IAM/Role.js +1 -1
- package/lib/AWS/IAM/Role.js.map +1 -1
- package/lib/AWS/IAM/SAMLProvider.d.ts +2 -2
- package/lib/AWS/IAM/SAMLProvider.d.ts.map +1 -1
- package/lib/AWS/IAM/SAMLProvider.js +2 -2
- package/lib/AWS/IAM/SAMLProvider.js.map +1 -1
- package/lib/AWS/IAM/SSHPublicKey.d.ts +1 -1
- package/lib/AWS/IAM/ServerCertificate.d.ts +1 -1
- package/lib/AWS/IAM/ServiceSpecificCredential.d.ts +1 -1
- package/lib/AWS/IAM/SigningCertificate.d.ts +1 -1
- package/lib/AWS/IAM/User.d.ts +1 -1
- package/lib/AWS/IAM/VirtualMFADevice.d.ts +1 -1
- package/lib/AWS/IdentityCenter/AccountAssignment.d.ts +1 -1
- package/lib/AWS/IdentityCenter/Group.d.ts +1 -1
- package/lib/AWS/IdentityCenter/Instance.d.ts +1 -1
- package/lib/AWS/IdentityCenter/PermissionSet.d.ts +1 -1
- package/lib/AWS/IdentityCenter/common.d.ts +4 -4
- package/lib/AWS/Kinesis/DescribeAccountSettings.d.ts +1 -1
- package/lib/AWS/Kinesis/DescribeLimits.d.ts +1 -1
- package/lib/AWS/Kinesis/DescribeStream.d.ts +1 -1
- package/lib/AWS/Kinesis/DescribeStreamConsumer.d.ts +1 -1
- package/lib/AWS/Kinesis/DescribeStreamSummary.d.ts +1 -1
- package/lib/AWS/Kinesis/GetRecords.d.ts +1 -1
- package/lib/AWS/Kinesis/GetResourcePolicy.d.ts +1 -1
- package/lib/AWS/Kinesis/GetShardIterator.d.ts +1 -1
- package/lib/AWS/Kinesis/ListShards.d.ts +1 -1
- package/lib/AWS/Kinesis/ListStreamConsumers.d.ts +1 -1
- package/lib/AWS/Kinesis/ListStreams.d.ts +1 -1
- package/lib/AWS/Kinesis/ListTagsForResource.d.ts +1 -1
- package/lib/AWS/Kinesis/PutRecord.d.ts +1 -1
- package/lib/AWS/Kinesis/PutRecords.d.ts +1 -1
- package/lib/AWS/Kinesis/Stream.d.ts +2 -3
- package/lib/AWS/Kinesis/Stream.d.ts.map +1 -1
- package/lib/AWS/Kinesis/Stream.js +1 -3
- package/lib/AWS/Kinesis/Stream.js.map +1 -1
- package/lib/AWS/Kinesis/StreamConsumer.d.ts +1 -1
- package/lib/AWS/Kinesis/SubscribeToShard.d.ts +1 -1
- package/lib/AWS/Lambda/EventSourceMapping.d.ts +2 -3
- package/lib/AWS/Lambda/EventSourceMapping.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventSourceMapping.js +1 -3
- package/lib/AWS/Lambda/EventSourceMapping.js.map +1 -1
- package/lib/AWS/Lambda/Function.d.ts +2 -2
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +9 -7
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/InvokeFunction.d.ts +1 -1
- package/lib/AWS/Lambda/Permission.d.ts +2 -2
- package/lib/AWS/Lambda/Permission.js +1 -1
- package/lib/AWS/Logs/LogGroup.d.ts +2 -3
- package/lib/AWS/Logs/LogGroup.d.ts.map +1 -1
- package/lib/AWS/Logs/LogGroup.js +1 -3
- package/lib/AWS/Logs/LogGroup.js.map +1 -1
- package/lib/AWS/Organizations/Account.d.ts +1 -1
- package/lib/AWS/Organizations/DelegatedAdministrator.d.ts +1 -1
- package/lib/AWS/Organizations/Organization.d.ts +1 -1
- package/lib/AWS/Organizations/OrganizationResourcePolicy.d.ts +1 -1
- package/lib/AWS/Organizations/OrganizationalUnit.d.ts +1 -1
- package/lib/AWS/Organizations/Policy.d.ts +1 -1
- package/lib/AWS/Organizations/PolicyAttachment.d.ts +1 -1
- package/lib/AWS/Organizations/Root.d.ts +1 -1
- package/lib/AWS/Organizations/RootPolicyType.d.ts +1 -1
- package/lib/AWS/Organizations/TrustedServiceAccess.d.ts +1 -1
- package/lib/AWS/Organizations/common.d.ts +2 -2
- package/lib/AWS/Providers.d.ts +3 -2
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +2 -2
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/RDS/Connect.d.ts +1 -1
- package/lib/AWS/RDS/DBCluster.d.ts +1 -1
- package/lib/AWS/RDS/DBClusterEndpoint.d.ts +1 -1
- package/lib/AWS/RDS/DBClusterParameterGroup.d.ts +1 -1
- package/lib/AWS/RDS/DBInstance.d.ts +1 -1
- package/lib/AWS/RDS/DBParameterGroup.d.ts +1 -1
- package/lib/AWS/RDS/DBProxy.d.ts +1 -1
- package/lib/AWS/RDS/DBProxyEndpoint.d.ts +1 -1
- package/lib/AWS/RDS/DBProxyTargetGroup.d.ts +1 -1
- package/lib/AWS/RDS/DBSubnetGroup.d.ts +1 -1
- package/lib/AWS/RDSData/BatchExecuteStatement.d.ts +1 -1
- package/lib/AWS/RDSData/BeginTransaction.d.ts +1 -1
- package/lib/AWS/RDSData/CommitTransaction.d.ts +1 -1
- package/lib/AWS/RDSData/ExecuteSql.d.ts +1 -1
- package/lib/AWS/RDSData/ExecuteStatement.d.ts +1 -1
- package/lib/AWS/RDSData/RollbackTransaction.d.ts +1 -1
- package/lib/AWS/Region.d.ts +2 -0
- package/lib/AWS/Region.d.ts.map +1 -1
- package/lib/AWS/Region.js +8 -3
- package/lib/AWS/Region.js.map +1 -1
- package/lib/AWS/Route53/Record.d.ts +1 -1
- package/lib/AWS/S3/AbortMultipartUpload.d.ts +1 -1
- package/lib/AWS/S3/Bucket.d.ts +6 -3
- package/lib/AWS/S3/Bucket.d.ts.map +1 -1
- package/lib/AWS/S3/Bucket.js +3 -4
- package/lib/AWS/S3/Bucket.js.map +1 -1
- package/lib/AWS/S3/CompleteMultipartUpload.d.ts +1 -1
- package/lib/AWS/S3/CopyObject.d.ts +1 -1
- package/lib/AWS/S3/CreateMultipartUpload.d.ts +1 -1
- package/lib/AWS/S3/DeleteObject.d.ts +1 -1
- package/lib/AWS/S3/GetObject.d.ts +1 -1
- package/lib/AWS/S3/HeadObject.d.ts +1 -1
- package/lib/AWS/S3/ListObjectsV2.d.ts +1 -1
- package/lib/AWS/S3/PutObject.d.ts +1 -1
- package/lib/AWS/S3/UploadPart.d.ts +1 -1
- package/lib/AWS/SNS/AddPermission.d.ts +1 -1
- package/lib/AWS/SNS/ConfirmSubscription.d.ts +1 -1
- package/lib/AWS/SNS/GetDataProtectionPolicy.d.ts +1 -1
- package/lib/AWS/SNS/GetSubscriptionAttributes.d.ts +1 -1
- package/lib/AWS/SNS/GetTopicAttributes.d.ts +1 -1
- package/lib/AWS/SNS/ListSubscriptions.d.ts +1 -1
- package/lib/AWS/SNS/ListSubscriptionsByTopic.d.ts +1 -1
- package/lib/AWS/SNS/ListTagsForResource.d.ts +1 -1
- package/lib/AWS/SNS/ListTopics.d.ts +1 -1
- package/lib/AWS/SNS/Publish.d.ts +1 -1
- package/lib/AWS/SNS/PublishBatch.d.ts +1 -1
- package/lib/AWS/SNS/PutDataProtectionPolicy.d.ts +1 -1
- package/lib/AWS/SNS/RemovePermission.d.ts +1 -1
- package/lib/AWS/SNS/SetSubscriptionAttributes.d.ts +1 -1
- package/lib/AWS/SNS/SetTopicAttributes.d.ts +1 -1
- package/lib/AWS/SNS/Subscription.d.ts +1 -1
- package/lib/AWS/SNS/TagResource.d.ts +1 -1
- package/lib/AWS/SNS/Topic.d.ts +1 -1
- package/lib/AWS/SNS/UntagResource.d.ts +1 -1
- package/lib/AWS/SQS/DeleteMessage.d.ts +1 -1
- package/lib/AWS/SQS/DeleteMessageBatch.d.ts +1 -1
- package/lib/AWS/SQS/Queue.d.ts +1 -2
- package/lib/AWS/SQS/Queue.d.ts.map +1 -1
- package/lib/AWS/SQS/Queue.js +2 -3
- package/lib/AWS/SQS/Queue.js.map +1 -1
- package/lib/AWS/SQS/ReceiveMessage.d.ts +1 -1
- package/lib/AWS/SQS/SendMessage.d.ts +1 -1
- package/lib/AWS/SQS/SendMessageBatch.d.ts +1 -1
- package/lib/AWS/Scheduler/Schedule.d.ts +1 -1
- package/lib/AWS/Scheduler/ScheduleGroup.d.ts +1 -1
- package/lib/AWS/SecretsManager/DescribeSecret.d.ts +1 -1
- package/lib/AWS/SecretsManager/GetRandomPassword.d.ts +1 -1
- package/lib/AWS/SecretsManager/GetSecretValue.d.ts +1 -1
- package/lib/AWS/SecretsManager/ListSecrets.d.ts +1 -1
- package/lib/AWS/SecretsManager/PutSecretValue.d.ts +1 -1
- package/lib/AWS/SecretsManager/Secret.d.ts +1 -1
- package/lib/AWS/Website/AssetDeployment.d.ts +1 -1
- package/lib/AWS/index.d.ts +0 -1
- package/lib/AWS/index.d.ts.map +1 -1
- package/lib/AWS/index.js +0 -1
- package/lib/AWS/index.js.map +1 -1
- package/lib/Auth/Profile.d.ts +10 -10
- package/lib/Auth/Profile.d.ts.map +1 -1
- package/lib/Auth/Profile.js +4 -4
- package/lib/Auth/Profile.js.map +1 -1
- package/lib/Axiom/Credentials.d.ts +2 -3
- package/lib/Axiom/Credentials.d.ts.map +1 -1
- package/lib/Axiom/Credentials.js +3 -3
- package/lib/Axiom/Credentials.js.map +1 -1
- package/lib/Axiom/Dataset.js +1 -1
- package/lib/Axiom/Dataset.js.map +1 -1
- package/lib/Axiom/Providers.d.ts +1 -1
- package/lib/Axiom/Providers.d.ts.map +1 -1
- package/lib/Axiom/Providers.js +1 -1
- package/lib/Axiom/Providers.js.map +1 -1
- package/lib/Binding.d.ts +2 -2
- package/lib/Binding.d.ts.map +1 -1
- package/lib/Binding.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts +3 -3
- package/lib/Cli/commands/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/aws.d.ts +1 -1
- package/lib/Cli/commands/aws.d.ts.map +1 -1
- package/lib/Cli/commands/aws.js +3 -3
- package/lib/Cli/commands/aws.js.map +1 -1
- package/lib/Cli/commands/cloudflare.js +1 -1
- package/lib/Cli/commands/cloudflare.js.map +1 -1
- package/lib/Cli/commands/deploy.d.ts +4 -4
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/login.d.ts +2 -3
- package/lib/Cli/commands/login.d.ts.map +1 -1
- package/lib/Cli/commands/login.js +6 -15
- package/lib/Cli/commands/login.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/profile.js +3 -3
- package/lib/Cli/commands/profile.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cloudflare/AiGateway/AiGateway.d.ts.map +1 -1
- package/lib/Cloudflare/AiGateway/AiGateway.js +185 -180
- package/lib/Cloudflare/AiGateway/AiGateway.js.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.js +103 -102
- package/lib/Cloudflare/ApiToken/AccountApiToken.js.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.js +77 -81
- package/lib/Cloudflare/ApiToken/UserApiToken.js.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +4 -3
- package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.js +3 -4
- package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.js +18 -18
- package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +2 -2
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.js +2 -2
- package/lib/Cloudflare/Credentials.js.map +1 -1
- package/lib/Cloudflare/D1/D1Database.d.ts +3 -1
- package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Database.js +205 -201
- package/lib/Cloudflare/D1/D1Database.js.map +1 -1
- package/lib/Cloudflare/EdgeSession.d.ts.map +1 -1
- package/lib/Cloudflare/EdgeSession.js +6 -5
- package/lib/Cloudflare/EdgeSession.js.map +1 -1
- package/lib/Cloudflare/Email/EmailAddress.d.ts.map +1 -1
- package/lib/Cloudflare/Email/EmailAddress.js +69 -61
- package/lib/Cloudflare/Email/EmailAddress.js.map +1 -1
- package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -1
- package/lib/Cloudflare/Email/EmailRouting.js +63 -56
- package/lib/Cloudflare/Email/EmailRouting.js.map +1 -1
- package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -1
- package/lib/Cloudflare/Email/EmailRule.js +67 -63
- package/lib/Cloudflare/Email/EmailRule.js.map +1 -1
- package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts.map +1 -1
- package/lib/Cloudflare/Hyperdrive/Hyperdrive.js +139 -137
- package/lib/Cloudflare/Hyperdrive/Hyperdrive.js.map +1 -1
- package/lib/Cloudflare/KV/KVNamespace.d.ts.map +1 -1
- package/lib/Cloudflare/KV/KVNamespace.js +115 -108
- package/lib/Cloudflare/KV/KVNamespace.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/Queue.js +109 -101
- package/lib/Cloudflare/Queue/Queue.js.map +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.js +260 -250
- package/lib/Cloudflare/Queue/QueueConsumer.js.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.js +101 -66
- package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.d.ts.map +1 -1
- package/lib/Cloudflare/Ruleset/Ruleset.js +81 -81
- package/lib/Cloudflare/Ruleset/Ruleset.js.map +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.js +144 -143
- package/lib/Cloudflare/SecretsStore/Secret.js.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.js +74 -75
- package/lib/Cloudflare/SecretsStore/SecretsStore.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js +3 -3
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/Tunnel.js +166 -158
- package/lib/Cloudflare/Tunnel/Tunnel.js.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts +2 -2
- package/lib/Cloudflare/Tunnel/TunnelBinding.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelBinding.js +10 -11
- package/lib/Cloudflare/Tunnel/TunnelBinding.js.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelRead.d.ts +4 -3
- package/lib/Cloudflare/Tunnel/TunnelRead.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelRead.js.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts +4 -3
- package/lib/Cloudflare/Tunnel/TunnelReadWrite.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelReadWrite.js.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts +4 -3
- package/lib/Cloudflare/Tunnel/TunnelWrite.d.ts.map +1 -1
- package/lib/Cloudflare/Tunnel/TunnelWrite.js.map +1 -1
- package/lib/Cloudflare/Vectorize/VectorizeIndex.d.ts.map +1 -1
- package/lib/Cloudflare/Vectorize/VectorizeIndex.js +79 -75
- package/lib/Cloudflare/Vectorize/VectorizeIndex.js.map +1 -1
- package/lib/Cloudflare/Vectorize/VectorizeMetadataIndex.d.ts.map +1 -1
- package/lib/Cloudflare/Vectorize/VectorizeMetadataIndex.js +85 -82
- package/lib/Cloudflare/Vectorize/VectorizeMetadataIndex.js.map +1 -1
- package/lib/Cloudflare/VpcService/VpcService.d.ts.map +1 -1
- package/lib/Cloudflare/VpcService/VpcService.js +112 -106
- package/lib/Cloudflare/VpcService/VpcService.js.map +1 -1
- package/lib/Cloudflare/VpcService/VpcServiceRef.js +1 -1
- package/lib/Cloudflare/VpcService/VpcServiceRef.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +2 -2
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +3 -2
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +2 -2
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +111 -61
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js +2 -14
- package/lib/Cloudflare/Workers/WorkerAsyncBindings.js.map +1 -1
- package/lib/Cloudflare/Workers/Workflow.js +6 -6
- package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
- package/lib/Cloudflare/Zaraz/ZarazConfig.d.ts.map +1 -1
- package/lib/Cloudflare/Zaraz/ZarazConfig.js +68 -75
- package/lib/Cloudflare/Zaraz/ZarazConfig.js.map +1 -1
- package/lib/Cloudflare/Zone/Zone.d.ts.map +1 -1
- package/lib/Cloudflare/Zone/Zone.js +18 -13
- package/lib/Cloudflare/Zone/Zone.js.map +1 -1
- package/lib/GitHub/Comment.d.ts +1 -6
- package/lib/GitHub/Comment.d.ts.map +1 -1
- package/lib/GitHub/Comment.js +3 -9
- package/lib/GitHub/Comment.js.map +1 -1
- package/lib/GitHub/Credentials.d.ts +4 -3
- package/lib/GitHub/Credentials.d.ts.map +1 -1
- package/lib/GitHub/Credentials.js +5 -5
- package/lib/GitHub/Credentials.js.map +1 -1
- package/lib/GitHub/Octokit.d.ts +5 -0
- package/lib/GitHub/Octokit.d.ts.map +1 -0
- package/lib/GitHub/Octokit.js +7 -0
- package/lib/GitHub/Octokit.js.map +1 -0
- package/lib/GitHub/Providers.d.ts +1 -1
- package/lib/GitHub/Providers.d.ts.map +1 -1
- package/lib/GitHub/Secret.d.ts +1 -2
- package/lib/GitHub/Secret.d.ts.map +1 -1
- package/lib/GitHub/Secret.js +8 -12
- package/lib/GitHub/Secret.js.map +1 -1
- package/lib/GitHub/Variable.d.ts +1 -2
- package/lib/GitHub/Variable.d.ts.map +1 -1
- package/lib/GitHub/Variable.js +3 -7
- package/lib/GitHub/Variable.js.map +1 -1
- package/lib/Kubernetes/client.d.ts +11 -11
- package/lib/Kubernetes/client.d.ts.map +1 -1
- package/lib/Kubernetes/client.js +2 -2
- package/lib/Kubernetes/client.js.map +1 -1
- package/lib/Local/RpcServerEnvironment.d.ts +2 -2
- package/lib/Local/RpcServerEnvironment.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.d.ts +2 -2
- package/lib/Neon/AuthProvider.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.js +2 -2
- package/lib/Neon/AuthProvider.js.map +1 -1
- package/lib/Neon/Branch.d.ts.map +1 -1
- package/lib/Neon/Branch.js +213 -215
- package/lib/Neon/Branch.js.map +1 -1
- package/lib/Neon/Credentials.d.ts +2 -3
- package/lib/Neon/Credentials.d.ts.map +1 -1
- package/lib/Neon/Credentials.js +3 -3
- package/lib/Neon/Credentials.js.map +1 -1
- package/lib/Neon/Project.d.ts +22 -22
- package/lib/Neon/Project.d.ts.map +1 -1
- package/lib/Neon/Project.js +263 -266
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Neon/Providers.d.ts +2 -4
- package/lib/Neon/Providers.d.ts.map +1 -1
- package/lib/Neon/Providers.js +1 -3
- package/lib/Neon/Providers.js.map +1 -1
- package/lib/Neon/index.d.ts +0 -1
- package/lib/Neon/index.d.ts.map +1 -1
- package/lib/Neon/index.js +0 -1
- package/lib/Neon/index.js.map +1 -1
- package/lib/Output.d.ts +2 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +7 -3
- package/lib/Output.js.map +1 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +14 -6
- package/lib/Plan.js.map +1 -1
- package/lib/Planetscale/Branch.d.ts +1 -2
- package/lib/Planetscale/Branch.d.ts.map +1 -1
- package/lib/Planetscale/Branch.js +230 -235
- package/lib/Planetscale/Branch.js.map +1 -1
- package/lib/Planetscale/Credentials.d.ts +2 -3
- package/lib/Planetscale/Credentials.d.ts.map +1 -1
- package/lib/Planetscale/Credentials.js +6 -6
- package/lib/Planetscale/Credentials.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLBranch.d.ts +1 -1
- package/lib/Planetscale/MySQL/MySQLBranch.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts +2 -2
- package/lib/Planetscale/MySQL/MySQLClusterSize.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLDatabase.js +215 -215
- package/lib/Planetscale/MySQL/MySQLDatabase.js.map +1 -1
- package/lib/Planetscale/MySQL/MySQLMigrations.d.ts +2 -2
- package/lib/Planetscale/MySQL/MySQLMigrations.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLPassword.d.ts.map +1 -1
- package/lib/Planetscale/MySQL/MySQLPassword.js +145 -145
- package/lib/Planetscale/MySQL/MySQLPassword.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresBranch.d.ts +1 -1
- package/lib/Planetscale/Postgres/PostgresBranch.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts +3 -2
- package/lib/Planetscale/Postgres/PostgresClusterSize.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresClusterSize.js +4 -4
- package/lib/Planetscale/Postgres/PostgresClusterSize.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDatabase.js +220 -218
- package/lib/Planetscale/Postgres/PostgresDatabase.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDefaultRole.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresDefaultRole.js +123 -121
- package/lib/Planetscale/Postgres/PostgresDefaultRole.js.map +1 -1
- package/lib/Planetscale/Postgres/PostgresMigrations.d.ts +2 -2
- package/lib/Planetscale/Postgres/PostgresMigrations.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresRole.d.ts.map +1 -1
- package/lib/Planetscale/Postgres/PostgresRole.js +159 -160
- package/lib/Planetscale/Postgres/PostgresRole.js.map +1 -1
- package/lib/Planetscale/Providers.d.ts +1 -2
- package/lib/Planetscale/Providers.d.ts.map +1 -1
- package/lib/Planetscale/Providers.js.map +1 -1
- package/lib/Planetscale/Util.d.ts +2 -2
- package/lib/Planetscale/Util.d.ts.map +1 -1
- package/lib/Server/S3BucketEventSource.d.ts +1 -1
- package/lib/Server/S3BucketEventSource.d.ts.map +1 -1
- package/lib/Server/SQSQueueEventSource.d.ts +2 -2
- package/lib/Server/SQSQueueEventSource.d.ts.map +1 -1
- package/lib/Server/SQSQueueEventSource.js +3 -2
- package/lib/Server/SQSQueueEventSource.js.map +1 -1
- package/lib/Stack.d.ts +4 -4
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +1 -1
- package/lib/Stack.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +12 -11
- package/src/AWS/ApiGateway/ApiKey.ts +4 -5
- package/src/AWS/ApiGateway/RestApi.ts +5 -6
- package/src/AWS/ApiGateway/Stage.ts +4 -5
- package/src/AWS/ApiGateway/UsagePlan.ts +4 -5
- package/src/AWS/ApiGateway/VpcLink.ts +4 -6
- package/src/AWS/Assets.ts +161 -108
- package/src/AWS/AuthProvider.ts +221 -124
- package/src/AWS/AutoScaling/LaunchTemplate.ts +31 -32
- package/src/AWS/Bootstrap.ts +66 -195
- package/src/AWS/CloudWatch/Alarm.ts +9 -8
- package/src/AWS/CloudWatch/AlarmMuteRule.ts +8 -7
- package/src/AWS/CloudWatch/CompositeAlarm.ts +9 -8
- package/src/AWS/CloudWatch/Dashboard.ts +9 -6
- package/src/AWS/CloudWatch/InsightRule.ts +10 -9
- package/src/AWS/CloudWatch/MetricStream.ts +9 -7
- package/src/AWS/Credentials.ts +4 -1
- package/src/AWS/EC2/EIP.ts +5 -5
- package/src/AWS/EC2/EgressOnlyInternetGateway.ts +20 -17
- package/src/AWS/EC2/Instance.ts +42 -41
- package/src/AWS/EC2/InternetGateway.ts +4 -8
- package/src/AWS/EC2/NatGateway.ts +10 -11
- package/src/AWS/EC2/Network.ts +2 -2
- package/src/AWS/EC2/NetworkAcl.ts +38 -39
- package/src/AWS/EC2/RouteTable.ts +3 -6
- package/src/AWS/EC2/SecurityGroup.ts +43 -44
- package/src/AWS/EC2/Vpc.ts +2 -5
- package/src/AWS/EC2/VpcEndpoint.ts +47 -47
- package/src/AWS/EC2/hosted.ts +19 -33
- package/src/AWS/ECS/CapacityProvider.ts +1 -3
- package/src/AWS/ECS/Cluster.ts +2 -5
- package/src/AWS/ECS/Task.ts +4 -3
- package/src/AWS/Endpoint.ts +12 -6
- package/src/AWS/Environment.ts +22 -120
- package/src/AWS/EventBridge/EventBus.ts +2 -5
- package/src/AWS/EventBridge/ListRules.ts +2 -5
- package/src/AWS/EventBridge/PutEvents.ts +2 -3
- package/src/AWS/EventBridge/Rule.ts +3 -5
- package/src/AWS/IAM/OpenIDConnectProvider.ts +10 -4
- package/src/AWS/IAM/Policy.ts +1 -2
- package/src/AWS/IAM/Role.ts +2 -2
- package/src/AWS/IAM/SAMLProvider.ts +3 -3
- package/src/AWS/Kinesis/Stream.ts +2 -5
- package/src/AWS/Lambda/EventSourceMapping.ts +2 -5
- package/src/AWS/Lambda/Function.ts +10 -8
- package/src/AWS/Lambda/Permission.ts +1 -1
- package/src/AWS/Logs/LogGroup.ts +2 -5
- package/src/AWS/Providers.ts +2 -2
- package/src/AWS/Region.ts +15 -3
- package/src/AWS/S3/Bucket.ts +15 -15
- package/src/AWS/SQS/Queue.ts +2 -3
- package/src/AWS/index.ts +0 -1
- package/src/Auth/Profile.ts +13 -12
- package/src/Axiom/Credentials.ts +4 -2
- package/src/Axiom/Dataset.ts +1 -1
- package/src/Axiom/Providers.ts +1 -1
- package/src/Binding.ts +2 -5
- package/src/Cli/commands/_shared.ts +2 -2
- package/src/Cli/commands/aws.ts +12 -9
- package/src/Cli/commands/cloudflare.ts +1 -1
- package/src/Cli/commands/login.ts +6 -22
- package/src/Cli/commands/profile.ts +3 -3
- package/src/Cloudflare/AiGateway/AiGateway.ts +219 -218
- package/src/Cloudflare/ApiToken/AccountApiToken.ts +142 -153
- package/src/Cloudflare/ApiToken/UserApiToken.ts +105 -121
- package/src/Cloudflare/CloudflareEnvironment.ts +10 -5
- package/src/Cloudflare/Container/ContainerApplication.ts +32 -29
- package/src/Cloudflare/Credentials.ts +2 -2
- package/src/Cloudflare/D1/D1Database.ts +268 -263
- package/src/Cloudflare/EdgeSession.ts +6 -5
- package/src/Cloudflare/Email/EmailAddress.ts +74 -71
- package/src/Cloudflare/Email/EmailRouting.ts +73 -75
- package/src/Cloudflare/Email/EmailRule.ts +79 -80
- package/src/Cloudflare/Hyperdrive/Hyperdrive.ts +155 -158
- package/src/Cloudflare/KV/KVNamespace.ts +139 -138
- package/src/Cloudflare/Queue/Queue.ts +122 -119
- package/src/Cloudflare/Queue/QueueConsumer.ts +334 -330
- package/src/Cloudflare/R2/R2Bucket.ts +200 -165
- package/src/Cloudflare/Ruleset/Ruleset.ts +93 -98
- package/src/Cloudflare/SecretsStore/Secret.ts +187 -194
- package/src/Cloudflare/SecretsStore/SecretsStore.ts +82 -87
- package/src/Cloudflare/StateStore/State.ts +5 -3
- package/src/Cloudflare/Tunnel/Tunnel.ts +187 -186
- package/src/Cloudflare/Tunnel/TunnelBinding.ts +16 -9
- package/src/Cloudflare/Tunnel/TunnelRead.ts +3 -2
- package/src/Cloudflare/Tunnel/TunnelReadWrite.ts +7 -2
- package/src/Cloudflare/Tunnel/TunnelWrite.ts +3 -2
- package/src/Cloudflare/Vectorize/VectorizeIndex.ts +98 -98
- package/src/Cloudflare/Vectorize/VectorizeMetadataIndex.ts +97 -109
- package/src/Cloudflare/VpcService/VpcService.ts +126 -125
- package/src/Cloudflare/VpcService/VpcServiceRef.ts +1 -1
- package/src/Cloudflare/Workers/Assets.ts +2 -2
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +3 -2
- package/src/Cloudflare/Workers/Worker.ts +323 -269
- package/src/Cloudflare/Workers/WorkerAsyncBindings.ts +7 -21
- package/src/Cloudflare/Workers/Workflow.ts +8 -8
- package/src/Cloudflare/Zaraz/ZarazConfig.ts +87 -99
- package/src/Cloudflare/Zone/Zone.ts +36 -33
- package/src/GitHub/Comment.ts +3 -20
- package/src/GitHub/Credentials.ts +9 -5
- package/src/GitHub/Octokit.ts +9 -0
- package/src/GitHub/Secret.ts +8 -21
- package/src/GitHub/Variable.ts +3 -8
- package/src/Kubernetes/client.ts +2 -2
- package/src/Neon/AuthProvider.ts +2 -2
- package/src/Neon/Branch.ts +264 -272
- package/src/Neon/Credentials.ts +4 -2
- package/src/Neon/Project.ts +372 -378
- package/src/Neon/Providers.ts +0 -6
- package/src/Neon/index.ts +0 -1
- package/src/Output.ts +8 -4
- package/src/Plan.ts +15 -7
- package/src/Planetscale/Branch.ts +311 -321
- package/src/Planetscale/Credentials.ts +20 -15
- package/src/Planetscale/MySQL/MySQLDatabase.ts +269 -280
- package/src/Planetscale/MySQL/MySQLPassword.ts +161 -168
- package/src/Planetscale/Postgres/PostgresClusterSize.ts +4 -4
- package/src/Planetscale/Postgres/PostgresDatabase.ts +287 -296
- package/src/Planetscale/Postgres/PostgresDefaultRole.ts +143 -146
- package/src/Planetscale/Postgres/PostgresRole.ts +188 -195
- package/src/Planetscale/Providers.ts +2 -7
- package/src/Server/SQSQueueEventSource.ts +3 -2
- package/src/Stack.ts +3 -3
- package/bin/alchemy.sh +0 -15
- package/lib/AWS/Context.d.ts +0 -8
- package/lib/AWS/Context.d.ts.map +0 -1
- package/lib/AWS/Context.js +0 -16
- package/lib/AWS/Context.js.map +0 -1
- package/lib/Neon/NeonEnvironment.d.ts +0 -11
- package/lib/Neon/NeonEnvironment.d.ts.map +0 -1
- package/lib/Neon/NeonEnvironment.js +0 -18
- package/lib/Neon/NeonEnvironment.js.map +0 -1
- package/src/AWS/Context.ts +0 -30
- package/src/Neon/NeonEnvironment.ts +0 -32
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Credentials } from "@distilled.cloud/planetscale/Credentials";
|
|
2
|
-
import * as
|
|
2
|
+
import * as planetscale from "@distilled.cloud/planetscale/Operations";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
4
|
import * as Redacted from "effect/Redacted";
|
|
5
5
|
import { isResolved } from "../../Diff.js";
|
|
@@ -7,6 +7,128 @@ import * as Provider from "../../Provider.js";
|
|
|
7
7
|
import { Resource } from "../../Resource.js";
|
|
8
8
|
import { PlanetscaleConflict, waitForBranchReady } from "../Util.js";
|
|
9
9
|
export const PostgresDefaultRole = Resource("Planetscale.PostgresDefaultRole");
|
|
10
|
+
export const PostgresDefaultRoleProvider = () => Provider.succeed(PostgresDefaultRole, {
|
|
11
|
+
stables: ["id"],
|
|
12
|
+
diff: Effect.fn(function* ({ news, olds = {} }) {
|
|
13
|
+
if (!isResolved(news))
|
|
14
|
+
return undefined;
|
|
15
|
+
const newDb = resolveDatabaseName(news.database);
|
|
16
|
+
const oldDb = olds.database
|
|
17
|
+
? resolveDatabaseName(olds.database)
|
|
18
|
+
: undefined;
|
|
19
|
+
if (oldDb && newDb !== oldDb) {
|
|
20
|
+
return { action: "replace" };
|
|
21
|
+
}
|
|
22
|
+
const newBranch = resolveBranchName(news.branch);
|
|
23
|
+
const oldBranch = resolveBranchName(olds.branch);
|
|
24
|
+
if (newBranch !== oldBranch) {
|
|
25
|
+
return { action: "replace" };
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}),
|
|
29
|
+
read: Effect.fn(function* ({ output }) {
|
|
30
|
+
// Adoption (no cached output) is impossible without destroying
|
|
31
|
+
// existing credentials. The engine routes adoption through
|
|
32
|
+
// `read`, but here we always defer to reconcile so the
|
|
33
|
+
// `forceReset` props flag remains the user-facing switch for
|
|
34
|
+
// takeover. Returning undefined makes the engine treat the
|
|
35
|
+
// resource as greenfield; reconcile then observes live state
|
|
36
|
+
// and either fails (no forceReset) or resets (forceReset).
|
|
37
|
+
if (!output)
|
|
38
|
+
return undefined;
|
|
39
|
+
// Refresh — verify the default role still exists and re-emit
|
|
40
|
+
// the persisted output (with plaintext intact). If gone,
|
|
41
|
+
// return undefined so the engine routes through reconcile,
|
|
42
|
+
// which will recreate via reset.
|
|
43
|
+
return yield* planetscale
|
|
44
|
+
.getDefaultRole({
|
|
45
|
+
organization: output.organization,
|
|
46
|
+
database: output.database,
|
|
47
|
+
branch: output.branch,
|
|
48
|
+
})
|
|
49
|
+
.pipe(Effect.map(() => output), Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
|
|
50
|
+
}),
|
|
51
|
+
reconcile: Effect.fn(function* ({ news, output }) {
|
|
52
|
+
const { organization: envOrg } = yield* yield* Credentials;
|
|
53
|
+
const organization = resolveDatabaseOrg(news.database) ?? envOrg;
|
|
54
|
+
const databaseName = resolveDatabaseName(news.database);
|
|
55
|
+
const branchName = resolveBranchName(news.branch);
|
|
56
|
+
// 1. Observe — the default role is the singleton for this
|
|
57
|
+
// (database, branch); we key on those rather than an id.
|
|
58
|
+
// Observation runs unconditionally so the adoption guard
|
|
59
|
+
// below fires on greenfield deploys against branches that
|
|
60
|
+
// already have a default role (otherwise we would silently
|
|
61
|
+
// `resetDefault` and destroy their credentials).
|
|
62
|
+
const observed = yield* planetscale
|
|
63
|
+
.getDefaultRole({
|
|
64
|
+
organization,
|
|
65
|
+
database: databaseName,
|
|
66
|
+
branch: branchName,
|
|
67
|
+
})
|
|
68
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
|
|
69
|
+
// 2. Sync (no-op) — we own the role and it still exists in the
|
|
70
|
+
// cloud. Default roles have nothing mutable in place: their
|
|
71
|
+
// plaintext password isn't retrievable, so we re-emit the
|
|
72
|
+
// persisted attributes unchanged. diff() forces a replace
|
|
73
|
+
// when database/branch change.
|
|
74
|
+
if (output && observed) {
|
|
75
|
+
return output;
|
|
76
|
+
}
|
|
77
|
+
// 3. Adoption guard — observed exists but we have no prior
|
|
78
|
+
// output (greenfield against a pre-existing default role).
|
|
79
|
+
// Taking over requires a reset (which destroys the existing
|
|
80
|
+
// password), so gate on an explicit forceReset opt-in.
|
|
81
|
+
if (observed && !news.forceReset) {
|
|
82
|
+
return yield* Effect.fail(new PlanetscaleConflict({
|
|
83
|
+
message: `Default role already exists for database "${databaseName}" branch "${branchName}". Use forceReset: true to reset.`,
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
// 4. Ensure — (re)create the default role. This branch runs
|
|
87
|
+
// for greenfield (no output, no observed), drift recovery
|
|
88
|
+
// (output cached but cloud state gone), and authorised
|
|
89
|
+
// adoption (observed present + forceReset).
|
|
90
|
+
yield* waitForBranchReady(organization, databaseName, branchName);
|
|
91
|
+
const data = yield* planetscale.resetDefaultRole({
|
|
92
|
+
organization,
|
|
93
|
+
database: databaseName,
|
|
94
|
+
branch: branchName,
|
|
95
|
+
});
|
|
96
|
+
if (!data.password) {
|
|
97
|
+
return yield* Effect.die(`Planetscale did not return a password for Default Role.`);
|
|
98
|
+
}
|
|
99
|
+
const password = Redacted.isRedacted(data.password)
|
|
100
|
+
? Redacted.value(data.password)
|
|
101
|
+
: data.password;
|
|
102
|
+
const connectionUrl = `postgresql://${data.username}:${password}@${data.access_host_url}:5432/${data.database_name}?sslmode=verify-full`;
|
|
103
|
+
const connectionUrlPooled = `postgresql://${data.username}:${password}@${data.access_host_url}:6432/${data.database_name}?sslmode=verify-full`;
|
|
104
|
+
return {
|
|
105
|
+
id: data.id,
|
|
106
|
+
name: data.name,
|
|
107
|
+
expiresAt: data.expires_at,
|
|
108
|
+
host: data.access_host_url,
|
|
109
|
+
username: data.username,
|
|
110
|
+
password: Redacted.make(password),
|
|
111
|
+
ttl: data.ttl,
|
|
112
|
+
databaseName: data.database_name,
|
|
113
|
+
connectionUrl: Redacted.make(connectionUrl),
|
|
114
|
+
connectionUrlPooled: Redacted.make(connectionUrlPooled),
|
|
115
|
+
inheritedRoles: data.inherited_roles,
|
|
116
|
+
organization,
|
|
117
|
+
database: databaseName,
|
|
118
|
+
branch: branchName,
|
|
119
|
+
};
|
|
120
|
+
}),
|
|
121
|
+
delete: Effect.fn(function* ({ output }) {
|
|
122
|
+
// No delete endpoint — reset to invalidate existing credentials.
|
|
123
|
+
yield* planetscale
|
|
124
|
+
.resetDefaultRole({
|
|
125
|
+
organization: output.organization,
|
|
126
|
+
database: output.database,
|
|
127
|
+
branch: output.branch,
|
|
128
|
+
})
|
|
129
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
130
|
+
}),
|
|
131
|
+
});
|
|
10
132
|
const resolveDatabaseName = (database) => {
|
|
11
133
|
const ref = database;
|
|
12
134
|
return typeof ref === "string" ? ref : ref.name;
|
|
@@ -19,124 +141,4 @@ const resolveBranchName = (branch) => {
|
|
|
19
141
|
const ref = branch;
|
|
20
142
|
return !ref ? "main" : typeof ref === "string" ? ref : ref.name;
|
|
21
143
|
};
|
|
22
|
-
export const PostgresDefaultRoleProvider = () => Provider.effect(PostgresDefaultRole, Effect.gen(function* () {
|
|
23
|
-
const getDefault = yield* ops.getDefaultRole;
|
|
24
|
-
const resetDefault = yield* ops.resetDefaultRole;
|
|
25
|
-
return {
|
|
26
|
-
stables: ["id"],
|
|
27
|
-
diff: Effect.fn(function* ({ news, olds = {} }) {
|
|
28
|
-
if (!isResolved(news))
|
|
29
|
-
return undefined;
|
|
30
|
-
const newDb = resolveDatabaseName(news.database);
|
|
31
|
-
const oldDb = olds.database
|
|
32
|
-
? resolveDatabaseName(olds.database)
|
|
33
|
-
: undefined;
|
|
34
|
-
if (oldDb && newDb !== oldDb) {
|
|
35
|
-
return { action: "replace" };
|
|
36
|
-
}
|
|
37
|
-
const newBranch = resolveBranchName(news.branch);
|
|
38
|
-
const oldBranch = resolveBranchName(olds.branch);
|
|
39
|
-
if (newBranch !== oldBranch) {
|
|
40
|
-
return { action: "replace" };
|
|
41
|
-
}
|
|
42
|
-
return undefined;
|
|
43
|
-
}),
|
|
44
|
-
read: Effect.fn(function* ({ output }) {
|
|
45
|
-
// Adoption (no cached output) is impossible without destroying
|
|
46
|
-
// existing credentials. The engine routes adoption through
|
|
47
|
-
// `read`, but here we always defer to reconcile so the
|
|
48
|
-
// `forceReset` props flag remains the user-facing switch for
|
|
49
|
-
// takeover. Returning undefined makes the engine treat the
|
|
50
|
-
// resource as greenfield; reconcile then observes live state
|
|
51
|
-
// and either fails (no forceReset) or resets (forceReset).
|
|
52
|
-
if (!output)
|
|
53
|
-
return undefined;
|
|
54
|
-
// Refresh — verify the default role still exists and re-emit
|
|
55
|
-
// the persisted output (with plaintext intact). If gone,
|
|
56
|
-
// return undefined so the engine routes through reconcile,
|
|
57
|
-
// which will recreate via reset.
|
|
58
|
-
return yield* getDefault({
|
|
59
|
-
organization: output.organization,
|
|
60
|
-
database: output.database,
|
|
61
|
-
branch: output.branch,
|
|
62
|
-
}).pipe(Effect.map(() => output), Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
|
|
63
|
-
}),
|
|
64
|
-
reconcile: Effect.fn(function* ({ news, output }) {
|
|
65
|
-
const { organization: envOrg } = yield* Credentials;
|
|
66
|
-
const organization = resolveDatabaseOrg(news.database) ?? envOrg;
|
|
67
|
-
const databaseName = resolveDatabaseName(news.database);
|
|
68
|
-
const branchName = resolveBranchName(news.branch);
|
|
69
|
-
// 1. Observe — the default role is the singleton for this
|
|
70
|
-
// (database, branch); we key on those rather than an id.
|
|
71
|
-
// Observation runs unconditionally so the adoption guard
|
|
72
|
-
// below fires on greenfield deploys against branches that
|
|
73
|
-
// already have a default role (otherwise we would silently
|
|
74
|
-
// `resetDefault` and destroy their credentials).
|
|
75
|
-
const observed = yield* getDefault({
|
|
76
|
-
organization,
|
|
77
|
-
database: databaseName,
|
|
78
|
-
branch: branchName,
|
|
79
|
-
}).pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
|
|
80
|
-
// 2. Sync (no-op) — we own the role and it still exists in the
|
|
81
|
-
// cloud. Default roles have nothing mutable in place: their
|
|
82
|
-
// plaintext password isn't retrievable, so we re-emit the
|
|
83
|
-
// persisted attributes unchanged. diff() forces a replace
|
|
84
|
-
// when database/branch change.
|
|
85
|
-
if (output && observed) {
|
|
86
|
-
return output;
|
|
87
|
-
}
|
|
88
|
-
// 3. Adoption guard — observed exists but we have no prior
|
|
89
|
-
// output (greenfield against a pre-existing default role).
|
|
90
|
-
// Taking over requires a reset (which destroys the existing
|
|
91
|
-
// password), so gate on an explicit forceReset opt-in.
|
|
92
|
-
if (observed && !news.forceReset) {
|
|
93
|
-
return yield* Effect.fail(new PlanetscaleConflict({
|
|
94
|
-
message: `Default role already exists for database "${databaseName}" branch "${branchName}". Use forceReset: true to reset.`,
|
|
95
|
-
}));
|
|
96
|
-
}
|
|
97
|
-
// 4. Ensure — (re)create the default role. This branch runs
|
|
98
|
-
// for greenfield (no output, no observed), drift recovery
|
|
99
|
-
// (output cached but cloud state gone), and authorised
|
|
100
|
-
// adoption (observed present + forceReset).
|
|
101
|
-
yield* waitForBranchReady(organization, databaseName, branchName);
|
|
102
|
-
const data = yield* resetDefault({
|
|
103
|
-
organization,
|
|
104
|
-
database: databaseName,
|
|
105
|
-
branch: branchName,
|
|
106
|
-
});
|
|
107
|
-
if (!data.password) {
|
|
108
|
-
return yield* Effect.die(`Planetscale did not return a password for Default Role.`);
|
|
109
|
-
}
|
|
110
|
-
const password = Redacted.isRedacted(data.password)
|
|
111
|
-
? Redacted.value(data.password)
|
|
112
|
-
: data.password;
|
|
113
|
-
const connectionUrl = `postgresql://${data.username}:${password}@${data.access_host_url}:5432/${data.database_name}?sslmode=verify-full`;
|
|
114
|
-
const connectionUrlPooled = `postgresql://${data.username}:${password}@${data.access_host_url}:6432/${data.database_name}?sslmode=verify-full`;
|
|
115
|
-
return {
|
|
116
|
-
id: data.id,
|
|
117
|
-
name: data.name,
|
|
118
|
-
expiresAt: data.expires_at,
|
|
119
|
-
host: data.access_host_url,
|
|
120
|
-
username: data.username,
|
|
121
|
-
password: Redacted.make(password),
|
|
122
|
-
ttl: data.ttl,
|
|
123
|
-
databaseName: data.database_name,
|
|
124
|
-
connectionUrl: Redacted.make(connectionUrl),
|
|
125
|
-
connectionUrlPooled: Redacted.make(connectionUrlPooled),
|
|
126
|
-
inheritedRoles: data.inherited_roles,
|
|
127
|
-
organization,
|
|
128
|
-
database: databaseName,
|
|
129
|
-
branch: branchName,
|
|
130
|
-
};
|
|
131
|
-
}),
|
|
132
|
-
delete: Effect.fn(function* ({ output }) {
|
|
133
|
-
// No delete endpoint — reset to invalidate existing credentials.
|
|
134
|
-
yield* resetDefault({
|
|
135
|
-
organization: output.organization,
|
|
136
|
-
database: output.database,
|
|
137
|
-
branch: output.branch,
|
|
138
|
-
}).pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
139
|
-
}),
|
|
140
|
-
};
|
|
141
|
-
}));
|
|
142
144
|
//# sourceMappingURL=PostgresDefaultRole.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresDefaultRole.js","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresDefaultRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PostgresDefaultRole.js","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresDefaultRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,KAAK,WAAW,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA0FrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CACzC,iCAAiC,CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE;IACpC,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE;QAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAExC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ;YACzB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,CAAC;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;QACnC,+DAA+D;QAC/D,2DAA2D;QAC3D,uDAAuD;QACvD,6DAA6D;QAC7D,2DAA2D;QAC3D,6DAA6D;QAC7D,2DAA2D;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,6DAA6D;QAC7D,yDAAyD;QACzD,2DAA2D;QAC3D,iCAAiC;QACjC,OAAO,KAAK,CAAC,CAAC,WAAW;aACtB,cAAc,CAAC;YACd,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;aACD,IAAI,CACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EACxB,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAC7D,CAAC;IACN,CAAC,CAAC;IAEF,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9C,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC;QAC3D,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;QACjE,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElD,0DAA0D;QAC1D,4DAA4D;QAC5D,4DAA4D;QAC5D,6DAA6D;QAC7D,8DAA8D;QAC9D,oDAAoD;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,WAAW;aAChC,cAAc,CAAC;YACd,YAAY;YACZ,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,UAAU;SACnB,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEtE,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,6DAA6D;QAC7D,kCAAkC;QAClC,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,2DAA2D;QAC3D,8DAA8D;QAC9D,+DAA+D;QAC/D,0DAA0D;QAC1D,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,IAAI,mBAAmB,CAAC;gBACtB,OAAO,EAAE,6CAA6C,YAAY,aAAa,UAAU,mCAAmC;aAC7H,CAAC,CACH,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,6DAA6D;QAC7D,0DAA0D;QAC1D,+CAA+C;QAC/C,KAAK,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAC/C,YAAY;YACZ,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAElB,MAAM,aAAa,GAAG,gBAAgB,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,aAAa,sBAAsB,CAAC;QACzI,MAAM,mBAAmB,GAAG,gBAAgB,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,aAAa,sBAAsB,CAAC;QAE/I,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YAC3C,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACvD,cAAc,EAAE,IAAI,CAAC,eAAkC;YACvD,YAAY;YACZ,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,UAAU;SACqB,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;QACrC,iEAAiE;QACjE,KAAK,CAAC,CAAC,WAAW;aACf,gBAAgB,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;CACH,CAAC,CAAC;AAOL,MAAM,mBAAmB,GAAG,CAAC,QAAmC,EAAU,EAAE;IAC1E,MAAM,GAAG,GAAG,QAAkC,CAAC;IAC/C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,QAAmC,EACf,EAAE;IACtB,MAAM,GAAG,GAAG,QAAkC,CAAC;IAC/C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,MAA2C,EACnC,EAAE;IACV,MAAM,GAAG,GAAG,MAA0C,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAClE,CAAC,CAAC"}
|
|
@@ -12,7 +12,7 @@ export interface PostgresMigrationTarget {
|
|
|
12
12
|
database: string;
|
|
13
13
|
branch: string;
|
|
14
14
|
}
|
|
15
|
-
export declare const runPostgresMigrations: (target: PostgresMigrationTarget, migrationsDir: string, migrationsTable: string) => Effect.Effect<Record<string, string>, import("effect/PlatformError").PlatformError | import("@distilled.cloud/axiom").NotFound | import("@distilled.cloud/axiom").Forbidden | PostgresMigrationError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@distilled.cloud/planetscale
|
|
16
|
-
export declare const runPostgresImports: (target: PostgresMigrationTarget, importFiles: ReadonlyArray<string>, rootDir: string, previous: Record<string, string>) => Effect.Effect<Record<string, string>, import("effect/PlatformError").PlatformError | import("@distilled.cloud/axiom").NotFound | import("@distilled.cloud/axiom").Forbidden | PostgresMigrationError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@distilled.cloud/planetscale
|
|
15
|
+
export declare const runPostgresMigrations: (target: PostgresMigrationTarget, migrationsDir: string, migrationsTable: string) => Effect.Effect<Record<string, string>, import("effect/PlatformError").PlatformError | import("@distilled.cloud/axiom").NotFound | import("@distilled.cloud/axiom").Forbidden | PostgresMigrationError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@distilled.cloud/planetscale").Credentials>;
|
|
16
|
+
export declare const runPostgresImports: (target: PostgresMigrationTarget, importFiles: ReadonlyArray<string>, rootDir: string, previous: Record<string, string>) => Effect.Effect<Record<string, string>, import("effect/PlatformError").PlatformError | import("@distilled.cloud/axiom").NotFound | import("@distilled.cloud/axiom").Forbidden | PostgresMigrationError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@distilled.cloud/planetscale").Credentials>;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=PostgresMigrations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresMigrations.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresMigrations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAQxC,qBAAa,sBAAuB,SAAQ,4BAE1C;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;CAAG;AAEL,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,uBAAuB,EAC/B,eAAe,MAAM,EACrB,iBAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"PostgresMigrations.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresMigrations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAQxC,qBAAa,sBAAuB,SAAQ,4BAE1C;IACA,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;CAAG;AAEL,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,uBAAuB,EAC/B,eAAe,MAAM,EACrB,iBAAiB,MAAM,oUAcrB,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,uBAAuB,EAC/B,aAAa,aAAa,CAAC,MAAM,CAAC,EAClC,SAAS,MAAM,EACf,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oUAkB9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresRole.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAGvE,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"PostgresRole.d.ts","sourceRoot":"","sources":["../../../src/Planetscale/Postgres/PostgresRole.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAGvE,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,6BAA6B,GAC7B,mBAAmB,GACnB,UAAU,GACV,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAiBlB;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAEjC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,cAAc,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;IAE/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,MAAM,EAAE,cAAc,CAAC;IACvB,yDAAyD;IACzD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,iEAAiE;IACjE,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/C,uBAAuB;IACvB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CACjC,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,SAAS,CACV,CAAC;AAEF,eAAO,MAAM,YAAY,yDAAqD,CAAC;AAE/E,eAAO,MAAM,oBAAoB,2JAwL7B,CAAC"}
|
|
@@ -1,13 +1,170 @@
|
|
|
1
1
|
import { Credentials } from "@distilled.cloud/planetscale/Credentials";
|
|
2
|
-
import * as
|
|
2
|
+
import * as planetscale from "@distilled.cloud/planetscale/Operations";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
4
|
import * as Redacted from "effect/Redacted";
|
|
5
5
|
import { deepEqual, isResolved } from "../../Diff.js";
|
|
6
|
+
import { createPhysicalName } from "../../PhysicalName.js";
|
|
6
7
|
import * as Provider from "../../Provider.js";
|
|
7
8
|
import { Resource } from "../../Resource.js";
|
|
8
9
|
import { isKnownError, PlanetscaleConflict, waitForBranchReady, } from "../Util.js";
|
|
9
|
-
import { createPhysicalName } from "../../PhysicalName.js";
|
|
10
10
|
export const PostgresRole = Resource("Planetscale.PostgresRole");
|
|
11
|
+
export const PostgresRoleProvider = () => Provider.succeed(PostgresRole, {
|
|
12
|
+
stables: ["id"],
|
|
13
|
+
diff: Effect.fn(function* ({ id, news, olds, output }) {
|
|
14
|
+
if (!isResolved(news))
|
|
15
|
+
return undefined;
|
|
16
|
+
// Successor is the only updatable property — everything else
|
|
17
|
+
// requires replacement.
|
|
18
|
+
if (news.ttl !== olds.ttl) {
|
|
19
|
+
return { action: "replace" };
|
|
20
|
+
}
|
|
21
|
+
const newDb = resolveDatabaseName(news.database);
|
|
22
|
+
const oldDb = olds.database
|
|
23
|
+
? resolveDatabaseName(olds.database)
|
|
24
|
+
: undefined;
|
|
25
|
+
if (oldDb && newDb !== oldDb) {
|
|
26
|
+
return { action: "replace" };
|
|
27
|
+
}
|
|
28
|
+
const newBranch = resolveBranchName(news.branch);
|
|
29
|
+
const oldBranch = resolveBranchName(olds.branch);
|
|
30
|
+
if (newBranch !== oldBranch) {
|
|
31
|
+
return { action: "replace" };
|
|
32
|
+
}
|
|
33
|
+
const newRoles = resolveInheritedRoles(news.inheritedRoles);
|
|
34
|
+
const oldRoles = output?.inheritedRoles ?? [];
|
|
35
|
+
if (!deepEqual(newRoles, oldRoles)) {
|
|
36
|
+
return { action: "replace" };
|
|
37
|
+
}
|
|
38
|
+
const oldName = output?.name ?? (yield* resolveName(id, olds?.name));
|
|
39
|
+
const newName = yield* resolveName(id, news.name);
|
|
40
|
+
if (newName !== oldName) {
|
|
41
|
+
return { action: "update" };
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}),
|
|
45
|
+
read: Effect.fn(function* ({ output }) {
|
|
46
|
+
if (!output?.id)
|
|
47
|
+
return undefined;
|
|
48
|
+
return yield* planetscale
|
|
49
|
+
.getRole({
|
|
50
|
+
branch: output.branch,
|
|
51
|
+
database: output.database,
|
|
52
|
+
organization: output.organization,
|
|
53
|
+
id: output.id,
|
|
54
|
+
})
|
|
55
|
+
.pipe(Effect.map((token) => buildAttributes(token, output.password, {
|
|
56
|
+
inheritedRoles: token.inherited_roles,
|
|
57
|
+
successor: output.successor,
|
|
58
|
+
organization: output.organization,
|
|
59
|
+
database: output.database,
|
|
60
|
+
branch: token.branch.name,
|
|
61
|
+
})), Effect.catchTag("Forbidden", () => Effect.succeed(undefined)), Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
|
|
62
|
+
}),
|
|
63
|
+
reconcile: Effect.fn(function* ({ id, news, output }) {
|
|
64
|
+
const { organization: envOrg } = yield* yield* Credentials;
|
|
65
|
+
const organization = resolveDatabaseOrg(news.database) ?? envOrg;
|
|
66
|
+
const databaseName = resolveDatabaseName(news.database);
|
|
67
|
+
const branchName = resolveBranchName(news.branch);
|
|
68
|
+
const inheritedRoles = resolveInheritedRoles(news.inheritedRoles);
|
|
69
|
+
const successor = resolveSuccessorName(news.successor);
|
|
70
|
+
const desiredName = yield* resolveName(id, news.name);
|
|
71
|
+
// 1. Observe — fetch live state if we know the role id. Roles
|
|
72
|
+
// can only be looked up by id; without a cached id there is
|
|
73
|
+
// no way to find the live role, so we fall through to ensure.
|
|
74
|
+
const observed = output?.id
|
|
75
|
+
? yield* planetscale
|
|
76
|
+
.getRole({
|
|
77
|
+
id: output.id,
|
|
78
|
+
branch: branchName,
|
|
79
|
+
organization,
|
|
80
|
+
database: databaseName,
|
|
81
|
+
})
|
|
82
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)))
|
|
83
|
+
: undefined;
|
|
84
|
+
// 2. Ensure — create if missing. Single branch covers both
|
|
85
|
+
// greenfield (no output) and out-of-band-deletion (output
|
|
86
|
+
// cached but cloud lost it). The latter is structurally a
|
|
87
|
+
// rotation: the new role has fresh id/host/username/plaintext
|
|
88
|
+
// that propagate downstream through the dependency graph.
|
|
89
|
+
// There is no path to recover the original plaintext, so
|
|
90
|
+
// recreating is the only way to converge.
|
|
91
|
+
//
|
|
92
|
+
// Planetscale returns the plaintext password value exactly
|
|
93
|
+
// once on create; on an observe-hit we re-use the cached
|
|
94
|
+
// plaintext from output (which is why adoption requires
|
|
95
|
+
// pre-existing state — see `read`).
|
|
96
|
+
let live;
|
|
97
|
+
let plaintext;
|
|
98
|
+
if (observed) {
|
|
99
|
+
live = observed;
|
|
100
|
+
plaintext = output.password;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const branchInfo = yield* planetscale.getBranch({
|
|
104
|
+
organization,
|
|
105
|
+
database: databaseName,
|
|
106
|
+
branch: branchName,
|
|
107
|
+
});
|
|
108
|
+
if (branchInfo.kind !== "postgresql") {
|
|
109
|
+
return yield* Effect.fail(new PlanetscaleConflict({
|
|
110
|
+
message: `Cannot create a Role on MySQL database "${databaseName}". Roles are only supported on PostgreSQL. Use Password for MySQL.`,
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
if (!branchInfo.ready) {
|
|
114
|
+
yield* waitForBranchReady(organization, databaseName, branchName);
|
|
115
|
+
}
|
|
116
|
+
const created = yield* planetscale.createRole({
|
|
117
|
+
name: desiredName,
|
|
118
|
+
branch: branchName,
|
|
119
|
+
organization,
|
|
120
|
+
database: databaseName,
|
|
121
|
+
ttl: news.ttl,
|
|
122
|
+
inherited_roles: inheritedRoles,
|
|
123
|
+
});
|
|
124
|
+
if (!created.password) {
|
|
125
|
+
return yield* Effect.die(`Planetscale did not return a password for Role "${desiredName}".`);
|
|
126
|
+
}
|
|
127
|
+
plaintext = created.password;
|
|
128
|
+
live = created;
|
|
129
|
+
}
|
|
130
|
+
// 3. Sync — only `name` is mutable in place; diff observed
|
|
131
|
+
// against desired and skip the API call when nothing
|
|
132
|
+
// changed. Everything else triggers a replace via diff().
|
|
133
|
+
if (live.name !== desiredName) {
|
|
134
|
+
live = yield* planetscale.updateRole({
|
|
135
|
+
id: live.id,
|
|
136
|
+
branch: branchName,
|
|
137
|
+
organization,
|
|
138
|
+
database: databaseName,
|
|
139
|
+
name: desiredName,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// 4. Return — fresh attrs sourced from observed cloud state,
|
|
143
|
+
// with cached or freshly-issued plaintext.
|
|
144
|
+
return buildAttributes(live, plaintext, {
|
|
145
|
+
inheritedRoles: live.inherited_roles,
|
|
146
|
+
successor,
|
|
147
|
+
organization,
|
|
148
|
+
database: databaseName,
|
|
149
|
+
branch: branchName,
|
|
150
|
+
});
|
|
151
|
+
}),
|
|
152
|
+
delete: Effect.fn(function* ({ output }) {
|
|
153
|
+
yield* planetscale
|
|
154
|
+
.deleteRole({
|
|
155
|
+
organization: output.organization,
|
|
156
|
+
database: output.database,
|
|
157
|
+
branch: output.branch,
|
|
158
|
+
id: output.id,
|
|
159
|
+
successor: output.successor,
|
|
160
|
+
})
|
|
161
|
+
.pipe(Effect.catchTag("NotFound", () => Effect.void),
|
|
162
|
+
// 422 (UnprocessableEntity): role is still referenced. Log a
|
|
163
|
+
// warning rather than failing — the role will be cleaned up
|
|
164
|
+
// when the database/branch is deleted.
|
|
165
|
+
Effect.catchIf(isKnownError("UnprocessableEntity", "Role is still referenced and cannot be dropped."), () => Effect.void));
|
|
166
|
+
}),
|
|
167
|
+
});
|
|
11
168
|
const resolveDatabaseName = (database) => {
|
|
12
169
|
const ref = database;
|
|
13
170
|
return typeof ref === "string" ? ref : ref.name;
|
|
@@ -67,162 +224,4 @@ const buildAttributes = (role, password, context) => {
|
|
|
67
224
|
ttl: role.ttl,
|
|
68
225
|
};
|
|
69
226
|
};
|
|
70
|
-
export const PostgresRoleProvider = () => Provider.effect(PostgresRole, Effect.gen(function* () {
|
|
71
|
-
const createRole = yield* ops.createRole;
|
|
72
|
-
const deleteRole = yield* ops.deleteRole;
|
|
73
|
-
const updateRole = yield* ops.updateRole;
|
|
74
|
-
const getRole = yield* ops.getRole;
|
|
75
|
-
const getBranch = yield* ops.getBranch;
|
|
76
|
-
return {
|
|
77
|
-
stables: ["id"],
|
|
78
|
-
diff: Effect.fn(function* ({ id, news, olds, output }) {
|
|
79
|
-
if (!isResolved(news))
|
|
80
|
-
return undefined;
|
|
81
|
-
// Successor is the only updatable property — everything else
|
|
82
|
-
// requires replacement.
|
|
83
|
-
if (news.ttl !== olds.ttl) {
|
|
84
|
-
return { action: "replace" };
|
|
85
|
-
}
|
|
86
|
-
const newDb = resolveDatabaseName(news.database);
|
|
87
|
-
const oldDb = olds.database
|
|
88
|
-
? resolveDatabaseName(olds.database)
|
|
89
|
-
: undefined;
|
|
90
|
-
if (oldDb && newDb !== oldDb) {
|
|
91
|
-
return { action: "replace" };
|
|
92
|
-
}
|
|
93
|
-
const newBranch = resolveBranchName(news.branch);
|
|
94
|
-
const oldBranch = resolveBranchName(olds.branch);
|
|
95
|
-
if (newBranch !== oldBranch) {
|
|
96
|
-
return { action: "replace" };
|
|
97
|
-
}
|
|
98
|
-
const newRoles = resolveInheritedRoles(news.inheritedRoles);
|
|
99
|
-
const oldRoles = output?.inheritedRoles ?? [];
|
|
100
|
-
if (!deepEqual(newRoles, oldRoles)) {
|
|
101
|
-
return { action: "replace" };
|
|
102
|
-
}
|
|
103
|
-
const oldName = output?.name ?? (yield* resolveName(id, olds?.name));
|
|
104
|
-
const newName = yield* resolveName(id, news.name);
|
|
105
|
-
if (newName !== oldName) {
|
|
106
|
-
return { action: "update" };
|
|
107
|
-
}
|
|
108
|
-
return undefined;
|
|
109
|
-
}),
|
|
110
|
-
read: Effect.fn(function* ({ output }) {
|
|
111
|
-
if (!output?.id)
|
|
112
|
-
return undefined;
|
|
113
|
-
return yield* getRole({
|
|
114
|
-
branch: output.branch,
|
|
115
|
-
database: output.database,
|
|
116
|
-
organization: output.organization,
|
|
117
|
-
id: output.id,
|
|
118
|
-
}).pipe(Effect.map((token) => buildAttributes(token, output.password, {
|
|
119
|
-
inheritedRoles: token.inherited_roles,
|
|
120
|
-
successor: output.successor,
|
|
121
|
-
organization: output.organization,
|
|
122
|
-
database: output.database,
|
|
123
|
-
branch: token.branch.name,
|
|
124
|
-
})), Effect.catchTag("Forbidden", () => Effect.succeed(undefined)), Effect.catchTag("NotFound", () => Effect.succeed(undefined)));
|
|
125
|
-
}),
|
|
126
|
-
reconcile: Effect.fn(function* ({ id, news, output }) {
|
|
127
|
-
const { organization: envOrg } = yield* Credentials;
|
|
128
|
-
const organization = resolveDatabaseOrg(news.database) ?? envOrg;
|
|
129
|
-
const databaseName = resolveDatabaseName(news.database);
|
|
130
|
-
const branchName = resolveBranchName(news.branch);
|
|
131
|
-
const inheritedRoles = resolveInheritedRoles(news.inheritedRoles);
|
|
132
|
-
const successor = resolveSuccessorName(news.successor);
|
|
133
|
-
const desiredName = yield* resolveName(id, news.name);
|
|
134
|
-
// 1. Observe — fetch live state if we know the role id. Roles
|
|
135
|
-
// can only be looked up by id; without a cached id there is
|
|
136
|
-
// no way to find the live role, so we fall through to ensure.
|
|
137
|
-
const observed = output?.id
|
|
138
|
-
? yield* getRole({
|
|
139
|
-
id: output.id,
|
|
140
|
-
branch: branchName,
|
|
141
|
-
organization,
|
|
142
|
-
database: databaseName,
|
|
143
|
-
}).pipe(Effect.catchTag("NotFound", () => Effect.succeed(undefined)))
|
|
144
|
-
: undefined;
|
|
145
|
-
// 2. Ensure — create if missing. Single branch covers both
|
|
146
|
-
// greenfield (no output) and out-of-band-deletion (output
|
|
147
|
-
// cached but cloud lost it). The latter is structurally a
|
|
148
|
-
// rotation: the new role has fresh id/host/username/plaintext
|
|
149
|
-
// that propagate downstream through the dependency graph.
|
|
150
|
-
// There is no path to recover the original plaintext, so
|
|
151
|
-
// recreating is the only way to converge.
|
|
152
|
-
//
|
|
153
|
-
// Planetscale returns the plaintext password value exactly
|
|
154
|
-
// once on create; on an observe-hit we re-use the cached
|
|
155
|
-
// plaintext from output (which is why adoption requires
|
|
156
|
-
// pre-existing state — see `read`).
|
|
157
|
-
let live;
|
|
158
|
-
let plaintext;
|
|
159
|
-
if (observed) {
|
|
160
|
-
live = observed;
|
|
161
|
-
plaintext = output.password;
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
const branchInfo = yield* getBranch({
|
|
165
|
-
organization,
|
|
166
|
-
database: databaseName,
|
|
167
|
-
branch: branchName,
|
|
168
|
-
});
|
|
169
|
-
if (branchInfo.kind !== "postgresql") {
|
|
170
|
-
return yield* Effect.fail(new PlanetscaleConflict({
|
|
171
|
-
message: `Cannot create a Role on MySQL database "${databaseName}". Roles are only supported on PostgreSQL. Use Password for MySQL.`,
|
|
172
|
-
}));
|
|
173
|
-
}
|
|
174
|
-
if (!branchInfo.ready) {
|
|
175
|
-
yield* waitForBranchReady(organization, databaseName, branchName);
|
|
176
|
-
}
|
|
177
|
-
const created = yield* createRole({
|
|
178
|
-
name: desiredName,
|
|
179
|
-
branch: branchName,
|
|
180
|
-
organization,
|
|
181
|
-
database: databaseName,
|
|
182
|
-
ttl: news.ttl,
|
|
183
|
-
inherited_roles: inheritedRoles,
|
|
184
|
-
});
|
|
185
|
-
if (!created.password) {
|
|
186
|
-
return yield* Effect.die(`Planetscale did not return a password for Role "${desiredName}".`);
|
|
187
|
-
}
|
|
188
|
-
plaintext = created.password;
|
|
189
|
-
live = created;
|
|
190
|
-
}
|
|
191
|
-
// 3. Sync — only `name` is mutable in place; diff observed
|
|
192
|
-
// against desired and skip the API call when nothing
|
|
193
|
-
// changed. Everything else triggers a replace via diff().
|
|
194
|
-
if (live.name !== desiredName) {
|
|
195
|
-
live = yield* updateRole({
|
|
196
|
-
id: live.id,
|
|
197
|
-
branch: branchName,
|
|
198
|
-
organization,
|
|
199
|
-
database: databaseName,
|
|
200
|
-
name: desiredName,
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
// 4. Return — fresh attrs sourced from observed cloud state,
|
|
204
|
-
// with cached or freshly-issued plaintext.
|
|
205
|
-
return buildAttributes(live, plaintext, {
|
|
206
|
-
inheritedRoles: live.inherited_roles,
|
|
207
|
-
successor,
|
|
208
|
-
organization,
|
|
209
|
-
database: databaseName,
|
|
210
|
-
branch: branchName,
|
|
211
|
-
});
|
|
212
|
-
}),
|
|
213
|
-
delete: Effect.fn(function* ({ output }) {
|
|
214
|
-
yield* deleteRole({
|
|
215
|
-
organization: output.organization,
|
|
216
|
-
database: output.database,
|
|
217
|
-
branch: output.branch,
|
|
218
|
-
id: output.id,
|
|
219
|
-
successor: output.successor,
|
|
220
|
-
}).pipe(Effect.catchTag("NotFound", () => Effect.void),
|
|
221
|
-
// 422 (UnprocessableEntity): role is still referenced. Log a
|
|
222
|
-
// warning rather than failing — the role will be cleaned up
|
|
223
|
-
// when the database/branch is deleted.
|
|
224
|
-
Effect.catchIf(isKnownError("UnprocessableEntity", "Role is still referenced and cannot be dropped."), () => Effect.void));
|
|
225
|
-
}),
|
|
226
|
-
};
|
|
227
|
-
}));
|
|
228
227
|
//# sourceMappingURL=PostgresRole.js.map
|