class PIParameter(Model): """The privacy indexes schematics parameter definition.""" technic = IntType() comportment = IntType() context = IntType() version = IntType() date_update = DateTimeType()
class TaskHistoryDTO(Model): """ Describes an individual action that was performed on a mapping task""" history_id = IntType(serialized_name='historyId') task_id = StringType(serialized_name='taskId') action = StringType() action_text = StringType(serialized_name='actionText') action_date = DateTimeType(serialized_name='actionDate') action_by = StringType(serialized_name='actionBy')
class Cluster(Model): cache_cluster_id = StringType(deserialize_from="CacheClusterId") configuration_endpoint = ModelType( ConfigurationEndpoint, deserialize_from="ConfigurationEndpoint") client_download_landing_page = StringType( deserialize_from="ClientDownloadLandingPage") cache_node_type = StringType(deserialize_from="CacheNodeType") engine = StringType(deserialize_from="Engine") engine_version = StringType(deserialize_from="EngineVersion") cache_cluster_status = StringType(deserialize_from="CacheClusterStatus") num_cache_nodes = IntType(deserialize_from="NumCacheNodes") preferred_availability_zone = StringType( deserialize_from="PreferredAvailabilityZone") cache_cluster_create_time = DateTimeType( deserialize_from="CacheClusterCreateTime") preferred_maintenance_window = StringType( deserialize_from="PreferredMaintenanceWindow") pending_modified_values = ModelType( PendingModifiedValues, deserialize_from="PendingModifiedValues") notification_configuration = ModelType( NotificationConfiguration, deserialize_from="NotificationConfiguration") cache_security_groups = ListType( ModelType(ClusterCacheSecurityGroups, deserialize_from="CacheSecurityGroups")) cache_parameter_group = ModelType(CacheParameterGroup, deserialize_from="CacheParameterGroup") cache_subnet_group_name = StringType( deserialize_from="CacheSubnetGroupName") cache_nodes = ListType( ModelType(ClusterCacheNodes, deserialize_from="CacheNodes")) auto_minor_version_upgrade = BooleanType( deserialize_from="AutoMinorVersionUpgrade") security_groups = ListType( ModelType(ClusterSecurityGroups, deserialize_from="SecurityGroups")) replication_group_id = StringType(deserialize_from="ReplicationGroupId") snapshot_retention_limit = IntType( deserialize_from="SnapshotRetentionLimit") snapshot_window = StringType(deserialize_from="SnapshotWindow") auth_token_enabled = BooleanType(deserialize_from="AuthTokenEnabled") auth_token_last_modified_date = DateTimeType( deserialize_from="AuthTokenLastModifiedDate") transit_encryption_enabled = BooleanType( deserialize_from="TransitEncryptionEnabled") at_rest_encryption_enabled = BooleanType( deserialize_from="AtRestEncryptionEnabled")
class ServiceDeployments(Model): id = StringType(deserialize_from="id") status = StringType(deserialize_from="status") task_definition = StringType(deserialize_from="taskDefinition") desired_count = IntType(deserialize_from="desiredCount") pending_count = IntType(deserialize_from="pendingCount") running_count = IntType(deserialize_from="runningCount") created_at = DateTimeType(deserialize_from="createdAt") updated_at = DateTimeType(deserialize_from="updatedAt") capacity_provider_strategy = ListType( ModelType(CapacityProviderStrategy), deserialize_from="capacityProviderStrategy") launch_type = StringType(deserialize_from="launchType", choices=("EC2", "FARGATE")) platform_version = StringType(deserialize_from="platformVersion") network_configuration = ModelType(NetworkConfiguration, deserialize_from="networkConfiguration")
class ContributorInsight(Model): table_name = StringType(deserialize_from="TableName") index_name = StringType(deserialize_from="IndexName") contributor_insights_rule_list = ListType(StringType, deserialize_from="ContributorInsightsRuleList") contributor_insights_status = StringType(deserialize_from="ContributorInsightsStatus", choices=("ENABLING", "ENABLED", "DISABLING", "DISABLED", "FAILED")) last_update_date_time = DateTimeType(deserialize_from="LastUpdateDateTime") failure_exception = ModelType(FailureException,deserialize_from="FailureException")
class ResourceTag(Model): """Tag related to a resource.""" date_insert = DateTimeType() importance_level = IntType() name = StringType() tag_id = UUIDType() type = StringType()
class TransitGatewayRouteTables(Model): transit_gateway_route_table_id = StringType(deserialize_from="TransitGatewayRouteTableId") transit_gateway_id = StringType(deserialize_from="TransitGatewayId") state = StringType(deserialize_from="State", choices=("pending", "available", "deleting", "deleted")) default_association_route_table = BooleanType(deserialize_from="DefaultAssociationRouteTable") default_propagation_route_table = BooleanType(deserialize_from="DefaultPropagationRouteTable") creation_time = DateTimeType(deserialize_from="CreationTime") tags = ListType(ModelType(Tags), deserialize_from="Tags")
class GoodModel(Model): should_raise = BooleanType(default=True) publish = DateTimeType() def validate_publish(self, data, dt, context): if data['should_raise'] is True: raise ValidationError(u'') return dt
class Device(NewDevice): """Parameter for an existing device.""" device_id = UUIDType() user_id = UUIDType() date_insert = DateTimeType(serialized_format=helpers.RFC3339Milli, tzd=u'utc') date_revoked = DateTimeType(serialized_format=helpers.RFC3339Milli, tzd=u'utc') status = StringType() privacy_features = DictType(StringType, default=lambda: {}) pi = ModelType(PIParameter) class Options: serialize_when_none = False roles = {'default': blacklist('user_id')}
class Message(Model): direction = StringType(required=True) body = StringType(required=True, default="") updated_at = DateTimeType(formats='%Y-%m-%dT%H:%M:%SZ', required=True) status = StringType(required=True) # From embedded uri = StringType(required=True) # can't use message ID: != ID from attachments creator_id = IntType(required=True)
class PostModel(Model): id = IntType(required=False) title = StringType(required=True) photos = StringType(required=False, default='') text = StringType(required=False, default=None) likes = IntType(required=True, default=0) user = ModelType(UserModel, required=True) create_time = DateTimeType(required=True, default=datetime.now())
class ScienceDailyValidatorItem(Model): url = URLType(required=True) title = StringType(required=True) content = StringType(required=True) date = DateTimeType(required=True) source = StringType(required=True) subtitle = StringType(required=True) source_article_url = URLType() # TODO: coverage 25%
class Memcached(Model): arn = StringType(deserialize_from='ARN') cache_cluster_id = StringType(deserialize_from="CacheClusterId", serialize_when_none=False) configuration_endpoint = ModelType(Endpoint, deserialize_from="ConfigurationEndpoint", serialize_when_none=False) configuration_endpoint_display = StringType(default='') client_download_landing_page = StringType(deserialize_from="ClientDownloadLandingPage", serialize_when_none=False) cache_node_type = StringType(deserialize_from="CacheNodeType", serialize_when_none=False) engine = StringType(deserialize_from="Engine", serialize_when_none=False) engine_version = StringType(deserialize_from="EngineVersion", serialize_when_none=False) cache_cluster_status = StringType(deserialize_from="CacheClusterStatus", serialize_when_none=False) num_cache_nodes = IntType(deserialize_from="NumCacheNodes", serialize_when_none=False) preferred_availability_zone = StringType(deserialize_from="PreferredAvailabilityZone", serialize_when_none=False) cache_cluster_create_time = DateTimeType(deserialize_from="CacheClusterCreateTime", serialize_when_none=False) preferred_maintenance_window = StringType(deserialize_from="PreferredMaintenanceWindow", serialize_when_none=False) pending_modified_values = ModelType(MemcachedPendingModifiedValues, deserialize_from="PendingModifiedValues", serialize_when_none=False) notification_configuration = ModelType(NotificationConfiguration, deserialize_from="NotificationConfiguration", serialize_when_none=False) cache_security_groups = ListType(ModelType(CacheSecurityGroups), deserialize_from="CacheSecurityGroups", default=[]) cache_parameter_group = ModelType(CacheParameterGroup, deserialize_from="CacheParameterGroup", serialize_when_none=False) cache_subnet_group_name = StringType(deserialize_from="CacheSubnetGroupName", serialize_when_none=False) auto_minor_version_upgrade = BooleanType(deserialize_from="AutoMinorVersionUpgrade", serialize_when_none=False) security_groups = ListType(ModelType(SecurityGroups), deserialize_from="SecurityGroups", default=[]) replication_group_id = StringType(deserialize_from="ReplicationGroupId", serialize_when_none=False) snapshot_retention_limit = IntType(deserialize_from="SnapshotRetentionLimit", serialize_when_none=False) snapshot_window = StringType(deserialize_from="SnapshotWindow", serialize_when_none=False) auth_token_enabled = BooleanType(deserialize_from="AuthTokenEnabled", serialize_when_none=False) auth_token_last_modified_date = DateTimeType(deserialize_from="AuthTokenLastModifiedDate", serialize_when_none=False) transit_encryption_enabled = BooleanType(deserialize_from="TransitEncryptionEnabled", serialize_when_none=False) at_rest_encryption_enabled = BooleanType(deserialize_from="AtRestEncryptionEnabled", serialize_when_none=False) nodes = ListType(ModelType(MemcachedNode), default=[]) account_id = StringType(default="") tags = ListType(ModelType(Tags), deserialize_from="tags", default=[]) def reference(self, region_code): return { "resource_id": self.arn, "external_link": f"https://console.aws.amazon.com/elasticache/home?region={region_code}#memcached-nodes:id={self.cache_cluster_id}" }
class MemcachedNode(Model): node_name = StringType() status = StringType() port = IntType() endpoint = StringType() parameter_group_status = StringType() # availability_zone = StringType() created_on = DateTimeType()
class Ticket(Model): id = IntType(required=True) subject = StringType(default="") priority = IntType(required=True) blurb = StringType(default="") status = StringType(required=True) created_at = DateTimeType(formats='%Y-%m-%dT%H:%M:%SZ', required=True) updated_at = DateTimeType(formats='%Y-%m-%dT%H:%M:%SZ', required=False) resolved_at = DateTimeType(formats='%Y-%m-%dT%H:%M:%SZ', required=False) # From embedded user_id = IntType(required=True) messages = ListType(ModelType(Message), default=list) attachments = ListType(ModelType(Attachment), default=list) notes = ListType(ModelType(Message), default=list) num_replies = IntType(required=True) num_notes = IntType(required=True) num_attachments = IntType(required=True)
class Snapshot(Model): snapshot_identifier = StringType(deserialize_from="SnapshotIdentifier") cluster_identifier = StringType(deserialize_from="ClusterIdentifier") snapshot_create_time = DateTimeType(deserialize_from="SnapshotCreateTime") status = StringType(deserialize_from="Status") port = IntType(deserialize_from="Port") availability_zone = StringType(deserialize_from="AvailabilityZone") cluster_create_time = DateTimeType(deserialize_from="ClusterCreateTime") master_username = StringType(deserialize_from="MasterUsername") cluster_version = StringType(deserialize_from="ClusterVersion") snapshot_type = StringType(deserialize_from="SnapshotType") node_type = StringType(deserialize_from="NodeType") number_of_nodes = IntType(deserialize_from="NumberOfNodes") db_name = StringType(deserialize_from="DBName") vpc_id = StringType(deserialize_from="VpcId") encrypted = BooleanType(deserialize_from="Encrypted") kms_key_id = StringType(deserialize_from="KmsKeyId") encrypted_with_hsm = BooleanType(deserialize_from="EncryptedWithHSM") accounts_with_restore_access = ListType( ModelType(SnapshotAccountsWithRestoreAccess), deserialize_from="AccountsWithRestoreAccess") owner_account = StringType(deserialize_from="OwnerAccount") total_backup_size_in_mega_bytes = FloatType( deserialize_from="TotalBackupSizeInMegaBytes") actual_incremental_backup_size_in_mega_bytes = FloatType( deserialize_from="ActualIncrementalBackupSizeInMegaBytes") backup_progress_in_mega_bytes = FloatType( deserialize_from="BackupProgressInMegaBytes") current_backup_rate_in_mega_bytes_per_second = FloatType( deserialize_from="CurrentBackupRateInMegaBytesPerSecond") estimated_seconds_to_completion = IntType( deserialize_from="EstimatedSecondsToCompletion") elapsed_time_in_seconds = IntType(deserialize_from="ElapsedTimeInSeconds") source_region = StringType(deserialize_from="SourceRegion") tags = ListType(ModelType(Tags), deserialize_from="Tags", default=[]) restorable_node_types = ListType(StringType, deserialize_from="RestorableNodeTypes") enhanced_vpc_routing = BooleanType(deserialize_from="EnhancedVpcRouting") maintenance_track_name = StringType( deserialize_from="MaintenanceTrackName") manual_snapshot_retention_period = IntType( deserialize_from="ManualSnapshotRetentionPeriod") manual_snapshot_remaining_days = IntType( deserialize_from="ManualSnapshotRemainingDays") snapshot_retention_start_time = DateTimeType( deserialize_from="SnapshotRetentionStartTime")
class MLModelDTO(Model): """ Describes JSON of an ML Model """ model_id = IntType(serialized_name='modelId') created = DateTimeType() name = StringType(required=True) source = StringType(required=True) project_url = StringType(serialized_name='projectUrl')
class LiveScienceValidatorItem(Model): url = URLType(required=True) title = StringType(required=True) content = StringType(required=True) date = DateTimeType(required=True) subtitle = StringType() author = StringType(required=True, regex=REGEX.NO_COMMA) # No comma in the name
class ScientificAmericanValidatorItem(Model): url = URLType(required=True) title = StringType(required=True) content = StringType(required=True) date = DateTimeType(required=True) subtitle = StringType() author = StringType(regex=REGEX.NO_COMMA) archived = IntType()
class UserAddModel(Model): _name = 'users_add' id = IntType(required=False) age = IntType(default=None, required=False) create_time = DateTimeType(required=True, default=datetime.now()) phone = StringType(default=None, required=False) address = StringType(default=None, required=False) sex = IntType(default=None, required=False)
class AutoScalingGroup(Model): auto_scaling_group_name = StringType(deserialize_from="AutoScalingGroupName") auto_scaling_group_arn = StringType(deserialize_from="AutoScalingGroupARN") launch_configuration_name = StringType(deserialize_from="LaunchConfigurationName", serialize_when_none=False) launch_configuration = ModelType(LaunchConfiguration, serialize_when_none=False) policies = ListType(ModelType(AutoScalingPolicy), default=[]) scheduled_actions = ListType(ModelType(ScheduledAction), default=[]) lifecycle_hooks = ListType(ModelType(LifecycleHook), default=[]) notification_configurations = ListType(ModelType(NotificationConfiguration), default=[]) launch_template = ModelType(LaunchTemplateDetail, serialize_when_none=False) display_launch_configuration_template = StringType(default="") mixed_instances_policy = ModelType(MixedInstancesPolicy, deserialize_from="MixedInstancesPolicy", serialize_when_none=False) min_size = IntType(deserialize_from="MinSize", serialize_when_none=False) max_size = IntType(deserialize_from="MaxSize", serialize_when_none=False) desired_capacity = IntType(deserialize_from="DesiredCapacity", serialize_when_none=False) default_cooldown = IntType(deserialize_from="DefaultCooldown", serialize_when_none=False) availability_zones = ListType(StringType, deserialize_from="AvailabilityZones", default=[]) target_group_arns = ListType(StringType, deserialize_from="TargetGroupARNs", default=[]) load_balancer_arns = ListType(StringType, default=[]) load_balancers = ListType(ModelType(LoadBalancer), default=[]) health_check_type = StringType(deserialize_from="HealthCheckType", serialize_when_none=False) health_check_grace_period = IntType(deserialize_from="HealthCheckGracePeriod", serialize_when_none=False) instances = ListType(ModelType(AutoScalingGroupInstances), default=[]) created_time = DateTimeType(deserialize_from="CreatedTime") suspended_processes = ListType(ModelType(AutoScalingGroupSuspendedProcesses), deserialize_from="SuspendedProcesses", serialize_when_none=False) placement_group = StringType(deserialize_from="PlacementGroup", serialize_when_none=False) vpc_zone_identifier = StringType(deserialize_from="VPCZoneIdentifier", serialize_when_none=False) enabled_metrics = ListType(ModelType(AutoScalingGroupEnabledMetrics), deserialize_from="EnabledMetrics", serialize_when_none=False) status = StringType(deserialize_from="Status", serialize_when_none=False) autoscaling_tags = ListType(ModelType(AutoScalingGroupTags), default=[]) tags = ListType(ModelType(Tags), default=[]) termination_policies = ListType(StringType, deserialize_from="TerminationPolicies", serialize_when_none=False) new_instances_protected_from_scale_in = BooleanType(deserialize_from="NewInstancesProtectedFromScaleIn", serialize_when_none=False) service_linked_role_arn = StringType(deserialize_from="ServiceLinkedRoleARN", serialize_when_none=False) max_instance_lifetime = IntType(deserialize_from="MaxInstanceLifetime", serialize_when_none=False) account_id = StringType(default='') cloudwatch = ModelType(CloudWatchModel, serialize_when_none=False) def reference(self, region_code): return { "resource_id": self.auto_scaling_group_arn, "external_link": f"https://console.aws.amazon.com/ec2/autoscaling/home?region={region_code}#AutoScalingGroups:id={self.auto_scaling_group_name}" } def set_cloudwatch(self, region_code): return { "namespace": "AWS/AutoScaling", "dimensions": [ CloudWatchDimensionModel({'Name': 'AutoScalingGroupName', 'Value': self.auto_scaling_group_name})], "region_name": region_code }
def test_validate_tz(): dt_naive = lambda: datetime(2015, 6, 1, 14, 00) dt_utc = lambda: datetime(2015, 6, 1, 14, 00, tzinfo=UTC) dt_plustwo = lambda: datetime( 2015, 6, 1, 16, 00, tzinfo=DateTimeType.offset_timezone(2)) dt_nyc = lambda: datetime(2015, 6, 1, 10, 00, tzinfo=NYC) all_values = [dt_naive, dt_utc, dt_plustwo, dt_nyc] def test_field(field, valid): for value in all_values: if value in valid: field.validate_tz(value()) else: with pytest.raises(ValidationError): field.validate_tz(value()) test_field(DateTimeType(tzd='allow'), [dt_naive, dt_utc, dt_plustwo, dt_nyc]) test_field(DateTimeType(convert_tz=True), [dt_naive, dt_utc]) test_field(DateTimeType(tzd='utc'), [dt_utc, dt_plustwo, dt_nyc]) test_field(DateTimeType(tzd='utc', convert_tz=True), [dt_utc]) test_field(DateTimeType(tzd='reject'), [dt_naive]) test_field(DateTimeType(tzd='require'), [dt_utc, dt_plustwo, dt_nyc]) test_field(DateTimeType(drop_tzinfo=True), [dt_naive])
class InstanceTemplate(Model): id = StringType() name = StringType() kind = StringType() self_link = StringType(deserialize_from='selfLink') source_instance = StringType(deserialize_from='sourceInstance', serialize_when_none=False) description = StringType(default="") creation_timestamp = DateTimeType(deserialize_from='creationTimestamp')
class ContainerServiceCurrentDeployment(Model): version = IntType(serialize_when_none=False) state = StringType(serialize_when_none=False, choices=['ACTIVATING', 'ACTIVE', 'INACTIVE', 'FAILED']) public_endpoint = ModelType(PublicEndpoint, deserialize_from="publicEndpoint", serialize_when_none=False) created_at = DateTimeType(deserialize_from="createdAt", serialize_when_none=False)
class UpgradeHistory(Model): id = StringType(deserialize_from='_id') action = StringType(deserialize_from='_action', choices=('PRECHECK', 'UPGRADE', 'ROLLBACK')) source = StringType(deserialize_from='_source', choices=('DB_HOME', 'DB_VERSION', 'DB_SOFTWARE_IMAGE')) lifecycle_state = StringType(deserialize_from='_lifecycle_state', choices=('SUCCEEDED', 'FAILED', 'IN_PROGRESS')) lifecycle_details = StringType(deserialize_from='_lifecycle_details') target_db_version = StringType(deserialize_from='_target_db_version') target_database_software_image_id = StringType( deserialize_from='_target_database_software_image_id') target_db_home_id = StringType(deserialize_from='_target_db_home_id') source_db_home_id = StringType(deserialize_from='_source_db_home_id') time_started = DateTimeType(deserialize_from='_time_started') time_ended = DateTimeType(deserialize_from='_time_ended') options = StringType(deserialize_from='_options')
class ScheduledAction(Model): auto_scaling_group_name = StringType( deserialize_from="AutoScalingGroupName", serialize_when_none=False) scheduled_action_name = StringType(deserialize_from="ScheduledActionName", serialize_when_none=False) scheduled_action_arn = StringType(deserialize_from="ScheduledActionARN", serialize_when_none=False) time = DateTimeType(deserialize_from="Time", serialize_when_none=False) start_time = DateTimeType(deserialize_from="StartTime", serialize_when_none=False) end_time = DateTimeType(deserialize_from="EndTime", serialize_when_none=False) recurrence = StringType(deserialize_from="Recurrence", serialize_when_none=False) min_size = IntType(deserialize_from="MinSize", serialize_when_none=False) max_size = IntType(deserialize_from="MaxSize", serialize_when_none=False) desired_capacity = IntType(deserialize_from="DesiredCapacity", serialize_when_none=False)
def test_parse_convert_drop_tzinfo(): field = DateTimeType(tzd='require', convert_tz=True, drop_tzinfo=True) dt = field.to_native('2015-11-08T12:34:56.0369-0730') assert dt == datetime(2015, 11, 8, 20, 4, 56, 36900) dt = field.to_native('2015-11-08 12:34:56.00Z') assert dt == datetime(2015, 11, 8, 12, 34, 56, 0)
class Usr(Prs): unam = StringType(minimized_field_name='UserName', description='') lvOn = DateTimeType(minimized_field_name='Last Viewed', description='DataTime when user last viewed the site.') meta = { 'collection': 'contacts', '_c': 'usr', }
class MLModelVersionDTO(Model): """ Describes JSON of a ML model version """ version_id = IntType(serialized_name='versionId') created = DateTimeType() model_id = IntType(serialized_name='modelId', required=True) version_major = IntType(serialized_name='versionMajor', required=True) version_minor = IntType(serialized_name='versionMinor', required=True) version_patch = IntType(serialized_name='versionPatch', required=True)
def test_parse_require_tz(): field = DateTimeType(tzd='require') with pytest.raises(ConversionError): dt = field.to_native('2015-11-08 12:34:56.00') dt = field.to_native('2015-11-08 12:34:56.00Z') assert dt == datetime(2015, 11, 8, 12, 34, 56, tzinfo=UTC)