text:
only in Regional News • Asia
Regional News • Asia
Pro-democracy owner of Apple Daily media outlet Jimmy Lai arrested by Hong Kong police
The Hong Kong police have arrested Jimmy Lai on grounds of the new national security law in Hong Kong. According to a close aid of his, he has been arrested at 7am and lawyers have been sent to the police station.
The news agency AFP has stated that a police source has stated that Lai had been arrested for the alleged collusion with foreign forces and fraud. His house has been searched by the police, as well as the house of his son. Multiple other members of his group have reportedly been arrested.
Source: Hong Kong Free Press
Christoph Janke
@christoph
co-founder of Pendect. Trying to protect free speech and democracies by creating a global news platform that is built through expert contribution. In love with vinyl, psytrance and penguins.
Hong Kong Security Law
Pro Democracy Activism


text:
Los estudios sociales sobre ciencia y tecnología abarcan un campo interdisciplinario de estudios sobre los efectos culturales, éticos y políticos del conocimiento científico y la innovación tecnológica. Colocan el énfasis en la interpretación sobre las utilidades, apropiaciones e impactos en la vida cotidiana de las personas, con el objetivo de romper las antiguas barreras de investigación científico-técnica.

En las regiones de habla hispana, este tipo de inquietudes y de reflexiones han llegado con el nombre común de estudios de/sobre Ciencia, Tecnología, y Sociedad (abreviado CTS), lo que en las regiones de habla inglesa se conoce como Science and Technology Studies (Estudios de Ciencia y Tecnología) o Science, Technology and Society (Ciencia, Tecnología y Sociedad), ambas con el acrónimo STS. En las regiones de lengua hispana, la multidisciplinariedad en CTS incluye desde el principio los ámbitos de la sociología, la filosofía, la historia y la antropología, así como incorpora desde sus orígenes en los movimientos en defensa de los derechos humanos, el movimiento feminista, las corrientes medioambientalistas, pacifistas y los primeros grupos de LGBT surgidos sobre todo tras la guerra del Vietnam. Por sus orígenes y naturaleza vemos cierto paralelismo entre este campo y otros tipos de estudios culturales.

Dado el carácter universal de la ciencia, su influencia se extiende a todos los campos de la sociedad, desde el desarrollo tecnológico a los modernos problemas de tipo jurídico relacionados con campos de la medicina o la genética. En ocasiones la investigación científica permite abordar temas de gran calado social como el Proyecto Genoma Humano y grandes implicaciones éticas como el desarrollo del armamento nuclear, la clonación, la eutanasia y el uso de las células madre.

Asimismo, la investigación científica moderna requiere, en ocasiones, de importantes inversiones en grandes instalaciones como grandes aceleradores de partículas (CERN), la exploración espacial o la investigación de la fusión nuclear en proyectos como ITER.

Historia

Desde los orígenes de la humanidad que el conocimiento es un tema central en la forma de vida. Las primeras civilizaciones hicieron uso y registro de sus conocimientos por diferentes tradiciones y mecanismos, los cuales institucionalizaron la existencia de la ciencia y tecnología que entendemos hoy, sin que fueran llamadas así. En las civilizaciones china y egipcia, se le otorgó relevancia a la tecnología por sobre a la ciencia, siendo esta una primera manifestación sistemática de las culturas materiales. En contraste, la civilización griega tuvo un enorme foco en la reflexión para acercarse a la comprensión de la realidad, estableciendo los cimientos de la filosofía y la ciencia moderna.

Los siglos posteriores a la caída de Roma y el auge del cristianismo (en occidente) y el islamismo (en Oriente) vincularon las búsquedas de la verdad a una explicación teológica y monista. No fue hasta el Renacimiento Europeo, cuando la Revolución científica(un periodo histórico dominado por la reflexión de la realidad con una base experimental) sistematizó y reinterpretó lo que se entiende como conocimiento. El surgimiento de la Royal Society en Inglaterra y de la Academia de Ciencias de Francia institucionaliza la ciencia con fines públicos. Durante el  la comunidad científica francesa le dio prioridad al desarrollo de la ciencia, bajo la creencia de que sólo lo que fuera conocido teóricamente sería confiable y tendría éxito.

La industrialización de la ciencia y la tecnología pasa por tres etapas a lo largo de la historia. La primera, el período amateur (entre los siglos XVII y XVIII, coincidiendo con la Revolución Científica). Durante esa época los científicos no están especializados pero, por otra parte, son autosuficientes económicamente. Aparecen las primeras asociaciones y comunicaciones regulares entre científicos. A esta fase le sigue un período académico (entre el  y la Segunda Guerra Mundial). Emergen entonces los primeros laboratorios privados de investigación y desarrollo. Los científicos se especializan y son financiados ahora por universidades pero manteniendo la independencia de acción respecto al poder político.

Por último, el período profesional o tecnocientífico (que abarca desde la Segunda Guerra Mundial hasta la actualidad, conocido como Big Science o Gran Ciencia). Hay un aumento del coste y escala de las investigaciones, que provoca la dependencia de científicos e investigaciones con las fuentes económicas del ejército, los estados y las industrias. Aparecen los primeros proyectos globales de investigación, haciéndose patentes los lazos entre conocimiento, innovación y cultura. La promoción de la ciencia y tecnología en relación con su impacto económico y social comienzan a orientar agendas políticas desde finales de la Segunda Guerra Mundial. Actualmente el desarrollo de un país es medido sobre la base de lo que se dedica a ciencia y a tecnología, sin embargo, invertir en esos rubros no siempre asegura el enriquecimiento ni el progreso de un país.

Es en este último período en el cual se segregan los estudios de CTS de otros campos, como consecuencia de la necesidad de comprender rigurosamente las innovaciones tecnológicas y el conocimiento científico como un elemento de la cultura global, como un motor del desarrollo de las naciones, un agente democratizador de los ciudadanos y sus relaciones con los avances de la humanidad en materia tecnocientífica en un mundo globalizado.

Lo anterior trae como evidencia que las relaciones entre ciencia y tecnología a través de la historia han tenido una compleja evolución, donde inicialmente son comprendidas como una misma cosa; luego son consideradas como realidades independientes desde el surgimiento de las primeras civilizaciones hasta la edad moderna; pero progresivamente se van relacionando, hasta que a partir de la Segunda Revolución Industrial, la tecnología es una ciencia aplicada; y actualmente se habla de tecnociencia, el cual amplia una mirada más profunda a la interacción entre ciencia y tecnología.

Antecedentes académicos a los estudios de CTS

