| Copyright | (c) 2025 |
|---|---|
| License | MIT |
| Maintainer | |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Google.Cloud.Compute.Firewall
Description
This module provides a Haskell client for Google Cloud Compute Engine Firewall operations.
Synopsis
- listFirewalls :: String -> Maybe ListFirewallsQuery -> IO (Either String FirewallList)
- data FirewallList = FirewallList {}
- data FirewallMeta = FirewallMeta {
- kind :: Maybe String
- id :: Maybe String
- creationTimestamp :: Maybe String
- name :: Maybe String
- description :: Maybe String
- network :: Maybe String
- priority :: Maybe Int
- sourceRanges :: Maybe [String]
- sourceTags :: Maybe [String]
- targetTags :: Maybe [String]
- allowed :: Maybe [AllowedFirewall]
- denied :: Maybe [DeniedFirewall]
- direction :: Maybe String
- logConfig :: Maybe LogConfig
- disabled :: Maybe Bool
- selfLink :: Maybe String
- data AllowedFirewall = AllowedFirewall {
- iPProtocol :: String
- ports :: Maybe [String]
- createFirewall :: String -> CreateFirewallOps -> Maybe CreateFirewallQuery -> IO (Either String CreateFirewallResp)
- data CreateFirewallOps = CreateFirewallOps {
- name :: String
- description :: Maybe String
- network :: Maybe String
- priority :: Maybe Int
- sourceRanges :: Maybe [String]
- sourceTags :: Maybe [String]
- targetTags :: Maybe [String]
- allowed :: Maybe [AllowedFirewall]
- denied :: Maybe [DeniedFirewall]
- direction :: Maybe String
- logConfig :: Maybe LogConfig
- disabled :: Maybe Bool
- type CreateFirewallResp = Operation
- data Operation = Operation {}
- data Warning = Warning {}
- data WarningData = WarningData {}
- data LogConfig = LogConfig {}
- data DeniedFirewall = DeniedFirewall {
- iPProtocol :: String
- ports :: Maybe [String]
- defaultCreateFirewallOps :: String -> CreateFirewallOps
Documentation
Arguments
| :: String | GCP Project ID |
| -> Maybe ListFirewallsQuery | Optional query parameters |
| -> IO (Either String FirewallList) | List result or error |
List firewall rules in a project
Example:
listFirewalls "my-project" (Just ListFirewallsQuery { filter0 = Just "name=default-allow-*" })data FirewallList Source #
Response format for firewall listing operations
Constructors
| FirewallList | |
Fields
| |
Instances
| FromJSON FirewallList Source # | |
Defined in Google.Cloud.Compute.Firewall | |
| ToJSON FirewallList Source # | |
Defined in Google.Cloud.Compute.Firewall Methods toJSON :: FirewallList -> Value # toEncoding :: FirewallList -> Encoding # toJSONList :: [FirewallList] -> Value # toEncodingList :: [FirewallList] -> Encoding # omitField :: FirewallList -> Bool # | |
| Show FirewallList Source # | |
Defined in Google.Cloud.Compute.Firewall Methods showsPrec :: Int -> FirewallList -> ShowS # show :: FirewallList -> String # showList :: [FirewallList] -> ShowS # | |
| Eq FirewallList Source # | |
Defined in Google.Cloud.Compute.Firewall | |
data FirewallMeta Source #
Represents a Google Cloud Firewall Rule
Constructors
| FirewallMeta | |
Fields
| |
Instances
| FromJSON FirewallMeta Source # | |
Defined in Google.Cloud.Compute.Firewall | |
| ToJSON FirewallMeta Source # | |
Defined in Google.Cloud.Compute.Firewall Methods toJSON :: FirewallMeta -> Value # toEncoding :: FirewallMeta -> Encoding # toJSONList :: [FirewallMeta] -> Value # toEncodingList :: [FirewallMeta] -> Encoding # omitField :: FirewallMeta -> Bool # | |
| Show FirewallMeta Source # | |
Defined in Google.Cloud.Compute.Firewall Methods showsPrec :: Int -> FirewallMeta -> ShowS # show :: FirewallMeta -> String # showList :: [FirewallMeta] -> ShowS # | |
| Eq FirewallMeta Source # | |
Defined in Google.Cloud.Compute.Firewall | |
data AllowedFirewall Source #
Allow rule specification
Constructors
| AllowedFirewall | |
Fields
| |
Instances
| FromJSON AllowedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods parseJSON :: Value -> Parser AllowedFirewall # parseJSONList :: Value -> Parser [AllowedFirewall] # | |
| ToJSON AllowedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods toJSON :: AllowedFirewall -> Value # toEncoding :: AllowedFirewall -> Encoding # toJSONList :: [AllowedFirewall] -> Value # toEncodingList :: [AllowedFirewall] -> Encoding # omitField :: AllowedFirewall -> Bool # | |
| Show AllowedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods showsPrec :: Int -> AllowedFirewall -> ShowS # show :: AllowedFirewall -> String # showList :: [AllowedFirewall] -> ShowS # | |
| Eq AllowedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods (==) :: AllowedFirewall -> AllowedFirewall -> Bool # (/=) :: AllowedFirewall -> AllowedFirewall -> Bool # | |
Arguments
| :: String | GCP Project ID |
| -> CreateFirewallOps | Firewall configuration |
| -> Maybe CreateFirewallQuery | Optional request ID |
| -> IO (Either String CreateFirewallResp) | Operation or error |
Create a new firewall rule
Example:
createFirewall "my-project"
(defaultCreateFirewallOps "allow-http"
{ allowed = Just [AllowedFirewall "tcp" (Just ["80"])]
, sourceRanges = Just ["0.0.0.0/0"]
}) Nothingdata CreateFirewallOps Source #
Firewall creation options
Constructors
| CreateFirewallOps | |
Fields
| |
Instances
| ToJSON CreateFirewallOps Source # | |
Defined in Google.Cloud.Compute.Firewall Methods toJSON :: CreateFirewallOps -> Value # toEncoding :: CreateFirewallOps -> Encoding # toJSONList :: [CreateFirewallOps] -> Value # toEncodingList :: [CreateFirewallOps] -> Encoding # omitField :: CreateFirewallOps -> Bool # | |
| Show CreateFirewallOps Source # | |
Defined in Google.Cloud.Compute.Firewall Methods showsPrec :: Int -> CreateFirewallOps -> ShowS # show :: CreateFirewallOps -> String # showList :: [CreateFirewallOps] -> ShowS # | |
| Eq CreateFirewallOps Source # | |
Defined in Google.Cloud.Compute.Firewall Methods (==) :: CreateFirewallOps -> CreateFirewallOps -> Bool # (/=) :: CreateFirewallOps -> CreateFirewallOps -> Bool # | |
type CreateFirewallResp = Operation Source #
Alias for operation response from firewall creation
Long-running operation resource
Constructors
| Operation | |
Fields
| |
Represents a warning object in API responses
Constructors
| Warning | |
data WarningData Source #
Key-value pair providing additional context for warnings
Constructors
| WarningData | |
Instances
| FromJSON WarningData Source # | |
Defined in Google.Cloud.Compute.Firewall | |
| ToJSON WarningData Source # | |
Defined in Google.Cloud.Compute.Firewall Methods toJSON :: WarningData -> Value # toEncoding :: WarningData -> Encoding # toJSONList :: [WarningData] -> Value # toEncodingList :: [WarningData] -> Encoding # omitField :: WarningData -> Bool # | |
| Show WarningData Source # | |
Defined in Google.Cloud.Compute.Firewall Methods showsPrec :: Int -> WarningData -> ShowS # show :: WarningData -> String # showList :: [WarningData] -> ShowS # | |
| Eq WarningData Source # | |
Defined in Google.Cloud.Compute.Firewall | |
Firewall rule logging configuration
Constructors
| LogConfig | |
data DeniedFirewall Source #
Deny rule specification
Constructors
| DeniedFirewall | |
Fields
| |
Instances
| FromJSON DeniedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods parseJSON :: Value -> Parser DeniedFirewall # parseJSONList :: Value -> Parser [DeniedFirewall] # | |
| ToJSON DeniedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods toJSON :: DeniedFirewall -> Value # toEncoding :: DeniedFirewall -> Encoding # toJSONList :: [DeniedFirewall] -> Value # toEncodingList :: [DeniedFirewall] -> Encoding # omitField :: DeniedFirewall -> Bool # | |
| Show DeniedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods showsPrec :: Int -> DeniedFirewall -> ShowS # show :: DeniedFirewall -> String # showList :: [DeniedFirewall] -> ShowS # | |
| Eq DeniedFirewall Source # | |
Defined in Google.Cloud.Compute.Firewall Methods (==) :: DeniedFirewall -> DeniedFirewall -> Bool # (/=) :: DeniedFirewall -> DeniedFirewall -> Bool # | |
defaultCreateFirewallOps :: String -> CreateFirewallOps Source #
Default firewall creation options
Creates minimal valid configuration with required name. Additional fields can be added using record update syntax:
defaultCreateFirewallOps "web-allow"
{ description = Just "Allow web traffic"
, allowed = Just [AllowedFirewall "tcp" (Just ["80","443"])]
}