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"] }) Nothing
data 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"])] }