Los primeros estudios CTS se desarrollaron de forma independiente durante los años 60, sin tener en cuenta los demás estudios realizados hasta los años 80, aunque la monografía de Ludwig Fleck (1935) Génesis y desarrollo de un hecho científico anticipó muchos de los temas clave de CTS:

 Estudios de ciencias, una rama de la sociología del conocimiento científico que estudia las prácticas científicas en su contexto social.
 Historia de la tecnología, que analiza la tecnología en su contexto social e histórico. Comenzó en los años 60 de mano de algunos historiadores que cuestionaban el determinismo tecnológico, una doctrina que puede inducir pasividad pública hacia el "desarrollo natural" de la tecnología y la ciencia. Al mismo tiempo, algunos historiadores comenzaron a desarrollar acercamientos semejantemente en el contexto de la historia de la medicina.
 Historia y filosofía de la ciencia (años 60). Después de la publicación de Thomas Kuhn La estructura de revoluciones científicas (1962), que atribuyeron cambios en teorías científicas a los cambios en paradigmas intelectuales, los programas fueron fundados en la Universidad de California, Berkeley, donde se unieron historiadores de la ciencia y filósofos en programas unificados.
 Ciencia, Tecnología y Sociedad en la segunda mitad de los años 60. Estudiantes y movimientos sociales ligados a universidades de Estados Unidos y del Reino Unido, o vinculados a centros europeos, ayudaron a poner en marcha una gama de nuevos campos interdisciplinarios (por ejemplo Estudios feministas) que fueron vistos como asuntos relevantes que el plan de estudios tradicional que no los tenía en cuenta. Desde una gran variedad de disciplinas (incluyendo la antropología, la historia, la ciencia política, y la sociología) los eruditos en estos programas crearon los planes de estudios dedicados a explorar las cuestiones que surgían a través del análisis crítico de la ciencia y la tecnología. Al revés de lo que ocurría con los eruditos en estudios de ciencia, historia de la tecnología, o historia y filosofía de la ciencia, los eruditos en Tecnología y Sociedad se veían a sí mismos más como activistas que trabajaban para el cambio, que investigadores dentro de la desapasionada torre de marfil académica. Como un ejemplo del impulso activista, las eruditas feministas en ésta y otras áreas emergentes de CTS se dedicaron al estudio de la exclusión de las mujeres en las actividades científicas y en la ingeniería.
 Ciencia, ingeniería, y políticas públicas. Los estudios emergieron en los años 70 casi con las mismas preocupaciones que motivaron a los pioneros de los movimientos sobre CTS. En ciertos aspectos, la ciencia y la tecnología estaban cada vez más en desacuerdo con los intereses sociales y del público. Los movimientos sociales intentaban humanizar a los que hacían ciencia y tecnología, pero con resultados generalmente magros. Pero estudiantes con buenas calificaciones profesionales se sentían buenos y lícitos jugadores en políticas sobre ciencia y tecnología. Y algunos programas vinieron a acentuar metodologías cuantitativas (léase: actividades de ingeniería de sistemas). Por cierto otros desarrollaron acercamientos sociológicos y cualitativos, y encontraron que sus intereses más cercanos podrían ser encontrados entre eruditos en ciencia, tecnología, y departamentos de estudios sociales.

Surgimiento de las Escuelas de CTS

En los años 70 Ellting E. Morrison funda el programa de CTS en el Instituto Tecnológico de Massachusetts, el cual sirvió como modelo para muchas escuelas y un primer núcleo intelectual con pensadores como Leo Marx, Loren Graham, Evelyn Koxh Keller, Theodore Postol entre otros.

Durante los años 70 y los años 80, las universidades principales de Estados Unidos, Reino Unido, y Europa, comenzaron a dibujar estos varios componentes juntos en nuevos e interdisciplinarios programas. Por ejemplo, en los años 70, la Universidad Cornell desarrolló un nuevo programa que unió estudios sobre ciencia con eruditos de orientación política, y con historiadores y filósofos de la ciencia y de la tecnología. Cada uno de estos programas desarrolló identidades únicas, debido a las grandes variaciones en los componentes que fueron integrados juntos, así como su exacta localización dentro de los centros terciarios. Otro ejemplo es la Universidad de Virginia, en un programa sobre CTS unió a eruditos extraídos de una variedad de campos (con fuerza particular en historia de la tecnología); sin embargo, el programa que tiene la responsabilidad de la enseñanza, está situado dentro de la escuela de ingeniería, y enseña a los estudiantes éticas respecto de los fines perseguidos.

Actualmente existen más de 50 escuelas en todo el mundo que desarrollan programas de ciencia, tecnología y sociedad.

Campos de estudios en CTS

Muchos son los estudios realizados de Ciencia Tecnología y Sociedad (CTS) con la voluntad de abrir la caja negra científico-técnica. Entre los estudios más importantes vale la pena destacar la tesis de la infradeterminación empírica de las teorías científicas o teoría de Duhem-Quine y la tesis de la carga teórica de la observación. Estos estudios revelan una crisis de la imagen heredada de la ciencia. Hasta hacía poco los estudios científicos y técnicos se había limitado a una historia de las ideas, una filosofía de la ciencia (que tenía en cuenta únicamente cuestiones epistemológicas y criterios de demarcación) y una sociología de la ciencia (que estudiaba únicamente las instituciones y organizaciones científicas, sin llegar a profundizar en el proceso científico-técnico).

Programa Fuerte

Construcción social de la tecnología

Estudios de ciencias

Análisis del discurso científico

A partir del modelo de los positivistas lógicos del círculo de Viena en los años 30 y 40 surge un interés en el estudio del discurso experto en la formación de conocimiento. Investigadores como Michael Mulkay y Nigel Gilbert realizan estudios para descubrir cuáles son los métodos que utilizan los científicos para explicar, representar y dar sentido a las prácticas científicas.

Teoría del actor-red

Programa reflexivo

Steve Woolgar y Malcom Ashmore utilizan el principio reflexivo establecido por el Programa Fuerte para analizar ciencia y tecnología, a través de la aplicación de técnicas de representación.

Teoría Crítica de la Tecnología

Desarrollada por el filósofo Andrew Feenberg, propone una revisión de las ideas de la filosofía crítica del , como la Escuela de Fráncfort, especialmente Jürgen Habermas y Herbert Marcuse (de quien fue alumno), además de otros filósofos de la tecnología como Martin Heidegger. Supera definitivamente el determinismo tecnológico, reconociendo que la tecnología no se desarrolla de forma autónoma a la esfera social y que no la influencia unívocamente. Niega también la idea de un progreso tecnológico determinado por el ser la tecnología hecha por el ser humano de forma intencional (instrumentalismo). Así como también se aleja de la visión de una tecnología que sigue los valores de la eficiencia y escapa del control del ser humano (esencialismo). Propone en cambio que es posible pensar una tecnología que no sea autónoma al ser humano y que pueda estar influenciada por valores y un proyecto que respete los principios democráticos y el medio ambiente sin perder en eficiencia.

Véase también

 Ciencia y sociedad
 Conciencia pública de la ciencia
 Estudios de ciencia, tecnología y género
 Historia de la ciencia
 Historia de la tecnología
 Sistema socio-técnico
 Sociología de la tecnología
 Tecnociencia
 Tecnologías emergentes

Referencias

Bibliografía

 Bauchspies, Wenda, Jennifer Croissant, and Sal Restivo (2005). Science, Technology, and Society: A Sociological Approach (Wiley-Blackwell, 2005).
 Bijker, Wiebe, Hughes, Thomas & Pinch, Trevor, eds. (1987). The Social Construction of Technological Systems: New Directions in the Sociology and History of Technology Cambridge MA/London: MIT Press.
 Bijker, Wiebe and John Law, eds. (1994). Shaping Technology / Building Society: Studies in Sociotechnical Change. Cambridge, MA: MIT Press (Inside Technology Series).
 Bloor, David (1976). Knowledge and Social Imagery (Routledge, 1976; 2nd edition Chicago University Press, 1991)

  (2nd edition, with James H. Collier, Lawrence Erlbaum Associates, 2004)
 Gross, Matthias (2010). Ignorance and Surprise: Science, Society, Ecological Design. Cambridge, MA: MIT Press (Inside Technology Series).

 Jasanoff, Sheila, Markle, Gerald, Petersen, James and Pinch, Trevor, eds. (1994). Handbook of Science and Technology Studies. Thousand Oaks, CA: Sage.

 Lachmund, Jens (2013). Greening Berlin: The Co-production of Science, Politics, and Urban Nature. Cambridge, MA: MIT Press (Inside Technology Series).

 MacKenzie, Donald & Wajcman, Judy (eds.) (1999). The Social Shaping of Technology: How the Refrigerator Got Its Hum, Milton Keynes, Open University Press.
 MacKenzie, Donald (1996). Knowing Machines: Essays on Technical Change. Cambridge, MA: MIT Press (Inside Technology Series).
 Mol, Annemarie (2002). The Body Multiple: Ontology in Medical Practice, Duke University Press Books.
 Restivo, Sal (editor-in-chief), Science, Technology, and Society: An Encyclopedia. New York: Oxford, 2005.
 Restivo, Sal (1992), Mathematics in Society and History. New York: Springer.
 Rip, Arie, Thomas J. Misa and Johan Schot, eds. (1995). Managing Technology in Society: The approach of Constructive Technology Assessment London/NY: Pinter.
 Rosenberg, Nathan (1994) Exploring the Black Box: Technology, Economics and History, Cambridge: Cambridge University Press.
 Shamir, Ronen (2013). Current Flow: The Electrification of Palestine. Stanford: Stanford University Press.

 Vinck, Dominique (2010). The Sociology of Scientific Work. The Fundamental Relationship between Science and Society. Cheltenham: Edward Elgar.
 Vinck, Dominique (2003). Everyday engineering. Ethnography of design and innovation. Cambridge, MA: MIT Press.
 Werskey, Gary. The Marxist Critique of Capitalist Science: A History in Three Movements?. The Human Nature Review. 2011-05-21. URL:http://human-nature.com/science-as-culture/werskey.html. Accessed: 2011-05-21. (Archived by WebCite® at )
 Williams, Robin and Edge, David , Research Policy, Vol. 25, 1996, pp. 856–899 (html version).
 Steven Lukes, Power: A Radical View (London: Macmillan, 1974)

