WORKSPACES-INSTANCES

AssociateVolume

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.Body.VolumeId == STRING
    input.Body.Device == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateVolume

enum_ResourceTypeEnum := [ "instance", "volume", "spot-instances-request", "network-interface" ]
enum_VolumeTypeEnum := [ "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3" ]

valid {
    input.Body.AvailabilityZone == STRING
    input.Body.ClientToken == STRING
    input.Body.Encrypted == BOOLEAN
    input.Body.Iops == INTEGER
    input.Body.KmsKeyId == STRING
    input.Body.SizeInGB == INTEGER
    input.Body.SnapshotId == STRING
    input.Body.TagSpecifications[_].ResourceType == enum_ResourceTypeEnum[_]
    input.Body.TagSpecifications[_].Tags[_].Key == STRING
    input.Body.TagSpecifications[_].Tags[_].Value == STRING
    input.Body.Throughput == INTEGER
    input.Body.VolumeType == enum_VolumeTypeEnum[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWorkspaceInstance

enum_AmdSevSnpEnum := [ "enabled", "disabled" ]
enum_AutoRecoveryEnum := [ "disabled", "default" ]
enum_BandwidthWeightingEnum := [ "default", "vpc-1", "ebs-1" ]
enum_CapacityReservationPreferenceEnum := [ "capacity-reservations-only", "open", "none" ]
enum_CpuCreditsEnum := [ "standard", "unlimited" ]
enum_HostnameTypeEnum := [ "ip-name", "resource-name" ]
enum_HttpEndpointEnum := [ "enabled", "disabled" ]
enum_HttpProtocolIpv6Enum := [ "enabled", "disabled" ]
enum_HttpTokensEnum := [ "optional", "required" ]
enum_InstanceInterruptionBehaviorEnum := [ "hibernate", "stop" ]
enum_InstanceMetadataTagsEnum := [ "enabled", "disabled" ]
enum_InterfaceTypeEnum := [ "interface", "efa", "efa-only" ]
enum_MarketTypeEnum := [ "spot", "capacity-block" ]
enum_ResourceTypeEnum := [ "instance", "volume", "spot-instances-request", "network-interface" ]
enum_SpotInstanceTypeEnum := [ "one-time", "persistent" ]
enum_TenancyEnum := [ "default", "dedicated", "host" ]
enum_VolumeTypeEnum := [ "standard", "io1", "io2", "gp2", "sc1", "st1", "gp3" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ManagedInstance.BlockDeviceMappings[_].DeviceName == STRING
    input.Body.ManagedInstance.BlockDeviceMappings[_].Ebs.VolumeType == enum_VolumeTypeEnum[_]
    input.Body.ManagedInstance.BlockDeviceMappings[_].Ebs.Encrypted == BOOLEAN
    input.Body.ManagedInstance.BlockDeviceMappings[_].Ebs.KmsKeyId == STRING
    input.Body.ManagedInstance.BlockDeviceMappings[_].Ebs.Iops == INTEGER
    input.Body.ManagedInstance.BlockDeviceMappings[_].Ebs.Throughput == INTEGER
    input.Body.ManagedInstance.BlockDeviceMappings[_].Ebs.VolumeSize == INTEGER
    input.Body.ManagedInstance.BlockDeviceMappings[_].NoDevice == STRING
    input.Body.ManagedInstance.BlockDeviceMappings[_].VirtualName == STRING
    input.Body.ManagedInstance.CapacityReservationSpecification.CapacityReservationPreference == enum_CapacityReservationPreferenceEnum[_]
    input.Body.ManagedInstance.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId == STRING
    input.Body.ManagedInstance.CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationResourceGroupArn == STRING
    input.Body.ManagedInstance.CpuOptions.AmdSevSnp == enum_AmdSevSnpEnum[_]
    input.Body.ManagedInstance.CpuOptions.CoreCount == INTEGER
    input.Body.ManagedInstance.CpuOptions.ThreadsPerCore == INTEGER
    input.Body.ManagedInstance.CreditSpecification.CpuCredits == enum_CpuCreditsEnum[_]
    input.Body.ManagedInstance.DisableApiStop == BOOLEAN
    input.Body.ManagedInstance.EbsOptimized == BOOLEAN
    input.Body.ManagedInstance.EnablePrimaryIpv6 == BOOLEAN
    input.Body.ManagedInstance.EnclaveOptions.Enabled == BOOLEAN
    input.Body.ManagedInstance.HibernationOptions.Configured == BOOLEAN
    input.Body.ManagedInstance.IamInstanceProfile.Arn == STRING
    input.Body.ManagedInstance.IamInstanceProfile.Name == STRING
    input.Body.ManagedInstance.ImageId == STRING
    input.Body.ManagedInstance.InstanceMarketOptions.MarketType == enum_MarketTypeEnum[_]
    input.Body.ManagedInstance.InstanceMarketOptions.SpotOptions.BlockDurationMinutes == INTEGER
    input.Body.ManagedInstance.InstanceMarketOptions.SpotOptions.InstanceInterruptionBehavior == enum_InstanceInterruptionBehaviorEnum[_]
    input.Body.ManagedInstance.InstanceMarketOptions.SpotOptions.MaxPrice == STRING
    input.Body.ManagedInstance.InstanceMarketOptions.SpotOptions.SpotInstanceType == enum_SpotInstanceTypeEnum[_]
    input.Body.ManagedInstance.InstanceMarketOptions.SpotOptions.ValidUntilUtc == TIMESTAMP
    input.Body.ManagedInstance.InstanceType == STRING
    input.Body.ManagedInstance.Ipv6Addresses[_].Ipv6Address == STRING
    input.Body.ManagedInstance.Ipv6Addresses[_].IsPrimaryIpv6 == BOOLEAN
    input.Body.ManagedInstance.Ipv6AddressCount == INTEGER
    input.Body.ManagedInstance.KernelId == STRING
    input.Body.ManagedInstance.KeyName == STRING
    input.Body.ManagedInstance.LicenseSpecifications[_].LicenseConfigurationArn == STRING
    input.Body.ManagedInstance.MaintenanceOptions.AutoRecovery == enum_AutoRecoveryEnum[_]
    input.Body.ManagedInstance.MetadataOptions.HttpEndpoint == enum_HttpEndpointEnum[_]
    input.Body.ManagedInstance.MetadataOptions.HttpProtocolIpv6 == enum_HttpProtocolIpv6Enum[_]
    input.Body.ManagedInstance.MetadataOptions.HttpPutResponseHopLimit == INTEGER
    input.Body.ManagedInstance.MetadataOptions.HttpTokens == enum_HttpTokensEnum[_]
    input.Body.ManagedInstance.MetadataOptions.InstanceMetadataTags == enum_InstanceMetadataTagsEnum[_]
    input.Body.ManagedInstance.Monitoring.Enabled == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].AssociateCarrierIpAddress == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].AssociatePublicIpAddress == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].ConnectionTrackingSpecification.TcpEstablishedTimeout == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].ConnectionTrackingSpecification.UdpStreamTimeout == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].ConnectionTrackingSpecification.UdpTimeout == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].Description == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].DeviceIndex == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].EnaSrdSpecification.EnaSrdEnabled == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].EnaSrdSpecification.EnaSrdUdpSpecification.EnaSrdUdpEnabled == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].InterfaceType == enum_InterfaceTypeEnum[_]
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv4Prefixes[_].Ipv4Prefix == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv4PrefixCount == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv6AddressCount == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv6Addresses[_].Ipv6Address == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv6Addresses[_].IsPrimaryIpv6 == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv6Prefixes[_].Ipv6Prefix == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].Ipv6PrefixCount == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].NetworkCardIndex == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].NetworkInterfaceId == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].PrimaryIpv6 == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].PrivateIpAddress == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].PrivateIpAddresses[_].Primary == BOOLEAN
    input.Body.ManagedInstance.NetworkInterfaces[_].PrivateIpAddresses[_].PrivateIpAddress == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].SecondaryPrivateIpAddressCount == INTEGER
    input.Body.ManagedInstance.NetworkInterfaces[_].Groups[_] == STRING
    input.Body.ManagedInstance.NetworkInterfaces[_].SubnetId == STRING
    input.Body.ManagedInstance.NetworkPerformanceOptions.BandwidthWeighting == enum_BandwidthWeightingEnum[_]
    input.Body.ManagedInstance.Placement.Affinity == STRING
    input.Body.ManagedInstance.Placement.AvailabilityZone == STRING
    input.Body.ManagedInstance.Placement.GroupId == STRING
    input.Body.ManagedInstance.Placement.GroupName == STRING
    input.Body.ManagedInstance.Placement.HostId == STRING
    input.Body.ManagedInstance.Placement.HostResourceGroupArn == STRING
    input.Body.ManagedInstance.Placement.PartitionNumber == INTEGER
    input.Body.ManagedInstance.Placement.Tenancy == enum_TenancyEnum[_]
    input.Body.ManagedInstance.PrivateDnsNameOptions.HostnameType == enum_HostnameTypeEnum[_]
    input.Body.ManagedInstance.PrivateDnsNameOptions.EnableResourceNameDnsARecord == BOOLEAN
    input.Body.ManagedInstance.PrivateDnsNameOptions.EnableResourceNameDnsAAAARecord == BOOLEAN
    input.Body.ManagedInstance.PrivateIpAddress == STRING
    input.Body.ManagedInstance.RamdiskId == STRING
    input.Body.ManagedInstance.SecurityGroupIds[_] == STRING
    input.Body.ManagedInstance.SecurityGroups[_] == STRING
    input.Body.ManagedInstance.SubnetId == STRING
    input.Body.ManagedInstance.TagSpecifications[_].ResourceType == enum_ResourceTypeEnum[_]
    input.Body.ManagedInstance.TagSpecifications[_].Tags[_].Key == STRING
    input.Body.ManagedInstance.TagSpecifications[_].Tags[_].Value == STRING
    input.Body.ManagedInstance.UserData == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteVolume

valid {
    input.Body.VolumeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWorkspaceInstance

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateVolume

enum_DisassociateModeEnum := [ "FORCE", "NO_FORCE" ]

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.Body.VolumeId == STRING
    input.Body.Device == STRING
    input.Body.DisassociateMode == enum_DisassociateModeEnum[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWorkspaceInstance

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListInstanceTypes

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRegions

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListWorkspaceInstances

enum_ProvisionStateEnum := [ "ALLOCATING", "ALLOCATED", "DEALLOCATING", "DEALLOCATED", "ERROR_ALLOCATING", "ERROR_DEALLOCATING" ]

valid {
    input.Body.ProvisionStates[_] == enum_ProvisionStateEnum[_]
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.WorkspaceInstanceId == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}