fastly-api 11.0.0

Fastly API client
Documentation
/*
 * Fastly API
 *
 * Via the Fastly API you can perform any of the operations that are possible within the management console,  including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/) 
 *
 */




#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct EventAttributes {
    /// Indicates if event was performed by Fastly.
    #[serde(rename = "admin", skip_serializing_if = "Option::is_none")]
    pub admin: Option<bool>,
    /// Date and time in ISO 8601 format.
    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "customer_id", skip_serializing_if = "Option::is_none")]
    pub customer_id: Option<Box<String>>,
    /// Description of the event.
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Type of event. Can be used with `filter[event_type]`
    #[serde(rename = "event_type", skip_serializing_if = "Option::is_none")]
    pub event_type: Option<EventType>,
    /// IP addresses that the event was requested from.
    #[serde(rename = "ip", skip_serializing_if = "Option::is_none")]
    pub ip: Option<String>,
    /// Hash of key value pairs of additional information.
    #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
    pub metadata: Option<::std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "service_id", skip_serializing_if = "Option::is_none")]
    pub service_id: Option<Box<String>>,
    #[serde(rename = "user_id", skip_serializing_if = "Option::is_none")]
    pub user_id: Option<Box<String>>,
    #[serde(rename = "token_id", skip_serializing_if = "Option::is_none")]
    pub token_id: Option<Box<String>>,
}

impl EventAttributes {
    pub fn new() -> EventAttributes {
        EventAttributes {
            admin: None,
            created_at: None,
            customer_id: None,
            description: None,
            event_type: None,
            ip: None,
            metadata: None,
            service_id: None,
            user_id: None,
            token_id: None,
        }
    }
}