En español

 Funtowicz, S y Ravetz, J. B. (1993): La ciencia posnormal, Barcelona, Icaria. Páginas: 23-46.
 Guijarro Mora, Víctor y González de la Lastra, Leonor (2015), La comprensión cultural de la tecnología. Una introducción histórica, Madrid, Universitas.
 Medina, Manuel (1985): De la techne a la tecnología, Valencia, Tirant lo Blanch ediciones.
 Ordóñez, Javier.; Ciencia, Tecnología e Historia: Una alianza incompleta; Cátedra Alfonso Reyes (ITESM) / Javier Ordóñez (México); 2001 (1ª edición) Páginas 51-77.
 Sanmartín Esplugues, José (1987): Los nuevos redentores. Reflexiones sobre la ingeniería genética, la sociobiología y el mundo feliz que nos prometen, Barcelona, Anthropos.
 Sanmartín Esplugues, José (1990): Tecnología y futuro humano, Barcelona, Anthropos.
 Solivérez, Carlos E.; Ciencia, técnica y sociedad; Facultad Latinoamericana de Ciencias Sociales; Buenos Aires (Argentina); 1992.
 Solivérez, Carlos E.; Las tecnologías en Argentina: breve historia social; Edi. Capital Intelectual; Buenos Aires (Argentina); 2006; ISBN 9789871181919.

Enlaces externos

 The cultural dimension of technology. A personal dictionary Project
 Revista TECNOLOGIA HUMANIZADA sobre el uso responsable de la tecnología. Crítica - Tecnología - Humanismo

Ciencia, tecnología y sociedad
Ciencias sociales

redpajama_set_name: RedPajamaWikipedia


text:
from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, double, integer
from .validators.iot import policytypes, validate_json_checker

class AuditCheckConfiguration(AWSProperty):
    """
    `AuditCheckConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfiguration.html>`__
    """

    props: PropsDictType = {
        "Enabled": (boolean, False),
    }

class AuditCheckConfigurations(AWSProperty):
    """
    `AuditCheckConfigurations <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html>`__
    """

    props: PropsDictType = {
        "AuthenticatedCognitoRoleOverlyPermissiveCheck": (
            AuditCheckConfiguration,
            False,
        ),
        "CaCertificateExpiringCheck": (AuditCheckConfiguration, False),
        "CaCertificateKeyQualityCheck": (AuditCheckConfiguration, False),
        "ConflictingClientIdsCheck": (AuditCheckConfiguration, False),
        "DeviceCertificateExpiringCheck": (AuditCheckConfiguration, False),
        "DeviceCertificateKeyQualityCheck": (AuditCheckConfiguration, False),
        "DeviceCertificateSharedCheck": (AuditCheckConfiguration, False),
        "IntermediateCaRevokedForActiveDeviceCertificatesCheck": (
            AuditCheckConfiguration,
            False,
        ),
        "IotPolicyOverlyPermissiveCheck": (AuditCheckConfiguration, False),
        "IotRoleAliasAllowsAccessToUnusedServicesCheck": (
            AuditCheckConfiguration,
            False,
        ),
        "IotRoleAliasOverlyPermissiveCheck": (AuditCheckConfiguration, False),
        "LoggingDisabledCheck": (AuditCheckConfiguration, False),
        "RevokedCaCertificateStillActiveCheck": (AuditCheckConfiguration, False),
        "RevokedDeviceCertificateStillActiveCheck": (AuditCheckConfiguration, False),
        "UnauthenticatedCognitoRoleOverlyPermissiveCheck": (
            AuditCheckConfiguration,
            False,
        ),
    }

class AuditNotificationTarget(AWSProperty):
    """
    `AuditNotificationTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtarget.html>`__
    """

    props: PropsDictType = {
        "Enabled": (boolean, False),
        "RoleArn": (str, False),
        "TargetArn": (str, False),
    }

class AuditNotificationTargetConfigurations(AWSProperty):
    """
    `AuditNotificationTargetConfigurations <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditnotificationtargetconfigurations.html>`__
    """

    props: PropsDictType = {
        "Sns": (AuditNotificationTarget, False),
    }

class AccountAuditConfiguration(AWSObject):
    """
    `AccountAuditConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html>`__
    """

    resource_type = "AWS::IoT::AccountAuditConfiguration"

    props: PropsDictType = {
        "AccountId": (str, True),
        "AuditCheckConfigurations": (AuditCheckConfigurations, True),
        "AuditNotificationTargetConfigurations": (
            AuditNotificationTargetConfigurations,
            False,
        ),
        "RoleArn": (str, True),
    }

class Authorizer(AWSObject):
    """
    `Authorizer <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html>`__
    """

    resource_type = "AWS::IoT::Authorizer"

    props: PropsDictType = {
        "AuthorizerFunctionArn": (str, True),
        "AuthorizerName": (str, False),
        "EnableCachingForHttp": (boolean, False),
        "SigningDisabled": (boolean, False),
        "Status": (str, False),
        "Tags": (Tags, False),
        "TokenKeyName": (str, False),
        "TokenSigningPublicKeys": (dict, False),
    }

class RegistrationConfig(AWSProperty):
    """
    `RegistrationConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cacertificate-registrationconfig.html>`__
    """

    props: PropsDictType = {
        "RoleArn": (str, False),
        "TemplateBody": (str, False),
        "TemplateName": (str, False),
    }

class CACertificate(AWSObject):
    """
    `CACertificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html>`__
    """

    resource_type = "AWS::IoT::CACertificate"

    props: PropsDictType = {
        "AutoRegistrationStatus": (str, False),
        "CACertificatePem": (str, True),
        "CertificateMode": (str, False),
        "RegistrationConfig": (RegistrationConfig, False),
        "RemoveAutoRegistration": (boolean, False),
        "Status": (str, True),
        "Tags": (Tags, False),
        "VerificationCertificatePem": (str, False),
    }

class Certificate(AWSObject):
    """
    `Certificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html>`__
    """

    resource_type = "AWS::IoT::Certificate"

    props: PropsDictType = {
        "CACertificatePem": (str, False),
        "CertificateMode": (str, False),
        "CertificatePem": (str, False),
        "CertificateSigningRequest": (str, False),
        "Status": (str, True),
    }

class CustomMetric(AWSObject):
    """
    `CustomMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html>`__
    """

    resource_type = "AWS::IoT::CustomMetric"

    props: PropsDictType = {
        "DisplayName": (str, False),
        "MetricName": (str, False),
        "MetricType": (str, True),
        "Tags": (Tags, False),
    }

