on develop help sign in
Regenerating gogol-container from latest service definition
3cf8b0aBrendan Hay
gogol-container/gen/Network/Google/Container.hs+80−3
@@ -13,9 +13,8 @@
13-- Stability : auto-generated
13-- Stability : auto-generated
14-- Portability : non-portable (GHC extensions)
14-- Portability : non-portable (GHC extensions)
15--
15--
16−-- The Google Container Engine API is used for building and managing
16+-- Builds and manages clusters that run container-based applications,
17−-- container based applications, powered by the open source Kubernetes
17+-- powered by open source Kubernetes technology.
18−-- technology.
19--
18--
20-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference>
19-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference>
21module Network.Google.Container
20module Network.Google.Container
@@ -43,6 +42,18 @@ module Network.Google.Container
43 -- ** container.projects.zones.clusters.list
42 -- ** container.projects.zones.clusters.list
44 , module Network.Google.Resource.Container.Projects.Zones.Clusters.List
43 , module Network.Google.Resource.Container.Projects.Zones.Clusters.List
45
44
45+ -- ** container.projects.zones.clusters.nodePools.create
46+ , module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Create
47+
48+ -- ** container.projects.zones.clusters.nodePools.delete
49+ , module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Delete
50+
51+ -- ** container.projects.zones.clusters.nodePools.get
52+ , module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Get
53+
54+ -- ** container.projects.zones.clusters.nodePools.list
55+ , module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.List
56+
46 -- ** container.projects.zones.clusters.update
57 -- ** container.projects.zones.clusters.update
47 , module Network.Google.Resource.Container.Projects.Zones.Clusters.Update
58 , module Network.Google.Resource.Container.Projects.Zones.Clusters.Update
48
59
@@ -57,10 +68,16 @@ module Network.Google.Container
57
68
58 -- * Types
69 -- * Types
59
70
71+ -- ** HorizontalPodAutoscaling
72+ , HorizontalPodAutoscaling
73+ , horizontalPodAutoscaling
74+ , hpaDisabled
75+
60 -- ** ListOperationsResponse
76 -- ** ListOperationsResponse
61 , ListOperationsResponse
77 , ListOperationsResponse
62 , listOperationsResponse
78 , listOperationsResponse
63 , lorOperations
79 , lorOperations
80+ , lorMissingZones
64
81
65 -- ** CreateClusterRequest
82 -- ** CreateClusterRequest
66 , CreateClusterRequest
83 , CreateClusterRequest
@@ -71,6 +88,7 @@ module Network.Google.Container
71 , Cluster
88 , Cluster
72 , cluster
89 , cluster
73 , cStatus
90 , cStatus
91+ , cNodePools
74 , cNodeConfig
92 , cNodeConfig
75 , cNodeIPv4CIdRSize
93 , cNodeIPv4CIdRSize
76 , cClusterIPv4CIdR
94 , cClusterIPv4CIdR
@@ -79,13 +97,17 @@ module Network.Google.Container
79 , cNetwork
97 , cNetwork
80 , cInitialClusterVersion
98 , cInitialClusterVersion
81 , cZone
99 , cZone
100+ , cAddonsConfig
82 , cServicesIPv4CIdR
101 , cServicesIPv4CIdR
83 , cMasterAuth
102 , cMasterAuth
84 , cSelfLink
103 , cSelfLink
85 , cName
104 , cName
86 , cCurrentMasterVersion
105 , cCurrentMasterVersion
87 , cStatusMessage
106 , cStatusMessage
107+ , cSubnetwork
108+ , cCurrentNodeCount
88 , cEndpoint
109 , cEndpoint
110+ , cLocations
89 , cLoggingService
111 , cLoggingService
90 , cDescription
112 , cDescription
91 , cInstanceGroupURLs
113 , cInstanceGroupURLs
@@ -103,6 +125,12 @@ module Network.Google.Container
103 , ncDiskSizeGb
125 , ncDiskSizeGb
104 , ncOAuthScopes
126 , ncOAuthScopes
105 , ncMachineType
127 , ncMachineType
128+ , ncMetadata
129+
130+ -- ** HTTPLoadBalancing
131+ , HTTPLoadBalancing
132+ , hTTPLoadBalancing
133+ , httplbDisabled
106
134
107 -- ** Operation
135 -- ** Operation
108 , Operation
136 , Operation
@@ -114,6 +142,25 @@ module Network.Google.Container
114 , oStatusMessage
142 , oStatusMessage
115 , oOperationType
143 , oOperationType
116 , oTargetLink
144 , oTargetLink
145+ , oDetail
146+
147+ -- ** AddonsConfig
148+ , AddonsConfig
149+ , addonsConfig
150+ , acHorizontalPodAutoscaling
151+ , acHTTPLoadBalancing
152+
153+ -- ** NodePool
154+ , NodePool
155+ , nodePool
156+ , npStatus
157+ , npConfig
158+ , npInitialNodeCount
159+ , npSelfLink
160+ , npName
161+ , npStatusMessage
162+ , npVersion
163+ , npInstanceGroupURLs
117
164
118 -- ** MasterAuth
165 -- ** MasterAuth
119 , MasterAuth
166 , MasterAuth
@@ -124,21 +171,43 @@ module Network.Google.Container
124 , maPassword
171 , maPassword
125 , maClusterCaCertificate
172 , maClusterCaCertificate
126
173
174+ -- ** NodeConfigMetadata
175+ , NodeConfigMetadata
176+ , nodeConfigMetadata
177+ , ncmAddtional
178+
127 -- ** ServerConfig
179 -- ** ServerConfig
128 , ServerConfig
180 , ServerConfig
129 , serverConfig
181 , serverConfig
130 , scValidNodeVersions
182 , scValidNodeVersions
183+ , scDefaultImageFamily
184+ , scValidImageFamilies
131 , scDefaultClusterVersion
185 , scDefaultClusterVersion
132
186
133 -- ** ListClustersResponse
187 -- ** ListClustersResponse
134 , ListClustersResponse
188 , ListClustersResponse
135 , listClustersResponse
189 , listClustersResponse
136 , lcrClusters
190 , lcrClusters
191+ , lcrMissingZones
137
192
138 -- ** ClusterUpdate
193 -- ** ClusterUpdate
139 , ClusterUpdate
194 , ClusterUpdate
140 , clusterUpdate
195 , clusterUpdate
196+ , cuDesiredAddonsConfig
197+ , cuDesiredNodePoolId
141 , cuDesiredNodeVersion
198 , cuDesiredNodeVersion
199+ , cuDesiredMasterVersion
200+ , cuDesiredMonitoringService
201+
202+ -- ** ListNodePoolsResponse
203+ , ListNodePoolsResponse
204+ , listNodePoolsResponse
205+ , lnprNodePools
206+
207+ -- ** CreateNodePoolRequest
208+ , CreateNodePoolRequest
209+ , createNodePoolRequest
210+ , cnprNodePool
142 ) where
211 ) where
143
212
144import Network.Google.Container.Types
213import Network.Google.Container.Types
@@ -147,6 +216,10 @@ import Network.Google.Resource.Container.Projects.Zones.Clusters.Creat
147import Network.Google.Resource.Container.Projects.Zones.Clusters.Delete
216import Network.Google.Resource.Container.Projects.Zones.Clusters.Delete
148import Network.Google.Resource.Container.Projects.Zones.Clusters.Get
217import Network.Google.Resource.Container.Projects.Zones.Clusters.Get
149import Network.Google.Resource.Container.Projects.Zones.Clusters.List
218import Network.Google.Resource.Container.Projects.Zones.Clusters.List
219+import Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Create
220+import Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Delete
221+import Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Get
222+import Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.List
150import Network.Google.Resource.Container.Projects.Zones.Clusters.Update
223import Network.Google.Resource.Container.Projects.Zones.Clusters.Update
151import Network.Google.Resource.Container.Projects.Zones.GetServerConfig
224import Network.Google.Resource.Container.Projects.Zones.GetServerConfig
152import Network.Google.Resource.Container.Projects.Zones.Operations.Get
225import Network.Google.Resource.Container.Projects.Zones.Operations.Get
@@ -160,6 +233,10 @@ TODO
160type ContainerAPI =
233type ContainerAPI =
161 ProjectsZonesOperationsListResource :<|>
234 ProjectsZonesOperationsListResource :<|>
162 ProjectsZonesOperationsGetResource
235 ProjectsZonesOperationsGetResource
236+ :<|> ProjectsZonesClustersNodePoolsListResource
237+ :<|> ProjectsZonesClustersNodePoolsGetResource
238+ :<|> ProjectsZonesClustersNodePoolsCreateResource
239+ :<|> ProjectsZonesClustersNodePoolsDeleteResource
163 :<|> ProjectsZonesClustersListResource
240 :<|> ProjectsZonesClustersListResource
164 :<|> ProjectsZonesClustersGetResource
241 :<|> ProjectsZonesClustersGetResource
165 :<|> ProjectsZonesClustersCreateResource
242 :<|> ProjectsZonesClustersCreateResource
gogol-container/gen/Network/Google/Container/Types.hs+58
@@ -22,10 +22,16 @@ module Network.Google.Container.Types
22 -- * OAuth Scopes
22 -- * OAuth Scopes
23 , cloudPlatformScope
23 , cloudPlatformScope
24
24
25+ -- * HorizontalPodAutoscaling
26+ , HorizontalPodAutoscaling
27+ , horizontalPodAutoscaling
28+ , hpaDisabled
29+
25 -- * ListOperationsResponse
30 -- * ListOperationsResponse
26 , ListOperationsResponse
31 , ListOperationsResponse
27 , listOperationsResponse
32 , listOperationsResponse
28 , lorOperations
33 , lorOperations
34+ , lorMissingZones
29
35
30 -- * CreateClusterRequest
36 -- * CreateClusterRequest
31 , CreateClusterRequest
37 , CreateClusterRequest
@@ -36,6 +42,7 @@ module Network.Google.Container.Types
36 , Cluster
42 , Cluster
37 , cluster
43 , cluster
38 , cStatus
44 , cStatus
45+ , cNodePools
39 , cNodeConfig
46 , cNodeConfig
40 , cNodeIPv4CIdRSize
47 , cNodeIPv4CIdRSize
41 , cClusterIPv4CIdR
48 , cClusterIPv4CIdR
@@ -44,13 +51,17 @@ module Network.Google.Container.Types
44 , cNetwork
51 , cNetwork
45 , cInitialClusterVersion
52 , cInitialClusterVersion
46 , cZone
53 , cZone
54+ , cAddonsConfig
47 , cServicesIPv4CIdR
55 , cServicesIPv4CIdR
48 , cMasterAuth
56 , cMasterAuth
49 , cSelfLink
57 , cSelfLink
50 , cName
58 , cName
51 , cCurrentMasterVersion
59 , cCurrentMasterVersion
52 , cStatusMessage
60 , cStatusMessage
61+ , cSubnetwork
62+ , cCurrentNodeCount
53 , cEndpoint
63 , cEndpoint
64+ , cLocations
54 , cLoggingService
65 , cLoggingService
55 , cDescription
66 , cDescription
56 , cInstanceGroupURLs
67 , cInstanceGroupURLs
@@ -68,6 +79,12 @@ module Network.Google.Container.Types
68 , ncDiskSizeGb
79 , ncDiskSizeGb
69 , ncOAuthScopes
80 , ncOAuthScopes
70 , ncMachineType
81 , ncMachineType
82+ , ncMetadata
83+
84+ -- * HTTPLoadBalancing
85+ , HTTPLoadBalancing
86+ , hTTPLoadBalancing
87+ , httplbDisabled
71
88
72 -- * Operation
89 -- * Operation
73 , Operation
90 , Operation
@@ -79,6 +96,25 @@ module Network.Google.Container.Types
79 , oStatusMessage
96 , oStatusMessage
80 , oOperationType
97 , oOperationType
81 , oTargetLink
98 , oTargetLink
99+ , oDetail
100+
101+ -- * AddonsConfig
102+ , AddonsConfig
103+ , addonsConfig
104+ , acHorizontalPodAutoscaling
105+ , acHTTPLoadBalancing
106+
107+ -- * NodePool
108+ , NodePool
109+ , nodePool
110+ , npStatus
111+ , npConfig
112+ , npInitialNodeCount
113+ , npSelfLink
114+ , npName
115+ , npStatusMessage
116+ , npVersion
117+ , npInstanceGroupURLs
82
118
83 -- * MasterAuth
119 -- * MasterAuth
84 , MasterAuth
120 , MasterAuth
@@ -89,21 +125,43 @@ module Network.Google.Container.Types
89 , maPassword
125 , maPassword
90 , maClusterCaCertificate
126 , maClusterCaCertificate
91
127
128+ -- * NodeConfigMetadata
129+ , NodeConfigMetadata
130+ , nodeConfigMetadata
131+ , ncmAddtional
132+
92 -- * ServerConfig
133 -- * ServerConfig
93 , ServerConfig
134 , ServerConfig
94 , serverConfig
135 , serverConfig
95 , scValidNodeVersions
136 , scValidNodeVersions
137+ , scDefaultImageFamily
138+ , scValidImageFamilies
96 , scDefaultClusterVersion
139 , scDefaultClusterVersion
97
140
98 -- * ListClustersResponse
141 -- * ListClustersResponse
99 , ListClustersResponse
142 , ListClustersResponse
100 , listClustersResponse
143 , listClustersResponse
101 , lcrClusters
144 , lcrClusters
145+ , lcrMissingZones
102
146
103 -- * ClusterUpdate
147 -- * ClusterUpdate
104 , ClusterUpdate
148 , ClusterUpdate
105 , clusterUpdate
149 , clusterUpdate
150+ , cuDesiredAddonsConfig
151+ , cuDesiredNodePoolId
106 , cuDesiredNodeVersion
152 , cuDesiredNodeVersion
153+ , cuDesiredMasterVersion
154+ , cuDesiredMonitoringService
155+
156+ -- * ListNodePoolsResponse
157+ , ListNodePoolsResponse
158+ , listNodePoolsResponse
159+ , lnprNodePools
160+
161+ -- * CreateNodePoolRequest
162+ , CreateNodePoolRequest
163+ , createNodePoolRequest
164+ , cnprNodePool
107 ) where
165 ) where
108
166
109import Network.Google.Container.Types.Product
167import Network.Google.Container.Types.Product
gogol-container/gen/Network/Google/Container/Types/Product.hs+666−62
@@ -20,11 +20,51 @@ module Network.Google.Container.Types.Product where
20import Network.Google.Container.Types.Sum
20import Network.Google.Container.Types.Sum
21import Network.Google.Prelude
21import Network.Google.Prelude
22
22
23+-- | Configuration options for the horizontal pod autoscaling feature, which
24+-- increases or decreases the number of replica pods a replication
25+-- controller has based on the resource usage of the existing pods.
26+--
27+-- /See:/ 'horizontalPodAutoscaling' smart constructor.
28+newtype HorizontalPodAutoscaling = HorizontalPodAutoscaling'
29+ { _hpaDisabled :: Maybe Bool
30+ } deriving (Eq,Show,Data,Typeable,Generic)
31+
32+-- | Creates a value of 'HorizontalPodAutoscaling' with the minimum fields required to make a request.
33+--
34+-- Use one of the following lenses to modify other fields as desired:
35+--
36+-- * 'hpaDisabled'
37+horizontalPodAutoscaling
38+ :: HorizontalPodAutoscaling
39+horizontalPodAutoscaling =
40+ HorizontalPodAutoscaling'
41+ { _hpaDisabled = Nothing
42+ }
43+
44+-- | Whether the Horizontal Pod Autoscaling feature is enabled in the
45+-- cluster. When enabled, it ensures that a Heapster pod is running in the
46+-- cluster, which is also used by the Cloud Monitoring service.
47+hpaDisabled :: Lens' HorizontalPodAutoscaling (Maybe Bool)
48+hpaDisabled
49+ = lens _hpaDisabled (\ s a -> s{_hpaDisabled = a})
50+
51+instance FromJSON HorizontalPodAutoscaling where
52+ parseJSON
53+ = withObject "HorizontalPodAutoscaling"
54+ (\ o ->
55+ HorizontalPodAutoscaling' <$> (o .:? "disabled"))
56+
57+instance ToJSON HorizontalPodAutoscaling where
58+ toJSON HorizontalPodAutoscaling'{..}
59+ = object
60+ (catMaybes [("disabled" .=) <$> _hpaDisabled])
61+
23-- | ListOperationsResponse is the result of ListOperationsRequest.
62-- | ListOperationsResponse is the result of ListOperationsRequest.
24--
63--
25-- /See:/ 'listOperationsResponse' smart constructor.
64-- /See:/ 'listOperationsResponse' smart constructor.
26−newtype ListOperationsResponse = ListOperationsResponse'
65+data ListOperationsResponse = ListOperationsResponse'
27− { _lorOperations :: Maybe [Operation]
66+ { _lorOperations :: !(Maybe [Operation])
67+ , _lorMissingZones :: !(Maybe [Text])
28 } deriving (Eq,Show,Data,Typeable,Generic)
68 } deriving (Eq,Show,Data,Typeable,Generic)
29
69
30-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
70-- | Creates a value of 'ListOperationsResponse' with the minimum fields required to make a request.
@@ -32,11 +72,14 @@ newtype ListOperationsResponse = ListOperationsResponse'
32-- Use one of the following lenses to modify other fields as desired:
72-- Use one of the following lenses to modify other fields as desired:
33--
73--
34-- * 'lorOperations'
74-- * 'lorOperations'
75+--
76+-- * 'lorMissingZones'
35listOperationsResponse
77listOperationsResponse
36 :: ListOperationsResponse
78 :: ListOperationsResponse
37listOperationsResponse =
79listOperationsResponse =
38 ListOperationsResponse'
80 ListOperationsResponse'
39 { _lorOperations = Nothing
81 { _lorOperations = Nothing
82+ , _lorMissingZones = Nothing
40 }
83 }
41
84
42-- | A list of operations in the project in the specified zone.
85-- | A list of operations in the project in the specified zone.
@@ -47,17 +90,29 @@ lorOperations
47 . _Default
90 . _Default
48 . _Coerce
91 . _Coerce
49
92
93+-- | If any zones are listed here, the list of operations returned may be
94+-- missing the operations from those zones.
95+lorMissingZones :: Lens' ListOperationsResponse [Text]
96+lorMissingZones
97+ = lens _lorMissingZones
98+ (\ s a -> s{_lorMissingZones = a})
99+ . _Default
100+ . _Coerce
101+
50instance FromJSON ListOperationsResponse where
102instance FromJSON ListOperationsResponse where
51 parseJSON
103 parseJSON
52 = withObject "ListOperationsResponse"
104 = withObject "ListOperationsResponse"
53 (\ o ->
105 (\ o ->
54 ListOperationsResponse' <$>
106 ListOperationsResponse' <$>
55− (o .:? "operations" .!= mempty))
107+ (o .:? "operations" .!= mempty) <*>
108+ (o .:? "missingZones" .!= mempty))
56
109
57instance ToJSON ListOperationsResponse where
110instance ToJSON ListOperationsResponse where
58 toJSON ListOperationsResponse'{..}
111 toJSON ListOperationsResponse'{..}
59 = object
112 = object
113+ (catMaybes
60− (catMaybes [("operations" .=) <$> _lorOperations])
114+ [("operations" .=) <$> _lorOperations,
115+ ("missingZones" .=) <$> _lorMissingZones])
61
116
62-- | CreateClusterRequest creates a cluster.
117-- | CreateClusterRequest creates a cluster.
63--
118--
@@ -98,6 +153,7 @@ instance ToJSON CreateClusterRequest where
98-- /See:/ 'cluster' smart constructor.
153-- /See:/ 'cluster' smart constructor.
99data Cluster = Cluster'
154data Cluster = Cluster'
100 { _cStatus :: !(Maybe Text)
155 { _cStatus :: !(Maybe Text)
156+ , _cNodePools :: !(Maybe [NodePool])
101 , _cNodeConfig :: !(Maybe NodeConfig)
157 , _cNodeConfig :: !(Maybe NodeConfig)
102 , _cNodeIPv4CIdRSize :: !(Maybe (Textual Int32))
158 , _cNodeIPv4CIdRSize :: !(Maybe (Textual Int32))
103 , _cClusterIPv4CIdR :: !(Maybe Text)
159 , _cClusterIPv4CIdR :: !(Maybe Text)
@@ -106,13 +162,17 @@ data Cluster = Cluster'
106 , _cNetwork :: !(Maybe Text)
162 , _cNetwork :: !(Maybe Text)
107 , _cInitialClusterVersion :: !(Maybe Text)
163 , _cInitialClusterVersion :: !(Maybe Text)
108 , _cZone :: !(Maybe Text)
164 , _cZone :: !(Maybe Text)
165+ , _cAddonsConfig :: !(Maybe AddonsConfig)
109 , _cServicesIPv4CIdR :: !(Maybe Text)
166 , _cServicesIPv4CIdR :: !(Maybe Text)
110 , _cMasterAuth :: !(Maybe MasterAuth)
167 , _cMasterAuth :: !(Maybe MasterAuth)
111 , _cSelfLink :: !(Maybe Text)
168 , _cSelfLink :: !(Maybe Text)
112 , _cName :: !(Maybe Text)
169 , _cName :: !(Maybe Text)
113 , _cCurrentMasterVersion :: !(Maybe Text)
170 , _cCurrentMasterVersion :: !(Maybe Text)
114 , _cStatusMessage :: !(Maybe Text)
171 , _cStatusMessage :: !(Maybe Text)
172+ , _cSubnetwork :: !(Maybe Text)
173+ , _cCurrentNodeCount :: !(Maybe (Textual Int32))
115 , _cEndpoint :: !(Maybe Text)
174 , _cEndpoint :: !(Maybe Text)
175+ , _cLocations :: !(Maybe [Text])
116 , _cLoggingService :: !(Maybe Text)
176 , _cLoggingService :: !(Maybe Text)
117 , _cDescription :: !(Maybe Text)
177 , _cDescription :: !(Maybe Text)
118 , _cInstanceGroupURLs :: !(Maybe [Text])
178 , _cInstanceGroupURLs :: !(Maybe [Text])
@@ -126,6 +186,8 @@ data Cluster = Cluster'
126--
186--
127-- * 'cStatus'
187-- * 'cStatus'
128--
188--
189+-- * 'cNodePools'
190+--
129-- * 'cNodeConfig'
191-- * 'cNodeConfig'
130--
192--
131-- * 'cNodeIPv4CIdRSize'
193-- * 'cNodeIPv4CIdRSize'
@@ -142,6 +204,8 @@ data Cluster = Cluster'
142--
204--
143-- * 'cZone'
205-- * 'cZone'
144--
206--
207+-- * 'cAddonsConfig'
208+--
145-- * 'cServicesIPv4CIdR'
209-- * 'cServicesIPv4CIdR'
146--
210--
147-- * 'cMasterAuth'
211-- * 'cMasterAuth'
@@ -154,8 +218,14 @@ data Cluster = Cluster'
154--
218--
155-- * 'cStatusMessage'
219-- * 'cStatusMessage'
156--
220--
221+-- * 'cSubnetwork'
222+--
223+-- * 'cCurrentNodeCount'
224+--
157-- * 'cEndpoint'
225-- * 'cEndpoint'
158--
226--
227+-- * 'cLocations'
228+--
159-- * 'cLoggingService'
229-- * 'cLoggingService'
160--
230--
161-- * 'cDescription'
231-- * 'cDescription'
@@ -170,6 +240,7 @@ cluster
170cluster =
240cluster =
171 Cluster'
241 Cluster'
172 { _cStatus = Nothing
242 { _cStatus = Nothing
243+ , _cNodePools = Nothing
173 , _cNodeConfig = Nothing
244 , _cNodeConfig = Nothing
174 , _cNodeIPv4CIdRSize = Nothing
245 , _cNodeIPv4CIdRSize = Nothing
175 , _cClusterIPv4CIdR = Nothing
246 , _cClusterIPv4CIdR = Nothing
@@ -178,13 +249,17 @@ cluster =
178 , _cNetwork = Nothing
249 , _cNetwork = Nothing
179 , _cInitialClusterVersion = Nothing
250 , _cInitialClusterVersion = Nothing
180 , _cZone = Nothing
251 , _cZone = Nothing
252+ , _cAddonsConfig = Nothing
181 , _cServicesIPv4CIdR = Nothing
253 , _cServicesIPv4CIdR = Nothing
182 , _cMasterAuth = Nothing
254 , _cMasterAuth = Nothing
183 , _cSelfLink = Nothing
255 , _cSelfLink = Nothing
184 , _cName = Nothing
256 , _cName = Nothing
185 , _cCurrentMasterVersion = Nothing
257 , _cCurrentMasterVersion = Nothing
186 , _cStatusMessage = Nothing
258 , _cStatusMessage = Nothing
259+ , _cSubnetwork = Nothing
260+ , _cCurrentNodeCount = Nothing
187 , _cEndpoint = Nothing
261 , _cEndpoint = Nothing
262+ , _cLocations = Nothing
188 , _cLoggingService = Nothing
263 , _cLoggingService = Nothing
189 , _cDescription = Nothing
264 , _cDescription = Nothing
190 , _cInstanceGroupURLs = Nothing
265 , _cInstanceGroupURLs = Nothing
@@ -196,15 +271,29 @@ cluster =
196cStatus :: Lens' Cluster (Maybe Text)
271cStatus :: Lens' Cluster (Maybe Text)
197cStatus = lens _cStatus (\ s a -> s{_cStatus = a})
272cStatus = lens _cStatus (\ s a -> s{_cStatus = a})
198
273
274+-- | The node pools associated with this cluster. When creating a new
275+-- cluster, only a single node pool should be specified. This field should
276+-- not be set if \"node_config\" or \"initial_node_count\" are specified.
277+cNodePools :: Lens' Cluster [NodePool]
278+cNodePools
279+ = lens _cNodePools (\ s a -> s{_cNodePools = a}) .
280+ _Default
281+ . _Coerce
282+
199−-- | Parameters used in creating the cluster\'s nodes. See the descriptions
283+-- | Parameters used in creating the cluster\'s nodes. See \`nodeConfig\` for
200−-- of the child properties of \`nodeConfig\`. If unspecified, the defaults
284+-- the description of its properties. For requests, this field should only
201−-- for all child properties are used.
285+-- be used in lieu of a \"node_pool\" object, since this configuration
286+-- (along with the \"initial_node_count\") will be used to create a
287+-- \"NodePool\" object with an auto-generated name. Do not use this and a
288+-- node_pool at the same time. For responses, this field will be populated
289+-- with the node configuration of the first node pool. If unspecified, the
290+-- defaults are used.
202cNodeConfig :: Lens' Cluster (Maybe NodeConfig)
291cNodeConfig :: Lens' Cluster (Maybe NodeConfig)
203cNodeConfig
292cNodeConfig
204 = lens _cNodeConfig (\ s a -> s{_cNodeConfig = a})
293 = lens _cNodeConfig (\ s a -> s{_cNodeConfig = a})
205
294
206-- | [Output only] The size of the address space on each node for hosting
295-- | [Output only] The size of the address space on each node for hosting
207−-- containers. This is provisioned from within the container_ipv4_cidr
296+-- containers. This is provisioned from within the \`container_ipv4_cidr\`
208-- range.
297-- range.
209cNodeIPv4CIdRSize :: Lens' Cluster (Maybe Int32)
298cNodeIPv4CIdRSize :: Lens' Cluster (Maybe Int32)
210cNodeIPv4CIdRSize
299cNodeIPv4CIdRSize
@@ -222,9 +311,12 @@ cClusterIPv4CIdR
222 (\ s a -> s{_cClusterIPv4CIdR = a})
311 (\ s a -> s{_cClusterIPv4CIdR = a})
223
312
224-- | The number of nodes to create in this cluster. You must ensure that your
313-- | The number of nodes to create in this cluster. You must ensure that your
225−-- Compute Engine [resource quota](\/compute\/docs\/resource-quotas) is
314+-- Compute Engine resource quota is sufficient for this number of
226−-- sufficient for this number of instances. You must also have available
315+-- instances. You must also have available firewall and routes quota. For
227−-- firewall and routes quota.
316+-- requests, this field should only be used in lieu of a \"node_pool\"
317+-- object, since this configuration (along with the \"node_config\") will
318+-- be used to create a \"NodePool\" object with an auto-generated name. Do
319+-- not use this and a node_pool at the same time.
228cInitialNodeCount :: Lens' Cluster (Maybe Int32)
320cInitialNodeCount :: Lens' Cluster (Maybe Int32)
229cInitialNodeCount
321cInitialNodeCount
230 = lens _cInitialNodeCount
322 = lens _cInitialNodeCount
@@ -232,20 +324,21 @@ cInitialNodeCount
232 . mapping _Coerce
324 . mapping _Coerce
233
325
234-- | [Output only] The current version of the node software components. If
326-- | [Output only] The current version of the node software components. If
235−-- they are currently at different versions because they\'re in the process
327+-- they are currently at multiple versions because they\'re in the process
236−-- of being upgraded, this reflects the minimum version of any of them.
328+-- of being upgraded, this reflects the minimum version of all nodes.
237cCurrentNodeVersion :: Lens' Cluster (Maybe Text)
329cCurrentNodeVersion :: Lens' Cluster (Maybe Text)
238cCurrentNodeVersion
330cCurrentNodeVersion
239 = lens _cCurrentNodeVersion
331 = lens _cCurrentNodeVersion
240 (\ s a -> s{_cCurrentNodeVersion = a})
332 (\ s a -> s{_cCurrentNodeVersion = a})
241
333
242-- | The name of the Google Compute Engine
334-- | The name of the Google Compute Engine
243−-- [network](\/compute\/docs\/networking#networks_1) to which the cluster
335+-- [network](\/compute\/docs\/networks-and-firewalls#networks) to which the
244−-- is connected. If left unspecified, the \"default\" network will be used.
336+-- cluster is connected. If left unspecified, the \`default\` network will
337+-- be used.
245cNetwork :: Lens' Cluster (Maybe Text)
338cNetwork :: Lens' Cluster (Maybe Text)
246cNetwork = lens _cNetwork (\ s a -> s{_cNetwork = a})
339cNetwork = lens _cNetwork (\ s a -> s{_cNetwork = a})
247
340
248−-- | [Output only] The software version of Kubernetes master and kubelets
341+-- | [Output only] The software version of the master endpoint and kubelets
249-- used in the cluster when it was first created. The version can be
342-- used in the cluster when it was first created. The version can be
250-- upgraded over time.
343-- upgraded over time.
251cInitialClusterVersion :: Lens' Cluster (Maybe Text)
344cInitialClusterVersion :: Lens' Cluster (Maybe Text)
@@ -258,17 +351,23 @@ cInitialClusterVersion
258cZone :: Lens' Cluster (Maybe Text)
351cZone :: Lens' Cluster (Maybe Text)
259cZone = lens _cZone (\ s a -> s{_cZone = a})
352cZone = lens _cZone (\ s a -> s{_cZone = a})
260
353
354+-- | Configurations for the various addons available to run in the cluster.
355+cAddonsConfig :: Lens' Cluster (Maybe AddonsConfig)
356+cAddonsConfig
357+ = lens _cAddonsConfig
358+ (\ s a -> s{_cAddonsConfig = a})
359+
261-- | [Output only] The IP address range of the Kubernetes services in this
360-- | [Output only] The IP address range of the Kubernetes services in this
262-- cluster, in
361-- cluster, in
263-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)
362-- [CIDR](http:\/\/en.wikipedia.org\/wiki\/Classless_Inter-Domain_Routing)
264-- notation (e.g. \`1.2.3.4\/29\`). Service addresses are typically put in
363-- notation (e.g. \`1.2.3.4\/29\`). Service addresses are typically put in
265−-- the last \/16 from the container CIDR.
364+-- the last \`\/16\` from the container CIDR.
266cServicesIPv4CIdR :: Lens' Cluster (Maybe Text)
365cServicesIPv4CIdR :: Lens' Cluster (Maybe Text)
267cServicesIPv4CIdR
366cServicesIPv4CIdR
268 = lens _cServicesIPv4CIdR
367 = lens _cServicesIPv4CIdR
269 (\ s a -> s{_cServicesIPv4CIdR = a})
368 (\ s a -> s{_cServicesIPv4CIdR = a})
270
369
271−-- | The authentication information for accessing the master.
370+-- | The authentication information for accessing the master endpoint.
272cMasterAuth :: Lens' Cluster (Maybe MasterAuth)
371cMasterAuth :: Lens' Cluster (Maybe MasterAuth)
273cMasterAuth
372cMasterAuth
274 = lens _cMasterAuth (\ s a -> s{_cMasterAuth = a})
373 = lens _cMasterAuth (\ s a -> s{_cMasterAuth = a})
@@ -298,18 +397,41 @@ cStatusMessage
298 = lens _cStatusMessage
397 = lens _cStatusMessage
299 (\ s a -> s{_cStatusMessage = a})
398 (\ s a -> s{_cStatusMessage = a})
300
399
400+-- | The name of the Google Compute Engine
401+-- [subnetwork](\/compute\/docs\/subnetworks) to which the cluster is
402+-- connected.
403+cSubnetwork :: Lens' Cluster (Maybe Text)
404+cSubnetwork
405+ = lens _cSubnetwork (\ s a -> s{_cSubnetwork = a})
406+
407+-- | [Output only] The number of nodes currently in the cluster.
408+cCurrentNodeCount :: Lens' Cluster (Maybe Int32)
409+cCurrentNodeCount
410+ = lens _cCurrentNodeCount
411+ (\ s a -> s{_cCurrentNodeCount = a})
412+ . mapping _Coerce
413+
301−-- | [Output only] The IP address of this cluster\'s Kubernetes master
414+-- | [Output only] The IP address of this cluster\'s master endpoint. The
302−-- endpoint. The endpoint can be accessed from the internet at
415+-- endpoint can be accessed from the internet at
303-- \`https:\/\/username:password\'endpoint\/\`. See the \`masterAuth\`
416-- \`https:\/\/username:password\'endpoint\/\`. See the \`masterAuth\`
304-- property of this resource for username and password information.
417-- property of this resource for username and password information.
305cEndpoint :: Lens' Cluster (Maybe Text)
418cEndpoint :: Lens' Cluster (Maybe Text)
306cEndpoint
419cEndpoint
307 = lens _cEndpoint (\ s a -> s{_cEndpoint = a})
420 = lens _cEndpoint (\ s a -> s{_cEndpoint = a})
308
421
422+-- | The list of Google Compute Engine
423+-- [locations](\/compute\/docs\/zones#available) in which the cluster\'s
424+-- nodes should be located.
425+cLocations :: Lens' Cluster [Text]
426+cLocations
427+ = lens _cLocations (\ s a -> s{_cLocations = a}) .
428+ _Default
429+ . _Coerce
430+
309−-- | The logging service that the cluster should write logs to. Currently
431+-- | The logging service the cluster should use to write logs. Currently
310−-- available options: * \"logging.googleapis.com\" - the Google Cloud
432+-- available options: * \`logging.googleapis.com\` - the Google Cloud
311−-- Logging service * \"none\" - no logs will be exported from the cluster *
433+-- Logging service. * \`none\` - no logs will be exported from the cluster.
312−-- \"\" - default value; the default is \"logging.googleapis.com\"
434+-- * if left as an empty string,\`logging.googleapis.com\` will be used.
313cLoggingService :: Lens' Cluster (Maybe Text)
435cLoggingService :: Lens' Cluster (Maybe Text)
314cLoggingService
436cLoggingService
315 = lens _cLoggingService
437 = lens _cLoggingService
@@ -330,11 +452,11 @@ cInstanceGroupURLs
330 . _Default
452 . _Default
331 . _Coerce
453 . _Coerce
332
454
333−-- | The monitoring service that the cluster should write metrics to.
455+-- | The monitoring service the cluster should use to write metrics.
334−-- Currently available options: * \"monitoring.googleapis.com\" - the
456+-- Currently available options: * \`monitoring.googleapis.com\` - the
335−-- Google Cloud Monitoring service * \"none\" - no metrics will be exported
457+-- Google Cloud Monitoring service. * \`none\` - no metrics will be
336−-- from the cluster * \"\" - default value; the default is
458+-- exported from the cluster. * if left as an empty string,
337−-- \"monitoring.googleapis.com\"
459+-- \`monitoring.googleapis.com\` will be used.
338cMonitoringService :: Lens' Cluster (Maybe Text)
460cMonitoringService :: Lens' Cluster (Maybe Text)
339cMonitoringService
461cMonitoringService
340 = lens _cMonitoringService
462 = lens _cMonitoringService
@@ -351,21 +473,26 @@ instance FromJSON Cluster where
351 = withObject "Cluster"
473 = withObject "Cluster"
352 (\ o ->
474 (\ o ->
353 Cluster' <$>
475 Cluster' <$>
476+ (o .:? "status") <*> (o .:? "nodePools" .!= mempty)
354− (o .:? "status") <*> (o .:? "nodeConfig") <*>
477+ <*> (o .:? "nodeConfig")
355− (o .:? "nodeIpv4CidrSize")
478+ <*> (o .:? "nodeIpv4CidrSize")
356 <*> (o .:? "clusterIpv4Cidr")
479 <*> (o .:? "clusterIpv4Cidr")
357 <*> (o .:? "initialNodeCount")
480 <*> (o .:? "initialNodeCount")
358 <*> (o .:? "currentNodeVersion")
481 <*> (o .:? "currentNodeVersion")
359 <*> (o .:? "network")
482 <*> (o .:? "network")
360 <*> (o .:? "initialClusterVersion")
483 <*> (o .:? "initialClusterVersion")
361 <*> (o .:? "zone")
484 <*> (o .:? "zone")
485+ <*> (o .:? "addonsConfig")
362 <*> (o .:? "servicesIpv4Cidr")
486 <*> (o .:? "servicesIpv4Cidr")
363 <*> (o .:? "masterAuth")
487 <*> (o .:? "masterAuth")
364 <*> (o .:? "selfLink")
488 <*> (o .:? "selfLink")
365 <*> (o .:? "name")
489 <*> (o .:? "name")
366 <*> (o .:? "currentMasterVersion")
490 <*> (o .:? "currentMasterVersion")
367 <*> (o .:? "statusMessage")
491 <*> (o .:? "statusMessage")
492+ <*> (o .:? "subnetwork")
493+ <*> (o .:? "currentNodeCount")
368 <*> (o .:? "endpoint")
494 <*> (o .:? "endpoint")
495+ <*> (o .:? "locations" .!= mempty)
369 <*> (o .:? "loggingService")
496 <*> (o .:? "loggingService")
370 <*> (o .:? "description")
497 <*> (o .:? "description")
371 <*> (o .:? "instanceGroupUrls" .!= mempty)
498 <*> (o .:? "instanceGroupUrls" .!= mempty)
@@ -377,6 +504,7 @@ instance ToJSON Cluster where
377 = object
504 = object
378 (catMaybes
505 (catMaybes
379 [("status" .=) <$> _cStatus,
506 [("status" .=) <$> _cStatus,
507+ ("nodePools" .=) <$> _cNodePools,
380 ("nodeConfig" .=) <$> _cNodeConfig,
508 ("nodeConfig" .=) <$> _cNodeConfig,
381 ("nodeIpv4CidrSize" .=) <$> _cNodeIPv4CIdRSize,
509 ("nodeIpv4CidrSize" .=) <$> _cNodeIPv4CIdRSize,
382 ("clusterIpv4Cidr" .=) <$> _cClusterIPv4CIdR,
510 ("clusterIpv4Cidr" .=) <$> _cClusterIPv4CIdR,
@@ -386,6 +514,7 @@ instance ToJSON Cluster where
386 ("initialClusterVersion" .=) <$>
514 ("initialClusterVersion" .=) <$>
387 _cInitialClusterVersion,
515 _cInitialClusterVersion,
388 ("zone" .=) <$> _cZone,
516 ("zone" .=) <$> _cZone,
517+ ("addonsConfig" .=) <$> _cAddonsConfig,
389 ("servicesIpv4Cidr" .=) <$> _cServicesIPv4CIdR,
518 ("servicesIpv4Cidr" .=) <$> _cServicesIPv4CIdR,
390 ("masterAuth" .=) <$> _cMasterAuth,
519 ("masterAuth" .=) <$> _cMasterAuth,
391 ("selfLink" .=) <$> _cSelfLink,
520 ("selfLink" .=) <$> _cSelfLink,
@@ -393,14 +522,17 @@ instance ToJSON Cluster where
393 ("currentMasterVersion" .=) <$>
522 ("currentMasterVersion" .=) <$>
394 _cCurrentMasterVersion,
523 _cCurrentMasterVersion,
395 ("statusMessage" .=) <$> _cStatusMessage,
524 ("statusMessage" .=) <$> _cStatusMessage,
525+ ("subnetwork" .=) <$> _cSubnetwork,
526+ ("currentNodeCount" .=) <$> _cCurrentNodeCount,
396 ("endpoint" .=) <$> _cEndpoint,
527 ("endpoint" .=) <$> _cEndpoint,
528+ ("locations" .=) <$> _cLocations,
397 ("loggingService" .=) <$> _cLoggingService,
529 ("loggingService" .=) <$> _cLoggingService,
398 ("description" .=) <$> _cDescription,
530 ("description" .=) <$> _cDescription,
399 ("instanceGroupUrls" .=) <$> _cInstanceGroupURLs,
531 ("instanceGroupUrls" .=) <$> _cInstanceGroupURLs,
400 ("monitoringService" .=) <$> _cMonitoringService,
532 ("monitoringService" .=) <$> _cMonitoringService,
401 ("createTime" .=) <$> _cCreateTime])
533 ("createTime" .=) <$> _cCreateTime])
402
534
403−-- | UpdateClusterRequest updates a cluster.
535+-- | UpdateClusterRequest updates the settings of a cluster.
404--
536--
405-- /See:/ 'updateClusterRequest' smart constructor.
537-- /See:/ 'updateClusterRequest' smart constructor.
406newtype UpdateClusterRequest = UpdateClusterRequest'
538newtype UpdateClusterRequest = UpdateClusterRequest'
@@ -433,13 +565,14 @@ instance ToJSON UpdateClusterRequest where
433 toJSON UpdateClusterRequest'{..}
565 toJSON UpdateClusterRequest'{..}
434 = object (catMaybes [("update" .=) <$> _ucrUpdate])
566 = object (catMaybes [("update" .=) <$> _ucrUpdate])
435
567
436−-- | Per-node parameters.
568+-- | Parameters that describe the nodes in a cluster.
437--
569--
438-- /See:/ 'nodeConfig' smart constructor.
570-- /See:/ 'nodeConfig' smart constructor.
439data NodeConfig = NodeConfig'
571data NodeConfig = NodeConfig'
440 { _ncDiskSizeGb :: !(Maybe (Textual Int32))
572 { _ncDiskSizeGb :: !(Maybe (Textual Int32))
441 , _ncOAuthScopes :: !(Maybe [Text])
573 , _ncOAuthScopes :: !(Maybe [Text])
442 , _ncMachineType :: !(Maybe Text)
574 , _ncMachineType :: !(Maybe Text)
575+ , _ncMetadata :: !(Maybe NodeConfigMetadata)
443 } deriving (Eq,Show,Data,Typeable,Generic)
576 } deriving (Eq,Show,Data,Typeable,Generic)
444
577
445-- | Creates a value of 'NodeConfig' with the minimum fields required to make a request.
578-- | Creates a value of 'NodeConfig' with the minimum fields required to make a request.
@@ -451,6 +584,8 @@ data NodeConfig = NodeConfig'
451-- * 'ncOAuthScopes'
584-- * 'ncOAuthScopes'
452--
585--
453-- * 'ncMachineType'
586-- * 'ncMachineType'
587+--
588+-- * 'ncMetadata'
454nodeConfig
589nodeConfig
455 :: NodeConfig
590 :: NodeConfig
456nodeConfig =
591nodeConfig =
@@ -458,6 +593,7 @@ nodeConfig =
458 { _ncDiskSizeGb = Nothing
593 { _ncDiskSizeGb = Nothing
459 , _ncOAuthScopes = Nothing
594 , _ncOAuthScopes = Nothing
460 , _ncMachineType = Nothing
595 , _ncMachineType = Nothing
596+ , _ncMetadata = Nothing
461 }
597 }
462
598
463-- | Size of the disk attached to each node, specified in GB. The smallest
599-- | Size of the disk attached to each node, specified in GB. The smallest
@@ -474,7 +610,10 @@ ncDiskSizeGb
474-- \`https:\/\/www.googleapis.com\/auth\/compute\` is required for mounting
610-- \`https:\/\/www.googleapis.com\/auth\/compute\` is required for mounting
475-- persistent storage on your nodes. *
611-- persistent storage on your nodes. *
476-- \`https:\/\/www.googleapis.com\/auth\/devstorage.read_only\` is required
612-- \`https:\/\/www.googleapis.com\/auth\/devstorage.read_only\` is required
613+-- for communicating with **gcr.io** (the [Google Container
477−-- for communicating with *gcr.io*. If unspecified, no scopes are added.
614+-- Registry](\/container-registry\/)). If unspecified, no scopes are added,
615+-- unless Cloud Logging or Cloud Monitoring are enabled, in which case
616+-- their required scopes will be added.
478ncOAuthScopes :: Lens' NodeConfig [Text]
617ncOAuthScopes :: Lens' NodeConfig [Text]
479ncOAuthScopes
618ncOAuthScopes
480 = lens _ncOAuthScopes
619 = lens _ncOAuthScopes
@@ -490,6 +629,20 @@ ncMachineType
490 = lens _ncMachineType
629 = lens _ncMachineType
491 (\ s a -> s{_ncMachineType = a})
630 (\ s a -> s{_ncMachineType = a})
492
631
632+-- | The metadata key\/value pairs assigned to instances in the cluster. Keys
633+-- must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in
634+-- length. These are reflected as part of a URL in the metadata server.
635+-- Additionally, to avoid ambiguity, keys must not conflict with any other
636+-- metadata keys for the project or be one of the four reserved keys:
637+-- \"instance-template\", \"kube-env\", \"startup-script\", and
638+-- \"user-data\" Values are free-form strings, and only have meaning as
639+-- interpreted by the image running in the instance. The only restriction
640+-- placed on them is that each value\'s size must be less than or equal to
641+-- 32 KB. The total size of all keys and values must be less than 512 KB.
642+ncMetadata :: Lens' NodeConfig (Maybe NodeConfigMetadata)
643+ncMetadata
644+ = lens _ncMetadata (\ s a -> s{_ncMetadata = a})
645+
493instance FromJSON NodeConfig where
646instance FromJSON NodeConfig where
494 parseJSON
647 parseJSON
495 = withObject "NodeConfig"
648 = withObject "NodeConfig"
@@ -497,7 +650,8 @@ instance FromJSON NodeConfig where
497 NodeConfig' <$>
650 NodeConfig' <$>
498 (o .:? "diskSizeGb") <*>
651 (o .:? "diskSizeGb") <*>
499 (o .:? "oauthScopes" .!= mempty)
652 (o .:? "oauthScopes" .!= mempty)
500− <*> (o .:? "machineType"))
653+ <*> (o .:? "machineType")
654+ <*> (o .:? "metadata"))
501
655
502instance ToJSON NodeConfig where
656instance ToJSON NodeConfig where
503 toJSON NodeConfig'{..}
657 toJSON NodeConfig'{..}
@@ -505,9 +659,50 @@ instance ToJSON NodeConfig where
505 (catMaybes
659 (catMaybes
506 [("diskSizeGb" .=) <$> _ncDiskSizeGb,
660 [("diskSizeGb" .=) <$> _ncDiskSizeGb,
507 ("oauthScopes" .=) <$> _ncOAuthScopes,
661 ("oauthScopes" .=) <$> _ncOAuthScopes,
508− ("machineType" .=) <$> _ncMachineType])
662+ ("machineType" .=) <$> _ncMachineType,
663+ ("metadata" .=) <$> _ncMetadata])
664+
665+-- | Configuration options for the HTTP (L7) load balancing controller addon,
666+-- which makes it easy to set up HTTP load balancers for services in a
667+-- cluster.
668+--
669+-- /See:/ 'hTTPLoadBalancing' smart constructor.
670+newtype HTTPLoadBalancing = HTTPLoadBalancing'
671+ { _httplbDisabled :: Maybe Bool
672+ } deriving (Eq,Show,Data,Typeable,Generic)
509
673
674+-- | Creates a value of 'HTTPLoadBalancing' with the minimum fields required to make a request.
675+--
676+-- Use one of the following lenses to modify other fields as desired:
677+--
678+-- * 'httplbDisabled'
679+hTTPLoadBalancing
680+ :: HTTPLoadBalancing
681+hTTPLoadBalancing =
682+ HTTPLoadBalancing'
683+ { _httplbDisabled = Nothing
684+ }
685+
686+-- | Whether the HTTP Load Balancing controller is enabled in the cluster.
687+-- When enabled, it runs a small pod in the cluster that manages the load
688+-- balancers.
689+httplbDisabled :: Lens' HTTPLoadBalancing (Maybe Bool)
690+httplbDisabled
691+ = lens _httplbDisabled
692+ (\ s a -> s{_httplbDisabled = a})
693+
694+instance FromJSON HTTPLoadBalancing where
695+ parseJSON
696+ = withObject "HTTPLoadBalancing"
697+ (\ o -> HTTPLoadBalancing' <$> (o .:? "disabled"))
698+
699+instance ToJSON HTTPLoadBalancing where
700+ toJSON HTTPLoadBalancing'{..}
701+ = object
702+ (catMaybes [("disabled" .=) <$> _httplbDisabled])
703+
704+-- | This operation resource represents operations that may have happened or
510−-- | Defines the operation resource. All fields are output only.
705+-- are happening on the cluster. All fields are output only.
511--
706--
512-- /See:/ 'operation' smart constructor.
707-- /See:/ 'operation' smart constructor.
513data Operation = Operation'
708data Operation = Operation'
@@ -518,6 +713,7 @@ data Operation = Operation'
518 , _oStatusMessage :: !(Maybe Text)
713 , _oStatusMessage :: !(Maybe Text)
519 , _oOperationType :: !(Maybe Text)
714 , _oOperationType :: !(Maybe Text)
520 , _oTargetLink :: !(Maybe Text)
715 , _oTargetLink :: !(Maybe Text)
716+ , _oDetail :: !(Maybe Text)
521 } deriving (Eq,Show,Data,Typeable,Generic)
717 } deriving (Eq,Show,Data,Typeable,Generic)
522
718
523-- | Creates a value of 'Operation' with the minimum fields required to make a request.
719-- | Creates a value of 'Operation' with the minimum fields required to make a request.
@@ -537,6 +733,8 @@ data Operation = Operation'
537-- * 'oOperationType'
733-- * 'oOperationType'
538--
734--
539-- * 'oTargetLink'
735-- * 'oTargetLink'
736+--
737+-- * 'oDetail'
540operation
738operation
541 :: Operation
739 :: Operation
542operation =
740operation =
@@ -548,6 +746,7 @@ operation =
548 , _oStatusMessage = Nothing
746 , _oStatusMessage = Nothing
549 , _oOperationType = Nothing
747 , _oOperationType = Nothing
550 , _oTargetLink = Nothing
748 , _oTargetLink = Nothing
749+ , _oDetail = Nothing
551 }
750 }
552
751
553-- | The current status of the operation.
752-- | The current status of the operation.
@@ -586,6 +785,10 @@ oTargetLink :: Lens' Operation (Maybe Text)
586oTargetLink
785oTargetLink
587 = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
786 = lens _oTargetLink (\ s a -> s{_oTargetLink = a})
588
787
788+-- | Detailed operation progress, if available.
789+oDetail :: Lens' Operation (Maybe Text)
790+oDetail = lens _oDetail (\ s a -> s{_oDetail = a})
791+
589instance FromJSON Operation where
792instance FromJSON Operation where
590 parseJSON
793 parseJSON
591 = withObject "Operation"
794 = withObject "Operation"
@@ -596,7 +799,8 @@ instance FromJSON Operation where
596 <*> (o .:? "name")
799 <*> (o .:? "name")
597 <*> (o .:? "statusMessage")
800 <*> (o .:? "statusMessage")
598 <*> (o .:? "operationType")
801 <*> (o .:? "operationType")
599− <*> (o .:? "targetLink"))
802+ <*> (o .:? "targetLink")
803+ <*> (o .:? "detail"))
600
804
601instance ToJSON Operation where
805instance ToJSON Operation where
602 toJSON Operation'{..}
806 toJSON Operation'{..}
@@ -607,7 +811,189 @@ instance ToJSON Operation where
607 ("name" .=) <$> _oName,
811 ("name" .=) <$> _oName,
608 ("statusMessage" .=) <$> _oStatusMessage,
812 ("statusMessage" .=) <$> _oStatusMessage,
609 ("operationType" .=) <$> _oOperationType,
813 ("operationType" .=) <$> _oOperationType,
610− ("targetLink" .=) <$> _oTargetLink])
814+ ("targetLink" .=) <$> _oTargetLink,
815+ ("detail" .=) <$> _oDetail])
816+
817+-- | Configuration for the addons that can be automatically spun up in the
818+-- cluster, enabling additional functionality.
819+--
820+-- /See:/ 'addonsConfig' smart constructor.
821+data AddonsConfig = AddonsConfig'
822+ { _acHorizontalPodAutoscaling :: !(Maybe HorizontalPodAutoscaling)
823+ , _acHTTPLoadBalancing :: !(Maybe HTTPLoadBalancing)
824+ } deriving (Eq,Show,Data,Typeable,Generic)
825+
826+-- | Creates a value of 'AddonsConfig' with the minimum fields required to make a request.
827+--
828+-- Use one of the following lenses to modify other fields as desired:
829+--
830+-- * 'acHorizontalPodAutoscaling'
831+--
832+-- * 'acHTTPLoadBalancing'
833+addonsConfig
834+ :: AddonsConfig
835+addonsConfig =
836+ AddonsConfig'
837+ { _acHorizontalPodAutoscaling = Nothing
838+ , _acHTTPLoadBalancing = Nothing
839+ }
840+
841+-- | Configuration for the horizontal pod autoscaling feature, which
842+-- increases or decreases the number of replica pods a replication
843+-- controller has based on the resource usage of the existing pods.
844+acHorizontalPodAutoscaling :: Lens' AddonsConfig (Maybe HorizontalPodAutoscaling)
845+acHorizontalPodAutoscaling
846+ = lens _acHorizontalPodAutoscaling
847+ (\ s a -> s{_acHorizontalPodAutoscaling = a})
848+
849+-- | Configuration for the HTTP (L7) load balancing controller addon, which
850+-- makes it easy to set up HTTP load balancers for services in a cluster.
851+acHTTPLoadBalancing :: Lens' AddonsConfig (Maybe HTTPLoadBalancing)
852+acHTTPLoadBalancing
853+ = lens _acHTTPLoadBalancing
854+ (\ s a -> s{_acHTTPLoadBalancing = a})
855+
856+instance FromJSON AddonsConfig where
857+ parseJSON
858+ = withObject "AddonsConfig"
859+ (\ o ->
860+ AddonsConfig' <$>
861+ (o .:? "horizontalPodAutoscaling") <*>
862+ (o .:? "httpLoadBalancing"))
863+
864+instance ToJSON AddonsConfig where
865+ toJSON AddonsConfig'{..}
866+ = object
867+ (catMaybes
868+ [("horizontalPodAutoscaling" .=) <$>
869+ _acHorizontalPodAutoscaling,
870+ ("httpLoadBalancing" .=) <$> _acHTTPLoadBalancing])
871+
872+-- | NodePool contains the name and configuration for a cluster\'s node pool.
873+-- Node pools are a set of nodes (i.e. VM\'s), with a common configuration
874+-- and specification, under the control of the cluster master. They may
875+-- have a set of Kubernetes labels applied to them, which may be used to
876+-- reference them during pod scheduling. They may also be resized up or
877+-- down, to accommodate the workload.
878+--
879+-- /See:/ 'nodePool' smart constructor.
880+data NodePool = NodePool'
881+ { _npStatus :: !(Maybe Text)
882+ , _npConfig :: !(Maybe NodeConfig)
883+ , _npInitialNodeCount :: !(Maybe (Textual Int32))
884+ , _npSelfLink :: !(Maybe Text)
885+ , _npName :: !(Maybe Text)
886+ , _npStatusMessage :: !(Maybe Text)
887+ , _npVersion :: !(Maybe Text)
888+ , _npInstanceGroupURLs :: !(Maybe [Text])
889+ } deriving (Eq,Show,Data,Typeable,Generic)
890+
891+-- | Creates a value of 'NodePool' with the minimum fields required to make a request.
892+--
893+-- Use one of the following lenses to modify other fields as desired:
894+--
895+-- * 'npStatus'
896+--
897+-- * 'npConfig'
898+--
899+-- * 'npInitialNodeCount'
900+--
901+-- * 'npSelfLink'
902+--
903+-- * 'npName'
904+--
905+-- * 'npStatusMessage'
906+--
907+-- * 'npVersion'
908+--
909+-- * 'npInstanceGroupURLs'
910+nodePool
911+ :: NodePool
912+nodePool =
913+ NodePool'
914+ { _npStatus = Nothing
915+ , _npConfig = Nothing
916+ , _npInitialNodeCount = Nothing
917+ , _npSelfLink = Nothing
918+ , _npName = Nothing
919+ , _npStatusMessage = Nothing
920+ , _npVersion = Nothing
921+ , _npInstanceGroupURLs = Nothing
922+ }
923+
924+-- | The status of the nodes in this pool instance.
925+npStatus :: Lens' NodePool (Maybe Text)
926+npStatus = lens _npStatus (\ s a -> s{_npStatus = a})
927+
928+-- | The node configuration of the pool.
929+npConfig :: Lens' NodePool (Maybe NodeConfig)
930+npConfig = lens _npConfig (\ s a -> s{_npConfig = a})
931+
932+-- | The initial node count for the pool. You must ensure that your Compute
933+-- Engine resource quota is sufficient for this number of instances. You
934+-- must also have available firewall and routes quota.
935+npInitialNodeCount :: Lens' NodePool (Maybe Int32)
936+npInitialNodeCount
937+ = lens _npInitialNodeCount
938+ (\ s a -> s{_npInitialNodeCount = a})
939+ . mapping _Coerce
940+
941+-- | Server-defined URL for the resource.
942+npSelfLink :: Lens' NodePool (Maybe Text)
943+npSelfLink
944+ = lens _npSelfLink (\ s a -> s{_npSelfLink = a})
945+
946+-- | The name of the node pool.
947+npName :: Lens' NodePool (Maybe Text)
948+npName = lens _npName (\ s a -> s{_npName = a})
949+
950+-- | [Output only] Additional information about the current status of this
951+-- node pool instance, if available.
952+npStatusMessage :: Lens' NodePool (Maybe Text)
953+npStatusMessage
954+ = lens _npStatusMessage
955+ (\ s a -> s{_npStatusMessage = a})
956+
957+-- | The version of the Kubernetes of this node.
958+npVersion :: Lens' NodePool (Maybe Text)
959+npVersion
960+ = lens _npVersion (\ s a -> s{_npVersion = a})
961+
962+-- | [Output only] The resource URLs of [instance
963+-- groups](\/compute\/docs\/instance-groups\/) associated with this node
964+-- pool.
965+npInstanceGroupURLs :: Lens' NodePool [Text]
966+npInstanceGroupURLs
967+ = lens _npInstanceGroupURLs
968+ (\ s a -> s{_npInstanceGroupURLs = a})
969+ . _Default
970+ . _Coerce
971+
972+instance FromJSON NodePool where
973+ parseJSON
974+ = withObject "NodePool"
975+ (\ o ->
976+ NodePool' <$>
977+ (o .:? "status") <*> (o .:? "config") <*>
978+ (o .:? "initialNodeCount")
979+ <*> (o .:? "selfLink")
980+ <*> (o .:? "name")
981+ <*> (o .:? "statusMessage")
982+ <*> (o .:? "version")
983+ <*> (o .:? "instanceGroupUrls" .!= mempty))
984+
985+instance ToJSON NodePool where
986+ toJSON NodePool'{..}
987+ = object
988+ (catMaybes
989+ [("status" .=) <$> _npStatus,
990+ ("config" .=) <$> _npConfig,
991+ ("initialNodeCount" .=) <$> _npInitialNodeCount,
992+ ("selfLink" .=) <$> _npSelfLink,
993+ ("name" .=) <$> _npName,
994+ ("statusMessage" .=) <$> _npStatusMessage,
995+ ("version" .=) <$> _npVersion,
996+ ("instanceGroupUrls" .=) <$> _npInstanceGroupURLs])
611
997
612-- | The authentication information for accessing the master endpoint.
998-- | The authentication information for accessing the master endpoint.
613-- Authentication can be done using HTTP basic auth or using client
999-- Authentication can be done using HTTP basic auth or using client
@@ -646,33 +1032,33 @@ masterAuth =
646 , _maClusterCaCertificate = Nothing
1032 , _maClusterCaCertificate = Nothing
647 }
1033 }
648
1034
649−-- | [Output only] Base64 encoded private key used by clients to authenticate
1035+-- | [Output only] Base64-encoded private key used by clients to authenticate
650-- to the cluster endpoint.
1036-- to the cluster endpoint.
651maClientKey :: Lens' MasterAuth (Maybe Text)
1037maClientKey :: Lens' MasterAuth (Maybe Text)
652maClientKey
1038maClientKey
653 = lens _maClientKey (\ s a -> s{_maClientKey = a})
1039 = lens _maClientKey (\ s a -> s{_maClientKey = a})
654
1040
655−-- | The username to use for HTTP basic authentication when accessing the
1041+-- | The username to use for HTTP basic authentication to the master
656−-- Kubernetes master endpoint.
1042+-- endpoint.
657maUsername :: Lens' MasterAuth (Maybe Text)
1043maUsername :: Lens' MasterAuth (Maybe Text)
658maUsername
1044maUsername
659 = lens _maUsername (\ s a -> s{_maUsername = a})
1045 = lens _maUsername (\ s a -> s{_maUsername = a})
660
1046
661−-- | [Output only] Base64 encoded public certificate used by clients to
1047+-- | [Output only] Base64-encoded public certificate used by clients to
662-- authenticate to the cluster endpoint.
1048-- authenticate to the cluster endpoint.
663maClientCertificate :: Lens' MasterAuth (Maybe Text)
1049maClientCertificate :: Lens' MasterAuth (Maybe Text)
664maClientCertificate
1050maClientCertificate
665 = lens _maClientCertificate
1051 = lens _maClientCertificate
666 (\ s a -> s{_maClientCertificate = a})
1052 (\ s a -> s{_maClientCertificate = a})
667
1053
668−-- | The password to use for HTTP basic authentication when accessing the
1054+-- | The password to use for HTTP basic authentication to the master
669−-- Kubernetes master endpoint. Because the master endpoint is open to the
1055+-- endpoint. Because the master endpoint is open to the Internet, you
670−-- internet, you should create a strong password.
1056+-- should create a strong password.
671maPassword :: Lens' MasterAuth (Maybe Text)
1057maPassword :: Lens' MasterAuth (Maybe Text)
672maPassword
1058maPassword
673 = lens _maPassword (\ s a -> s{_maPassword = a})
1059 = lens _maPassword (\ s a -> s{_maPassword = a})
674
1060
675−-- | [Output only] Base64 encoded public certificate that is the root of
1061+-- | [Output only] Base64-encoded public certificate that is the root of
676-- trust for the cluster.
1062-- trust for the cluster.
677maClusterCaCertificate :: Lens' MasterAuth (Maybe Text)
1063maClusterCaCertificate :: Lens' MasterAuth (Maybe Text)
678maClusterCaCertificate
1064maClusterCaCertificate
@@ -700,11 +1086,55 @@ instance ToJSON MasterAuth where
700 ("clusterCaCertificate" .=) <$>
1086 ("clusterCaCertificate" .=) <$>
701 _maClusterCaCertificate])
1087 _maClusterCaCertificate])
702
1088
1089+-- | The metadata key\/value pairs assigned to instances in the cluster. Keys
1090+-- must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in
1091+-- length. These are reflected as part of a URL in the metadata server.
1092+-- Additionally, to avoid ambiguity, keys must not conflict with any other
1093+-- metadata keys for the project or be one of the four reserved keys:
1094+-- \"instance-template\", \"kube-env\", \"startup-script\", and
1095+-- \"user-data\" Values are free-form strings, and only have meaning as
1096+-- interpreted by the image running in the instance. The only restriction
1097+-- placed on them is that each value\'s size must be less than or equal to
1098+-- 32 KB. The total size of all keys and values must be less than 512 KB.
1099+--
1100+-- /See:/ 'nodeConfigMetadata' smart constructor.
1101+newtype NodeConfigMetadata = NodeConfigMetadata'
1102+ { _ncmAddtional :: HashMap Text Text
1103+ } deriving (Eq,Show,Data,Typeable,Generic)
1104+
1105+-- | Creates a value of 'NodeConfigMetadata' with the minimum fields required to make a request.
1106+--
1107+-- Use one of the following lenses to modify other fields as desired:
1108+--
1109+-- * 'ncmAddtional'
1110+nodeConfigMetadata
1111+ :: HashMap Text Text -- ^ 'ncmAddtional'
1112+ -> NodeConfigMetadata
1113+nodeConfigMetadata pNcmAddtional_ =
1114+ NodeConfigMetadata'
1115+ { _ncmAddtional = _Coerce # pNcmAddtional_
1116+ }
1117+
1118+ncmAddtional :: Lens' NodeConfigMetadata (HashMap Text Text)
1119+ncmAddtional
1120+ = lens _ncmAddtional (\ s a -> s{_ncmAddtional = a})
1121+ . _Coerce
1122+
1123+instance FromJSON NodeConfigMetadata where
1124+ parseJSON
1125+ = withObject "NodeConfigMetadata"
1126+ (\ o -> NodeConfigMetadata' <$> (parseJSONObject o))
1127+
1128+instance ToJSON NodeConfigMetadata where
1129+ toJSON = toJSON . _ncmAddtional
1130+
703−-- | Container Engine Server configuration.
1131+-- | Container Engine service configuration.
704--
1132--
705-- /See:/ 'serverConfig' smart constructor.
1133-- /See:/ 'serverConfig' smart constructor.
706data ServerConfig = ServerConfig'
1134data ServerConfig = ServerConfig'
707 { _scValidNodeVersions :: !(Maybe [Text])
1135 { _scValidNodeVersions :: !(Maybe [Text])
1136+ , _scDefaultImageFamily :: !(Maybe Text)
1137+ , _scValidImageFamilies :: !(Maybe [Text])
708 , _scDefaultClusterVersion :: !(Maybe Text)
1138 , _scDefaultClusterVersion :: !(Maybe Text)
709 } deriving (Eq,Show,Data,Typeable,Generic)
1139 } deriving (Eq,Show,Data,Typeable,Generic)
710
1140
@@ -714,12 +1144,18 @@ data ServerConfig = ServerConfig'
714--
1144--
715-- * 'scValidNodeVersions'
1145-- * 'scValidNodeVersions'
716--
1146--
1147+-- * 'scDefaultImageFamily'
1148+--
1149+-- * 'scValidImageFamilies'
1150+--
717-- * 'scDefaultClusterVersion'
1151-- * 'scDefaultClusterVersion'
718serverConfig
1152serverConfig
719 :: ServerConfig
1153 :: ServerConfig
720serverConfig =
1154serverConfig =
721 ServerConfig'
1155 ServerConfig'
722 { _scValidNodeVersions = Nothing
1156 { _scValidNodeVersions = Nothing
1157+ , _scDefaultImageFamily = Nothing
1158+ , _scValidImageFamilies = Nothing
723 , _scDefaultClusterVersion = Nothing
1159 , _scDefaultClusterVersion = Nothing
724 }
1160 }
725
1161
@@ -731,7 +1167,21 @@ scValidNodeVersions
731 . _Default
1167 . _Default
732 . _Coerce
1168 . _Coerce
733
1169
734−-- | What version this server deploys by default.
1170+-- | Default image family.
1171+scDefaultImageFamily :: Lens' ServerConfig (Maybe Text)
1172+scDefaultImageFamily
1173+ = lens _scDefaultImageFamily
1174+ (\ s a -> s{_scDefaultImageFamily = a})
1175+
1176+-- | List of valid image families.
1177+scValidImageFamilies :: Lens' ServerConfig [Text]
1178+scValidImageFamilies
1179+ = lens _scValidImageFamilies
1180+ (\ s a -> s{_scValidImageFamilies = a})
1181+ . _Default
1182+ . _Coerce
1183+
1184+-- | Version of Kubernetes the service deploys by default.
735scDefaultClusterVersion :: Lens' ServerConfig (Maybe Text)
1185scDefaultClusterVersion :: Lens' ServerConfig (Maybe Text)
736scDefaultClusterVersion
1186scDefaultClusterVersion
737 = lens _scDefaultClusterVersion
1187 = lens _scDefaultClusterVersion
@@ -743,21 +1193,26 @@ instance FromJSON ServerConfig where
743 (\ o ->
1193 (\ o ->
744 ServerConfig' <$>
1194 ServerConfig' <$>
745 (o .:? "validNodeVersions" .!= mempty) <*>
1195 (o .:? "validNodeVersions" .!= mempty) <*>
1196+ (o .:? "defaultImageFamily")
1197+ <*> (o .:? "validImageFamilies" .!= mempty)
746− (o .:? "defaultClusterVersion"))
1198+ <*> (o .:? "defaultClusterVersion"))
747
1199
748instance ToJSON ServerConfig where
1200instance ToJSON ServerConfig where
749 toJSON ServerConfig'{..}
1201 toJSON ServerConfig'{..}
750 = object
1202 = object
751 (catMaybes
1203 (catMaybes
752 [("validNodeVersions" .=) <$> _scValidNodeVersions,
1204 [("validNodeVersions" .=) <$> _scValidNodeVersions,
1205+ ("defaultImageFamily" .=) <$> _scDefaultImageFamily,
1206+ ("validImageFamilies" .=) <$> _scValidImageFamilies,
753 ("defaultClusterVersion" .=) <$>
1207 ("defaultClusterVersion" .=) <$>
754 _scDefaultClusterVersion])
1208 _scDefaultClusterVersion])
755
1209
756-- | ListClustersResponse is the result of ListClustersRequest.
1210-- | ListClustersResponse is the result of ListClustersRequest.
757--
1211--
758-- /See:/ 'listClustersResponse' smart constructor.
1212-- /See:/ 'listClustersResponse' smart constructor.
759−newtype ListClustersResponse = ListClustersResponse'
1213+data ListClustersResponse = ListClustersResponse'
760− { _lcrClusters :: Maybe [Cluster]
1214+ { _lcrClusters :: !(Maybe [Cluster])
1215+ , _lcrMissingZones :: !(Maybe [Text])
761 } deriving (Eq,Show,Data,Typeable,Generic)
1216 } deriving (Eq,Show,Data,Typeable,Generic)
762
1217
763-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.
1218-- | Creates a value of 'ListClustersResponse' with the minimum fields required to make a request.
@@ -765,11 +1220,14 @@ newtype ListClustersResponse = ListClustersResponse'
765-- Use one of the following lenses to modify other fields as desired:
1220-- Use one of the following lenses to modify other fields as desired:
766--
1221--
767-- * 'lcrClusters'
1222-- * 'lcrClusters'
1223+--
1224+-- * 'lcrMissingZones'
768listClustersResponse
1225listClustersResponse
769 :: ListClustersResponse
1226 :: ListClustersResponse
770listClustersResponse =
1227listClustersResponse =
771 ListClustersResponse'
1228 ListClustersResponse'
772 { _lcrClusters = Nothing
1229 { _lcrClusters = Nothing
1230+ , _lcrMissingZones = Nothing
773 }
1231 }
774
1232
775-- | A list of clusters in the project in the specified zone, or across all
1233-- | A list of clusters in the project in the specified zone, or across all
@@ -780,53 +1238,199 @@ lcrClusters
780 _Default
1238 _Default
781 . _Coerce
1239 . _Coerce
782
1240
1241+-- | If any zones are listed here, the list of clusters returned may be
1242+-- missing those zones.
1243+lcrMissingZones :: Lens' ListClustersResponse [Text]
1244+lcrMissingZones
1245+ = lens _lcrMissingZones
1246+ (\ s a -> s{_lcrMissingZones = a})
1247+ . _Default
1248+ . _Coerce
1249+
783instance FromJSON ListClustersResponse where
1250instance FromJSON ListClustersResponse where
784 parseJSON
1251 parseJSON
785 = withObject "ListClustersResponse"
1252 = withObject "ListClustersResponse"
786 (\ o ->
1253 (\ o ->
787 ListClustersResponse' <$>
1254 ListClustersResponse' <$>
788− (o .:? "clusters" .!= mempty))
1255+ (o .:? "clusters" .!= mempty) <*>
1256+ (o .:? "missingZones" .!= mempty))
789
1257
790instance ToJSON ListClustersResponse where
1258instance ToJSON ListClustersResponse where
791 toJSON ListClustersResponse'{..}
1259 toJSON ListClustersResponse'{..}
792 = object
1260 = object
1261+ (catMaybes
793− (catMaybes [("clusters" .=) <$> _lcrClusters])
1262+ [("clusters" .=) <$> _lcrClusters,
1263+ ("missingZones" .=) <$> _lcrMissingZones])
794
1264
795−-- | ClusterUpdate describes an update to the cluster.
1265+-- | ClusterUpdate describes an update to the cluster. Exactly one update can
1266+-- be applied to a cluster with each request, so at most one field can be
1267+-- provided.
796--
1268--
797-- /See:/ 'clusterUpdate' smart constructor.
1269-- /See:/ 'clusterUpdate' smart constructor.
798−newtype ClusterUpdate = ClusterUpdate'
1270+data ClusterUpdate = ClusterUpdate'
1271+ { _cuDesiredAddonsConfig :: !(Maybe AddonsConfig)
1272+ , _cuDesiredNodePoolId :: !(Maybe Text)
799− { _cuDesiredNodeVersion :: Maybe Text
1273+ , _cuDesiredNodeVersion :: !(Maybe Text)
1274+ , _cuDesiredMasterVersion :: !(Maybe Text)
1275+ , _cuDesiredMonitoringService :: !(Maybe Text)
800 } deriving (Eq,Show,Data,Typeable,Generic)
1276 } deriving (Eq,Show,Data,Typeable,Generic)
801
1277
802-- | Creates a value of 'ClusterUpdate' with the minimum fields required to make a request.
1278-- | Creates a value of 'ClusterUpdate' with the minimum fields required to make a request.
803--
1279--
804-- Use one of the following lenses to modify other fields as desired:
1280-- Use one of the following lenses to modify other fields as desired:
805--
1281--
1282+-- * 'cuDesiredAddonsConfig'
1283+--
1284+-- * 'cuDesiredNodePoolId'
1285+--
806-- * 'cuDesiredNodeVersion'
1286-- * 'cuDesiredNodeVersion'
1287+--
1288+-- * 'cuDesiredMasterVersion'
1289+--
1290+-- * 'cuDesiredMonitoringService'
807clusterUpdate
1291clusterUpdate
808 :: ClusterUpdate
1292 :: ClusterUpdate
809clusterUpdate =
1293clusterUpdate =
810 ClusterUpdate'
1294 ClusterUpdate'
1295+ { _cuDesiredAddonsConfig = Nothing
1296+ , _cuDesiredNodePoolId = Nothing
811− { _cuDesiredNodeVersion = Nothing
1297+ , _cuDesiredNodeVersion = Nothing
1298+ , _cuDesiredMasterVersion = Nothing
1299+ , _cuDesiredMonitoringService = Nothing
812 }
1300 }
813
1301
1302+-- | Configurations for the various addons available to run in the cluster.
1303+cuDesiredAddonsConfig :: Lens' ClusterUpdate (Maybe AddonsConfig)
1304+cuDesiredAddonsConfig
1305+ = lens _cuDesiredAddonsConfig
1306+ (\ s a -> s{_cuDesiredAddonsConfig = a})
1307+
1308+-- | The node pool to be upgraded. This field is mandatory if the
1309+-- \"desired_node_version\" or \"desired_image_family\" is specified and
1310+-- there is more than one node pool on the cluster.
1311+cuDesiredNodePoolId :: Lens' ClusterUpdate (Maybe Text)
1312+cuDesiredNodePoolId
1313+ = lens _cuDesiredNodePoolId
1314+ (\ s a -> s{_cuDesiredNodePoolId = a})
1315+
814-- | The Kubernetes version to change the nodes to (typically an upgrade).
1316-- | The Kubernetes version to change the nodes to (typically an upgrade).
815−-- Use \"-\" to upgrade to the latest version supported by the server.
1317+-- Use \`-\` to upgrade to the latest version supported by the server.
816cuDesiredNodeVersion :: Lens' ClusterUpdate (Maybe Text)
1318cuDesiredNodeVersion :: Lens' ClusterUpdate (Maybe Text)
817cuDesiredNodeVersion
1319cuDesiredNodeVersion
818 = lens _cuDesiredNodeVersion
1320 = lens _cuDesiredNodeVersion
819 (\ s a -> s{_cuDesiredNodeVersion = a})
1321 (\ s a -> s{_cuDesiredNodeVersion = a})
820
1322
1323+-- | The Kubernetes version to change the master to. The only valid value is
1324+-- the latest supported version. Use \"-\" to have the server automatically
1325+-- select the latest version.
1326+cuDesiredMasterVersion :: Lens' ClusterUpdate (Maybe Text)
1327+cuDesiredMasterVersion
1328+ = lens _cuDesiredMasterVersion
1329+ (\ s a -> s{_cuDesiredMasterVersion = a})
1330+
1331+-- | The monitoring service the cluster should use to write metrics.
1332+-- Currently available options: * \"monitoring.googleapis.com\" - the
1333+-- Google Cloud Monitoring service * \"none\" - no metrics will be exported
1334+-- from the cluster
1335+cuDesiredMonitoringService :: Lens' ClusterUpdate (Maybe Text)
1336+cuDesiredMonitoringService
1337+ = lens _cuDesiredMonitoringService
1338+ (\ s a -> s{_cuDesiredMonitoringService = a})
1339+
821instance FromJSON ClusterUpdate where
1340instance FromJSON ClusterUpdate where
822 parseJSON
1341 parseJSON
823 = withObject "ClusterUpdate"
1342 = withObject "ClusterUpdate"
824 (\ o ->
1343 (\ o ->
1344+ ClusterUpdate' <$>
1345+ (o .:? "desiredAddonsConfig") <*>
1346+ (o .:? "desiredNodePoolId")
825− ClusterUpdate' <$> (o .:? "desiredNodeVersion"))
1347+ <*> (o .:? "desiredNodeVersion")
1348+ <*> (o .:? "desiredMasterVersion")
1349+ <*> (o .:? "desiredMonitoringService"))
826
1350
827instance ToJSON ClusterUpdate where
1351instance ToJSON ClusterUpdate where
828 toJSON ClusterUpdate'{..}
1352 toJSON ClusterUpdate'{..}
829 = object
1353 = object
830 (catMaybes
1354 (catMaybes
831− [("desiredNodeVersion" .=) <$>
1355+ [("desiredAddonsConfig" .=) <$>
1356+ _cuDesiredAddonsConfig,
1357+ ("desiredNodePoolId" .=) <$> _cuDesiredNodePoolId,
832− _cuDesiredNodeVersion])
1358+ ("desiredNodeVersion" .=) <$> _cuDesiredNodeVersion,
1359+ ("desiredMasterVersion" .=) <$>
1360+ _cuDesiredMasterVersion,
1361+ ("desiredMonitoringService" .=) <$>
1362+ _cuDesiredMonitoringService])
1363+
1364+-- | ListNodePoolsResponse is the result of ListNodePoolsRequest.
1365+--
1366+-- /See:/ 'listNodePoolsResponse' smart constructor.
1367+newtype ListNodePoolsResponse = ListNodePoolsResponse'
1368+ { _lnprNodePools :: Maybe [NodePool]
1369+ } deriving (Eq,Show,Data,Typeable,Generic)
1370+
1371+-- | Creates a value of 'ListNodePoolsResponse' with the minimum fields required to make a request.
1372+--
1373+-- Use one of the following lenses to modify other fields as desired:
1374+--
1375+-- * 'lnprNodePools'
1376+listNodePoolsResponse
1377+ :: ListNodePoolsResponse
1378+listNodePoolsResponse =
1379+ ListNodePoolsResponse'
1380+ { _lnprNodePools = Nothing
1381+ }
1382+
1383+-- | A list of node pools for a cluster.
1384+lnprNodePools :: Lens' ListNodePoolsResponse [NodePool]
1385+lnprNodePools
1386+ = lens _lnprNodePools
1387+ (\ s a -> s{_lnprNodePools = a})
1388+ . _Default
1389+ . _Coerce
1390+
1391+instance FromJSON ListNodePoolsResponse where
1392+ parseJSON
1393+ = withObject "ListNodePoolsResponse"
1394+ (\ o ->
1395+ ListNodePoolsResponse' <$>
1396+ (o .:? "nodePools" .!= mempty))
1397+
1398+instance ToJSON ListNodePoolsResponse where
1399+ toJSON ListNodePoolsResponse'{..}
1400+ = object
1401+ (catMaybes [("nodePools" .=) <$> _lnprNodePools])
1402+
1403+-- | CreateNodePoolRequest creates a node pool for a cluster.
1404+--
1405+-- /See:/ 'createNodePoolRequest' smart constructor.
1406+newtype CreateNodePoolRequest = CreateNodePoolRequest'
1407+ { _cnprNodePool :: Maybe NodePool
1408+ } deriving (Eq,Show,Data,Typeable,Generic)
1409+
1410+-- | Creates a value of 'CreateNodePoolRequest' with the minimum fields required to make a request.
1411+--
1412+-- Use one of the following lenses to modify other fields as desired:
1413+--
1414+-- * 'cnprNodePool'
1415+createNodePoolRequest
1416+ :: CreateNodePoolRequest
1417+createNodePoolRequest =
1418+ CreateNodePoolRequest'
1419+ { _cnprNodePool = Nothing
1420+ }
1421+
1422+-- | The node pool to create.
1423+cnprNodePool :: Lens' CreateNodePoolRequest (Maybe NodePool)
1424+cnprNodePool
1425+ = lens _cnprNodePool (\ s a -> s{_cnprNodePool = a})
1426+
1427+instance FromJSON CreateNodePoolRequest where
1428+ parseJSON
1429+ = withObject "CreateNodePoolRequest"
1430+ (\ o ->
1431+ CreateNodePoolRequest' <$> (o .:? "nodePool"))
1432+
1433+instance ToJSON CreateNodePoolRequest where
1434+ toJSON CreateNodePoolRequest'{..}
1435+ = object
1436+ (catMaybes [("nodePool" .=) <$> _cnprNodePool])
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Create.hs+17−17
@@ -21,14 +21,14 @@
21-- Portability : non-portable (GHC extensions)
21-- Portability : non-portable (GHC extensions)
22--
22--
23-- Creates a cluster, consisting of the specified number and type of Google
23-- Creates a cluster, consisting of the specified number and type of Google
24−-- Compute Engine instances, plus a Kubernetes master endpoint. By default,
24+-- Compute Engine instances. By default, the cluster is created in the
25−-- the cluster is created in the project\'s [default
25+-- project\'s [default
26−-- network](\/compute\/docs\/networking#networks_1). One firewall is added
26+-- network](\/compute\/docs\/networks-and-firewalls#networks). One firewall
27−-- for the cluster. After cluster creation, the cluster creates routes for
27+-- is added for the cluster. After cluster creation, the cluster creates
28−-- each node to allow the containers on that node to communicate with all
28+-- routes for each node to allow the containers on that node to communicate
29−-- other instances in the cluster. Finally, an entry is added to the
29+-- with all other instances in the cluster. Finally, an entry is added to
30−-- project\'s global metadata indicating which CIDR range is being used by
30+-- the project\'s global metadata indicating which CIDR range is being used
31−-- the cluster.
31+-- by the cluster.
32--
32--
33-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.create@.
33-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.create@.
34module Network.Google.Resource.Container.Projects.Zones.Clusters.Create
34module Network.Google.Resource.Container.Projects.Zones.Clusters.Create
@@ -77,14 +77,14 @@ type ProjectsZonesClustersCreateResource =
77 Post '[JSON] Operation
77 Post '[JSON] Operation
78
78
79-- | Creates a cluster, consisting of the specified number and type of Google
79-- | Creates a cluster, consisting of the specified number and type of Google
80−-- Compute Engine instances, plus a Kubernetes master endpoint. By default,
80+-- Compute Engine instances. By default, the cluster is created in the
81−-- the cluster is created in the project\'s [default
81+-- project\'s [default
82−-- network](\/compute\/docs\/networking#networks_1). One firewall is added
82+-- network](\/compute\/docs\/networks-and-firewalls#networks). One firewall
83−-- for the cluster. After cluster creation, the cluster creates routes for
83+-- is added for the cluster. After cluster creation, the cluster creates
84−-- each node to allow the containers on that node to communicate with all
84+-- routes for each node to allow the containers on that node to communicate
85−-- other instances in the cluster. Finally, an entry is added to the
85+-- with all other instances in the cluster. Finally, an entry is added to
86−-- project\'s global metadata indicating which CIDR range is being used by
86+-- the project\'s global metadata indicating which CIDR range is being used
87−-- the cluster.
87+-- by the cluster.
88--
88--
89-- /See:/ 'projectsZonesClustersCreate' smart constructor.
89-- /See:/ 'projectsZonesClustersCreate' smart constructor.
90data ProjectsZonesClustersCreate = ProjectsZonesClustersCreate'
90data ProjectsZonesClustersCreate = ProjectsZonesClustersCreate'
@@ -186,7 +186,7 @@ pzccBearerToken
186 (\ s a -> s{_pzccBearerToken = a})
186 (\ s a -> s{_pzccBearerToken = a})
187
187
188-- | The Google Developers Console [project ID or project
188-- | The Google Developers Console [project ID or project
189−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
189+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
190pzccProjectId :: Lens' ProjectsZonesClustersCreate Text
190pzccProjectId :: Lens' ProjectsZonesClustersCreate Text
191pzccProjectId
191pzccProjectId
192 = lens _pzccProjectId
192 = lens _pzccProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Delete.hs+7−3
@@ -22,7 +22,9 @@
22--
22--
23-- Deletes the cluster, including the Kubernetes endpoint and all worker
23-- Deletes the cluster, including the Kubernetes endpoint and all worker
24-- nodes. Firewalls and routes that were configured during cluster creation
24-- nodes. Firewalls and routes that were configured during cluster creation
25−-- are also deleted.
25+-- are also deleted. Other Google Compute Engine resources that might be in
26+-- use by the cluster (e.g. load balancer resources) will not be deleted if
27+-- they weren\'t present at the initial create time.
26--
28--
27-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.delete@.
29-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.delete@.
28module Network.Google.Resource.Container.Projects.Zones.Clusters.Delete
30module Network.Google.Resource.Container.Projects.Zones.Clusters.Delete
@@ -72,7 +74,9 @@ type ProjectsZonesClustersDeleteResource =
72
74
73-- | Deletes the cluster, including the Kubernetes endpoint and all worker
75-- | Deletes the cluster, including the Kubernetes endpoint and all worker
74-- nodes. Firewalls and routes that were configured during cluster creation
76-- nodes. Firewalls and routes that were configured during cluster creation
75−-- are also deleted.
77+-- are also deleted. Other Google Compute Engine resources that might be in
78+-- use by the cluster (e.g. load balancer resources) will not be deleted if
79+-- they weren\'t present at the initial create time.
76--
80--
77-- /See:/ 'projectsZonesClustersDelete' smart constructor.
81-- /See:/ 'projectsZonesClustersDelete' smart constructor.
78data ProjectsZonesClustersDelete = ProjectsZonesClustersDelete'
82data ProjectsZonesClustersDelete = ProjectsZonesClustersDelete'
@@ -175,7 +179,7 @@ pzcdClusterId
175 (\ s a -> s{_pzcdClusterId = a})
179 (\ s a -> s{_pzcdClusterId = a})
176
180
177-- | The Google Developers Console [project ID or project
181-- | The Google Developers Console [project ID or project
178−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
182+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
179pzcdProjectId :: Lens' ProjectsZonesClustersDelete Text
183pzcdProjectId :: Lens' ProjectsZonesClustersDelete Text
180pzcdProjectId
184pzcdProjectId
181 = lens _pzcdProjectId
185 = lens _pzcdProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Get.hs+3−3
@@ -20,7 +20,7 @@
20-- Stability : auto-generated
20-- Stability : auto-generated
21-- Portability : non-portable (GHC extensions)
21-- Portability : non-portable (GHC extensions)
22--
22--
23−-- Gets a specific cluster.
23+-- Gets the details of a specific cluster.
24--
24--
25-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.get@.
25-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.get@.
26module Network.Google.Resource.Container.Projects.Zones.Clusters.Get
26module Network.Google.Resource.Container.Projects.Zones.Clusters.Get
@@ -67,7 +67,7 @@ type ProjectsZonesClustersGetResource =
67 QueryParam "callback" Text :>
67 QueryParam "callback" Text :>
68 QueryParam "alt" AltJSON :> Get '[JSON] Cluster
68 QueryParam "alt" AltJSON :> Get '[JSON] Cluster
69
69
70−-- | Gets a specific cluster.
70+-- | Gets the details of a specific cluster.
71--
71--
72-- /See:/ 'projectsZonesClustersGet' smart constructor.
72-- /See:/ 'projectsZonesClustersGet' smart constructor.
73data ProjectsZonesClustersGet = ProjectsZonesClustersGet'
73data ProjectsZonesClustersGet = ProjectsZonesClustersGet'
@@ -170,7 +170,7 @@ pzcgClusterId
170 (\ s a -> s{_pzcgClusterId = a})
170 (\ s a -> s{_pzcgClusterId = a})
171
171
172-- | The Google Developers Console [project ID or project
172-- | The Google Developers Console [project ID or project
173−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
173+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
174pzcgProjectId :: Lens' ProjectsZonesClustersGet Text
174pzcgProjectId :: Lens' ProjectsZonesClustersGet Text
175pzcgProjectId
175pzcgProjectId
176 = lens _pzcgProjectId
176 = lens _pzcgProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/List.hs+1−1
@@ -161,7 +161,7 @@ pzclBearerToken
161 (\ s a -> s{_pzclBearerToken = a})
161 (\ s a -> s{_pzclBearerToken = a})
162
162
163-- | The Google Developers Console [project ID or project
163-- | The Google Developers Console [project ID or project
164−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
164+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
165pzclProjectId :: Lens' ProjectsZonesClustersList Text
165pzclProjectId :: Lens' ProjectsZonesClustersList Text
166pzclProjectId
166pzclProjectId
167 = lens _pzclProjectId
167 = lens _pzclProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Create.hsnew file+224
@@ -0,0 +1,224 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Create
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Creates a node pool for a cluster.
24+--
25+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.nodePools.create@.
26+module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Create
27+ (
28+ -- * REST Resource
29+ ProjectsZonesClustersNodePoolsCreateResource
30+
31+ -- * Creating a Request
32+ , projectsZonesClustersNodePoolsCreate
33+ , ProjectsZonesClustersNodePoolsCreate
34+
35+ -- * Request Lenses
36+ , pzcnpcXgafv
37+ , pzcnpcUploadProtocol
38+ , pzcnpcPp
39+ , pzcnpcAccessToken
40+ , pzcnpcUploadType
41+ , pzcnpcZone
42+ , pzcnpcPayload
43+ , pzcnpcBearerToken
44+ , pzcnpcClusterId
45+ , pzcnpcProjectId
46+ , pzcnpcCallback
47+ ) where
48+
49+import Network.Google.Container.Types
50+import Network.Google.Prelude
51+
52+-- | A resource alias for @container.projects.zones.clusters.nodePools.create@ method which the
53+-- 'ProjectsZonesClustersNodePoolsCreate' request conforms to.
54+type ProjectsZonesClustersNodePoolsCreateResource =
55+ "v1" :>
56+ "projects" :>
57+ Capture "projectId" Text :>
58+ "zones" :>
59+ Capture "zone" Text :>
60+ "clusters" :>
61+ Capture "clusterId" Text :>
62+ "nodePools" :>
63+ QueryParam "$.xgafv" Text :>
64+ QueryParam "upload_protocol" Text :>
65+ QueryParam "pp" Bool :>
66+ QueryParam "access_token" Text :>
67+ QueryParam "uploadType" Text :>
68+ QueryParam "bearer_token" Text :>
69+ QueryParam "callback" Text :>
70+ QueryParam "alt" AltJSON :>
71+ ReqBody '[JSON] CreateNodePoolRequest :>
72+ Post '[JSON] Operation
73+
74+-- | Creates a node pool for a cluster.
75+--
76+-- /See:/ 'projectsZonesClustersNodePoolsCreate' smart constructor.
77+data ProjectsZonesClustersNodePoolsCreate = ProjectsZonesClustersNodePoolsCreate'
78+ { _pzcnpcXgafv :: !(Maybe Text)
79+ , _pzcnpcUploadProtocol :: !(Maybe Text)
80+ , _pzcnpcPp :: !Bool
81+ , _pzcnpcAccessToken :: !(Maybe Text)
82+ , _pzcnpcUploadType :: !(Maybe Text)
83+ , _pzcnpcZone :: !Text
84+ , _pzcnpcPayload :: !CreateNodePoolRequest
85+ , _pzcnpcBearerToken :: !(Maybe Text)
86+ , _pzcnpcClusterId :: !Text
87+ , _pzcnpcProjectId :: !Text
88+ , _pzcnpcCallback :: !(Maybe Text)
89+ } deriving (Eq,Show,Data,Typeable,Generic)
90+
91+-- | Creates a value of 'ProjectsZonesClustersNodePoolsCreate' with the minimum fields required to make a request.
92+--
93+-- Use one of the following lenses to modify other fields as desired:
94+--
95+-- * 'pzcnpcXgafv'
96+--
97+-- * 'pzcnpcUploadProtocol'
98+--
99+-- * 'pzcnpcPp'
100+--
101+-- * 'pzcnpcAccessToken'
102+--
103+-- * 'pzcnpcUploadType'
104+--
105+-- * 'pzcnpcZone'
106+--
107+-- * 'pzcnpcPayload'
108+--
109+-- * 'pzcnpcBearerToken'
110+--
111+-- * 'pzcnpcClusterId'
112+--
113+-- * 'pzcnpcProjectId'
114+--
115+-- * 'pzcnpcCallback'
116+projectsZonesClustersNodePoolsCreate
117+ :: Text -- ^ 'pzcnpcZone'
118+ -> CreateNodePoolRequest -- ^ 'pzcnpcPayload'
119+ -> Text -- ^ 'pzcnpcClusterId'
120+ -> Text -- ^ 'pzcnpcProjectId'
121+ -> ProjectsZonesClustersNodePoolsCreate
122+projectsZonesClustersNodePoolsCreate pPzcnpcZone_ pPzcnpcPayload_ pPzcnpcClusterId_ pPzcnpcProjectId_ =
123+ ProjectsZonesClustersNodePoolsCreate'
124+ { _pzcnpcXgafv = Nothing
125+ , _pzcnpcUploadProtocol = Nothing
126+ , _pzcnpcPp = True
127+ , _pzcnpcAccessToken = Nothing
128+ , _pzcnpcUploadType = Nothing
129+ , _pzcnpcZone = pPzcnpcZone_
130+ , _pzcnpcPayload = pPzcnpcPayload_
131+ , _pzcnpcBearerToken = Nothing
132+ , _pzcnpcClusterId = pPzcnpcClusterId_
133+ , _pzcnpcProjectId = pPzcnpcProjectId_
134+ , _pzcnpcCallback = Nothing
135+ }
136+
137+-- | V1 error format.
138+pzcnpcXgafv :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Text)
139+pzcnpcXgafv
140+ = lens _pzcnpcXgafv (\ s a -> s{_pzcnpcXgafv = a})
141+
142+-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
143+pzcnpcUploadProtocol :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Text)
144+pzcnpcUploadProtocol
145+ = lens _pzcnpcUploadProtocol
146+ (\ s a -> s{_pzcnpcUploadProtocol = a})
147+
148+-- | Pretty-print response.
149+pzcnpcPp :: Lens' ProjectsZonesClustersNodePoolsCreate Bool
150+pzcnpcPp = lens _pzcnpcPp (\ s a -> s{_pzcnpcPp = a})
151+
152+-- | OAuth access token.
153+pzcnpcAccessToken :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Text)
154+pzcnpcAccessToken
155+ = lens _pzcnpcAccessToken
156+ (\ s a -> s{_pzcnpcAccessToken = a})
157+
158+-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
159+pzcnpcUploadType :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Text)
160+pzcnpcUploadType
161+ = lens _pzcnpcUploadType
162+ (\ s a -> s{_pzcnpcUploadType = a})
163+
164+-- | The name of the Google Compute Engine
165+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.
166+pzcnpcZone :: Lens' ProjectsZonesClustersNodePoolsCreate Text
167+pzcnpcZone
168+ = lens _pzcnpcZone (\ s a -> s{_pzcnpcZone = a})
169+
170+-- | Multipart request metadata.
171+pzcnpcPayload :: Lens' ProjectsZonesClustersNodePoolsCreate CreateNodePoolRequest
172+pzcnpcPayload
173+ = lens _pzcnpcPayload
174+ (\ s a -> s{_pzcnpcPayload = a})
175+
176+-- | OAuth bearer token.
177+pzcnpcBearerToken :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Text)
178+pzcnpcBearerToken
179+ = lens _pzcnpcBearerToken
180+ (\ s a -> s{_pzcnpcBearerToken = a})
181+
182+-- | The name of the cluster.
183+pzcnpcClusterId :: Lens' ProjectsZonesClustersNodePoolsCreate Text
184+pzcnpcClusterId
185+ = lens _pzcnpcClusterId
186+ (\ s a -> s{_pzcnpcClusterId = a})
187+
188+-- | The Google Developers Console [project ID or project
189+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
190+pzcnpcProjectId :: Lens' ProjectsZonesClustersNodePoolsCreate Text
191+pzcnpcProjectId
192+ = lens _pzcnpcProjectId
193+ (\ s a -> s{_pzcnpcProjectId = a})
194+
195+-- | JSONP
196+pzcnpcCallback :: Lens' ProjectsZonesClustersNodePoolsCreate (Maybe Text)
197+pzcnpcCallback
198+ = lens _pzcnpcCallback
199+ (\ s a -> s{_pzcnpcCallback = a})
200+
201+instance GoogleRequest
202+ ProjectsZonesClustersNodePoolsCreate where
203+ type Rs ProjectsZonesClustersNodePoolsCreate =
204+ Operation
205+ type Scopes ProjectsZonesClustersNodePoolsCreate =
206+ '["https://www.googleapis.com/auth/cloud-platform"]
207+ requestClient
208+ ProjectsZonesClustersNodePoolsCreate'{..}
209+ = go _pzcnpcProjectId _pzcnpcZone _pzcnpcClusterId
210+ _pzcnpcXgafv
211+ _pzcnpcUploadProtocol
212+ (Just _pzcnpcPp)
213+ _pzcnpcAccessToken
214+ _pzcnpcUploadType
215+ _pzcnpcBearerToken
216+ _pzcnpcCallback
217+ (Just AltJSON)
218+ _pzcnpcPayload
219+ containerService
220+ where go
221+ = buildClient
222+ (Proxy ::
223+ Proxy ProjectsZonesClustersNodePoolsCreateResource)
224+ mempty
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Delete.hsnew file+224
@@ -0,0 +1,224 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Delete
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Deletes a node pool from a cluster.
24+--
25+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.nodePools.delete@.
26+module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Delete
27+ (
28+ -- * REST Resource
29+ ProjectsZonesClustersNodePoolsDeleteResource
30+
31+ -- * Creating a Request
32+ , projectsZonesClustersNodePoolsDelete
33+ , ProjectsZonesClustersNodePoolsDelete
34+
35+ -- * Request Lenses
36+ , pzcnpdXgafv
37+ , pzcnpdUploadProtocol
38+ , pzcnpdPp
39+ , pzcnpdAccessToken
40+ , pzcnpdUploadType
41+ , pzcnpdZone
42+ , pzcnpdNodePoolId
43+ , pzcnpdBearerToken
44+ , pzcnpdClusterId
45+ , pzcnpdProjectId
46+ , pzcnpdCallback
47+ ) where
48+
49+import Network.Google.Container.Types
50+import Network.Google.Prelude
51+
52+-- | A resource alias for @container.projects.zones.clusters.nodePools.delete@ method which the
53+-- 'ProjectsZonesClustersNodePoolsDelete' request conforms to.
54+type ProjectsZonesClustersNodePoolsDeleteResource =
55+ "v1" :>
56+ "projects" :>
57+ Capture "projectId" Text :>
58+ "zones" :>
59+ Capture "zone" Text :>
60+ "clusters" :>
61+ Capture "clusterId" Text :>
62+ "nodePools" :>
63+ Capture "nodePoolId" Text :>
64+ QueryParam "$.xgafv" Text :>
65+ QueryParam "upload_protocol" Text :>
66+ QueryParam "pp" Bool :>
67+ QueryParam "access_token" Text :>
68+ QueryParam "uploadType" Text :>
69+ QueryParam "bearer_token" Text :>
70+ QueryParam "callback" Text :>
71+ QueryParam "alt" AltJSON :>
72+ Delete '[JSON] Operation
73+
74+-- | Deletes a node pool from a cluster.
75+--
76+-- /See:/ 'projectsZonesClustersNodePoolsDelete' smart constructor.
77+data ProjectsZonesClustersNodePoolsDelete = ProjectsZonesClustersNodePoolsDelete'
78+ { _pzcnpdXgafv :: !(Maybe Text)
79+ , _pzcnpdUploadProtocol :: !(Maybe Text)
80+ , _pzcnpdPp :: !Bool
81+ , _pzcnpdAccessToken :: !(Maybe Text)
82+ , _pzcnpdUploadType :: !(Maybe Text)
83+ , _pzcnpdZone :: !Text
84+ , _pzcnpdNodePoolId :: !Text
85+ , _pzcnpdBearerToken :: !(Maybe Text)
86+ , _pzcnpdClusterId :: !Text
87+ , _pzcnpdProjectId :: !Text
88+ , _pzcnpdCallback :: !(Maybe Text)
89+ } deriving (Eq,Show,Data,Typeable,Generic)
90+
91+-- | Creates a value of 'ProjectsZonesClustersNodePoolsDelete' with the minimum fields required to make a request.
92+--
93+-- Use one of the following lenses to modify other fields as desired:
94+--
95+-- * 'pzcnpdXgafv'
96+--
97+-- * 'pzcnpdUploadProtocol'
98+--
99+-- * 'pzcnpdPp'
100+--
101+-- * 'pzcnpdAccessToken'
102+--
103+-- * 'pzcnpdUploadType'
104+--
105+-- * 'pzcnpdZone'
106+--
107+-- * 'pzcnpdNodePoolId'
108+--
109+-- * 'pzcnpdBearerToken'
110+--
111+-- * 'pzcnpdClusterId'
112+--
113+-- * 'pzcnpdProjectId'
114+--
115+-- * 'pzcnpdCallback'
116+projectsZonesClustersNodePoolsDelete
117+ :: Text -- ^ 'pzcnpdZone'
118+ -> Text -- ^ 'pzcnpdNodePoolId'
119+ -> Text -- ^ 'pzcnpdClusterId'
120+ -> Text -- ^ 'pzcnpdProjectId'
121+ -> ProjectsZonesClustersNodePoolsDelete
122+projectsZonesClustersNodePoolsDelete pPzcnpdZone_ pPzcnpdNodePoolId_ pPzcnpdClusterId_ pPzcnpdProjectId_ =
123+ ProjectsZonesClustersNodePoolsDelete'
124+ { _pzcnpdXgafv = Nothing
125+ , _pzcnpdUploadProtocol = Nothing
126+ , _pzcnpdPp = True
127+ , _pzcnpdAccessToken = Nothing
128+ , _pzcnpdUploadType = Nothing
129+ , _pzcnpdZone = pPzcnpdZone_
130+ , _pzcnpdNodePoolId = pPzcnpdNodePoolId_
131+ , _pzcnpdBearerToken = Nothing
132+ , _pzcnpdClusterId = pPzcnpdClusterId_
133+ , _pzcnpdProjectId = pPzcnpdProjectId_
134+ , _pzcnpdCallback = Nothing
135+ }
136+
137+-- | V1 error format.
138+pzcnpdXgafv :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Text)
139+pzcnpdXgafv
140+ = lens _pzcnpdXgafv (\ s a -> s{_pzcnpdXgafv = a})
141+
142+-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
143+pzcnpdUploadProtocol :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Text)
144+pzcnpdUploadProtocol
145+ = lens _pzcnpdUploadProtocol
146+ (\ s a -> s{_pzcnpdUploadProtocol = a})
147+
148+-- | Pretty-print response.
149+pzcnpdPp :: Lens' ProjectsZonesClustersNodePoolsDelete Bool
150+pzcnpdPp = lens _pzcnpdPp (\ s a -> s{_pzcnpdPp = a})
151+
152+-- | OAuth access token.
153+pzcnpdAccessToken :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Text)
154+pzcnpdAccessToken
155+ = lens _pzcnpdAccessToken
156+ (\ s a -> s{_pzcnpdAccessToken = a})
157+
158+-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
159+pzcnpdUploadType :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Text)
160+pzcnpdUploadType
161+ = lens _pzcnpdUploadType
162+ (\ s a -> s{_pzcnpdUploadType = a})
163+
164+-- | The name of the Google Compute Engine
165+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.
166+pzcnpdZone :: Lens' ProjectsZonesClustersNodePoolsDelete Text
167+pzcnpdZone
168+ = lens _pzcnpdZone (\ s a -> s{_pzcnpdZone = a})
169+
170+-- | The name of the node pool to delete.
171+pzcnpdNodePoolId :: Lens' ProjectsZonesClustersNodePoolsDelete Text
172+pzcnpdNodePoolId
173+ = lens _pzcnpdNodePoolId
174+ (\ s a -> s{_pzcnpdNodePoolId = a})
175+
176+-- | OAuth bearer token.
177+pzcnpdBearerToken :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Text)
178+pzcnpdBearerToken
179+ = lens _pzcnpdBearerToken
180+ (\ s a -> s{_pzcnpdBearerToken = a})
181+
182+-- | The name of the cluster.
183+pzcnpdClusterId :: Lens' ProjectsZonesClustersNodePoolsDelete Text
184+pzcnpdClusterId
185+ = lens _pzcnpdClusterId
186+ (\ s a -> s{_pzcnpdClusterId = a})
187+
188+-- | The Google Developers Console [project ID or project
189+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
190+pzcnpdProjectId :: Lens' ProjectsZonesClustersNodePoolsDelete Text
191+pzcnpdProjectId
192+ = lens _pzcnpdProjectId
193+ (\ s a -> s{_pzcnpdProjectId = a})
194+
195+-- | JSONP
196+pzcnpdCallback :: Lens' ProjectsZonesClustersNodePoolsDelete (Maybe Text)
197+pzcnpdCallback
198+ = lens _pzcnpdCallback
199+ (\ s a -> s{_pzcnpdCallback = a})
200+
201+instance GoogleRequest
202+ ProjectsZonesClustersNodePoolsDelete where
203+ type Rs ProjectsZonesClustersNodePoolsDelete =
204+ Operation
205+ type Scopes ProjectsZonesClustersNodePoolsDelete =
206+ '["https://www.googleapis.com/auth/cloud-platform"]
207+ requestClient
208+ ProjectsZonesClustersNodePoolsDelete'{..}
209+ = go _pzcnpdProjectId _pzcnpdZone _pzcnpdClusterId
210+ _pzcnpdNodePoolId
211+ _pzcnpdXgafv
212+ _pzcnpdUploadProtocol
213+ (Just _pzcnpdPp)
214+ _pzcnpdAccessToken
215+ _pzcnpdUploadType
216+ _pzcnpdBearerToken
217+ _pzcnpdCallback
218+ (Just AltJSON)
219+ containerService
220+ where go
221+ = buildClient
222+ (Proxy ::
223+ Proxy ProjectsZonesClustersNodePoolsDeleteResource)
224+ mempty
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/Get.hsnew file+222
@@ -0,0 +1,222 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Get
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Retrieves the node pool requested.
24+--
25+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.nodePools.get@.
26+module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Get
27+ (
28+ -- * REST Resource
29+ ProjectsZonesClustersNodePoolsGetResource
30+
31+ -- * Creating a Request
32+ , projectsZonesClustersNodePoolsGet
33+ , ProjectsZonesClustersNodePoolsGet
34+
35+ -- * Request Lenses
36+ , pzcnpgXgafv
37+ , pzcnpgUploadProtocol
38+ , pzcnpgPp
39+ , pzcnpgAccessToken
40+ , pzcnpgUploadType
41+ , pzcnpgZone
42+ , pzcnpgNodePoolId
43+ , pzcnpgBearerToken
44+ , pzcnpgClusterId
45+ , pzcnpgProjectId
46+ , pzcnpgCallback
47+ ) where
48+
49+import Network.Google.Container.Types
50+import Network.Google.Prelude
51+
52+-- | A resource alias for @container.projects.zones.clusters.nodePools.get@ method which the
53+-- 'ProjectsZonesClustersNodePoolsGet' request conforms to.
54+type ProjectsZonesClustersNodePoolsGetResource =
55+ "v1" :>
56+ "projects" :>
57+ Capture "projectId" Text :>
58+ "zones" :>
59+ Capture "zone" Text :>
60+ "clusters" :>
61+ Capture "clusterId" Text :>
62+ "nodePools" :>
63+ Capture "nodePoolId" Text :>
64+ QueryParam "$.xgafv" Text :>
65+ QueryParam "upload_protocol" Text :>
66+ QueryParam "pp" Bool :>
67+ QueryParam "access_token" Text :>
68+ QueryParam "uploadType" Text :>
69+ QueryParam "bearer_token" Text :>
70+ QueryParam "callback" Text :>
71+ QueryParam "alt" AltJSON :>
72+ Get '[JSON] NodePool
73+
74+-- | Retrieves the node pool requested.
75+--
76+-- /See:/ 'projectsZonesClustersNodePoolsGet' smart constructor.
77+data ProjectsZonesClustersNodePoolsGet = ProjectsZonesClustersNodePoolsGet'
78+ { _pzcnpgXgafv :: !(Maybe Text)
79+ , _pzcnpgUploadProtocol :: !(Maybe Text)
80+ , _pzcnpgPp :: !Bool
81+ , _pzcnpgAccessToken :: !(Maybe Text)
82+ , _pzcnpgUploadType :: !(Maybe Text)
83+ , _pzcnpgZone :: !Text
84+ , _pzcnpgNodePoolId :: !Text
85+ , _pzcnpgBearerToken :: !(Maybe Text)
86+ , _pzcnpgClusterId :: !Text
87+ , _pzcnpgProjectId :: !Text
88+ , _pzcnpgCallback :: !(Maybe Text)
89+ } deriving (Eq,Show,Data,Typeable,Generic)
90+
91+-- | Creates a value of 'ProjectsZonesClustersNodePoolsGet' with the minimum fields required to make a request.
92+--
93+-- Use one of the following lenses to modify other fields as desired:
94+--
95+-- * 'pzcnpgXgafv'
96+--
97+-- * 'pzcnpgUploadProtocol'
98+--
99+-- * 'pzcnpgPp'
100+--
101+-- * 'pzcnpgAccessToken'
102+--
103+-- * 'pzcnpgUploadType'
104+--
105+-- * 'pzcnpgZone'
106+--
107+-- * 'pzcnpgNodePoolId'
108+--
109+-- * 'pzcnpgBearerToken'
110+--
111+-- * 'pzcnpgClusterId'
112+--
113+-- * 'pzcnpgProjectId'
114+--
115+-- * 'pzcnpgCallback'
116+projectsZonesClustersNodePoolsGet
117+ :: Text -- ^ 'pzcnpgZone'
118+ -> Text -- ^ 'pzcnpgNodePoolId'
119+ -> Text -- ^ 'pzcnpgClusterId'
120+ -> Text -- ^ 'pzcnpgProjectId'
121+ -> ProjectsZonesClustersNodePoolsGet
122+projectsZonesClustersNodePoolsGet pPzcnpgZone_ pPzcnpgNodePoolId_ pPzcnpgClusterId_ pPzcnpgProjectId_ =
123+ ProjectsZonesClustersNodePoolsGet'
124+ { _pzcnpgXgafv = Nothing
125+ , _pzcnpgUploadProtocol = Nothing
126+ , _pzcnpgPp = True
127+ , _pzcnpgAccessToken = Nothing
128+ , _pzcnpgUploadType = Nothing
129+ , _pzcnpgZone = pPzcnpgZone_
130+ , _pzcnpgNodePoolId = pPzcnpgNodePoolId_
131+ , _pzcnpgBearerToken = Nothing
132+ , _pzcnpgClusterId = pPzcnpgClusterId_
133+ , _pzcnpgProjectId = pPzcnpgProjectId_
134+ , _pzcnpgCallback = Nothing
135+ }
136+
137+-- | V1 error format.
138+pzcnpgXgafv :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Text)
139+pzcnpgXgafv
140+ = lens _pzcnpgXgafv (\ s a -> s{_pzcnpgXgafv = a})
141+
142+-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
143+pzcnpgUploadProtocol :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Text)
144+pzcnpgUploadProtocol
145+ = lens _pzcnpgUploadProtocol
146+ (\ s a -> s{_pzcnpgUploadProtocol = a})
147+
148+-- | Pretty-print response.
149+pzcnpgPp :: Lens' ProjectsZonesClustersNodePoolsGet Bool
150+pzcnpgPp = lens _pzcnpgPp (\ s a -> s{_pzcnpgPp = a})
151+
152+-- | OAuth access token.
153+pzcnpgAccessToken :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Text)
154+pzcnpgAccessToken
155+ = lens _pzcnpgAccessToken
156+ (\ s a -> s{_pzcnpgAccessToken = a})
157+
158+-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
159+pzcnpgUploadType :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Text)
160+pzcnpgUploadType
161+ = lens _pzcnpgUploadType
162+ (\ s a -> s{_pzcnpgUploadType = a})
163+
164+-- | The name of the Google Compute Engine
165+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.
166+pzcnpgZone :: Lens' ProjectsZonesClustersNodePoolsGet Text
167+pzcnpgZone
168+ = lens _pzcnpgZone (\ s a -> s{_pzcnpgZone = a})
169+
170+-- | The name of the node pool.
171+pzcnpgNodePoolId :: Lens' ProjectsZonesClustersNodePoolsGet Text
172+pzcnpgNodePoolId
173+ = lens _pzcnpgNodePoolId
174+ (\ s a -> s{_pzcnpgNodePoolId = a})
175+
176+-- | OAuth bearer token.
177+pzcnpgBearerToken :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Text)
178+pzcnpgBearerToken
179+ = lens _pzcnpgBearerToken
180+ (\ s a -> s{_pzcnpgBearerToken = a})
181+
182+-- | The name of the cluster.
183+pzcnpgClusterId :: Lens' ProjectsZonesClustersNodePoolsGet Text
184+pzcnpgClusterId
185+ = lens _pzcnpgClusterId
186+ (\ s a -> s{_pzcnpgClusterId = a})
187+
188+-- | The Google Developers Console [project ID or project
189+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
190+pzcnpgProjectId :: Lens' ProjectsZonesClustersNodePoolsGet Text
191+pzcnpgProjectId
192+ = lens _pzcnpgProjectId
193+ (\ s a -> s{_pzcnpgProjectId = a})
194+
195+-- | JSONP
196+pzcnpgCallback :: Lens' ProjectsZonesClustersNodePoolsGet (Maybe Text)
197+pzcnpgCallback
198+ = lens _pzcnpgCallback
199+ (\ s a -> s{_pzcnpgCallback = a})
200+
201+instance GoogleRequest
202+ ProjectsZonesClustersNodePoolsGet where
203+ type Rs ProjectsZonesClustersNodePoolsGet = NodePool
204+ type Scopes ProjectsZonesClustersNodePoolsGet =
205+ '["https://www.googleapis.com/auth/cloud-platform"]
206+ requestClient ProjectsZonesClustersNodePoolsGet'{..}
207+ = go _pzcnpgProjectId _pzcnpgZone _pzcnpgClusterId
208+ _pzcnpgNodePoolId
209+ _pzcnpgXgafv
210+ _pzcnpgUploadProtocol
211+ (Just _pzcnpgPp)
212+ _pzcnpgAccessToken
213+ _pzcnpgUploadType
214+ _pzcnpgBearerToken
215+ _pzcnpgCallback
216+ (Just AltJSON)
217+ containerService
218+ where go
219+ = buildClient
220+ (Proxy ::
221+ Proxy ProjectsZonesClustersNodePoolsGetResource)
222+ mempty
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/NodePools/List.hsnew file+209
@@ -0,0 +1,209 @@
1+{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE NoImplicitPrelude #-}
6+{-# LANGUAGE OverloadedStrings #-}
7+{-# LANGUAGE RecordWildCards #-}
8+{-# LANGUAGE TypeFamilies #-}
9+{-# LANGUAGE TypeOperators #-}
10+
11+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
12+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
13+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
14+
15+-- |
16+-- Module : Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.List
17+-- Copyright : (c) 2015-2016 Brendan Hay
18+-- License : Mozilla Public License, v. 2.0.
19+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
20+-- Stability : auto-generated
21+-- Portability : non-portable (GHC extensions)
22+--
23+-- Lists the node pools for a cluster.
24+--
25+-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.nodePools.list@.
26+module Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.List
27+ (
28+ -- * REST Resource
29+ ProjectsZonesClustersNodePoolsListResource
30+
31+ -- * Creating a Request
32+ , projectsZonesClustersNodePoolsList
33+ , ProjectsZonesClustersNodePoolsList
34+
35+ -- * Request Lenses
36+ , pzcnplXgafv
37+ , pzcnplUploadProtocol
38+ , pzcnplPp
39+ , pzcnplAccessToken
40+ , pzcnplUploadType
41+ , pzcnplZone
42+ , pzcnplBearerToken
43+ , pzcnplClusterId
44+ , pzcnplProjectId
45+ , pzcnplCallback
46+ ) where
47+
48+import Network.Google.Container.Types
49+import Network.Google.Prelude
50+
51+-- | A resource alias for @container.projects.zones.clusters.nodePools.list@ method which the
52+-- 'ProjectsZonesClustersNodePoolsList' request conforms to.
53+type ProjectsZonesClustersNodePoolsListResource =
54+ "v1" :>
55+ "projects" :>
56+ Capture "projectId" Text :>
57+ "zones" :>
58+ Capture "zone" Text :>
59+ "clusters" :>
60+ Capture "clusterId" Text :>
61+ "nodePools" :>
62+ QueryParam "$.xgafv" Text :>
63+ QueryParam "upload_protocol" Text :>
64+ QueryParam "pp" Bool :>
65+ QueryParam "access_token" Text :>
66+ QueryParam "uploadType" Text :>
67+ QueryParam "bearer_token" Text :>
68+ QueryParam "callback" Text :>
69+ QueryParam "alt" AltJSON :>
70+ Get '[JSON] ListNodePoolsResponse
71+
72+-- | Lists the node pools for a cluster.
73+--
74+-- /See:/ 'projectsZonesClustersNodePoolsList' smart constructor.
75+data ProjectsZonesClustersNodePoolsList = ProjectsZonesClustersNodePoolsList'
76+ { _pzcnplXgafv :: !(Maybe Text)
77+ , _pzcnplUploadProtocol :: !(Maybe Text)
78+ , _pzcnplPp :: !Bool
79+ , _pzcnplAccessToken :: !(Maybe Text)
80+ , _pzcnplUploadType :: !(Maybe Text)
81+ , _pzcnplZone :: !Text
82+ , _pzcnplBearerToken :: !(Maybe Text)
83+ , _pzcnplClusterId :: !Text
84+ , _pzcnplProjectId :: !Text
85+ , _pzcnplCallback :: !(Maybe Text)
86+ } deriving (Eq,Show,Data,Typeable,Generic)
87+
88+-- | Creates a value of 'ProjectsZonesClustersNodePoolsList' with the minimum fields required to make a request.
89+--
90+-- Use one of the following lenses to modify other fields as desired:
91+--
92+-- * 'pzcnplXgafv'
93+--
94+-- * 'pzcnplUploadProtocol'
95+--
96+-- * 'pzcnplPp'
97+--
98+-- * 'pzcnplAccessToken'
99+--
100+-- * 'pzcnplUploadType'
101+--
102+-- * 'pzcnplZone'
103+--
104+-- * 'pzcnplBearerToken'
105+--
106+-- * 'pzcnplClusterId'
107+--
108+-- * 'pzcnplProjectId'
109+--
110+-- * 'pzcnplCallback'
111+projectsZonesClustersNodePoolsList
112+ :: Text -- ^ 'pzcnplZone'
113+ -> Text -- ^ 'pzcnplClusterId'
114+ -> Text -- ^ 'pzcnplProjectId'
115+ -> ProjectsZonesClustersNodePoolsList
116+projectsZonesClustersNodePoolsList pPzcnplZone_ pPzcnplClusterId_ pPzcnplProjectId_ =
117+ ProjectsZonesClustersNodePoolsList'
118+ { _pzcnplXgafv = Nothing
119+ , _pzcnplUploadProtocol = Nothing
120+ , _pzcnplPp = True
121+ , _pzcnplAccessToken = Nothing
122+ , _pzcnplUploadType = Nothing
123+ , _pzcnplZone = pPzcnplZone_
124+ , _pzcnplBearerToken = Nothing
125+ , _pzcnplClusterId = pPzcnplClusterId_
126+ , _pzcnplProjectId = pPzcnplProjectId_
127+ , _pzcnplCallback = Nothing
128+ }
129+
130+-- | V1 error format.
131+pzcnplXgafv :: Lens' ProjectsZonesClustersNodePoolsList (Maybe Text)
132+pzcnplXgafv
133+ = lens _pzcnplXgafv (\ s a -> s{_pzcnplXgafv = a})
134+
135+-- | Upload protocol for media (e.g. \"raw\", \"multipart\").
136+pzcnplUploadProtocol :: Lens' ProjectsZonesClustersNodePoolsList (Maybe Text)
137+pzcnplUploadProtocol
138+ = lens _pzcnplUploadProtocol
139+ (\ s a -> s{_pzcnplUploadProtocol = a})
140+
141+-- | Pretty-print response.
142+pzcnplPp :: Lens' ProjectsZonesClustersNodePoolsList Bool
143+pzcnplPp = lens _pzcnplPp (\ s a -> s{_pzcnplPp = a})
144+
145+-- | OAuth access token.
146+pzcnplAccessToken :: Lens' ProjectsZonesClustersNodePoolsList (Maybe Text)
147+pzcnplAccessToken
148+ = lens _pzcnplAccessToken
149+ (\ s a -> s{_pzcnplAccessToken = a})
150+
151+-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").
152+pzcnplUploadType :: Lens' ProjectsZonesClustersNodePoolsList (Maybe Text)
153+pzcnplUploadType
154+ = lens _pzcnplUploadType
155+ (\ s a -> s{_pzcnplUploadType = a})
156+
157+-- | The name of the Google Compute Engine
158+-- [zone](\/compute\/docs\/zones#available) in which the cluster resides.
159+pzcnplZone :: Lens' ProjectsZonesClustersNodePoolsList Text
160+pzcnplZone
161+ = lens _pzcnplZone (\ s a -> s{_pzcnplZone = a})
162+
163+-- | OAuth bearer token.
164+pzcnplBearerToken :: Lens' ProjectsZonesClustersNodePoolsList (Maybe Text)
165+pzcnplBearerToken
166+ = lens _pzcnplBearerToken
167+ (\ s a -> s{_pzcnplBearerToken = a})
168+
169+-- | The name of the cluster.
170+pzcnplClusterId :: Lens' ProjectsZonesClustersNodePoolsList Text
171+pzcnplClusterId
172+ = lens _pzcnplClusterId
173+ (\ s a -> s{_pzcnplClusterId = a})
174+
175+-- | The Google Developers Console [project ID or project
176+-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
177+pzcnplProjectId :: Lens' ProjectsZonesClustersNodePoolsList Text
178+pzcnplProjectId
179+ = lens _pzcnplProjectId
180+ (\ s a -> s{_pzcnplProjectId = a})
181+
182+-- | JSONP
183+pzcnplCallback :: Lens' ProjectsZonesClustersNodePoolsList (Maybe Text)
184+pzcnplCallback
185+ = lens _pzcnplCallback
186+ (\ s a -> s{_pzcnplCallback = a})
187+
188+instance GoogleRequest
189+ ProjectsZonesClustersNodePoolsList where
190+ type Rs ProjectsZonesClustersNodePoolsList =
191+ ListNodePoolsResponse
192+ type Scopes ProjectsZonesClustersNodePoolsList =
193+ '["https://www.googleapis.com/auth/cloud-platform"]
194+ requestClient ProjectsZonesClustersNodePoolsList'{..}
195+ = go _pzcnplProjectId _pzcnplZone _pzcnplClusterId
196+ _pzcnplXgafv
197+ _pzcnplUploadProtocol
198+ (Just _pzcnplPp)
199+ _pzcnplAccessToken
200+ _pzcnplUploadType
201+ _pzcnplBearerToken
202+ _pzcnplCallback
203+ (Just AltJSON)
204+ containerService
205+ where go
206+ = buildClient
207+ (Proxy ::
208+ Proxy ProjectsZonesClustersNodePoolsListResource)
209+ mempty
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Clusters/Update.hs+3−3
@@ -20,7 +20,7 @@
20-- Stability : auto-generated
20-- Stability : auto-generated
21-- Portability : non-portable (GHC extensions)
21-- Portability : non-portable (GHC extensions)
22--
22--
23−-- Update settings of a specific cluster.
23+-- Updates the settings of a specific cluster.
24--
24--
25-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.update@.
25-- /See:/ <https://cloud.google.com/container-engine/ Google Container Engine API Reference> for @container.projects.zones.clusters.update@.
26module Network.Google.Resource.Container.Projects.Zones.Clusters.Update
26module Network.Google.Resource.Container.Projects.Zones.Clusters.Update
@@ -70,7 +70,7 @@ type ProjectsZonesClustersUpdateResource =
70 ReqBody '[JSON] UpdateClusterRequest :>
70 ReqBody '[JSON] UpdateClusterRequest :>
71 Put '[JSON] Operation
71 Put '[JSON] Operation
72
72
73−-- | Update settings of a specific cluster.
73+-- | Updates the settings of a specific cluster.
74--
74--
75-- /See:/ 'projectsZonesClustersUpdate' smart constructor.
75-- /See:/ 'projectsZonesClustersUpdate' smart constructor.
76data ProjectsZonesClustersUpdate = ProjectsZonesClustersUpdate'
76data ProjectsZonesClustersUpdate = ProjectsZonesClustersUpdate'
@@ -183,7 +183,7 @@ pzcuClusterId
183 (\ s a -> s{_pzcuClusterId = a})
183 (\ s a -> s{_pzcuClusterId = a})
184
184
185-- | The Google Developers Console [project ID or project
185-- | The Google Developers Console [project ID or project
186−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
186+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
187pzcuProjectId :: Lens' ProjectsZonesClustersUpdate Text
187pzcuProjectId :: Lens' ProjectsZonesClustersUpdate Text
188pzcuProjectId
188pzcuProjectId
189 = lens _pzcuProjectId
189 = lens _pzcuProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/GetServerConfig.hs+2−3
@@ -147,8 +147,7 @@ pzgscUploadType
147 (\ s a -> s{_pzgscUploadType = a})
147 (\ s a -> s{_pzgscUploadType = a})
148
148
149-- | The name of the Google Compute Engine
149-- | The name of the Google Compute Engine
150−-- [zone](\/compute\/docs\/zones#available) to return operations for, or
150+-- [zone](\/compute\/docs\/zones#available) to return operations for.
151−-- \"-\" for all zones.
152pzgscZone :: Lens' ProjectsZonesGetServerConfig Text
151pzgscZone :: Lens' ProjectsZonesGetServerConfig Text
153pzgscZone
152pzgscZone
154 = lens _pzgscZone (\ s a -> s{_pzgscZone = a})
153 = lens _pzgscZone (\ s a -> s{_pzgscZone = a})
@@ -160,7 +159,7 @@ pzgscBearerToken
160 (\ s a -> s{_pzgscBearerToken = a})
159 (\ s a -> s{_pzgscBearerToken = a})
161
160
162-- | The Google Developers Console [project ID or project
161-- | The Google Developers Console [project ID or project
163−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
162+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
164pzgscProjectId :: Lens' ProjectsZonesGetServerConfig Text
163pzgscProjectId :: Lens' ProjectsZonesGetServerConfig Text
165pzgscProjectId
164pzgscProjectId
166 = lens _pzgscProjectId
165 = lens _pzgscProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Operations/Get.hs+1−1
@@ -165,7 +165,7 @@ pzogBearerToken
165 (\ s a -> s{_pzogBearerToken = a})
165 (\ s a -> s{_pzogBearerToken = a})
166
166
167-- | The Google Developers Console [project ID or project
167-- | The Google Developers Console [project ID or project
168−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
168+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
169pzogProjectId :: Lens' ProjectsZonesOperationsGet Text
169pzogProjectId :: Lens' ProjectsZonesOperationsGet Text
170pzogProjectId
170pzogProjectId
171 = lens _pzogProjectId
171 = lens _pzogProjectId
gogol-container/gen/Network/Google/Resource/Container/Projects/Zones/Operations/List.hs+2−2
@@ -148,7 +148,7 @@ pzolUploadType
148
148
149-- | The name of the Google Compute Engine
149-- | The name of the Google Compute Engine
150-- [zone](\/compute\/docs\/zones#available) to return operations for, or
150-- [zone](\/compute\/docs\/zones#available) to return operations for, or
151−-- \"-\" for all zones.
151+-- \`-\` for all zones.
152pzolZone :: Lens' ProjectsZonesOperationsList Text
152pzolZone :: Lens' ProjectsZonesOperationsList Text
153pzolZone = lens _pzolZone (\ s a -> s{_pzolZone = a})
153pzolZone = lens _pzolZone (\ s a -> s{_pzolZone = a})
154
154
@@ -159,7 +159,7 @@ pzolBearerToken
159 (\ s a -> s{_pzolBearerToken = a})
159 (\ s a -> s{_pzolBearerToken = a})
160
160
161-- | The Google Developers Console [project ID or project
161-- | The Google Developers Console [project ID or project
162−-- number](https:\/\/developers.google.com\/console\/help\/new\/#projectnumber).
162+-- number](https:\/\/support.google.com\/cloud\/answer\/6158840).
163pzolProjectId :: Lens' ProjectsZonesOperationsList Text
163pzolProjectId :: Lens' ProjectsZonesOperationsList Text
164pzolProjectId
164pzolProjectId
165 = lens _pzolProjectId
165 = lens _pzolProjectId
gogol-container/gogol-container.cabal+6−3
@@ -14,9 +14,8 @@ cabal-version: >= 1.10
14extra-source-files: README.md
14extra-source-files: README.md
15
15
16description:
16description:
17− The Google Container Engine API is used for building and managing
17+ Builds and manages clusters that run container-based applications,
18− container based applications, powered by the open source Kubernetes
18+ powered by open source Kubernetes technology.
19− technology.
20 .
19 .
21 /Warning:/ This is an experimental prototype/preview release which is still
20 /Warning:/ This is an experimental prototype/preview release which is still
22 under exploratory development and not intended for public use, caveat emptor!
21 under exploratory development and not intended for public use, caveat emptor!
@@ -41,6 +40,10 @@ library
41 , Network.Google.Resource.Container.Projects.Zones.Clusters.Delete
40 , Network.Google.Resource.Container.Projects.Zones.Clusters.Delete
42 , Network.Google.Resource.Container.Projects.Zones.Clusters.Get
41 , Network.Google.Resource.Container.Projects.Zones.Clusters.Get
43 , Network.Google.Resource.Container.Projects.Zones.Clusters.List
42 , Network.Google.Resource.Container.Projects.Zones.Clusters.List
43+ , Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Create
44+ , Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Delete
45+ , Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.Get
46+ , Network.Google.Resource.Container.Projects.Zones.Clusters.NodePools.List
44 , Network.Google.Resource.Container.Projects.Zones.Clusters.Update
47 , Network.Google.Resource.Container.Projects.Zones.Clusters.Update
45 , Network.Google.Resource.Container.Projects.Zones.GetServerConfig
48 , Network.Google.Resource.Container.Projects.Zones.GetServerConfig
46 , Network.Google.Resource.Container.Projects.Zones.Operations.Get
49 , Network.Google.Resource.Container.Projects.Zones.Operations.Get