/// Type of event. Can be used with `filter[event_type]`
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EventType {
    #[serde(rename = "api_key.create")]
    ApiKeyCreate,
    #[serde(rename = "acl.create")]
    AclCreate,
    #[serde(rename = "acl.delete")]
    AclDelete,
    #[serde(rename = "acl.update")]
    AclUpdate,
    #[serde(rename = "address.create")]
    AddressCreate,
    #[serde(rename = "address.delete")]
    AddressDelete,
    #[serde(rename = "address.update")]
    AddressUpdate,
    #[serde(rename = "alerts.definition.create")]
    AlertsDefinitionCreate,
    #[serde(rename = "alerts.definition.delete")]
    AlertsDefinitionDelete,
    #[serde(rename = "alerts.definition.test")]
    AlertsDefinitionTest,
    #[serde(rename = "alerts.definition.update")]
    AlertsDefinitionUpdate,
    #[serde(rename = "backend.create")]
    BackendCreate,
    #[serde(rename = "backend.delete")]
    BackendDelete,
    #[serde(rename = "backend.update")]
    BackendUpdate,
    #[serde(rename = "billing.contact_update")]
    BillingContactUpdate,
    #[serde(rename = "cache_settings.create")]
    CacheSettingsCreate,
    #[serde(rename = "cache_settings.delete")]
    CacheSettingsDelete,
    #[serde(rename = "cache_settings.update")]
    CacheSettingsUpdate,
    #[serde(rename = "customer.create")]
    CustomerCreate,
    #[serde(rename = "customer.pricing")]
    CustomerPricing,
    #[serde(rename = "customer.update")]
    CustomerUpdate,
    #[serde(rename = "customer_feature.create")]
    CustomerFeatureCreate,
    #[serde(rename = "customer_feature.delete")]
    CustomerFeatureDelete,
    #[serde(rename = "director.create")]
    DirectorCreate,
    #[serde(rename = "director.delete")]
    DirectorDelete,
    #[serde(rename = "director.update")]
    DirectorUpdate,
    #[serde(rename = "director_backend.create")]
    DirectorBackendCreate,
    #[serde(rename = "director_backend.delete")]
    DirectorBackendDelete,
    #[serde(rename = "domain.create")]
    DomainCreate,
    #[serde(rename = "domain.delete")]
    DomainDelete,
    #[serde(rename = "domain.update")]
    DomainUpdate,
    #[serde(rename = "gzip.create")]
    GzipCreate,
    #[serde(rename = "gzip.delete")]
    GzipDelete,
    #[serde(rename = "gzip.update")]
    GzipUpdate,
    #[serde(rename = "header.create")]
    HeaderCreate,
    #[serde(rename = "header.delete")]
    HeaderDelete,
    #[serde(rename = "header.update")]
    HeaderUpdate,
    #[serde(rename = "healthcheck.create")]
    HealthcheckCreate,
    #[serde(rename = "healthcheck.delete")]
    HealthcheckDelete,
    #[serde(rename = "healthcheck.update")]
    HealthcheckUpdate,
    #[serde(rename = "invitation.accept")]
    InvitationAccept,
    #[serde(rename = "invitation.sent")]
    InvitationSent,
    #[serde(rename = "invoice.failed_payment")]
    InvoiceFailedPayment,
    #[serde(rename = "invoice.payment")]
    InvoicePayment,
    #[serde(rename = "io_settings.create")]
    IoSettingsCreate,
    #[serde(rename = "io_settings.delete")]
    IoSettingsDelete,
    #[serde(rename = "io_settings.update")]
    IoSettingsUpdate,
    #[serde(rename = "logging.create")]
    LoggingCreate,
    #[serde(rename = "logging.delete")]
    LoggingDelete,
    #[serde(rename = "logging.update")]
    LoggingUpdate,
    #[serde(rename = "pool.create")]
    PoolCreate,
    #[serde(rename = "pool.delete")]
    PoolDelete,
    #[serde(rename = "pool.update")]
    PoolUpdate,
    #[serde(rename = "request_settings.create")]
    RequestSettingsCreate,
    #[serde(rename = "request_settings.delete")]
    RequestSettingsDelete,
    #[serde(rename = "request_settings.update")]
    RequestSettingsUpdate,
    #[serde(rename = "response_object.create")]
    ResponseObjectCreate,
    #[serde(rename = "response_object.delete")]
    ResponseObjectDelete,
    #[serde(rename = "response_object.update")]
    ResponseObjectUpdate,
    #[serde(rename = "rule_status.update")]
    RuleStatusUpdate,
    #[serde(rename = "rule_status.upsert")]
    RuleStatusUpsert,
    #[serde(rename = "security.workspace.create")]
    SecurityWorkspaceCreate,
    #[serde(rename = "security.workspace.update")]
    SecurityWorkspaceUpdate,
    #[serde(rename = "security.workspace.delete")]
    SecurityWorkspaceDelete,
    #[serde(rename = "security.redaction.create")]
    SecurityRedactionCreate,
    #[serde(rename = "security.redaction.update")]
    SecurityRedactionUpdate,
    #[serde(rename = "security.redaction.delete")]
    SecurityRedactionDelete,
    #[serde(rename = "security.rule.create")]
    SecurityRuleCreate,
    #[serde(rename = "security.rule.update")]
    SecurityRuleUpdate,
    #[serde(rename = "security.rule.delete")]
    SecurityRuleDelete,
    #[serde(rename = "security.virtual_patch.create")]
    SecurityVirtualPatchCreate,
    #[serde(rename = "security.virtual_patch.update")]
    SecurityVirtualPatchUpdate,
    #[serde(rename = "security.virtual_patch.delete")]
    SecurityVirtualPatchDelete,
    #[serde(rename = "security.event.update")]
    SecurityEventUpdate,
    #[serde(rename = "server.create")]
    ServerCreate,
    #[serde(rename = "server.delete")]
    ServerDelete,
    #[serde(rename = "server.update")]
    ServerUpdate,
    #[serde(rename = "service.create")]
    ServiceCreate,
    #[serde(rename = "service.delete")]
    ServiceDelete,
    #[serde(rename = "service.move")]
    ServiceMove,
    #[serde(rename = "service.move_destination")]
    ServiceMoveDestination,
    #[serde(rename = "service.move_source")]
    ServiceMoveSource,
    #[serde(rename = "service.purge_all")]
    ServicePurgeAll,
    #[serde(rename = "service.update")]
    ServiceUpdate,
    #[serde(rename = "service_authorization.create")]
    ServiceAuthorizationCreate,
    #[serde(rename = "service_authorization.delete")]
    ServiceAuthorizationDelete,
    #[serde(rename = "service_authorization.update")]
    ServiceAuthorizationUpdate,
    #[serde(rename = "tls.bulk_certificate.create")]
    TlsBulkCertificateCreate,
    #[serde(rename = "tls.bulk_certificate.delete")]
    TlsBulkCertificateDelete,
    #[serde(rename = "tls.bulk_certificate.update")]
    TlsBulkCertificateUpdate,
    #[serde(rename = "tls.certificate.create")]
    TlsCertificateCreate,
    #[serde(rename = "tls.certificate.expiration_email")]
    TlsCertificateExpirationEmail,
    #[serde(rename = "tls.certificate.update")]
    TlsCertificateUpdate,
    #[serde(rename = "tls.certificate.delete")]
    TlsCertificateDelete,
    #[serde(rename = "tls.configuration.update")]
    TlsConfigurationUpdate,
    #[serde(rename = "tls.private_key.create")]
    TlsPrivateKeyCreate,
    #[serde(rename = "tls.private_key.delete")]
    TlsPrivateKeyDelete,
    #[serde(rename = "tls.activation.enable")]
    TlsActivationEnable,
    #[serde(rename = "tls.activation.update")]
    TlsActivationUpdate,
    #[serde(rename = "tls.activation.disable")]
    TlsActivationDisable,
    #[serde(rename = "tls.globalsign.domain.create")]
    TlsGlobalsignDomainCreate,
    #[serde(rename = "tls.globalsign.domain.verify")]
    TlsGlobalsignDomainVerify,
    #[serde(rename = "tls.globalsign.domain.delete")]
    TlsGlobalsignDomainDelete,
    #[serde(rename = "tls.subscription.create")]
    TlsSubscriptionCreate,
    #[serde(rename = "tls.subscription.delete")]
    TlsSubscriptionDelete,
    #[serde(rename = "tls.subscription.dns_check_email")]
    TlsSubscriptionDnsCheckEmail,
    #[serde(rename = "token.create")]
    TokenCreate,
    #[serde(rename = "token.destroy")]
    TokenDestroy,
    #[serde(rename = "two_factor_auth.disable")]
    TwoFactorAuthDisable,
    #[serde(rename = "two_factor_auth.enable")]
    TwoFactorAuthEnable,
    #[serde(rename = "user.create")]
    UserCreate,
    #[serde(rename = "user.destroy")]
    UserDestroy,
    #[serde(rename = "user.lock")]
    UserLock,
    #[serde(rename = "user.login")]
    UserLogin,
    #[serde(rename = "user.login_failure")]
    UserLoginFailure,
    #[serde(rename = "user.logout")]
    UserLogout,
    #[serde(rename = "user.password_update")]
    UserPasswordUpdate,
    #[serde(rename = "user.unlock")]
    UserUnlock,
    #[serde(rename = "user.update")]
    UserUpdate,
    #[serde(rename = "vcl.create")]
    VclCreate,
    #[serde(rename = "vcl.delete")]
    VclDelete,
    #[serde(rename = "vcl.update")]
    VclUpdate,
    #[serde(rename = "version.activate")]
    VersionActivate,
    #[serde(rename = "version.clone")]
    VersionClone,
    #[serde(rename = "version.copy")]
    VersionCopy,
    #[serde(rename = "version.copy_destination")]
    VersionCopyDestination,
    #[serde(rename = "version.copy_source")]
    VersionCopySource,
    #[serde(rename = "version.create")]
    VersionCreate,
    #[serde(rename = "version.deactivate")]
    VersionDeactivate,
    #[serde(rename = "version.lock")]
    VersionLock,
    #[serde(rename = "version.update")]
    VersionUpdate,
    #[serde(rename = "waf.configuration_set_update")]
    WafConfigurationSetUpdate,
    #[serde(rename = "waf.create")]
    WafCreate,
    #[serde(rename = "waf.delete")]
    WafDelete,
    #[serde(rename = "waf.update")]
    WafUpdate,
    #[serde(rename = "waf.enable")]
    WafEnable,
    #[serde(rename = "waf.disable")]
    WafDisable,
    #[serde(rename = "waf.owasp.create")]
    WafOwaspCreate,
    #[serde(rename = "waf.owasp.update")]
    WafOwaspUpdate,
    #[serde(rename = "waf.ruleset.deploy")]
    WafRulesetDeploy,
    #[serde(rename = "waf.ruleset.deploy_failure")]
    WafRulesetDeployFailure,
    #[serde(rename = "wordpress.create")]
    WordpressCreate,
    #[serde(rename = "wordpress.delete")]
    WordpressDelete,
    #[serde(rename = "wordpress.update")]
    WordpressUpdate,
}

impl Default for EventType {
    fn default() -> EventType {
        Self::ApiKeyCreate
    }
}