class Dimension(AWSObject):
    """
    `Dimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html>`__
    """

    resource_type = "AWS::IoT::Dimension"

    props: PropsDictType = {
        "Name": (str, False),
        "StringValues": ([str], True),
        "Tags": (Tags, False),
        "Type": (str, True),
    }

class AuthorizerConfig(AWSProperty):
    """
    `AuthorizerConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-authorizerconfig.html>`__
    """

    props: PropsDictType = {
        "AllowAuthorizerOverride": (boolean, False),
        "DefaultAuthorizerName": (str, False),
    }

class DomainConfiguration(AWSObject):
    """
    `DomainConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html>`__
    """

    resource_type = "AWS::IoT::DomainConfiguration"

    props: PropsDictType = {
        "AuthorizerConfig": (AuthorizerConfig, False),
        "DomainConfigurationName": (str, False),
        "DomainConfigurationStatus": (str, False),
        "DomainName": (str, False),
        "ServerCertificateArns": ([str], False),
        "ServiceType": (str, False),
        "Tags": (Tags, False),
        "ValidationCertificateArn": (str, False),
    }

class AggregationType(AWSProperty):
    """
    `AggregationType <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-fleetmetric-aggregationtype.html>`__
    """

    props: PropsDictType = {
        "Name": (str, True),
        "Values": ([str], True),
    }

class FleetMetric(AWSObject):
    """
    `FleetMetric <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html>`__
    """

    resource_type = "AWS::IoT::FleetMetric"

    props: PropsDictType = {
        "AggregationField": (str, False),
        "AggregationType": (AggregationType, False),
        "Description": (str, False),
        "IndexName": (str, False),
        "MetricName": (str, True),
        "Period": (integer, False),
        "QueryString": (str, False),
        "QueryVersion": (str, False),
        "Tags": (Tags, False),
        "Unit": (str, False),
    }

class JobTemplate(AWSObject):
    """
    `JobTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html>`__
    """

    resource_type = "AWS::IoT::JobTemplate"

    props: PropsDictType = {
        "AbortConfig": (validate_json_checker, False),
        "Description": (str, True),
        "Document": (str, False),
        "DocumentSource": (str, False),
        "JobArn": (str, False),
        "JobExecutionsRolloutConfig": (validate_json_checker, False),
        "JobTemplateId": (str, True),
        "PresignedUrlConfig": (dict, False),
        "Tags": (Tags, False),
        "TimeoutConfig": (validate_json_checker, False),
    }

class Logging(AWSObject):
    """
    `Logging <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html>`__
    """

    resource_type = "AWS::IoT::Logging"

    props: PropsDictType = {
        "AccountId": (str, True),
        "DefaultLogLevel": (str, True),
        "RoleArn": (str, True),
    }

class AddThingsToThingGroupParams(AWSProperty):
    """
    `AddThingsToThingGroupParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-addthingstothinggroupparams.html>`__
    """

    props: PropsDictType = {
        "OverrideDynamicGroups": (boolean, False),
        "ThingGroupNames": ([str], True),
    }

class EnableIoTLoggingParams(AWSProperty):
    """
    `EnableIoTLoggingParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-enableiotloggingparams.html>`__
    """

    props: PropsDictType = {
        "LogLevel": (str, True),
        "RoleArnForLogging": (str, True),
    }

class PublishFindingToSnsParams(AWSProperty):
    """
    `PublishFindingToSnsParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-publishfindingtosnsparams.html>`__
    """

    props: PropsDictType = {
        "TopicArn": (str, True),
    }

class ReplaceDefaultPolicyVersionParams(AWSProperty):
    """
    `ReplaceDefaultPolicyVersionParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-replacedefaultpolicyversionparams.html>`__
    """

    props: PropsDictType = {
        "TemplateName": (str, True),
    }

class UpdateCACertificateParams(AWSProperty):
    """
    `UpdateCACertificateParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatecacertificateparams.html>`__
    """

    props: PropsDictType = {
        "Action": (str, True),
    }

class UpdateDeviceCertificateParams(AWSProperty):
    """
    `UpdateDeviceCertificateParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-updatedevicecertificateparams.html>`__
    """

    props: PropsDictType = {
        "Action": (str, True),
    }

class ActionParams(AWSProperty):
    """
    `ActionParams <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-mitigationaction-actionparams.html>`__
    """

    props: PropsDictType = {
        "AddThingsToThingGroupParams": (AddThingsToThingGroupParams, False),
        "EnableIoTLoggingParams": (EnableIoTLoggingParams, False),
        "PublishFindingToSnsParams": (PublishFindingToSnsParams, False),
        "ReplaceDefaultPolicyVersionParams": (ReplaceDefaultPolicyVersionParams, False),
        "UpdateCACertificateParams": (UpdateCACertificateParams, False),
        "UpdateDeviceCertificateParams": (UpdateDeviceCertificateParams, False),
    }

class MitigationAction(AWSObject):
    """
    `MitigationAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html>`__
    """

    resource_type = "AWS::IoT::MitigationAction"

    props: PropsDictType = {
        "ActionName": (str, False),
        "ActionParams": (ActionParams, True),
        "RoleArn": (str, True),
        "Tags": (Tags, False),
    }

class Policy(AWSObject):
    """
    `Policy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html>`__
    """

    resource_type = "AWS::IoT::Policy"

    props: PropsDictType = {
        "PolicyDocument": (policytypes, True),
        "PolicyName": (str, False),
    }

class PolicyPrincipalAttachment(AWSObject):
    """
    `PolicyPrincipalAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html>`__
    """

    resource_type = "AWS::IoT::PolicyPrincipalAttachment"

    props: PropsDictType = {
        "PolicyName": (str, True),
        "Principal": (str, True),
    }

class ProvisioningHook(AWSProperty):
    """
    `ProvisioningHook <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-provisioningtemplate-provisioninghook.html>`__
    """

    props: PropsDictType = {
        "PayloadVersion": (str, False),
        "TargetArn": (str, False),
    }

class ProvisioningTemplate(AWSObject):
    """
    `ProvisioningTemplate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html>`__
    """

    resource_type = "AWS::IoT::ProvisioningTemplate"

    props: PropsDictType = {
        "Description": (str, False),
        "Enabled": (boolean, False),
        "PreProvisioningHook": (ProvisioningHook, False),
        "ProvisioningRoleArn": (str, True),
        "Tags": (Tags, False),
        "TemplateBody": (str, True),
        "TemplateName": (str, False),
        "TemplateType": (str, False),
    }

class ResourceSpecificLogging(AWSObject):
    """
    `ResourceSpecificLogging <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html>`__
    """

    resource_type = "AWS::IoT::ResourceSpecificLogging"

    props: PropsDictType = {
        "LogLevel": (str, True),
        "TargetName": (str, True),
        "TargetType": (str, True),
    }

class RoleAlias(AWSObject):
    """
    `RoleAlias <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html>`__
    """

    resource_type = "AWS::IoT::RoleAlias"

    props: PropsDictType = {
        "CredentialDurationSeconds": (integer, False),
        "RoleAlias": (str, False),
        "RoleArn": (str, True),
        "Tags": (Tags, False),
    }

class ScheduledAudit(AWSObject):
    """
    `ScheduledAudit <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html>`__
    """

    resource_type = "AWS::IoT::ScheduledAudit"

    props: PropsDictType = {
        "DayOfMonth": (str, False),
        "DayOfWeek": (str, False),
        "Frequency": (str, True),
        "ScheduledAuditName": (str, False),
        "Tags": (Tags, False),
        "TargetCheckNames": ([str], True),
    }

class AlertTarget(AWSProperty):
    """
    `AlertTarget <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-alerttarget.html>`__
    """

    props: PropsDictType = {
        "AlertTargetArn": (str, True),
        "RoleArn": (str, True),
    }

class MachineLearningDetectionConfig(AWSProperty):
    """
    `MachineLearningDetectionConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-machinelearningdetectionconfig.html>`__
    """

    props: PropsDictType = {
        "ConfidenceLevel": (str, False),
    }

class MetricValue(AWSProperty):
    """
    `MetricValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricvalue.html>`__
    """

    props: PropsDictType = {
        "Cidrs": ([str], False),
        "Count": (str, False),
        "Number": (double, False),
        "Numbers": ([double], False),
        "Ports": ([integer], False),
        "Strings": ([str], False),
    }

class StatisticalThreshold(AWSProperty):
    """
    `StatisticalThreshold <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-statisticalthreshold.html>`__
    """

    props: PropsDictType = {
        "Statistic": (str, False),
    }

class BehaviorCriteria(AWSProperty):
    """
    `BehaviorCriteria <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behaviorcriteria.html>`__
    """

    props: PropsDictType = {
        "ComparisonOperator": (str, False),
        "ConsecutiveDatapointsToAlarm": (integer, False),
        "ConsecutiveDatapointsToClear": (integer, False),
        "DurationSeconds": (integer, False),
        "MlDetectionConfig": (MachineLearningDetectionConfig, False),
        "StatisticalThreshold": (StatisticalThreshold, False),
        "Value": (MetricValue, False),
    }

class MetricDimension(AWSProperty):
    """
    `MetricDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metricdimension.html>`__
    """

    props: PropsDictType = {
        "DimensionName": (str, True),
        "Operator": (str, False),
    }

class Behavior(AWSProperty):
    """
    `Behavior <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-behavior.html>`__
    """

    props: PropsDictType = {
        "Criteria": (BehaviorCriteria, False),
        "Metric": (str, False),
        "MetricDimension": (MetricDimension, False),
        "Name": (str, True),
        "SuppressAlerts": (boolean, False),
    }

class MetricToRetain(AWSProperty):
    """
    `MetricToRetain <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-securityprofile-metrictoretain.html>`__
    """

    props: PropsDictType = {
        "Metric": (str, True),
        "MetricDimension": (MetricDimension, False),
    }

class SecurityProfile(AWSObject):
    """
    `SecurityProfile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html>`__
    """

    resource_type = "AWS::IoT::SecurityProfile"

    props: PropsDictType = {
        "AdditionalMetricsToRetainV2": ([MetricToRetain], False),
        "AlertTargets": (dict, False),
        "Behaviors": ([Behavior], False),
        "SecurityProfileDescription": (str, False),
        "SecurityProfileName": (str, False),
        "Tags": (Tags, False),
        "TargetArns": ([str], False),
    }

class AttributePayload(AWSProperty):
    """
    `AttributePayload <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html>`__
    """

    props: PropsDictType = {
        "Attributes": (dict, False),
    }

class Thing(AWSObject):
    """
    `Thing <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html>`__
    """

    resource_type = "AWS::IoT::Thing"

    props: PropsDictType = {
        "AttributePayload": (AttributePayload, False),
        "ThingName": (str, False),
    }

class ThingPrincipalAttachment(AWSObject):
    """
    `ThingPrincipalAttachment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html>`__
    """

    resource_type = "AWS::IoT::ThingPrincipalAttachment"

    props: PropsDictType = {
        "Principal": (str, True),
        "ThingName": (str, True),
    }

class CloudwatchAlarmAction(AWSProperty):
    """
    `CloudwatchAlarmAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html>`__
    """

    props: PropsDictType = {
        "AlarmName": (str, True),
        "RoleArn": (str, True),
        "StateReason": (str, True),
        "StateValue": (str, True),
    }

class CloudwatchLogsAction(AWSProperty):
    """
    `CloudwatchLogsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchlogsaction.html>`__
    """

    props: PropsDictType = {
        "LogGroupName": (str, True),
        "RoleArn": (str, True),
    }

class CloudwatchMetricAction(AWSProperty):
    """
    `CloudwatchMetricAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html>`__
    """

    props: PropsDictType = {
        "MetricName": (str, True),
        "MetricNamespace": (str, True),
        "MetricTimestamp": (str, False),
        "MetricUnit": (str, True),
        "MetricValue": (str, True),
        "RoleArn": (str, True),
    }

class DynamoDBAction(AWSProperty):
    """
    `DynamoDBAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html>`__
    """

    props: PropsDictType = {
        "HashKeyField": (str, True),
        "HashKeyType": (str, False),
        "HashKeyValue": (str, True),
        "PayloadField": (str, False),
        "RangeKeyField": (str, False),
        "RangeKeyType": (str, False),
        "RangeKeyValue": (str, False),
        "RoleArn": (str, True),
        "TableName": (str, True),
    }

class PutItemInput(AWSProperty):
    """
    `PutItemInput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putiteminput.html>`__
    """

    props: PropsDictType = {
        "TableName": (str, True),
    }

class DynamoDBv2Action(AWSProperty):
    """
    `DynamoDBv2Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html>`__
    """

    props: PropsDictType = {
        "PutItem": (PutItemInput, False),
        "RoleArn": (str, False),
    }

class ElasticsearchAction(AWSProperty):
    """
    `ElasticsearchAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html>`__
    """

    props: PropsDictType = {
        "Endpoint": (str, True),
        "Id": (str, True),
        "Index": (str, True),
        "RoleArn": (str, True),
        "Type": (str, True),
    }

class FirehoseAction(AWSProperty):
    """
    `FirehoseAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html>`__
    """

    props: PropsDictType = {
        "BatchMode": (boolean, False),
        "DeliveryStreamName": (str, True),
        "RoleArn": (str, True),
        "Separator": (str, False),
    }

class HttpActionHeader(AWSProperty):
    """
    `HttpActionHeader <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpactionheader.html>`__
    """

    props: PropsDictType = {
        "Key": (str, True),
        "Value": (str, True),
    }

class SigV4Authorization(AWSProperty):
    """
    `SigV4Authorization <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sigv4authorization.html>`__
    """

    props: PropsDictType = {
        "RoleArn": (str, True),
        "ServiceName": (str, True),
        "SigningRegion": (str, True),
    }

class HttpAuthorization(AWSProperty):
    """
    `HttpAuthorization <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpauthorization.html>`__
    """

    props: PropsDictType = {
        "Sigv4": (SigV4Authorization, False),
    }

class HttpAction(AWSProperty):
    """
    `HttpAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-httpaction.html>`__
    """

    props: PropsDictType = {
        "Auth": (HttpAuthorization, False),
        "ConfirmationUrl": (str, False),
        "Headers": ([HttpActionHeader], False),
        "Url": (str, True),
    }

class IotAnalyticsAction(AWSProperty):
    """
    `IotAnalyticsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html>`__
    """

    props: PropsDictType = {
        "BatchMode": (boolean, False),
        "ChannelName": (str, True),
        "RoleArn": (str, True),
    }

class IotEventsAction(AWSProperty):
    """
    `IotEventsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-ioteventsaction.html>`__
    """

    props: PropsDictType = {
        "BatchMode": (boolean, False),
        "InputName": (str, True),
        "MessageId": (str, False),
        "RoleArn": (str, True),
    }

class AssetPropertyTimestamp(AWSProperty):
    """
    `AssetPropertyTimestamp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertytimestamp.html>`__
    """

    props: PropsDictType = {
        "OffsetInNanos": (str, False),
        "TimeInSeconds": (str, True),
    }

class AssetPropertyVariant(AWSProperty):
    """
    `AssetPropertyVariant <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvariant.html>`__
    """

    props: PropsDictType = {
        "BooleanValue": (str, False),
        "DoubleValue": (str, False),
        "IntegerValue": (str, False),
        "StringValue": (str, False),
    }

class AssetPropertyValue(AWSProperty):
    """
    `AssetPropertyValue <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-assetpropertyvalue.html>`__
    """

    props: PropsDictType = {
        "Quality": (str, False),
        "Timestamp": (AssetPropertyTimestamp, True),
        "Value": (AssetPropertyVariant, True),
    }

class PutAssetPropertyValueEntry(AWSProperty):
    """
    `PutAssetPropertyValueEntry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html>`__
    """

    props: PropsDictType = {
        "AssetId": (str, False),
        "EntryId": (str, False),
        "PropertyAlias": (str, False),
        "PropertyId": (str, False),
        "PropertyValues": ([AssetPropertyValue], True),
    }

class IotSiteWiseAction(AWSProperty):
    """
    `IotSiteWiseAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html>`__
    """

    props: PropsDictType = {
        "PutAssetPropertyValueEntries": ([PutAssetPropertyValueEntry], True),
        "RoleArn": (str, True),
    }

class KafkaAction(AWSProperty):
    """
    `KafkaAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kafkaaction.html>`__
    """

    props: PropsDictType = {
        "ClientProperties": (dict, True),
        "DestinationArn": (str, True),
        "Key": (str, False),
        "Partition": (str, False),
        "Topic": (str, True),
    }

class KinesisAction(AWSProperty):
    """
    `KinesisAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html>`__
    """

    props: PropsDictType = {
        "PartitionKey": (str, False),
        "RoleArn": (str, True),
        "StreamName": (str, True),
    }

class LambdaAction(AWSProperty):
    """
    `LambdaAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html>`__
    """

    props: PropsDictType = {
        "FunctionArn": (str, False),
    }

class Timestamp(AWSProperty):
    """
    `Timestamp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestamp.html>`__
    """

    props: PropsDictType = {
        "Unit": (str, False),
        "Value": (str, True),
    }

class LocationAction(AWSProperty):
    """
    `LocationAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-locationaction.html>`__
    """

    props: PropsDictType = {
        "DeviceId": (str, True),
        "Latitude": (str, True),
        "Longitude": (str, True),
        "RoleArn": (str, True),
        "Timestamp": (Timestamp, False),
        "TrackerName": (str, True),
    }

class OpenSearchAction(AWSProperty):
    """
    `OpenSearchAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-opensearchaction.html>`__
    """

    props: PropsDictType = {
        "Endpoint": (str, True),
        "Id": (str, True),
        "Index": (str, True),
        "RoleArn": (str, True),
        "Type": (str, True),
    }

class UserProperty(AWSProperty):
    """
    `UserProperty <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-userproperty.html>`__
    """

    props: PropsDictType = {
        "Key": (str, True),
        "Value": (str, True),
    }

class RepublishActionHeaders(AWSProperty):
    """
    `RepublishActionHeaders <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishactionheaders.html>`__
    """

    props: PropsDictType = {
        "ContentType": (str, False),
        "CorrelationData": (str, False),
        "MessageExpiry": (str, False),
        "PayloadFormatIndicator": (str, False),
        "ResponseTopic": (str, False),
        "UserProperties": ([UserProperty], False),
    }

class RepublishAction(AWSProperty):
    """
    `RepublishAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html>`__
    """

    props: PropsDictType = {
        "Headers": (RepublishActionHeaders, False),
        "Qos": (integer, False),
        "RoleArn": (str, True),
        "Topic": (str, True),
    }

class S3Action(AWSProperty):
    """
    `S3Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html>`__
    """

    props: PropsDictType = {
        "BucketName": (str, True),
        "CannedAcl": (str, False),
        "Key": (str, True),
        "RoleArn": (str, True),
    }

class SnsAction(AWSProperty):
    """
    `SnsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html>`__
    """

    props: PropsDictType = {
        "MessageFormat": (str, False),
        "RoleArn": (str, True),
        "TargetArn": (str, True),
    }

class SqsAction(AWSProperty):
    """
    `SqsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html>`__
    """

    props: PropsDictType = {
        "QueueUrl": (str, True),
        "RoleArn": (str, True),
        "UseBase64": (boolean, False),
    }

class StepFunctionsAction(AWSProperty):
    """
    `StepFunctionsAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html>`__
    """

    props: PropsDictType = {
        "ExecutionNamePrefix": (str, False),
        "RoleArn": (str, True),
        "StateMachineName": (str, True),
    }

class TimestreamDimension(AWSProperty):
    """
    `TimestreamDimension <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamdimension.html>`__
    """

    props: PropsDictType = {
        "Name": (str, True),
        "Value": (str, True),
    }

class TimestreamTimestamp(AWSProperty):
    """
    `TimestreamTimestamp <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamtimestamp.html>`__
    """

    props: PropsDictType = {
        "Unit": (str, True),
        "Value": (str, True),
    }

class TimestreamAction(AWSProperty):
    """
    `TimestreamAction <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-timestreamaction.html>`__
    """

    props: PropsDictType = {
        "DatabaseName": (str, True),
        "Dimensions": ([TimestreamDimension], True),
        "RoleArn": (str, True),
        "TableName": (str, True),
        "Timestamp": (TimestreamTimestamp, False),
    }

class Action(AWSProperty):
    """
    `Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html>`__
    """

    props: PropsDictType = {
        "CloudwatchAlarm": (CloudwatchAlarmAction, False),
        "CloudwatchLogs": (CloudwatchLogsAction, False),
        "CloudwatchMetric": (CloudwatchMetricAction, False),
        "DynamoDB": (DynamoDBAction, False),
        "DynamoDBv2": (DynamoDBv2Action, False),
        "Elasticsearch": (ElasticsearchAction, False),
        "Firehose": (FirehoseAction, False),
        "Http": (HttpAction, False),
        "IotAnalytics": (IotAnalyticsAction, False),
        "IotEvents": (IotEventsAction, False),
        "IotSiteWise": (IotSiteWiseAction, False),
        "Kafka": (KafkaAction, False),
        "Kinesis": (KinesisAction, False),
        "Lambda": (LambdaAction, False),
        "Location": (LocationAction, False),
        "OpenSearch": (OpenSearchAction, False),
        "Republish": (RepublishAction, False),
        "S3": (S3Action, False),
        "Sns": (SnsAction, False),
        "Sqs": (SqsAction, False),
        "StepFunctions": (StepFunctionsAction, False),
        "Timestream": (TimestreamAction, False),
    }

class TopicRulePayload(AWSProperty):
    """
    `TopicRulePayload <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html>`__
    """

    props: PropsDictType = {
        "Actions": ([Action], True),
        "AwsIotSqlVersion": (str, False),
        "Description": (str, False),
        "ErrorAction": (Action, False),
        "RuleDisabled": (boolean, False),
        "Sql": (str, True),
    }

class TopicRule(AWSObject):
    """
    `TopicRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html>`__
    """

    resource_type = "AWS::IoT::TopicRule"

    props: PropsDictType = {
        "RuleName": (str, False),
        "Tags": (Tags, False),
        "TopicRulePayload": (TopicRulePayload, True),
    }

class HttpUrlDestinationSummary(AWSProperty):
    """
    `HttpUrlDestinationSummary <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-httpurldestinationsummary.html>`__
    """

    props: PropsDictType = {
        "ConfirmationUrl": (str, False),
    }

class VpcDestinationProperties(AWSProperty):
    """
    `VpcDestinationProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicruledestination-vpcdestinationproperties.html>`__
    """

    props: PropsDictType = {
        "RoleArn": (str, False),
        "SecurityGroups": ([str], False),
        "SubnetIds": ([str], False),
        "VpcId": (str, False),
    }

class TopicRuleDestination(AWSObject):
    """
    `TopicRuleDestination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html>`__
    """

    resource_type = "AWS::IoT::TopicRuleDestination"

    props: PropsDictType = {
        "HttpUrlProperties": (HttpUrlDestinationSummary, False),
        "Status": (str, False),
        "VpcProperties": (VpcDestinationProperties, False),
    }

class ServerCertificateSummary(AWSProperty):
    """
    `ServerCertificateSummary <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-domainconfiguration-servercertificatesummary.html>`__
    """

    props: PropsDictType = {
        "ServerCertificateArn": (str, False),
        "ServerCertificateStatus": (str, False),
        "ServerCertificateStatusDetail": (str, False),
    }

redpajama_set_name: RedPajamaGithub


text:
Q: 7zip tries to compress files and folder outside of the path I use the command line of 7zip, 7za, to compress a folder, on Windows web server 2008 R2.
7za.exe a -tzip -r %nome_file% "C:\inetpub"

I expect it to compress everything inside the folder "inetpub, but it compress or tries to compress files and folders outside the path.
I have in the log file the following messages:
C:\$Recycle.Bin\S-1-5-21-1548477359-4160443295-2229684838-500\:  WARNING: Access is denied.
C:\Config.Msi\:  WARNING: Access is denied.
C:\Documents and Settings\:  WARNING: Access is denied.

Why? What is weird is that some of those locations do not even exist. There is no "C:\Documents and Settings\" on the "C:\" disk.

A: Get rid of the -r.  It doesn't do what you think it does.
C:
cd \
7za a -tzip -mx=9 -mfb=258 -mpass=15 -mfb=258 C:\temp\filename.zip inetpub
(That is my preferred syntax, which makes things go a bit slower to maximize compression.)
That will create the file you ask for, using the specified subdirectory.
It seems you're thinking that -r will contain the specified subdirectory and all subdirectories under that.  Nope, that's default.  The point of -r is to search subdirectories for a file/subdirectory with the name that you specify.  So C: is being searched for something called inetpub.  You're getting Access Denied warnings as C: is being searched.  That's not the effect that you're trying to pull off.  So just get rid of -r

redpajama_set_name: RedPajamaStackExchange


PsychicOz is one of the popular psychic networks that pop up when you search for online psychics. Although there are many scammers out there looking to make a quick buck online, this is a reliable service that offers quality psychic readings for an affordable price.
People seek out psychic readings for a variety of reasons- they feel stuck or confused, conflicted or overwhelmed. Life gets busy and distracting, and we often miss out on the obvious signals our subconscious and the universe are trying to tell us.
If you feel like nothing is working in your life and are considering getting a psychic reading, you have to make sure that you are paying for quality service. You don't want to get sucked in to a scam or a fraudulent psychic service that leaves you poorer and more confused than you were before.
PsychicOz offers introductory price specials for new clients. New clients can choose the psychic they want to work with through PsychicOz's easy to use website that features each psychic and their services. All psychics have been rated and reviewed, both by staff members and by customers that have worked with those psychics in the past.
There are also special price offers for repeat clients, in addition to PsychicOz's general affordable rates. Clients' credit card information and other sensitive data isn't stored by PsychicOz, and your financial transactions are protected and verified.
There are no hidden fees with any financial transaction that occurs on the PsychicOz website. Payment plans are upfront and transparent, so clients will know exactly how much money they are spending on a psychic reading.
Each psychic that works at PsychicOz has been vetted and hired because of their genuine psychic skills. Each psychic has a different way of giving clients a reading; some are psychic, while others are clairvoyant, clairaudient, tarot card readers, astronomers, or numerologists. Each psychic has an area of expertise that can help clients with specific questions or do a reading in a way that makes the most sense to them.
People who are open minded and willing to hear the messages that are waiting for them are best suited for receiving a psychic reading. It can be difficult to receive the advice, clarity, or guidance that a psychic reading can provide, and not all readings will make sense right away.
Psychics on PsychicOz are able to perform readings via email, over online chat, or over the phone. Each method has its benefits and are designed to fit best with your schedule and the schedule of your chosen spiritual reader.
PsychicOz hires quality over quantity, ensuring the quality of service that makes them stand out from other psychic networks. The hiring process is rigorous, and psychics must go through multiple interviews as well as test readings before they are hired. Once they are working on the network, regular checks are made to ensure the high quality and accuracy of their readings.
PsychicOz has a satisfaction guarantee and has the highest customer satisfaction rate of all online psychic networks. For more information, check out the PsychicOz website and the reviews that clients have left.


LesManley has donated to Pinside (2018-11-03) !
2 Pinsiders have left feedback about LesManley.
TomGWI had a positive Marketplace experience 2016-02-29.
Chrizg had a positive Marketplace experience 2015-07-07.
5 games listed in LesManley's collection.


text:
Press Release: Department of Employment Services Director to Testify on New DC Stimulus and Potential End of Federal Funding for PUA, UI Extensions
WASHINGTON, D.C., December 15, 2020 – Unless Congress takes action, significant parts of the pandemic-related safety net created by the federal CARES Act will come to an end the day after Christmas. Tomorrow at 10:00 a.m., D.C. Department of Employment Services (DOES) Director Unique Morris-Hughes will testify before the DC Council about what claimants can expect if federal funding for certain unemployment compensation programs does not extend beyond Dec. 26. The Director will also explain who will receive DC's new $1,200 economic stimulus payment and when it will likely arrive, as well as talk about other issues with unemployment compensation and benefit extensions.
According to DOES, approximately 40,000 workers have filed for Pandemic Unemployment Assistance (PUA), which allows workers to receive a benefit similar to Unemployment Insurance (UI), and is set to expire on Dec. 26. Other federally-funded programs under the CARES Act are also scheduled to end Dec. 26, including Pandemic Emergency Unemployment Assistance (PEUC). PEUC, which was also created as a response to the pandemic, extends traditional UI for an additional 13 weeks. In public testimony, many UI claimants expressed difficulty extending their weekly benefits with PEUC.
Director Morris-Hughes is also expected to respond to specific advance questions from the Committee, which reflect the most common questions from DC workers.
Advance questions sent by the Councilmember and Committee to DOES focus on:
PUA and the $1,200 PUA stimulus payment
PEUC troubleshooting
Expiration of Extended Benefit Tier 2 and next steps for workers
DOES' outreach schedule to inform District workers of changes to programs, updates, or opportunities.
"I hope that Congress takes action in the next 10 days, but I want to make sure claimants are aware of the possibility PUA, PEUC, and other federally-funded CARES Act money could evaporate the day after Christmas," Silverman said. "That makes the $1,200 DC supplemental payment for PUA claimants even more important, and I know workers will want to know when to expect it."
The full text of the letter and questions sent to DOES in advance of this roundtable can be found here. The official meeting notice can be found here.

redpajama_set_name: RedPajamaCommonCrawl


October 17, 2017 - INNOVA Global Ltd. (INNOVA), an international leader in emissions and noise control, announced today it has acquired the shares of the multinational gas turbine auxiliary equipment specialist, Braden, from Global Power Equipment Group. The acquisition includes Braden Manufacturing LLC (BUSA) in Tulsa, Consolidated Fabricators (CFI) in Auburn, Massachusetts and Braden-Europe (BEUR) located in Heerlen, the Netherlands.
Consolidated Fabricators manufactures complex fabrications for gas turbine and power generation use. We are a qualified supplier to most major gas turbine original equipment manufacturers (OEMs).
We routinely manufacture to meet highly demanding codes such as Eu, CE, Atex, PED, IECEX, CSA, CRN, NEX, ASME and ANSI standards…as well as many others. See our Quality Policy.
Our world-class manufacturing facility in Auburn, Massachusetts enjoys an unusually stable and skilled workforce. We have invested in new manufacturing equipment, implemented lean manufacturing principles, and maintained a qualified network of international fabrication partners. Together, these help assure a competitive response to your needs and make us a leading supplier of gas turbine accessories.
We are a division of Braden Manufacturing, LLC, which has been a world leader in the supply of ancillary equipment for gas turbine applications for over 40 years. Consolidated Fabricators, like Braden, is a Global Power Equipment Group Company.


text:
Moyra Caldecott: author, poet, artist
The site for all things Moyra Caldecott
On Myths and Legends of Africa: Part 2
by Martyn on 19th June 2009
In the first of this series, "On Myths and Legends of Africa: Part 1" Moyra concluded that all cultures have myths that speak to other cultures, because they address a universal need: to make sense of life and death. Now she continues…
Take Africa, for example. The African continent is huge and contains many different cultures. (There are 2000 languages and dialects in West Africa alone.) Similarities between them are more apparent when viewed from outside, since inside Africa the cultures appear very different to the inhabitants of each country or tribe. And these traditional cultures are largely oral. Africans, like the ancient Celts, did not have writing, so their stories were passed down by word of mouth for generations and only written down recently by outsiders – mostly Europeans. (Similarly the pagan Celtic stories were written down by medieval monks.) No doubt there is some distortion in this process of translating and recording the stories, but by and large those who did the recording were at least trying to be accurate.
We understand stories from cultures other than our own because we are not so very different. The Africans believe in invisible powers – but so do we. Of course, we give them different names. We talk of guardian angels and dead saints. They talk of spirits and ancestors. They talk of locusts destroying crops. We talk about genetic engineering and poisonous insecticides and weed killers. They talk of the cunning Hare or Spider twisting the truth. We talk of spin doctors, advertisers and politicians.
Whatever the terms of reference may be, myths and legends play a vital role and can stir strong emotions. We ignore or abuse them at our peril.
A long time ago a great medicine man of the Ashanti in Ghana gave the King a wooden stool covered in gold. He said he had brought it down from the sky in a black cloud amid thunder and dust. The King made four bells to hang on each side. He was told that the stool contained the soul of the Ashanti people and must never be sat upon. The Kings, the Queens and the chiefs donated hair and nails to be ground into a paste to be placed on the stool. Three times a year the King would pretend to sit on it. Golden chains and golden masks were added to it when the enemies were overthrown. It became a very sacred object and was carried in processions, protected by an umbrella.
In 1896 the British conquered the Ashanti and tried to sit on the golden stool believing that by doing so, they would stamp their authority on the people. Fighting broke out in protest and many lives were lost. The stool was hidden, and many years later, when the British had realised their mistake, it was found and returned to the palace at Kumasi. In 1922 the Queen Mothers of the Ashanti sent a silver stool to Princess Mary as a wedding present saying: "their love was bound to the stool with silver fetters, just as we are accustomed to bind our own spirits into the base of our stools".
The simplest and homeliest of African stories are usually about animals representing some human characteristic. These I call fables or folktales. Most common are the Hare stories, illustrating the cunning by which the ordinary man defeats his much stronger rival or enemy. These stories were carried to America by the slaves and appear with the Hare transposed into Brer Rabbit. The part of the American fox is usually played by the hyena in Africa.
Here's an example. The Hare and the Hyena went hunting. The Hare noticed the hyena kept all the best meat for himself. Eventually he disguised himself as a monster with red clay and feathers and exacted meat from the Hyena as payment for passing him safely and continuing on the road.
Another time the Hare owed a lot to the Elephant and Hippopotamus. He couldn't pay and they were getting very angry. He told each of them that he had buried a vast treasure and gave each of them one end of a long rope. He told them if they just pulled on the rope the treasure would be drawn up to the surface, and went away laughing as the great heavy animals engaged in a tug of war.
And of course there are many stories from all over the continent about how Death came to the world. In one Zulu story God sent a message to mankind via the Chameleon that they would live for ever. The Chameleon set off slowly, stopping to eat on the way. Meanwhile God sent a Lizard with another message for mankind, that they would all eventually die. Lizard got there first, and when Chameleon arrived his message was invalid – the Word of God once received could not be challenged. The Mende of Sierra Leone tell a similar story involving a Dog and a Toad. Another tribe speak of the gift of being able to replace one's skin, and thus live forever – a gift intercepted by a Snake on the road between God and Man. In Zambia there is a story that God gave mankind the choice of two bags. They chose the one that shone, but it contained death. God gave them a second chance, if they could refrain from eating for three days, but they failed.
We don't like to think of Death as inexorable, inevitable. We want it to be contingent and avoidable. If Eve hadn't eaten the apple, if Chameleon had hurried, if the right bag had been chosen, there might be no death. We were given a chance but someone blew it. Free will means that decisions have consequences.
Other stories are similar. Not only death, but all the various ills of the world come upon us because of our own fault. I think of these as the Pandora's Box stories. So, for example, according to the Komo people of Sierra Leone, at first all was light. God gave the bat a basket full of darkness to carry to the moon. But the bat put down the basket and went to look for food. Some animals found it, opened it, and darkness escaped. So now the bat flies at night looking for the dark to put it back into the basket. But once we have done something bad it cannot be undone.
In another African story, a king falls in love with a star. A star princess comes to him and they are happily married, but she wants to go home to deliver her first child. The king sends her to the top of a mountain with warriors to guard her. The mist forms into the shape of a great lake and a boat comes across it to fetch them to the stars. They arrive at the palace of her father and there is no one to greet them. She leaves them in a chamber with three sealed jars. As time goes by their curiosity and hunger get the better of them. One by one they open the jars: out come mosquitoes, locusts, and flies. When they return to earth these pests go with them.
Perhaps the meaning we take from the story is that the king was reaching for his highest self. By grace he is given it, but his lower self lets him down – curiosity opens the jars and releases all manner of ills.
A Nigerian story described how a forest spirit called Musa once spoke to a man, a hunter looking for food for his family. In the great forest full of trees, the spirit singled out twelve types of tree and told the man that if he crushed some of the bark of these trees into powder and then mixed the powder with water, he would have a paste to spread on himself that would make him invisible to the animals of the forest. (People have always longed to be invisible – the hunter more than most, and the journalist with a camera no less than the killer with arrow or gun.)
The occurrence of the number twelve in this story comes as little surprise. Twelve has symbolic power in every culture. There are twelve signs of the zodiac and twelve months of the year, twelve hours of the day and night, twelve fruits of the cosmic tree, twelve members of the council of the Dalai Lama, twelve disciples of Christ, twelve tribes of Israel, twelve labours of Heracles, twelve knights of the round table, twelve gates and foundations of the holy city of the New Jerusalem, twelve in a modern jury – the list goes on and on. One tree alone would not confer invisibility; twelve types are needed. By the time the hunter has sought out the twelve types of tree he must know a lot about the forest. By the time he has gathered the bark and ground it and made the paste he has become so knowledgeable about nature and so in tune with its ways that he no longer stands out as an alien in the forest. In a sense he has become the forest.
More soon…
You must log in to post a comment. Log in now.
Next post: On Myths and Legends of Africa: Part 3
Previous post: On Myths and Legends of Africa: Part 1
Moyra Caldecott was born in Pretoria, South Africa in 1927, and moved to London in 1951. She earned degrees in English and Philosophy and an M.A. in English Literature, and wrote more than 20 books.
She has a reputation as a novelist who writes as vividly about the adventures and experiences to be encountered in the inner realms of the human consciousness as she does about those in the outer physical world. To Moyra, reality is multidimensional.
Moyra died peacefully on 23rd May 2015, aged 87.
Where to find Moyra's books
Amazon – all books
Bladud Books
iBooks on iTunes
Mushroom eBooks
Copyright © moyracaldecott.co.uk | Privacy Policy